(六)软件包管理

第一节 软件包管理简介

1.软件包分类

1)源码包

脚本安装包

2)二进制包

系统默认包,对于redhat系列是rpm包,对于debian系列是deb包

2.源码包的优点

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

可以自由选择所需的功能

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

卸载方便

3.源码包的缺点

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

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

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

4.二进制包的优点

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

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

5.二进制包的缺点

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

功能选择不如源代码灵活

依赖性


第二节 RPM包管理-rpm命令管理

1.RPM包命名规则

httpd-2.2.15-15.e16.centos.1.i686.rpm

httpd               软件包名

2.2.15             软件版本

15                    软件发布次数

el6.centos      适合的Linux平台

i686                 适合的硬件平台

rpm                   rpm包扩展名

2.RPM包依赖性

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

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

模块依赖:模块依赖查询网站:www.rpmfind.net

3.包全名与包名

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

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

4.RPM包安装

rpm -ivh 包全名

选项:

-i(install)          安装

-v(verbose)     显示详细信息

-h(hash)          显示进度

--nodeps         不检测依赖性

5.RPM包升级

rpm -Uvh 包全名

选项:

-U (upgrade)            更新

6.RPM包卸载

rpm -e 包名

选项:

-e(erase)                   卸载

--nodeps                   不检测依赖性

7.RPM包查询

1)查询是否安装

rpm -qa  包名

选项:

-q(query)                      查询

-a(all)                            所有

2)查询软件包详细信息

rpm -qi  包名

选项 :

-i(information)               查询软件信息

-p(package)                  查询未安装包信息(后面加包全名)

3)查询包中文件安装位置

rpm -ql 包名

选项:

-l(list)                               列表

-p(package)                    查询未安装包信息(后面加包全名)

注意安装位置和文件信息是组建包的时候就确定好的,所以可以查询未安装的包。

4)查询系统文件属于哪个RPM包

rpm -qf 系统文件名

选项 :

-f(file)                              查询系统文件属于哪个软件包

5)查询软件包的依赖性

rpm -qR 包名

选项 :

-R                                     查询软件包的依赖性(requires)

-p                                      查询未安装包信息(package)

8.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),很少见,就是该文件不应该被这个RPM包包含

l 授权文件(license file)

r 描述文件(read me)

9.RPM包中文件提取(主要用于修补误删除的文件)

rpm2cpio 包全名 | cpio -idv . 文件绝对路径  从相应的软件包中提取文件保存至当前目录下

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

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

cpio 选项 <[文件|设备]>

选项 :

-i                                   copy-in模式,还原

-d                                  还原时自动新建目录

-v                                  显示还原过程

命令实例

rpm -qf /bin/ls              查询ls命令属于哪个软件包

mv /bin/ls /tmp/           造成ls命令误删除的假象

rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls        提取RPM包中ls命令到当前目录的/bin/下

cp /root/bin/ls /bin/             把ls命令复制到/bin/目录下,修复丢失文件


第三节 RPM包管理-yum在线命令管理

1.IP地址配置

setup  使用setup工具

vi /etc/sysconfig/network-scripts/ifcfg-eth0

将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命令中无包名和全名相关的命令)

1)查询

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

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

2)安装

yum -y install 包名

选项:

install                          安装

-y                                 自动回答yes

3)升级(轻易不要使用,容易宕机)

yum -y update 包名

选项:

update                          升级

-y                                   自动回答yes

4)卸载(轻易不要使用,容易宕机)

yum -y remove 包名

选项: 

remove                          卸载

-y                                    自动回答yes

注意:尽量最小化安装,不要使用yum更新和卸载,容易出问题

5)yum软件组管理命令

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

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

yum groupremove       卸载指定软件组

4.光盘yum源搭建

光盘yum源搭步骤

1)挂载光盘

mount /dev/cdrom /mnt/cdrom/

2)让网络yum源失效

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo.bak

mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak

mv CentOS-Vault.repo CentOS-Valut.repo.bak

3)修改光盘yum源文件

vim CentOS-Media.repo

[c6-media]

name=CentOS-$releasever - Media

baseurl=file://mnt/cdrom     地址为光盘挂载点地址

# file:///media/cdrom/           注释这两个不存在地址

# file:///media/cdrecorder/

gpgcheck=1

enabled=1      将enabled=0改为enabled=1,让这个yum源配置文件生效

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


第四节 源码包安装管理

1.区别

安装之前的区别:概念上的区别

安装之后的区别:安装位置不同

2.RPM包安装位置

安装在默认位置中

/etc/                                 配置文件安装目录

/usr/bin/                          可执行的命令安装目录

/usr/lib/                           程序所使用的函数库保存位置

/usr/share/doc/              基本的软件使用手册保留位置

/usr/share/man/              帮助文件保存位置

3.源码包安装位置

安装在指定位置中,一般是/usr/local/软件名

4.安装位置不同带来的影响

RPM包安装的服务可以使用系统服务管理命令service来管理,例如RPM包安装apache的启动方法是

/etc/rc.d/init.d/httpd start           手动启动

service httpd start                      智能启动

service到默认的安装路径中寻找并执行相关文件,是服务管理命令

注意:源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认的路径中,所以只能用绝对路径进行服务管理

/usr/local/apache2/bin/apachectl start

5.安装准备

安装C语言编译器

下载源码包

6.安装注意事项

源代码保存位置 /usr/local/src/

软件安装位置 /usr/local

如何确定安装过程报错 安装过程停止,并出现error,warning或no的提示

7.源码包安装过程

解压缩下载的源码包

进入解压缩目录

两个关键文件:INSTALL 安装说明文件 README 使用说明文件

./configure 软件配置与检查

定义需要的功能选项

检测系统环境是否符合安装要求

把定义好的功能选项和检测系统环境变量的信息都写入Makefile文件,用与后续的编辑

make                             编译

make clean                  清空产生的临时文件

make install                 编译安装

源码包的卸载 不需要卸载命令,直接删除安装目录即可,不会遗留任何垃圾文件

8.脚本安装包

脚本安装包并不是独立的软件包类型,常见安装的是源码包

是认为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装

非常类似与Windows下软件安装方式

9.Webmin的作用

Webmin是一个基于Web的linux系统管理界面,您可以通过图形化的方式设置用户帐号,Apache,DNS,文件共享等服务

10.Webmin安装过程

下载软件

解压缩,并进入解压缩目录

执行安装脚本

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,277评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,777评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,946评论 0 245
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,271评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,636评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,767评论 1 221
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,989评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,733评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,457评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,674评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,155评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,518评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,160评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,114评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,898评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,822评论 2 280
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,705评论 2 273

推荐阅读更多精彩内容