软件管理

软件管理

一、软件包管理简介

1、软件包分类

l  源码包

n  脚本安装包

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

2、源码包

源码包的优点是:

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

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

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

l  卸载方便

源码包的缺点

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

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

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

3、RPM包

二进制包的优点

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

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

二进制包缺点:

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

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

l  依赖性

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

1、RPM包命名原则

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

httpd

软件包名

2.2.15

软件版本

15

软件发布的次数

el6.centos

适合的Linux平台

i686

适合的硬件平台

rpm

rpm包扩展名

2、RPM包依赖性

l  树形依赖:a——b——c

l  环形依赖:a——b——c——a

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

libapr-1.so.0——apr-1.2.7-11.el5_5.3.i386.rpm

libaprutil-1.so.0——apr-util-1.2.7-11.el5_5.2.i386.rpm

libpq.so.4——postgresql-libs-8.1.22-1.el5_5.1.i386.rpm

libgmp.so.3——gmp-4.1.4-10.el5.i386.rpm

3、包全名与包名

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

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

4、RPM安装

rpm -ivh 包全名

选项:

-i(install)

安装

-v(verbose)

显示详细信息

-h(hash)

显示进度

--nodeps

不检查依赖性

5、RPM包升级

rpm -Uvh 包全名

选项:

-U(upgrade)

升级

6、卸载

rpm -e 包名

选项:

-e(erase)

卸载

--nodeps

不检查依赖性

7、查询是否安装

rpm -q 包名

#查询包是否安装

选项:

-q

查询(query)

rpm -qa

#查询所有已经安装的RPM包

选项:

-a

所有(all)

8、查询软件包详细信息

rpm -qi 包名

选项:

-i

查询软件信息(information)

-p

查询未安装包信息(package)

9、查询包中文件安装位置

rpm -ql 包名

选项:

-l

列表(list)

-p

查询未安装包信息(package)

10、查询系统文件属于哪个RPM包

rpm -qf 系统文件名

选项:

-f

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

11、查询软件包的依赖性

rpm -qR 包名

选项:

-R

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

-p

查询未安装包信息(package)

12、RPM包校验

rpm -V 已安装的包名

选项:

-V

校验指定RPM包中的文件(verify)

验证内容中的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)

13、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/ls下

cp /root/bin/ls /bin/

#把ls命令复制回/bin/目录,修复文件丢失

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

1、网络yum源

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

[base]

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

name

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

mirrorlist

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

baseurl

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

enabled

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

gpgcheck

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

gpgkey

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

2、常用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

3、YUM软件组管理命令

yum grouplist

#列出所有可用的软件组列表

yum groupinstall 软件组名

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

yum groupremove 软件组名

#卸载指定软件组

4、光盘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

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、区别

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

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

2、RPM包安装位置

l  是安装在默认位置中

RPM包默认安装路径

/etc/

配置文件安装目录

/usr/bin/

可执行的命令安装目录

/usr/lib/

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

/usr/share/doc/

基本的软件使用手册保存位置

/usr/share/man/

帮助文件保存位置

3、源码包安装位置

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

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

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

n  /etc/rc.d/init.d/httpd start

n  service httpd start

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

n  /usr/local/apache2/bin/apachectl start

5、安装准备

l  安装C语言编译器

l  下载源码包http://mirror.bit.edu.cn/apache/httpd/

6、安装注意事项

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

l  软件安装位置:/usr/local/

l  如何确定安装过程报错:

n  安装过程停止

n  并出现error、warning或no的提示

7、源码包安装过程

l  下载源码包

l  解压缩下载的源码包

l  进入解压缩目录

l   

./configure

软件配置与检查

l  定义需要的功能选项。

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

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

l   

make

编译

l  make clean

l   

make install

编译安装

8、源码包的卸载

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

五、脚本安装包与软件包选择

1、脚本安装包

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

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

l  非常类似于Windows下软件的安装方式。

2、Webmin的作用

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

3、Webmin安装过程

l  下载软件

http://sourceforge.net/projects/webadmin/files/webmin/

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

l  执行安装脚本

原文地址:https://www.cnblogs.com/wangxudong/p/10050134.html