软件包管理

1、软件包分类

1)源码包(脚本安装包)

优点:

l  开源,如果有足够的能力,可以修改源代码

l  可以自由选择所需的功能

l  软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高

l  卸载方便

缺点:

l  安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误

l  编译过程时间较长,安装比二进制安装时间长

l  因为是编译安装,安装过程中一旦报错新手很难解决

2)二进制包(RPM包、系统默认包)

优点:

l  包管理系统简单,只通过几个命令就可以实现现包的安装、升级、查询和卸载

l  安装速度比源码包安装快的多

缺点:

l  经过编译,不再可以看到源代码

l  功能选择不如源码包灵活

l  依赖性

2、RPM包管理-rpm命令管理

1)命名规则:软件包名-版本-发布次数.适合的Linux平台.适合的硬件平台.rpm

2)依赖性

树形依赖:a->b->c

环形依赖:a->b->c->a

模块依赖:a依赖的b是其他模块的子模块(可到www.rpmfind.com查找b是属于哪个模块的)

3)包全名和包名

l  包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径

l  包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库

4)prm安装

rpm -ivh 包全名

选项:

-i:install,安装

-v:verbose,显示详细信息

-h:hash,显示进度

--nodeps:不检测依赖性

5)rpm包升级

rpm-Uvh 包全名

选项:

-U:upgrade,升级

6)rpm卸载

rpm -e 包名

选项:

-e:erase,卸载

7)查询是否安装

rpm -q 包名

选项:

-q:query,查询

-a:all,所有

-p:查询未安装包信息

-i:info,查询软件包详细信息   rpm -qi 包名

-l:list 软件的文件安装位置     rpm -ql 包名

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

-R:查询软件包的依赖性      rpm -qR 包名

8)校验

rpm -V 已安装的包名

选项:

-V:verify,校验指定rpm包中文件

l  验证内容中的8个信息的具体内容如下:

S 文件大小是否改变

M文件的类型或文件的权限(rwx)是否被改变

5 文件MD5校验和是否改变(可以看成文件内容是否改变)

D 设备的中,从代码是否改变

L 文件路径是否改变

U 文件的属主(所有者)是否改变

G 文件的属组是否改变

·T 文件的修改时间是否改变

l  文件类型

c   配置文件(config file)

d   普通文档(documentation)

g  “鬼”文件(ghost file),很少见,就是该文件不应该被这个RPM包包含

1   授权文件(license file)

r   描述文件(read me)

9)rpm包中文件提取

rpm2cpio包全名 | cpio-idv.文件绝对路径

rpm2cpio:将rpm包转换为cpio格式的命令

cpio:是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

3、RPM包管理-yum在线管理

1)IP地址配置

setup            #使用setup工具

vi /etc/sysconfig/network-scripts/ifcfg-ethn,把ONBOOT=no改为ONBOOT=yes #启动网卡

service network restart   #重启网络服务

2)网络yum源

vi /etc/yum.repos.d/CentOS-Base.repo

配置说明:

[base]   容器名称,一定要放在门中

name   容器说明,可以自己随便写

mirrorlist镜像站点,这个可以注释掉

baseurl  我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成国内的yum源地址

enabled此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效

gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效

gpgkey 数字证书的公钥文件保存位置。不用修改

3)常见yum软件管理命令

yum list:查询所有可用软件包列表

yum search 包名关键字:搜索服务器上所有和关键字相关的包

yum -y install 包名:安装  -y:自动回答yes

yum -y update 包名:升级

yum -y remove 包名:卸载

4)yum软件组管理命令

yum grouplist:列出所有可用的软件组列表

yum groupinstall 软件组名:安装指定软件组,组名可以由grouplist查询出来

yum groupremove 软件组名:卸载指定软件组

5)光盘yum源搭建

I   挂载光盘:mount /dev/sr0 /mnt/cdrom/

II   让网络yum源失效(使/etc/yum.repos.d/的文件后缀不再是repo)

III  修改光盘yum源文件:vim CentOS-Media.repo baseurl=file:///mnt/cdrom  enabled=1

转载于:https://www.cnblogs.com/kuexun/p/Linux_learn_07.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