软件管理

  • A+
所属分类:运维教程

一、软件包管理简介

1、软件包分类

  • 源码包
    • 脚本安装包
  • 二进制包(RPM包、系统默认包)

2、源码包

源码包的优点是:

  • 开源,如果有足够的能力,可以修改源代码
  • 可以自由选择所需的功能
  • 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
  • 卸载方便

源码包的缺点

  • 安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误
  • 编译过程时间较长,安装比二进制安装时间长
  • 因为是编译安装,安装过程中一旦报错新手很难解决

3RPM

二进制包的优点

  • 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
  • 安装速度比源码包安装快的多

二进制包缺点:

  • 经过编译,不再可以看到源代码
  • 功能选择不如源码包灵活
  • 依赖性

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

1RPM包命名原则

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

httpd

软件包名

2.2.15

软件版本

15

软件发布的次数

el6.centos

适合的Linux平台

i686

适合的硬件平台

rpm

rpm包扩展名

2RPM包依赖性

  • 树形依赖:a——b——c
  • 环形依赖:a——b——c——a
  • 模块依赖:模块依赖查询网站: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、包全名与包名

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

4RPM安装

rpm -ivh 包全名

选项:

-iinstall

安装

-vverbose

显示详细信息

-hhash

显示进度

--nodeps

不检查依赖性

5RPM包升级

rpm -Uvh 包全名

选项:

-Uupgrade

升级

6、卸载

rpm -e 包名

选项:

-eerase

卸载

--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

12RPM包校验

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

13RPM包中文件提取

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

rpm2cpio

#rpm包转换为cpio格式的命令

cpio

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

cpio 选项 < [文件|设备]

选项:

-icopy-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

3YUM软件组管理命令

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

  • 安装之前的区别:概念上的区别
  • 安装之后的区别:安装位置不同

2RPM包安装位置

  • 是安装在默认位置中

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
  • 而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:
    • /usr/local/apache2/bin/apachectl start

5、安装准备

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

6、安装注意事项

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

7、源码包安装过程

  • 下载源码包
  • 解压缩下载的源码包
  • 进入解压缩目录
  • ./configure

    软件配置与检查

    • 定义需要的功能选项。
    • 检测系统环境是否符合安装要求。
    • 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。
  • make

    编译

    • make clean
  • make install

    编译安装

8、源码包的卸载

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

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

1、脚本安装包

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

2Webmin的作用

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

3Webmin安装过程

以上内容未经授权,严禁转载!请尊重作者的知识产权。

  • 我的微博
  • 这是微博的扫一扫
  • weinxin
  • 微信公众
  • 微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:63   其中:访客  60   博主  1

    • avatar 刎坟话翘倏纫湛纤邢桨逞守慈粮重暗写郧 9

      签到成功!签到时间:今日的上午9:19:46,每日打卡,生活更精彩哦!

      • avatar 亟季沿茄陌乔勘枷腊僦蔡骄鹊程章擦谰幽 9

        签到成功!签到时间:今日的上午8:17:35,每日打卡,生活更精彩哦!

        • avatar 撼渴掠顾诱呢瘟陌锥挝沙茸妹史复涨烁誓 9

          签到成功!签到时间:今日的上午8:14:06,每日打卡,生活更精彩哦!

          • avatar 詹僮址俣煽废仓彼纬盼幢葡蓝巧疽号于思 9

            签到成功!签到时间:今日的上午7:19:48,每日打卡,生活更精彩哦!

            • avatar 沉葱纶坟附穆稚尚倚式杜魄断撤乔睬富衬 9

              签到成功!签到时间:今日的上午7:08:27,每日打卡,生活更精彩哦!

              • avatar 乖染木倥久厥靶糙狗灰于肥仿删鸥源谮娇 9

                签到成功!签到时间:今日的上午4:15:09,每日打卡,生活更精彩哦!