linux系统软件管理
以下实验请在虚拟机执行,先给虚拟机下载一些rpm包以便进行测试
本文用到的rmp包有:
FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm
linuxqq-v1.0.2-beta1.i386.rpm
wps-office-10.1.0.5672-1.a21.x86_64.rpm
1.软件名称识别
[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm #rpm结尾的适用于redhat操作系统
[abrt-addon-ccpp] #软件名称
[2.1.11-19] #软件版本
[el7] #软件适用系统
[x86_64] #64位
2.如何安装软件
1.rpm
rpm -ivh name.rpm #安装 ,-v显示过程,-h指定加密方式为hash
rpm -e name #卸载
rpm -qc name #查询软件的配置文件名称
rpm -qd name #查询软件的说明文件名称
rpm -ql name #查询软件生成文件
rpm -qlp name.rpm #查询软件安装后会生成什么文件
rpm -qa #查询系统中安装的所有软件名称
rpm -qa |grep name #查询软件是否安装,名字可以模糊
rpm -q name #查询软件是否安装,名字要准确
rpm -p name #查询软件包
rpm -qp name.rpm #查询软件安装包安装后的名字
rpm -qf filename #查看filename属于哪个安装包
rpm -ivh name.rpm --force #强制安装,但不能忽略依赖性
rpm -ivh name.rpm --nodeps --force #忽略依赖性并且强制安装
rpm -qi name #查看软件信息
rpm -Kv name.rpm #检测软件包是否被篡改
rpm -qp name.rpm --scripts #检测软件在安装或卸载过程中执行的动作
测试:
1.rpm -ivh name.rpm #安装 ,-v显示过程,-h指定加密方式为hash
显示没有解决依赖性
2.rpm -ivh name.rpm --nodeps #忽略依赖性进行安装
3.rpm -ivh name.rpm --nodeps --force #忽略依赖性并且强制安装
因为linuxqq-v1.0.2-beta1.i386.rpm为32位,忽略依赖性也无法安装,所以进行强制安装。
--force主要用来解决重复安装
4.rpm -e name #卸载
5.rpm -qc name #查询软件的配置文件名称
6.rpm -qd name #查询软件的说明文件名称
7.rpm -ql name #查询软件生成文件
8.rpm -qa |grep name #查询软件是否安装,名字可以模糊
若没有安装则不显示软件安装包名称
9.rpm -q name #查询软件是否安装,名字要准确
10.rpm -qp name.rpm #查询软件安装包安装后的名字
就算未安装也可以查询
11.rpm -qf filename #查看filename属于哪个安装包
12.rpm -qi name #查看软件信息
13.rpm -Kv name.rpm #检测软件包是否被篡改
复制linuxqq文件--->查看文件是否被篡改--->向linuxqq复制文件里写入hello--->再次查看文件是否被篡改--->删除linuxqq复制文件
如果没有篡改,会显示OK;如果被篡改,会显示BAD
14.rpm -qp name.rpm --scripts #检测软件在安装或卸载过程中执行的动作
有两个FluffyMcAwesome*的文件,不确定要安装那个以及其安装效果,可以 --scripts 检测软件在安装或卸载过程中执行的动作
如果安装此软件,对方可以获得你的密码并且登陆你的电脑;如果卸载该软件,同时你电脑所有的东西都会被清空
这样的软件会对个人以及企业信息造成损害,不能安装
如果安装此软件,别人不能获得你的信息,当删除该软件时,不会造成其他影响。
3.第三方软件仓库的搭建
yum:上层软件管理工具,最重要的功能是可以解决软件的倚赖关系
yum能够投入使用的前提是必须要有yum源,以及配置源的指向文件
操作方法:
1.把所有的rpm软件包放到一个目录中,这个目录只能存在rpm文件
2.createrepo -v /rpm存放目录 --->/rpm存放目录/repodata
#此目录中是被扫描软件信息数据,createrepo是生成软件包的数据库文件 如果已在rpm存放目录下,直接createrepo . 即可
3.vim /etc/yum.repos.d/xxx.repo
#本目录应该是任意目录,使用/etc/yum.repos.d/rhel_dvd.repo,因为该目录中有配置好的yum源 #仓库指向文件位置
[software] #自定义仓库名称
name=software #自定义仓库软件描述
baseurl=file:///mnt/software #仓库位置
gpgcheck=0 #不检测gpgkey,gpgkey表示软件的出品logo
enabled=1
保存退出
yum repolist #列出设定yum源信息,此时含有4035个文件
4.yum clean all #清空yum源缓存
yum repolist #列出设定yum源信息,此时含有4039个文件
yum install wps-office #安装wps-office软件
完成
实验:
测试:
下载成功表示第三方软件仓库搭建成功!
4.共享第三方软件仓库
yum install httpt #下载http软件systemctl start httpd #开启http
systemctl enable httpd #开机自启
systemctl stop firewalld #关闭火墙
systemctl disable firewalld #持续关闭火墙
cp -r /mnt/software/ /var/www/html/ #将/mnt/software/复制到/var/www/html/目录中,/var/www/html/是系统默认的共享目录
在真机火狐浏览器
http://172.25.254.202/software/
实验:
测试:
如果可以看到如图信息,表示已共享,其他人可通过下载共享第三方软件仓库里的软件
5.yum 黑名单
1. yum list #列出系统中的安装包
含有64位和32位(686为32位),如果只想看到64位的
2. vim /etc/yum.conf
写入exclude=*.i686
3. yum list #列出系统中的安装包,不含有686
4. yum list linuxqq #查看软件源中是否有此软件
linuxqq也是32位
5. vim /etc/yum.conf
exclude=*.i686 *.i386
6. yum list #列出系统中的安装包
屏蔽zziplib.x86_64
7. vim /etc/yum.conf
exclude=*.i686 *.i386 zziplib.x86_64
8. yum list #列出系统中的安装包