linux系统中的软件管理
搭建本地软件仓库yum源
1.拥有对应主机系统版本的镜像文件,并建立目录用于挂载镜像文件
这里使用的镜像文件为:rhel-server-7.3-x86_64-dvd.iso
挂载镜像文件的命令:
mount /iso/rhel-server-7.3-x86_64-dvd.iso (镜像文件) /rhel7.3 (挂载目录)
2.建立指向挂载镜像文件的软件仓库
在/etc/yum.repos.d下,建立filename.repo文件
编辑文件内容如下格式:
【rhel7.3】(仓库名称)
name=rhel7.3
baseurl=file:///rhel7.3(这里要写挂载了镜像文件的那一个文件夹)
gpgcheck=0
注意:
在/etc/yum.repos.d下的文件都会被yum读取(无论有用与否),因此不能有没用的文件,否则就会报错
下图为例:
配置网络yum源
有很多台主机,都想安装软件的话,为了节省空间,就完全可以以一台主机作为服务器,将安装包共享给其他主机
分享的手段是通过http服务:
http://172.25.254.6/rhel7.3
因此,我们首先要先下载http软件,并开启http服务。
将我们挂载的目录文件放置到/var/www/html/目录下
http超文本传输协议
主机使用httpd软件,对外提供http服务
主机不会也不能将所有的文件都对外开放出来
而是只会开放出来一部分:/var/www/html(安装好了http才会有)
该目录下的文件都会被开放,即可以令外界访问这个目录下的资源。
如:
我在该目录下建立一个/rhel7.3/文件夹
外界就可以通过在浏览器中输入“http://172.25.254.6/rhel7.3 ”来访问此目录
注意的是,这个不是访问根目录下的rhel7.3,而是/var/www/html下的rhel7.3文件(这个/var/www/html目录就是相当于是阿帕奇的根目录)
如果以上操作执行后,仍然无法访问到,则需要将服务器端的防火墙关闭。
具体操作流程如下:
yum命令
yum命令的使用必须是在yum源搭建成功后才能正常运行
yum clean all
清空yum缓存
yum repolist
显示软件仓库信息
yum install software
安装软件
yum update
软件更新
yum list software
查看软件信息
yum list (== yum list all)
列出所有可用的和已安装的软件包
yum list installed
列出已安装软件包
yum list available
列出可安装软件包
yum reinstall software
重新安装软件
yum remove software
卸载软件
yum info software
查看软件信息
yum search software信息
根据软件信息查找软件
yum whatprovides file
根据文件找出包含此文件的软件
yum history
查看系统中软件管理信息
yum history info 数字
对该数字为id的信息进行显示
yum groups list
列出软件组
yum groups info
查看软件组的信息
yum groups install sfgroup
安装软件组
yum groups remove sfgroup
卸载软件组
下图为例:
图一中,由于我之前使用过yum repolist命令读取过了文件内数据,因此第一次yum repolist命令并未读取文件数据。而当我使用yum clean all命令清除了yum缓存后,再次使用yum repolist命令,就会重新读取文件内的信息
图二中,显示yum install安装dhcp软件的执行结果
图三中,显示yum update更新系统软件的执行结果。本图中显示实验系统无可用更新,已经是yum源的最新版本。
注意:
即便在我们使用该命令时,显示有可用更新,我们一般也不会选择去更新,因为那样的话,极大可能会导致更新后,系统软件会与我们的机器硬件不兼容,导致系统瘫痪。
图四中,使用yum list firewalld命令,显示firewalld服务的信息;从图中可以看到,显示Installed Packages,说明该安装包已经安装在本机上了。
图五中,显示yum list命令的执行结果
图六中,显示yum list installed命令的执行结果
图七中,显示yum list avaliable命令的执行结果
图八中,显示yum reinstall firewalld命令的执行结果
之前的/var/www/html/目录下的文件的挂载是临时的,系统reboot重启后,就会丢失该配置设定
vim /etc/rc.d/rc.local 在该文件的最后一行加上:
mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/rhel7.3
再给该配置文件加上x执行权限(这样的话,每次开机都会自动执行该配置文件)
rpm命令
rpm -i 软件安装
rpm -v 显示命令执行过程
rpm -h 针对hash加密的安装包,要使用该参数解密
rpm -e 卸载软件
rpm -q 查看
rpm -a 所有
rpm -p 软件包
rpm -ql 查看软件在系统中的安装文件路径
rpm -qlp 查看未安装的软件包在系统中如果安装后产生文件的路径
rpm -qf 根据某个文件找出此文件属于那个安装包
rpm -qc 查看软件的配置文件名称
rpm -qd 查看软件的帮助文件
rpm --scritps 查看脚本
rpm --nodeps 安装软件忽略软件倚赖
rpm --force 强行安装软件
rpm -Kv 检测软件包是否被篡改
软件包名称详解
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint 4.10.5-4 el7 x86_64 rpm
软件名称 版本 适用系统 适用系统架构 软件包格式
第三方软件仓库的搭建
我们系统的yum默认情况下,是无法去读取第三方软件的信息的
具体的建立过程如下:
1.建立/software(根目录下的software)目录,将其作为我们的第三方软件存储目录
2.将第三方软件存放到/software下
3.使用createrepo -v /software/命令,在当前目录/software下(根据其中的软件包)建立repodata目录,目录下有存储/software中软件包信息的文件
4.在/etc/yum.repos.d/目录下,编辑原.repo文件,在原软件仓库下面,再写一个新的指向第三方软件目录的软件仓库。
5.注意,一定要在最后yum clean all
下图为例: