Linux软件包管理

时间:2023-02-14 15:41:22

Linux软件包管理是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件应用软件的安装管理中均有广泛应用。

在Linux发行版中,几乎每一个发行版都有自己的软件包管理系统。常见有: 管理deb软件包的dpkg以及它的前端apt(使用于DebianUbuntu)。 rpm以及它的前端yum(使用于Fedora)、前端ZYpp(使用于openSUSE)、 前端urpmi(使用于Mandriva LinuxMageia)等。使用软件包管理系统将大大简化在Linux发行版中安装软件的过程。

Linux软件包管理

Linux软件包管理之软件包管理软件

软件包分类

源码包

脚本安装包

二进制包

RPM包、系统默认包

源码包

优点:
开源,如果有足够的能力,可以修改源代码;
可以*选择所需的功能;
软件时编译安装,所有更加适合自己的系统,更加稳定也效率更高;
卸载方便;
缺点:
安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误
编辑时间过长,安装比二进制安装时间多
因为是编译安装,安装过程中一旦报错新手很难解决

RPM包

二进制包的优点
包管理系统简单,只通过几个命令就可以实现保的安装、卸载、升级和查询
安装速度比源码包快
缺点
经过编译,不再可以看到源码
功能选择不如源码包灵活
依赖性
 

Linux软件包管理之RPM包管理-rpm命令管理

RPM命名规则

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

RPM包的依赖性

树形依赖       a->b-c
环形依赖       a->b->c->a
模块依赖       模块依赖可查询网站 www.rmpfind.net

包全名与包名

包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径
包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库

RPM的管理

安装
rpm -ivh 包全名
选项:
-i(install)        安装
-v(verbose)     显示详细信息
-h(hash)         显示进度
–nodeps         不检测依赖性
 
RPM包升级
rpm -Uvh 包全名
选项:
-U(upgrade) 升级
 
卸载
rpm -e 包名
选项:
-e(erase)         卸载
–nodeps         不检测依赖性

RPM查询

a、rpm -qa 包名
-q(query) 查询
-a(all) 所有
b、rpm -qi 包名   查询软件包的详细信息
-i(information) 查询软件信息
-p(package) 查询未安装包信息
c、rpm -ql 包名    查询包中文件安装位置
-l(list)     列表
-p           查询未安装包信息
d、rpm -qf 系统文件名       查询系统文件属于那个RPM包
-f(file) 查询系统文件属于哪个安装包
e、rpm -qR 包名  查询软件包的依赖性
-R(requires)    查询软件包的依赖性
-p(package)    查询未安装包信息
 
RPM校验
rpm -V 已安装的包名
-V(verify)      指定校验RPM包中的文件
验证内容中的8个信息的具体内容如下:
S 文件大小是否改变
M 文件类型或文件的权限(rwx)是否被改变
5 文件MD5校验和是否改变(可以看成文件内容是否改变)
D 设备中的从代码是否改变
L 文件的路径是否改变
U 文件的属主(所有者)是否改变
G 文件的属组是否改变
T 文件的修改时间是否改变
 
文件的类型
c 配置文件(config file)
d 普通文件(documentation)
g 鬼文件  鬼文件(ghost file),很少见,就是改文件不应该被这个PRM包包含
l 授权文件(license file)
r 描述文件(read me)
 
RPM包中的文件提取
rpm2cpio 包全名 | cpio -idv ./文件的绝对路径
rpm2cpio 将rpm包转换为cpio格式的命令
cpio 一个标志工具,它用户创建软件档案文件和从档案文件中提取文件
cpio 选项 < [文件|设备]
-i copy-in模式,还原
-d 还原时自动新建目录
-v 显示还原过程
 
提取RPM包中的ls命令到当前目录下的 /bin/ls 下
rpm2cpio /mnt/cdrom/Package/coreutils-8.4.19.e16.i686.rpm | cpio -idv ./bin/ls
 

Linux软件包管理之RPM包管理-yum 在线管理

ip地址配置和网络yum源

使用setup工具(只在ReadHat Linux系列下有这个工具)
setup
启动网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
把ONBOOT=”no” 改成
ONBOOT=”yes”
重启网络服务
service network restart
 

网络yum源

vi /etc/yum.repos.d/CentOS-Base.repo
base 容器名称,一定要放在[]中
name 容器说明,可以自己随便写
mirrorlist 镜像站点,这个可以注释掉
baseurl yum源服务器地址。默认是CentOS官方的yum源服务器,是可以使用的。如果觉得可以改成自己喜欢的


地址
enabled 此容器是否生效,不写或者写错enable=1都是生效,写成enable=0失效
gpgcheck 如果1指RPM的数字证书生效,如果是0则不生效
gpgkey 数字证书的公钥文件保存位置。不用修改
 

yum命令

查询所有可用软件包列表
yum list
 
搜索服务器上所有和关键字相关的包
yum search 关键字
 
yum -y install 包名
install 安装
-y     自动回答yes
 
yum -y update 包名
update 升级
-y     自动回答yes
 
yum -y remove 包名
remove 卸载
-y     自动回答yes
 
yum软件组管理命令
yum grouplist 列出所有可用软件组列表
 
yum groupinstall 软件组名
安装指定软件组,组名可以由grouplist查询出来
 
yum groupremove 软件组名
卸载软件组名
 

光盘yum源的搭建

a、挂载光盘
b、让原来的yum源文件失效,改名
c、vim CentOS-Media.repo

[c6-media]
name=CentOS-$releasever-Media
baseurl=file:///mnt/cdrom
#地址为自己光盘挂载地址
#注释原来两个不存在的地址
gpgcheck=1
enable=1
#吧enab=0改为enable=1,让yum源配置文件生效
gpkkey=file:///ect/pki/rpm-gpg/RPM-GPG-KEY-CettOS-6

Linux软件包管理之源码包管理

源码包和RPM包的区别

安装之前的区别:概念上的区别
安装之后的区别:安装位置的不同
 
RPM包默认安装路径
/etc/配置文件安装目录
/usr/bin/可执行命令安装目录
/usr/lib/程序所使用的函数库保存位置
/usr/share/doc/基本的软件使用手册保存位置
/usr/share/man/帮助文件保存位置
 
源码包安装位置
/usr/local/软件名/
 
安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理,列如RPM包安装     apahce的启动方法是
/etc/rc.d/init.d/httpd start
service httpd start
 

源码包的安装

a、安装C语言编译器 gcc
b、下载源码包  http://mirror.bit.edu.cn/apache/httpd/

安装注意事项

源代码保存位置 /usr/local/src/
软件安装位置 /usr/local/
如何确定安装过程中报错:
安装过程停止、并出现error、warning或no的提示

过程

a、下载
b、解压缩 tar -zxvf
c、进入解压缩的目录
d、./configure 软件配置与坚持

定义需要的功能选项;
检测系统环境是否符合安装要求;
把定好好的功能选项和检测的系统环境信息写入到Makefile文件,用于后续的编                  译;
e、make 编译
f、make install 安装
g、卸载 直接删除安装目录

 

Linux软件包管理之脚本安装包

脚本安装包

脚本安装包不是独立的软件包类型,常见安装的是源码包
是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装
非常类似于Windows下软件的安装方式。
 

Webmin的作用

Webmin是一个基于Web的Linux系统管理界面。您就可以通过图形化的方式设置用户  账号、Apache、DNS、文件


共享等服务
 

Webmin安装过程

a、下载  http://www.webmin.com/download.html
b、解压并且进入目录
c、./setup.sh