2. Linux 软件管理 002
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
热门相关:快递小哥的梦想成真 欲望故事 年轻的姐夫 性感女郎5 全系灵师:魔帝嗜宠兽神妃