0103Linux安装软件---RPM软件包管理、Yum软件包管理、网络Yum搭建、自定义Yum、

    

目录

--环境准备

1.光盘文件放入光驱设备

2.挂载光驱设备

3、卸载光驱设备

4、注意事项:

--RPM软件包管理--

一、RPM包管理机制

1.常见的软件封包类型

2.RPM的含义

3.常见安装位置

二.查看软件信息

1、查看已安装的软件

2、查询未安装的软件包(了解)

3.导入红帽签名信息(了解)

三、安装/卸载软件包

1.安装

2.卸载

3.软件依赖关系

--Yum软件包管理--

一、准备Yum软件仓库

 1.软件仓库的提供方式

2.RPM软件包的来源

3.使用光盘的RPM包制作YUM仓库

二、配置Yum客户端

1.Yum配置解析

2、永久的搭建yum(原理:完成开机自动挂载)

3、检测

总结:

三、Yum命令工具

1.查询软件信息

2.安装/卸载软件包

3.清空本地yum缓存

常见问题:

四、网络yum搭建

1、利用web(HTTP)服务共享,默认共享置:/var/www/html/                        

2、利用FTP服务共享,默认共享位置:/var/ftp                        

五、自定义Yum仓库(***)


--环境准备

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=               //本文件启用 
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     
元数据缓存已建立

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值