基础整理

(六)软件包管理

2017-01-19  本文已影响0人  littlexjing

第一节 软件包管理简介

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安装过程

下载软件

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

执行安装脚本

上一篇下一篇

猜你喜欢

热点阅读