Linux介绍---软件包安装

1.软件包分类
1.软件包分类
源码包:
二进制包:
源码包的优点:
开源,有足够的能力可以修改源代码,
可以自由选择所需要的功能。
软件是编译安装的,所有更加适合自己的系统,更加稳定也效率更高。
卸载方便。
源码包的缺点:
安装过程中步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误。
编译过程时间较长,安装比二进制安装时间长。
因为是编译安装,安装过程中一旦报错新手很难解决。
二进制包:
DPKG包:是由Debian LInux所开发出来的包管理机制,通过DPKG包,DebianLinux就可以进行软件包管理,主要应用在Debain和un bnbuntu中。
RPM包:是由Red Hat公司所开发的包管理系统,功能强大,安装,升级,查询和卸载都非常简单,目前很多Linux都是用这种包管理方式,包括Fedora,Centos SuSE等。我们学习的Centos,所以我们将要学习RPM包管理系统。
特点:
RPM包优点:
包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和卸载。
安装速度比源码包安装快得多。
RPM包缺点:
经过编译,不再可以看到源代码。
功能选择不如源码包灵活。
依赖性。有时我们会发现需要安装软件包a时需要安装b和c,而安装b时需要安装d和e。这是需要先安装d和e,在安装b和c最后才安装a包。依赖性非常繁琐。
在这里插入图片描述
二RPM安装
1.rpm包命令规则:
httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本。
15 软件发布次数。
e16软件发行商。e16是RedHat公司发布,适合RHEL6.x和centos6.x下使用。
i686适合的硬件平台。RPM包可以在不同的硬件平台安装。选择合适不同cpu的软件版本,可以最大化的发挥cpu性能,所以出现了所谓的i386(386y以上计算机都可以安装,)i586,i686,x86_64和noarch等文件名称。
rpm rpm包的扩展名。我们说过Linux下文件不是靠扩展名区分文件类型,也就是Linux中扩展名没有任何的意义,。原因很简单就是为了让管理员更好的识别。
包全名:如果操作的是未安装软件包,则使用包全名,而且需要注意绝对路径。
包名:如果操作的是已经安装的软件包,则使用包名,系统会产生RPM包的数据库(/var/lib/rpm),而且可以在任意路径下操作。
rpm包手工命令安装
3.1默认安装位置

RPM包默认安装路径
/etc/配置文件安装目录
/usr/bin可执行的命令安装目录
/usr/lib程序所使用的函数库保存位置
/usr/share/doc/基本的软件使用手册保存位置
/usr/share/man帮助文件保存位置

