第12单元Linux运维——软件管理
软件管理
- 1.软件包的类型
- 2.软件包的名称结构
- 3.rpm命令管理软件包
- 1.`rpm -ivh 包全名` 软件包安装
- 2.`rpm -Uvh 包全名` 软件包升级
- 3.`rpm -e 包名` 卸载
- 4.`rpm -q 包名` 查询
- 5.`rpm -Kv 包名` 检测软件md5校验码
- 6.`rpm -V 包名`已安装软件在系统中的文件被修改信息
- 4.本地软件仓库的搭建
- 搭建方法
- 5.dnf 软件管理命令
- 6.网络软件仓库的搭建
- 搭建方法
- 7.第三方软件仓库的搭建
- 搭建方法
1.软件包的类型
1.DEB 适用于ubuntuUBlinux DEBlinux
2.RPM 适用于redhat centOS fc
3.bz2|gz|xz ①.源码编译软件
#ntfs-3g_ntfsprogs-2017.3.23.tgz 需要源码安装编译,当解压后出现“configure”则表示其为源码编译软件
②.绿色软件
#Firefox-latest-x86_64.tar.bz2 直接可用,可用rmp命令安装,也可以解压后目录直接运行
注意:在rhel8中只能使用绿色软件,源码编译软件和rpm软件



2.软件包的名称结构

- 1.dhcp-server 软件名称
- 2.4.3.6-30 软件版本
- 3.el8 软件的授权协议版本
- 4.x86_64 软件架构
- 5.rpm 软件类型后缀
3.rpm命令管理软件包
1.rpm -ivh 包全名 软件包安装
选项:
-i install 安装
-v verbose 显示详细信息
-h hash 显示进度
--force 强制
--nodeps 安装忽略依赖性
注意:要安装的软件有多个包的时候,要先安装主包,再安装依赖包。
示例1:rpm -ivh linuxqq_2.0.0-b2-1082_x86_64.rpm 安装linuxqq

示例2:rpm -ivh linuxqq_2.0.0-b2-1082_x86_64.rpm --force 强制安装linuxqq

示例3:rpm -ivh wps-office-11.1.0.9505-1.x86_64.rpm --nodeps 忽略依赖性安装wps

2.rpm -Uvh 包全名 软件包升级
选项:
-U (upgrade) 升级
注意:使用用升级命令,如果没有安装就安装,如果安装的是旧版本就升级成最新版本,如果已经是最新版本,就不做任何操作。
3.rpm -e 包名 卸载
选项:
-e (erase) 卸载
示例:

4.rpm -q 包名 查询
选项:
-q (query) 查询
-a (all) 所有
-i (information) 查询软件信息
-p (package) 查询未安装包的信息
-l (list) 列表
-f (file) 查询该文件是属于哪个包的
-c 配置文件
-d 说明
--info 软件信息
--script 查询软件在安装或卸载过程中的运行脚本
①rpm -q 包名 查询是否安装了指定包

②rpm -qi 包名 查询已经安装包的包信息

③rpm -qip 包名 查询未安装包的包信息

④rpm -ql 包名 查询包中文件安装位置

⑤rpm -qlp 包名 查询未安装的包安装后文件位置

⑥rpm -qf 系统文件名 查询系统文件属于哪个rpm包

⑦rpm -qc 包名 查询指定包配置文件

⑧rpm -qd 包名 查询指定包说明文件

⑨rpm -q 包名 --info 查询指定包软件信息

⑩rpm -qp 包名--scripts 查询软件在安装或卸载过程中的运行脚本

5.rpm -Kv 包名 检测软件md5校验码

6.rpm -V 包名已安装软件在系统中的文件被修改信息

