【Linux】软件安装包

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cheidou123/article/details/86485836

一 概述

1.源码包
优点:

tar.gz 开源的,可以解开看,可以自由选择功能,编译安装,稳定效率高,卸载方便

缺点:

安装步骤多
安装时间长,安装比二进制时间长

2.二进制包(RPM包,系统默认包)
优点:

安装简单,速度快

缺点:

不能再看到源代码了,不如源码包灵活,依赖性强。
在redhat系列是RPM包,ubuntu是deb包。
要是本地自己用,用tar.gz好

二 RPM

rpm包在系统光盘

1.命名规则

httpd-2.2.15-15.el6.cento.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布次数
el6.centos 适合的linux平台
i686适合的硬件平台
rpm 包扩展名

2.RPM依赖性
树形依赖

1-2-3

环形依赖

1-2-3-1
可以将123三个包放到一条命令

模块依赖

最蛋疼,它依赖的在自己或者其它rpm包的。以so.数字结尾
www.rpmfind.net这个网站可以查询
我们可以用yum来解决这个问题,可以连服务器也可以本地yum.但是redhat是付费的。
A is needed by B
安装B之前需要先装A

3 安装命令:

包全名 一般没有安装的软件包使用,就是上面的httpd-2.2.15-15.el6.cento.1.i686.rpm,再加上路径
包名 一般已经安装的软件包使用

安装

rpm -ivh 包全名
i 安装
v 显示详细信息
h 显示进度
–nodeps 不检测依赖性,直接装,但是首先不了真正的功能,没啥鸟用
yum 没有查询,和校验,yum是rpm的在线安装,没有yum的安装包。

升级和卸载

rpm -Uvh 包全名
-U 升级
这里注意用包全名,如果已经安装,那就是升级。没有安装的话,这个可以用升级来代替安装。

卸载
rpm -e 包名
这里是包名
系统会去 /var/lib/rpm/里面的rpm数据库里找,所有装的rpm包都有记录。也没有必要cd到目录下。
但是卸载的时候:我们需要先解决依赖
–nodeps 不检测依赖,但是不能用
rpm不指定安装位置,源码包需要指定安装位置

RPM包查询

yum 不能够查询
rpm -q 包名
查看软件包是否安装了。
rpm -qa 查询系统当中装过的所有安全包 可以配合grep用。

查看软件包详细信息
rpm -qi 包名 没啥鸟用,唯一的用途是看官方网站
rpm -qip 包全名 而且要在目录当中。没啥鸟用。

查看文件安装位置
rpm -ql 包名
默认安装位置
在这里插入图片描述
-qlp 包全名 在路径下 这个可以看到它打算装哪里

查看文件属于哪个包
rpm -qf 文件名
注意路径

查看软件包的依赖性
rpm -qR 包名
意义不大,依赖的很乱。还不如直接装呢

rpm -qRp 包全名,注意路径

RPM包校验
校验修改

rpm -V 包名
可以让我们看看这个RPM包有没有没修改,如果没修改,则没有任何输出。

文件提取:

rpm2cpio 包全名 | cpio -idv .文件绝对路径
从 包全名提取,在包里提取文件(文件绝对路径),提取到当前目录下。然后把这玩意复制到我们想复制的地方。

三 YUM

我们知道,RPM包的依赖性强,
yum所有软件包放在官方服务器上,可以自动解决依赖性问题。
redhat在线安装需要收费,centOS不需要

1.yum源文件

yum源
/etc/yum.repos.d/
有个Base文件,里面有源文件地址,一个是镜像,一个是实际地址,可以修改。
在这里插入图片描述

2.光盘yum源(不需要网络)

mount /dev/cdrom /mnt/cdrom/
我们把CentOS-Base名字改了。然后让CentOS-Media baseURLga改成光盘挂载点。然后修改enable.
然后yum list看最后一列,就可以我们的yum源在哪里了。

3.yum命令

yum安装只写包名就行。

3.1查询

yum list查询所有软件包列表
yum search 关键字 搜索服务器上和关键字相关的包

3.2 安装

yum -y install 包名

3.3 升级

yum -y update 包名
注意后面一定要有包名,要不全升级了,就麻烦了。
yum源里需要有高版本的。
一般尽量少升级。

3.4 卸载

yum -y remove 包名
尽量不卸载,可能把关键依赖卸载了,系统崩溃。

3.5 组管理

组管理
yum grouplist :
查询组包。
安装组包名只能用英文:
yum groupinstall : 组包名
yum groupremove :组包名

源码包管理

1.源码包与PRM包的区别

RPM 包一般有默认安装位置,而源码包需要我们自己制定,RPM包如果使用默认安装位置可以使用service启动,源码包不行,但是源码包可以将启动程序放入制定位置,那样也可以使用service启动,RPM包一般我们最好安装到默认位置。
在这里插入图片描述

2.源码包安装过程

linux源码包都是C语言写的,所以我们先安装C安装C语言编译器GCC
源码包是由包对应的官方网站上来。
如果我们已经安装RPM包的了,我们也可以在装一个源码包的,因为它们安装位置不同。但是最好只能启动一个,因为端口冲突,尽量不要修改端口。
被其它用户访问的尽量用源码包,因为开源效率高,要是GCC这种自己用的用RPM包好。
源码包源代码保存位置(建议):
/usr/local/src/
软件安装位置(建议):
/usr/local/
tar -zxvf XXX
进入解压缩的目录
./configure 命令
定义需要的功能选项,检测系统环境是否符合安装要求,把定义好的功能选项和检测系统环境的信息都写入Makefile文件中。
./configure --prefix=XXX XXX为路径,指定安装位置。
make 把源码包翻译成机器语言。
如果报错:makeclean 清除临时文件
make install 安装命令

五 脚本安装包

没有这种格式,实质是一种安装脚本。安装简单方便快速。但是修改有点困难。

猜你喜欢

转载自blog.csdn.net/cheidou123/article/details/86485836