3.2RPM包安装
1.安装命令:
rpm -ivh 包全名:
#注意:一定是包全名,如果跟包全名的命令要注意路径因为软件包在光盘中。
选项:
-i:install 安装(install)
-v 显示更详细的信息(verbose)
-h 打印#显示安装进度。
– nodeps 不检测依赖性安装,软件时会检测依懒性,确定所需的底层软件是否可以安装,如果没有安装则会报错,如果不管依赖性,想强行安装,可以使用这个选项。注意:这样不检测依懒性安装的软件基本是不能使用的。所以不建议这样做。
–replacefiles 替换文件安装,如果安装软件包,可是包中部分文件已经存在,那么正常安装时候,会报错某个文件已经存在,从而导致软件无法安装,使用这个选项可以忽视这个报错,而覆盖安装。
–replacepkgs 替换软件包安装,如果软件包已经安装,此选项可以把软件包重复安装一遍。
–force 强制安装,不管是否已经安装,都重新安装,就是–replacefiles和replacepkgs的综合。
–test 测试安装,不会实际安装,只是检测一下依懒性。
–prefix 指定安装路径,未安装软件指定安装路径,而不使用默认安装路径。
注意
如果指定了安装路径,软件没有安装到系统默认路径中的话,系统会在不到这些安装的软件,需要手工配置才能被系统识别,所以rpm包我们一般都采用默认路径安装。
服务启动
service 服务名 start | restart | status |stop
参数:
start 启动服务
stop 停止服务
restart 重启服务
status 查看服务状态。
在centos7 中使用systemctl restart httpd
3.3RPM包升级
rpm -Uvh 包全名
选项:
-U(大写) 升级到安装,若没有安装,系统直接安装,如果安装过旧的版本则会升级到最先的版本。
rpm -Fvh 包全名
-F(大写):升级安装,如果没有安装过,则不会安装。必须安装有较旧的版本,才能升级。
卸载
rpm -e 包名:
选项:
–nodes 不检查依赖性
-e 卸载。
查询
1.查询软件包是否安装。
rpm -q 包名
选项:
-q查询:(query)
查询系统中所有安装软件包
可以查询Linux系统中所有已经安装的软件包,命令格式如下:
rpm -qa
选项:
-a 所有(all)
当然也可以使用管道符查看所需的内容,比如:
rpm -qa | grep mysql
使用rpm -q 包名,只能查看这个包是否安装,但是使用 rpm -qa | grep 包名
会把包含包名称的所有包都列出来。
查询软件包的详细信息;
可以查询已经安装的某个软件包的详细信息,命令格式如下:
rpm -qi 包名
选项:
-i:查询软件信息。
也可以查询还没有安装的软件包的详细信息。
rpm - qip 包全名。
选项:
-p查询没有安装的软件包(package)。
查询系统文件属于那个RPM包。
既然可以知道每个RPM包中的文件的安装位置,那么可以查询系统文件属于那本RPM包?当然可以,不过需要主要的是:手共建立的文件是不可以查询的,因为这些文件不是通过RPM包安装的当然不能反向查询它属于那个RPM包
rpm -qf 系统文件名:
选项:
-f 查询系统 文件属于那个软件包。
查询软件包所依赖的软件包。
查询系统中和已经安装的软件包有依赖关系的软件包,命令格式如下:
rpm -qR 包名
选项:
-R 查询软件包的依赖性。
查询没有安装的软件包的依赖性,加上-p选项即可。
rpm -qRp 包全名。
rpm -Va
选项:
-Va校验本机已经安装的所有软件包。
rpm -V 已经安装的包名
选项 -V:校验指定RPM包中的文件。
rpm -Vf 系统文件名。
选项:
-Vf检验某个系统文件是否被修改。
验证内容中的8个信息:
S:文件大小是否改变。
M 文件的类型或者文件权限是否被改变。
5 文件MD5校验和是否改变(可以看成文件内容是否改变)
D 设备的主从代码是否改变
L 文件的路径是否改变
U 文件的属主(所有者)是否改变
G 文件的属组是否改变
T文件的修改时间是否改变。
apache配置文件的文件类型是c,
c配置文件
d普通文件
g 鬼文件 很少见 就是该文件不应该被这个RPM包包含。
l授权文件
r描述文件。
3.7数字证书
刚刚的检验方法只能对已经安装的RPM包中的文件进行校验,但是如果RPM包本身就被动过手脚,那么检验就不能解决问题。我们必须下使用数字证书校验。
数字证书有如下的特点:
首先必须找到原厂的公钥文件,然后进行安装。
在安装RPM包时会去校验RPM包中的证书信息,然后和本机安装的原厂证书进行验证,。
如果验证通过,则允许安装。如果验证不通过,则不允许安装并警告。
数字证书的位置;
在这里插入图片描述
在这里插入图片描述
3.8 rpm包中文件的提取
cpio命令:
cpio命令主要有三种基本模式:-o模式指的是:copy-out模式,就是把数据备份到文件库中,-i模式指的是copy-i模式,就是把数据从文件库中恢复,-p模式指的是复制模式,就是不把数据备份到cpio库中,而是直接复制为其他文件。
cpio -o[vcB] > [文件| 设备] #备份
选项:
-o:copy-out模式,备份。
-v:显示备份过程。
-c:设定输入新的portable format存储方式
-B:设定输入块5120bytes,而不是512butes
cpio -i[vcdu] >[文件|设备]#还原:
-i:copy-in模式,还原。
-v显示还原过程。
-c:使用较新的portable format存储方式。
-d:还原时自动新建目录。
-u:自动使用较新的文件覆盖较旧的文件。
cpio -p 目标目录。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值