目录
1、利用web(HTTP)服务共享,默认共享置:/var/www/html/
--环境准备
1.光盘文件放入光驱设备
Linux:
Windows:
2.挂载光驱设备
挂载光驱设备到本地目录 /mnt
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /mnt
[root@localhost ~]# ls /mnt/Packages
3、卸载光驱设备
[root@localhost ~]# umount /dvd
4、注意事项:
1.卸载:当前所在的路径是挂载点目录
[root@localhost dvd]# umount /dvd
umount: /mydvd:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
2.挂载允许一个设备,挂载到不同的挂载点目录
3.挂载不允许一个挂载点目录,挂载多个设备
4.建议挂载点目录,最好自行创建
--RPM软件包管理--
一、RPM包管理机制
1.常见的软件封包类型
2.RPM的含义
RPM Package Manager
—由红帽公司提出,RedHat,SUSE等系列采用
—建立集中数据库,记录软件包安装/卸载等变化信息,分析软件包依赖关系
http://rpmfind.net/
http://www.centos.org/
RPM包文件名特征
— 软件名-版本信息.操作系统.硬件架构.rpm
firefox-52.7.0-1.e17.centos.x86_64.rpm
3.常见安装位置
RPM包的一般安装位置(分散)
文件类别 | 默认安装位置 |
普通执行程序 | /usr/bin/ 、/bin/ |
服务器程序、管理工具 | /usr/sbin/ 、/sbin/ |
配置文件 | /etc/ 、/etc/软件名/ |
日志文件 | /var/log/、/var/log/软件名/ |
程序文档、man帮助手册页 | /usr/share/doc/ 、/usr/share/man/ |
二.查看软件信息
1、查看已安装的软件
格式:rpm -q[选项] [软件名称]
-a, --all //查询/验证所有软件包
-l, --list //查看指定软件的文件安装清单
-i, --install //查看指定软件的详细信息
-f, --file // 查询/验证文件属于的软件包
-c, //查询软件的配置文件
rpm -qa //当前系统中所有已安装的软件包
rpm -qa | grep firefox
rpm -q firefox //查看firefox是否安装
rpm -q httpd //httpd提供web服务的软件
rpm -qf [文件路径]... //查询某个目录/文件是那个RPM包带来的,即使目标文件被删除也可以查询
which vim #查询命令对应的程序文件
/usr/bin/vim
2、查询未安装的软件包(了解)
格式:rpm -q[选项] [RPM包文件]
-pi //查看指定软件的详细信息(了解即可)
-pl //查看指定软件的文件安装清单(了解即可)
[root@localhost ~]# rpm -qpl /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm //查询包安装清单
[root@localhost ~]# rpm -qpi /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm //查询软件包信息
3.导入红帽签名信息(了解)
]# rpm --import /mnt/RPM-GPG-KEY-CentOS-7 //导入红帽签名信息
三、安装/卸载软件包
1.安装
安装RPM软件
—格式: rpm -i RPM包文件...
辅助选项
-v:显示细节信息
-h:以#号显示安装进度
--force:强制安装,覆盖安装
2.卸载
卸载RPM软件
—格式: rpm -e 软件名...
3.软件依赖关系
--解决依赖关系
—先安装/卸载要求的包
—如果RPM包齐全但比较多,可以用通配符 *
--忽略依赖关系(不推荐)
—可能导致软件运行异常
—辅助选项 --nodeps
--Yum软件包管理--
一、准备Yum软件仓库
YUM Yellowdog Updater Modified
—基于RPM包构建的软件更新机制
—自动解决软件包依赖关系
—所有软件包由集中的YUM软件仓库提供
1.软件仓库的提供方式
—本地目录:file://...
—FTP或HTTP服务:ftp://... 、 http://...
2.RPM软件包的来源
—Red Hat 发布的RPM包集合
—第三方、用户自定义的RPM包集合
3.使用光盘的RPM包制作YUM仓库
挂载光驱设备到本地目录 /mydvd
[root@localhost ~]# mkdir -p /os/centos
[root@localhost ~]# mount /dev/cdrom /mydvd
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@localhost ~]# ls /os/centos
[root@localhost ~]# ls /os/centos/Packages
二、配置Yum客户端
1.Yum配置解析
基本设置: /etc/yum.conf
仓库配置: /etc/yum.repos.d/*.repo
日志文件:/var/log/yum.log
.repo 基本配置项
——[源名称]:自定义名称,具有唯一性
——name:本软件源的描述字串
——baseurl:指定YUM服务端的URL地址
——enabled:是否启用此频道----//enabled=0 / 1 本文件不启用/启用
——gpgcheck:是否验证待安装的RPM包//gpgcheck=0或1 不检测或检测红帽签名信息
——gpgkey:用于RPM软件包验证的密钥文件
示例-->
[root@localhost ~]# vim /etc/yum.repos.d/*.repo //*.repo---也可以是mnt.repo, 其他都可以只是一个路径?
-------------------------------------------------------------------------------------------
Centos7的方式
[centos7] //仓库的名称
name=centos7 //仓库的描述信息
baseurl=file:///mydvd //指定服务端位置file://表示本地为服务端 ,/os/centos为CD挂载的路径
enabled=1 //本文件启用
gpgcheck=0 //不检测红帽签名信息
--------------------------------------------------------------------------------------------
rhel8的方式 Rhel8搭建yum仓库----拥有两个仓库----BaseOS AppStream
[rhel1] #仓库的名称
name=rhel8 #仓库描述信息
Baseurl=file:///mydvd/BaseOS #指定服务端位, file://表示本地为服务端
enabled=1 #本文件启用
gpgcheck=0 #不检测红帽签名信息
[rhel2] #仓库的名称
name=rhel8 #仓库描述信息
Baseurl=file:///mydvd/AppStream #指定服务端位, file://表示本地为服务端
enabled=1 #本文件启用
gpgcheck=0 #不检测红帽签名信息
----------------------------------------------------------------------------------------------
2、永久的搭建yum(原理:完成开机自动挂载)
手动挂载:mount /dev/cdrom /mydvd,重启后需要重新挂载。通过vim /etc/yum.repos.d/mydvd.repo 修改后文件会保存。所以永久搭建yum仓库只需要设置开机自动挂载即可---/etc/fstab
]# blkid /dev/cdrom #查看 光驱设备文件系统类型
]# vim /etc/fstab
/dev/cdrom /mydvd iso9660 defaults 0 0
3、检测
[root@localhost ~]# yum repolist //列出仓库信息
]#yum repolist -v #列出仓库信息
常见错误:
——没有挂载光驱设备 ls /mnt //查看挂载点是否有光盘内容
——错误的文件会影响 ls /etc/yum.repos.d/
——写错了
总结:
本地Yum仓库构造方法(自己为自己提供服务)
1.服务端:显示光盘的内容,挂载光驱设备
2.客户端:书写客户端配置文件,指定服务器位置
3.执行流程:yum命令---> /etc/yum.repos.d/*.repo ----baseurl=file:///mnt
三、Yum命令工具
1.查询软件信息
——查看软件列表
-格式:yum list [软件名]... #查询仓库是否有ftp软件可安装的软件包 #表示当前系统没有安装该软件
——检索软件及相关信息
-用法:yum search 关键词 #包含ftp就匹配
yum info [软件名]...
——查看仓库中那个软件包产生该数据
yum provides 文档路径..... #查看仓库中那个软件产生该数据(包含仓库中没有安装的)
yum provides /etc/passwd
yum provides */guestmount #查询那个软件包i,在任意路径下产生该数据
rpm -qf /etc/passwd #查看系统已经安装的软件,产生该数据(针对系统已经安装的)
2.安装/卸载软件包
安装:
——install:安装指定软件包,类似于rpm -i
[root@localhost ~]# yum -y install httpd //安装软件
娱乐:
[root@www ~]# rpm -q xorg-x11-apps
xorg-x11-apps-7.7-7.el7.x86_64
[root@www ~]# rpm -ql xorg-x11-apps | grep bin
[root@www ~]#xeyes
卸载:
——remove:卸载指定软件包,类似于rpm -e
[root@localhost ~]# yum remove httpd //卸载软件
yum的强制安装、覆盖安装:
[root@localhost ~]# which hostname
/usr/bin/hostname
[root@localhost ~]# rm -rf /usr/bin/hostname
[root@localhost ~]# hostname
bash: hostname: 未找到命令...
[root@localhost ~]# yum provides /usr/bin/hostname
[root@localhost ~]# yum -y reinstall hostname //重新安装
[root@localhost ~]# ls /usr/bin/hostname
/usr/bin/hostname
[root@localhost ~]# hostname
localhost.localdomain
3.清空本地yum缓存
适用于yum缓存存在错误时
——再次查询或更新时,会自动重建缓存
[root@localhost ~]# yum clean all
[root@localhost ~]# yum repolist #会有缓存
[root@localhost ~]# yum repolist #再一次执行会快很多,因为有了上一次操作的缓存
常见问题:
1.[root@www ~]# yum -y install gcc
已加载插件:fastestmirror, langpacks
/var/run/yum.pid 已被锁定,PID 为 2894 的另一个程序正在运行。
Another app is currently holding the yum lock; waiting for it to exit...
另一个应用程序是:PackageKit
内存:173 M RSS (595 MB VSZ)
已启动: Fri Mar 4 20:45:44 2022 - 03:49之前
状态 :睡眠中,进程ID:2894
rm -f /var/run/yum.pid 即可解决
为什么?
:
四、网络yum搭建
软件仓库的组成:众多的软件包、 仓库数据文件
网络Yum仓库:利用服务提供软件仓库内容
服务端:利用Web服务或FTP服务共享光盘所有内容
1、利用web(HTTP)服务共享,默认共享置:/var/www/html/
服务端svr7操作
[root@svr7 ]# yum -y install httpd
[root@svr7 ~]# systemctl restart httpd #启动服务
[root@svr7 ~]# mkdir /var/www/html/dvd
[root@svr7 ~]# ls /var/www/html/dvd #查看是否有光盘内容
[root@svr7 ~]# mount /dev/cdrom /var/www/html/dvd
[root@svr7 ~]# ls /var/www/html/dvd #查看是否有光盘内容
[root@svr7 ~]# firefox http://192.168.4.7/dvd #访问测试
客户端pc207操作
[root@pc207 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=CentOS7.5
baseurl=http://192.168.4.7/dvd
enabled=1
gpgcheck=0
[root@pc207 ~]# yum clean all
[root@pc207 ~]# yum repolist
2、利用FTP服务共享,默认共享位置:/var/ftp
[root@svr7 ~]# yum -y install vsftpd
[root@svr7 ~]#rpm -q vsftpd
[root@svr7 ~]# systemctl restart vsftpd #启动服务
[root@svr7 tools]# mkdir /var/ftp/dvd
[root@svr7 tools]# mount /dev/cdrom /var/ftp/dvd
[root@svr7 tools]# firefox ftp://192.168.4.7/dvd #访问测试
客户端pc207操作
[root@pc207 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd2]
name=CentOS7.5
baseurl=ftp://192.168.4.7/dvd
enabled=1
gpgcheck=0
[root@pc207 ~]# yum clean all
[root@pc207 ~]# yum repolist
五、自定义Yum仓库(***)
将自己下载的RPM包构建为仓库
完整的Yum仓库:1.众多的软件包 2.仓库数据文件
1、众多的软件包:自己准备好要安装的软件包,放在自定义目录下:/tools/others
2、利用 createrepo 命令 #生成仓库数据文件
格式:createrepo 软件包路径
[root@svr7 ~]# vim /etc/yum.repos.d/mydvd.repo
[rpm] #唯一标识
baseurl=file:///tools/other #指定Yum仓库的路径
gpgcheck=0
[root@svr7 ~]# yum repolist
3、自定义Yum仓库的更新
[root@svr7 ~]# createrepo --update /tools/other/ #更新仓库数据文件
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@svr7 ~]# yum makecache #
已加载插件:fastestmirror, langpacks
源 'centos' 在配置文件中未指定名字,使用标识代替
源 'rpm' 在配置文件中未指定名字,使用标识代替
Loading mirror speeds from cached hostfile
centos | 3.6 kB 00:00
rpm | 2.9 kB 00:00
(1/5): rpm/filelists_db | 2.2 kB 00:00
(2/5): rpm/primary_db | 4.8 kB 00:00
(3/5): rpm/other_db | 2.7 kB 00:00
(4/5): centos/other_db | 2.5 MB 00:00
(5/5): centos/filelists_db | 6.9 MB 00:00
元数据缓存已建立