0
点赞
收藏
分享

微信扫一扫

安装软件程序


contents

  • ​​软件包分类​​
  • ​​源码包​​
  • ​​RPM 包​​
  • ​​包管理基础​​
  • ​​基于Debian的系统​​
  • ​​使用 aptitude 管理软件包​​
  • ​​用 aptitude 安装软件包​​
  • ​​用 aptitude 更新软件​​
  • ​​用 aptitude 卸载软件​​
  • ​​aptitude 仓库​​
  • ​​基于 Red Hat 的系统​​
  • ​​列出已安装的包​​
  • ​​用 yum 安装软件​​
  • ​​用 yum 更新软件​​
  • ​​用 yum 卸载软件​​
  • ​​处理损坏的包依赖关系​​
  • ​​yum软件仓库​​
  • ​​YUM 软件组管理命令​​
  • ​​rpm 包管理​​
  • ​​rpm包命名规则​​
  • ​​rpm包依赖性​​
  • ​​包全名和包名​​
  • ​​RPM安装​​
  • ​​rpm包升级​​
  • ​​卸载​​
  • ​​查询是否安装​​
  • ​​查询包信息​​
  • ​​查询包中文件安装位置​​
  • ​​查询系统文件属于哪个 rpm 包​​
  • ​​查询软件包的依赖性​​
  • ​​rpm 包校验​​
  • ​​rpm包中文件提取​​
  • ​​从源码安装​​
  • ​​源码包和RPM包的区别​​
  • ​​安装位置不同带来的影响​​
  • ​​源码包安装过程​​
  • ​​源码包的卸载​​
  • ​​脚本安装包​​
  • ​​脚本安装包​​
  • ​​Webmin 的作用​​
  • ​​Webmin 安装过程​​

软件包分类

  • 源码包
  • 脚本安装包不多见,不需要手工安装。
  • 二进制包(RPM包、系统默认包)经过编译,不能够看到源代码 .rpm 格式。

源码包

开源包的优点是:

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

RPM 包

二进制包的优点:

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

包管理基础

包管理系统(PMS),其利用一个数据库来记录各种相关内容:

  • Linux 系统上已安装了什么软件包
  • 每个包安装了什么软件
  • 每个已安装软件包的版本

Linux 中广泛使用的两种主要的PMS基础工具是dpkg和rpm。

基于Debian的发行版(Ubuntu和Linux Mint)使用的是dpkg命令。

基于Red Hat的发行版使用的是rpm命令。

基于Debian的系统

dpkg命令是基于Debian系PMS工具的核心,包含在这个PMS中的其他工具有:

  • apt-get
  • apt-cache
  • aptitude

使用 aptitude 管理软件包

aptitude 有交互式界面来管理软件包。
如果你已经知道了系统上的那些软件包,只想快速显示某个软件包的详细信息,就没必要到 aptitude 的交互式界面。可以在命令行下以单个命令的方式使用 aptitude。

aptitude show package_name

无法通过 aptitude 看到的一个细节是所有跟某个特定软件包相关的所有文件列表。要得到这个列表,就必须用dpkg命令。

dpkg -L package_name

也可以进行反向操作,查找某个特定文件属于哪个软件包。

dpkg --search absolute_file_name(绝对路径)

用 aptitude 安装软件包

使用下面的命令找到特定的软件包。

aptitude search package_ame

每个包名字前面都一个 p 或 i,i、u意味着已经安装,如果是 p 或 v 说明这个包未安装。
使用下列命令安装:

sudo aptitude install package_name

用 aptitude 更新软件

更新所有的软件包。

sudo aptitude safe-upgrade

用 aptitude 卸载软件

要想只删除软件包而不删除数据和配置文件,可以使用 aptitude 的 remove 选项。
要删除软件包和相关的数据和配置文件,使用 purge 选项。

aptitude [remove/purge] pachage_name

要看软件包是否已经删除,再用 aptitude 的 search 选项,在软件包前面看见一个 c,意味着软件包已删除。

aptitude 仓库

aptitude 默认的软件仓库位置是在安装 Linux 发行版时设置的。具体的安装位置存储在 /etc/apt/source.list 中。
很多情况下不需要添加或删除软件仓库,aptitude 只会从这些仓库下载文件,在搜索软件进行安装或更新时,aptitude 同样只检查这些库。

基于 Red Hat 的系统

基于 Red Hat 的系统也有几种不同的可用的前端工具。

  • yum:在 Red Hat 和 Fedora 中使用。
  • urpm:在 Mandriva 中使用。
  • zypper:在 openSUSE 中使用。

列出已安装的包

yum list installed
yum list installed > installed_software
yum list # 查询所有可用软件包列表,远程服务器上查询
yum search 关键字(包名) # 搜索服务器上所有和关键字相关的包

用 yum 安装软件

yum -y install 包名 # -y自动回答yes

也可以手动下载 rpm 安装文件并用 yum 安装,本地安装:

yum localinstall pachage_name.rpm

用 yum 更新软件

列出已安装包的可用更新:

yum list updates

核弹命令 不加包名后,会升级所有包,包括内核,可能会无法启动服务器。

yum -y update 包名

用 yum 卸载软件

核弹命令 不加包名

只删除软件包而保留它所有的文件:

yum -y remove 包名

要删除软件和它所有的文件:

yum erase pachage_name

处理损坏的包依赖关系

有时在安装多个软件包时,某个包的软件依赖关系可能会被另一个包的安装覆盖掉。这叫作损坏的包依赖关系。
如果系统出现了这个问题,先试试下面这个命令:

