3)搭建企業內部 Yum 倉庫 利用 HTTPD 搭建 企業內部私有倉庫。 [ 虛擬機演示:掛載一個新的 CD 光碟鏡像源 ] 1)CD 光碟 鏡像源 // `scandisk` 掃描新加的磁碟 echo '- - -' > /sys/class/scsi_host/host0/scan echo ...
3)搭建企業內部 Yum 倉庫
echo '- - -' > /sys/class/scsi_host/host0/scan
echo '- - -' > /sys/class/scsi_host/host1/scan
echo '- - -' > /sys/class/scsi_host/host2/scan
sed -i 's/enforcing/disabled/g' /etc/selinux/config
rpm -q tree || yum install tree -y
mount /dev/sr1 /var/www/html/centos/7
http://192.168.18.141/centos/7/
baseurl=http://192.168.18.141/centos/$releasever
echo '- - -' > /sys/class/scsi_host/host0/scan
echo '- - -' > /sys/class/scsi_host/host1/scan
echo '- - -' > /sys/class/scsi_host/host2/scan
// 將該 CD 光碟鏡像掛載至 centos/8 站點目錄
mount /dev/sr0 /var/www/html/centos/8/
用於為 YUM 倉庫 創建必要的元數據目錄(repodata),以便 YUM 工具能夠正確地查找和安裝軟體包。
在這種情況下,即使我們編寫了倉庫配置文件,將其指向了特定的獨立軟體包存放目錄。
但由於 我們沒有為該目錄生成必要的 repodata 元數據,導致無法成功索引和管理軟體包數據。
baseurl=http://192.168.18.141/centos/$releasever
baseurl=http://192.168.18.141/centos/testrepo
cd /var/www/html/centos/testrepo
baseurl=https://mirrors.cloud.tencent.com/epel/$releasever/$basearch
https://repo.huaweicloud.com/epel/$releasever/$basearch
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/$basearch
// dnf reposync --repoid=epel --download-metadata -p /var/www/html // CentOS 8
rsync -avrt rsync://rsync.mirrors.ustc.edu.cn/epel/ /var/www/html/centos/epel // CentOS 7
wget -P /var/www/html/centos/epel/ https://mirrors.cloud.tencent.com/epel/RPM-GPG-KEY-EPEL-8
Yum( Yellow dog Updater, Modified)是一款廣泛用於 RedHat 和 CentOS 等系統的 RPM 軟體包管理工具。
它建立在 RPM 包管理系統之上,具備自動下載和安裝 RPM 包的能力。其中一個主要優點是它能夠自動解決依賴關係,讓我們不再需要手動逐個的下載和安裝依賴的軟體包,大大簡化了軟體包管理的過程。
並且 Yum 提供了一系列簡潔而易記的命令,用於查找、安裝、卸載單個軟體包、或一組軟體包,甚至是系統上的所有軟體包。
當我們執行 yum install httpd 時,您會註意到 YUM 工具 不僅會安裝指定的 httpd 軟體包,還會自動安裝所依賴的其他軟體包。
這是因為許多軟體包在運行時需要一些額外的組件或庫來支持其功能,這些被稱為 依賴關係。
然而,當我們執行 yum remove httpd 時,情況有所不同。YUM 工具會預設僅卸載指定的軟體包 httpd,而不會自動刪除其他可能仍然被其他軟體包使用的共用依賴項。
這是為了防止意外地卸載其他軟體包所依賴的組件,導致系統不穩定。
這種行為的目的是為了保持系統的完整性和穩定性。如果您確定某些共用依賴項不再被其他軟體包使用,可以使用 yum autoremove 命令來自動刪除不再需要的依賴項。
總之,YUM 在安裝和卸載軟體包時考慮了依賴關係,以確保系統的安全性和穩定性。
在卸載軟體包時,它會預設保留可能被其他軟體包使用的共用依賴項,除非您明確指定要刪除不再需要的依賴項。
// 操作號為 3 的操作是一個安裝、升級或刪除軟體包的操作, 運行此命令將會嘗試將系統恢復到執行該操作之前的狀態。
// 安裝一個名為 "Server with GUI" 的軟體包組
// 這個軟體包組通常包含用於圖形用戶界面(GUI)的軟體和工具, 適用於伺服器系統需要有圖形界面的情況。
yum group install "Server with GUI"
yum group install "Server with GUI"
du -sh /var/cache/yum/x86_64/7/查看緩存目錄數據大小
yum clean all 清理 yum 的緩存。它會刪除所有下載的 RPM 軟體包和相關的元數據,以釋放磁碟空間。
yum makecache 用於重新生成 yum 的元數據緩存。
du -sh /var/cache/yum/x86_64/7/
du -sh /var/cache/yum/x86_64/7/
du -sh /var/cache/yum/x86_64/7/
rm -rf /var/cache/yum/x86_64/7/*
yum repolist [all|enabled|disabled]
yum install epel-release # 安裝epel源
yum remove epel-release # 卸載epel源
rpm -ivh /mnt/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm
// `查詢` /etc/vsftpd/vsftpd.conf 屬於哪個軟體包
rpm -qf /etc/vsftpd/vsftpd.conf
yum remove vsftpd-3.0.2-29.el7_9.x86_64
yum provides vsftpd.conf // 查詢`不到`
yum provides /etc/vsftpd/vsftpd.conf // 查詢`到了`
// 嘗試查找所有包含 vsftpd.conf 文件的軟體包。
解決方法:檢查 /etc/yum.repos.d/*.repo 文件格式
yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
vim /etc/yum.repos.d/elrepo.repo
yum repolist all | grep -i kernel
[ 大家有無想過,上述情況我們是在有互聯網環境的主機上完成內核升級的,並且我們無法指定內核版本,我們大多生產環境是沒有互聯網的,並且需要安裝指定內核版本等情況,這個時候我們就會使用到更為常見的升級內核方式,編譯安裝指定內核版本。]
[ 當然,其實我們還有一種方式,可以在非互聯網環境下安裝好某個軟體。]
[ 首先,我們在一臺有網路的機器將該軟體需要的所有軟體包下載至某個路徑。]
[ 而後,將該目錄拷貝至無網路的主機,執行 rpm -ivh ./*.rpm 安裝所有軟體包即可 ]
// 這個命令的目的是下載名為 kernel-lt.x86_64 的軟體包文件到指定的目錄 /data/kernel
// 不會進行實際的安裝。這對於提前獲取軟體包以備後續離線安裝非常有用。
yum install kernel-lt.x86_64 --downloadonly --downloaddir=/data/kernel
// 這個命令的目的是下載名為 nginx 的軟體包文件到指定的目錄 /data/nginx
// 不會進行實際的安裝。這對於提前獲取軟體包以備後續離線安裝非常有用。
yum install nginx --downloadonly --downloaddir=/data/nginx