4.本地软件仓库的搭建
系统软件仓库的作用
- 在系统中对软件进行管理
- rpm命令是不能解决依赖关系的
- 如果需要软件在安装过程中自动解决依赖关系
- 需要搭建系统软件仓库
搭建方法
1.在系统中加载安装系统时使用的安装镜像
2.编写软件仓库文件
/etc/yum.repos.d/ 软件源指向文件配置目录
注:在此目录中不能有无法访问的源指向
vim /etc/yum.repos.d/westos.repo 编辑软件仓库指向文件
参数:
[AppStream] ##仓库名称
name=westos AppStream ##描述
baseurl=file:///run/media/root/RHEL-8-0-0-BaseOS-x86_64/AppStream ##地址
gpgcheck=0 ##不检测gpgkey (跳过授权检测)[BaseOS]
name=westos BaseOS
baseurl=file:///run/media/root/RHEL-8-0-0-BaseOS-x86_64/BaseOS/
gpgcheck=0

5.dnf 软件管理命令
dnf 命令
选项:
repolist ##列出仓库信息
clean all ##清除系统中已经加载的仓库缓存信息

选项:
list all ##列出所有软件
list available ##列出未安装软件
list installed ##列出已安装软件

选项:
install ##安装
remove ##卸载
reinstall ##重新安装


search ##搜索

whatprovides ##搜索包含文件的软件包

history ##dnf执行历史
history info ##dnf执行历史详细信息

group list ##列出软件组
group list --installed ##列出已安装软件组
group list --available ##列出未安装软件组
group list --hidden ##列出隐藏软件案组
group install ##安装软件组
group info ##查看软件组信息






6.网络软件仓库的搭建
westos_linux 172.25.254.10
westos_node1 172.25.254.20
在westos_node1中已搭建好软件仓库
在westos_linux中是无法访问的
在企业中,我们维护的系统数量庞大,
当我们需要在每个系统安装软件管理软件时
可以在每个系统中各自搭建软件仓库
但是这样会浪费大量的资源
为了节省这部分重复的资源
需要把大家都要使用的资源共享到互联网中
这样大家就可以立用网络访问资源
不需要在每一台主机中独立建立软件资源了
搭建方法
1、利用镜像搭建本地软件仓库(方法参考第四节)
dnf repolist 查看本地软件仓库是否搭建

2、安装共享软件
#共享方式http://超文本传输协议
#提供此协议的软件 Apache
#软件包名称 httpd
#共享位置 /var/www/html
#在node1安装:dnf install httpd -y

3、 node1启用共享软件Apache
#systemctl stop firewalld
#systenctl disable firewalld
#getenforce
#vim /etc/sysconfig/selinux 设置成disabled
systemctl enable --now httpd 启动httpd服务

4、 建立共享目录
mkdir /var/www/html/westos_8

5、 挂载镜像到共享目录
使可以通过网络看到资源
mount /****.iso /var/www/html/westos_8 当镜像在系统中存在
mount /dev/cdrom /var/www/html/westos_8 当使用光驱读取镜像

6、 测试:
在远程主机westos_linux中访问资源并书写repo文件
1)在浏览器访问172.25.254.20/westos_8就可以看到资源

2)编辑vim /etc/yum.repos.d/westos.repo

dnf repolist展示从远程服务器得到的软件库

7.第三方软件仓库的搭建
可以使用dnf命令管理第三方软件
并使第三方软件在网络中共享
搭建方法
1、建立共享目录
mkdir /var/www/html/software
2、把所有第三方软件存放到software目录中
cp * /var/www/html/software

注:只能管理rpm软件,把目录中不是rpm的软件删掉
3、采集第三方软件数据生成repodata目录
dnf install createrepo -y 安装采集工具

cd /var/www/html/software
createrepo -v /var/www/html/software 对共享目录扫描生成repodata数据目录
4、在测试主机westos_linux中指定第三方共享源
vim /etc/yum.repos.d/westos.repo

5、检测


补充:开机后在westos_8中挂载的镜像会被清除,
要想自动运行,实现永久挂载
vim /etc/rc.d/rc.local
mount /dev/cdrom /var/www/html/westos_8 /
chmod 755 /etc/rc.d/rc.local

reboot
ls /var/www/html/westos_8/下就会自动出现挂载的资料
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