yum clean all

然后试着用 yum 命令的 update 选项,有时只需要清理放错位置的文件就可以了。
如果还解决不了问题,试试下面的命令:

yum deplist package_name

如果这样仍未解决,试试下面的命令:

yum update --skip-broken

这个选项允许你忽略依赖关系损坏的那个包,继续去更新其他软件包。

yum软件仓库

yum的仓库定义文件位于 /etc/yum.repos.d

YUM 软件组管理命令

软件包组名中如果有空格,使用引号。

yum grouplist # 列出所有可用的软件组列表
yum groupinstall 软件组名 # 安装指定软件组,组名可以由grouplist查询出来
yum groupremove 软件组名

rpm 包管理

rpm包命名规则

httpd-2.2.15-15.el6.centos.1.i686.rpm (包全名)

字段

意义

httpd

包名

2.2.15

软件版本

15

软件发布的次数

el6.centos

适合的Linux平台、不指定则均可以安装

i686

适合的硬件平台、686微机平台

rpm

rpm包拓展名

rpm包依赖性

  • 树形依赖a b c
  • 环形依赖a b c
  • 模块依赖
    模块包依赖查询网站:www.rpmfind.net

包全名和包名

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

RPM安装

rpm [选项] 包全名

选项

说明

-i(install)

安装

-v(verbose)

显示详细信息

-h(hash)

显示进度

–nodeps

不检测依赖性

rpm包升级

rpm -Uvh 包全名

卸载

rpm -e 包名

查询是否安装

rpm -q httpd 查询某包是否安装,任何位置都可以执行
rpm -qa 查询所有安装包

查询包信息

rpm [选项] 包名

选项

说明

-i

查询软件信息

-p

查询未安装包信息 +包全名 rpm-qip zip-3.0.1.el6.i686.rpm

查询包中文件安装位置

rpm [选项] 包名

选项

说明

-l

列表

-p

查询未安装包信息

查询系统文件属于哪个 rpm 包

rpm [选项] 系统文件名

选项

说明

-f

查询系统文件属于哪个软件包,必须是包自己创建的。

查询软件包的依赖性

rpm [选项] 包名

选项

说明

-R

查询软件包的依赖性

-p

查询未安装包信息 进入光盘包目录

rpm 包校验

rpm -V 查询已安装包名,记录包特征,判断文件是否修改。
验证内容中的8个信息的具体内容如下:

8字段

含义

S

文件大小是否改变

M

文件的类型或文件的权限(rwx)是否被改变

5

文件 MD5 校验和是否改变(文件内容是否改变)

D

设备的主从代码是否改变

L

文件路径是否改变

U

文件的所属主

G

文件的属组是否改变

T

文件的修改时间是否改变

文件类型:

文件类型

含义

c

配置文件

d

普通文件

g

“鬼文件”,该文件不应该被这个 RPM 包所包含。

l

授权文件

r

描述文件

rpm包中文件提取

rpm2cpio 包全名 | cpio -idv .文件绝对路径
仅仅提取包中的部分文件,误操作时使用。

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

选项

说明

i

copy-in模式,还原

d

还原时自动新建目录

v

显示还原过程

rpm2cpio # 将rpm 包转换为cpio格式的命令
cpio # 一个标准工具,它用于创建软件档案文件和从档案文件中提取文件。
rpm -qf /bin/ls # 查询s命令属于哪个软件包
mv /bin/ls /tmp/ # 造成s命令误删除假象
rpm2cpio /mnt/cdrom/Package/coreutils-8.5-19.el6.i686.rpm | cpio -idv ./bin/ls # 提取rpm包中ls命令到当前目录下
cp /root/bin/ls /bin/ # 把ls命令赋值到 /bin/ 目录,修复文件丢失

从源码安装

源码包和RPM包的区别

  • 安装之前的区别:概念上的区别
  • 安装之后的区别:安装位置不同
  • 源码包:人为指定安装位置,一般是/usr/local/软件名/
  • RPM包:系统默认位置

路径

意义

/etc/

配置文件安装目录

/usr/bin/

可执行的命令安装目录

/usr/lib/

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

/usr/share/doc/

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

/usr/share/man/

帮助文件保存位置

安装位置不同带来的影响

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

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

service httpd start

源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理。
/usr/local/apache2/bin/apachectls start

源码包安装过程

  • 安装准备
    安装C语言编译器
    下载源码包 http://mirror.bit.edu.cn/apache/httpd/
  • 安装注意事项
    源代码保存位置:/usr/local/src/
    软件安装位置:/usr/local/

    如何确定安装过程报错:安装过程停止并且出现error、warning 或 no 的提示。
  • 源码包安装过程
    下载源码包
    解压缩下载的源码包
    进入解压缩目录

INSTALL:

  • ./configure 软件配置与检测
    定义需要的功能选项
    检测系统环境是否符合安装需求
    把定义好的功能选项和检测系统环境的信息都写入 Makefile文件,用于后续的编辑。
  • make 编译
  • (make clean) 出现错误,删除临时文件即可。
  • make install 编译安装,才正式项目如下
    Centos安装 Apache2.4提示 APR not found的解决办法

源码包的卸载

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

脚本安装包

脚本安装包

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

Webmin 的作用

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

Webmin 安装过程

  • 下载软件:http://sourceforge.net/projects/webadmin/files/webmin/
  • 解压缩
  • 进入解压缩目录
  • 执行安装脚本


举报

相关推荐

0 条评论