新手小白刚接触Linux系统,在Linux的CentOS中如何搭建yum来安装软件就成为了必修课,这里代表性地记录本地yum和FTP源yum的搭建方法。结尾会附上一些yum相关的命令、配置文件。
在根目录下建一个目录dvd,将/dev中的cdrom或sr0挂载到dvd上。
[root@lh /]# mkdir dvd
[root@lh /]# mount /dev/cdrom dvd
mount: /dvd: WARNING: device write-protected, mounted read-only.
出现警告,原因是没有关闭这个文件,不用管它。
我们将仓库创建在/etc/yum.repos.d目录下,这里有时会保留着系统自带的一些yum包,为了防止与我们所创建的仓库的yum包有冲突,把它们删除。
[root@lh /]# rm -rf /etc/yum.repos.d/*
[root@lh /]# vim /etc/yum.repos.d/dvd.repo//使用vim进入文档中,按i进入编辑模式,添加以下内容
[app] //自定义名称,具有唯一性
name=app //本软件源的描述字串
baseurl=file:///dvd/AppStream //指定YUM服务端的URL地址
enabled=1 //是否启用此频道
gpgcheck=0 //是否验证待安装的RPM包
[base]
name=base
baseurl=file:///dvd/BaseOS
enabled=1
gpgcheck=0:wq //最后按Esc退出编辑模式,按:进入末行模式,输入wq回车保存并退出
上述步骤完成后,仓库搭建成功,用命令yum repoinfo查看yum仓库信息,能显示出软件包总数并且没有错误信息显示说明yum已经搭建完成。
[root@lh /]# yum repoinfo
上次元数据过期检查:0:00:15 前,执行于 2023年08月01日 星期二 00时24分14秒。
仓库ID : app
仓库名称 : app
Repo-revision : 8.6
Repo-distro-tags : [cpe:/o:rocky:rocky:8]: , , 8, L, R,
: c, i, k, n, o, u, x, y
Repo-updated : 2022年05月16日 星期一 05时01分50秒
Repo-pkgs : 6,549
Repo-available-pkgs: 5,339
Repo-size : 8.3 G
Repo-baseurl : file:///dvd/AppStream
Repo-expire : 172,800 秒 (最近 2023年08月01日 星期二
: 00时24分14秒)
仓库文件名 : /etc/yum.repos.d/dvd.repo仓库ID : base
仓库名称 : base
Repo-revision : 8.6
Repo-distro-tags : [cpe:/o:rocky:rocky:8]: , , 8, L, R,
: c, i, k, n, o, u, x, y
Repo-updated : 2022年05月16日 星期一 04时59分01秒
Repo-pkgs : 1,716
Repo-available-pkgs: 1,714
Repo-size : 1.3 G
Repo-baseurl : file:///dvd/BaseOS
Repo-expire : 172,800 秒 (最近 2023年08月01日 星期二
: 00时24分14秒)
仓库文件名 : /etc/yum.repos.d/dvd.repo
软件包总数:8,265
由于安装vsftpd服务需要yum,需先按照上述内容搭建完成本地yum才能进行下一步操作。
使用yum安装并启用vsftpd服务,成功后访问FTP服务器的目录,创建一个文件夹dvd;修改vsftpd的配置文件,使其允许匿名访问,否则将出现530错误。
[root@lh /]# yum -y install vsftpd
…………
…………
已安装:
vsftpd-3.0.3-35.el8.x86_64完毕!
[root@lh /]# systemctl start vsftpd
[root@lh /]# mkdir /var/ftp/dvd[root@lh /]# vim /etc/vsftpd/vsftpd.conf
……
anonymous_enable=YES //将第12行anonymous_enable参数的NO改为YES
……
[root@lh /]# systemctl restart vsftpd
修改/etc/yum.repos.d/dvd.repos文档的内容,将本地源修改为FTP源。
[root@lh /]# vim /etc/yum.repos.d/dvd.repo
[app]
name = app
baseurl = ftp://192.168.88.240/dvd/AppStream //注意这里的ip需要改为自己本机的ip地址
enabled = 1
gpgcheck = 0[base]
name = base
baseurl = ftp://192.168.88.240/dvd/BaseOS
enabled = 1
gpgcheck = 0:wq
使用vim修改文件系统表/etc/fstab,使其能开机自动挂载,mount -a可以测试是否能完成开机自动挂载操作,如果测试后报错需要及时定位错误并进行修改,否则若贸然重启会使计算机无法正常开机(需要进入到救援模式,这里不展开)。若无错误信息,则完成搭建。
[root@lh /]# vim /etc/fstab
…………
…………
//最后一行添加
/dev/cdrom /var/ftp/dvd iso9660 defaults 0 0
:wq
[root@lh /]# mount -a //回车后可能出现之前出现过的警告(你自己将dvd文件的挂载取消了,不影响),也可能没有弹出任何提示(完全正确),这两种情况都是正常现象,反之则需要查错。
[root@lh /]# yum repoinfo
上次元数据过期检查:0:00:15 前,执行于 2023年08月01日 星期二 00时24分14秒。
仓库ID : app
仓库名称 : app
Repo-revision : 8.6
Repo-distro-tags : [cpe:/o:rocky:rocky:8]: , , 8, L, R,
: c, i, k, n, o, u, x, y
Repo-updated : 2022年05月16日 星期一 05时01分50秒
Repo-pkgs : 6,549
Repo-available-pkgs: 5,339
Repo-size : 8.3 G
Repo-baseurl : file:///dvd/AppStream
Repo-expire : 172,800 秒 (最近 2023年08月01日 星期二
: 00时24分14秒)
仓库文件名 : /etc/yum.repos.d/dvd.repo仓库ID : base
仓库名称 : base
Repo-revision : 8.6
Repo-distro-tags : [cpe:/o:rocky:rocky:8]: , , 8, L, R,
: c, i, k, n, o, u, x, y
Repo-updated : 2022年05月16日 星期一 04时59分01秒
Repo-pkgs : 1,716
Repo-available-pkgs: 1,714
Repo-size : 1.3 G
Repo-baseurl : file:///dvd/BaseOS
Repo-expire : 172,800 秒 (最近 2023年08月01日 星期二
: 00时24分14秒)
仓库文件名 : /etc/yum.repos.d/dvd.repo
软件包总数:8,265
yum配置解析
基本设置——/etc/yum.conf
仓库配置——/etc/yum.repos.d/*.repo
日志文件——/var/log/yum.logyum命令工具
yum list abc... //查看软件abc列表
yum search abc //查找关键词abc
yum info abc... //查看软件abc的描述
yum provides /etc/passwd //查看哪些软件能提供/etc/passwd文件
yum -y install/remove abc //安装/卸载软件包
yum clean all //yum缓存存在错误时可以清空本地yum缓存
yum repoinfo //再次查询或更新时,会自动重建缓存