Linux软件安装管理

本文介绍了Linux软件包安装的相关知识,包括软件包分类、源码包和rpm包区别等基础知识。详细阐述了rpm手工安装、yum在线安装和源码包安装的具体操作,如rpm包的安装、升级、卸载、查询和校验,yum命令的使用,以及源码包安装的步骤,对Linux服务器运维有重要参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件包基础知识

软件包分类

  • 源码包

    包含软件的源码,需要自行编译安装。安装不方便,但灵活

    一般源码包都被压缩为tar包,注意tar表明是一个压缩文件,被压缩文件可能是源码文件,也可能是其他文件

  • 二进制包

    rpm包是linux中一种的文件类型,这种文件以rpm为后缀,是厂商已经编译好的软件。类似window中的exe软件。安装方便,但不灵活。
    RPM(RPM Package Manager )是一种rpm包管理器,给用户提供管理rpm包的各类命令。

  • 脚本安装包

    不属于软件包,只是封装了源码包或rpm包的安装步骤,

源码包和rpm区别

  1. 源码包可以看到源码,rpm包不能看到源码

  2. 源码包安装麻烦,需要用户编译和安装;rpm包可直接安装。

  3. 安装位置不同。

    • rpm包一般由作者设置安装位置。用户也可以指定安装位置,但rpm提供卸载命令,即rpm包可以自动找到安装位置,因此用户一般不指定安装位置。
    • 源码包由用户指定安装位置,一般是 /usr/local/软件名。因为源码包不提供卸载命令,若不指定安装位置,不利于用户运维。
  4. 服务管理方式不同。基于安装位置的区别,导致两者服务管理的区别。

    • rpm安装在默认位置,可以使用系统服务管理命令(service)对其管理。
    • 源码包未安装在默认位置,不能使用service命令,需要使用绝对路径。

包全名和包名

  • 包全名
    • 包括 包路径、包完整名称
    • 操作的包是没有安装的软件包使用包全名,例如安装命令、升级命令等
  • 包名
    • 包全名中的软件包名部分。
    • 操作的包时已经安装的软件包时使用包名。利用卸载、查询。

rpm手工安装

rpm包定义

  • rpm包在系统光盘中,需要件系统光盘挂载到系统中,所有的rpm包都在本地系统中。

  • rpm包命名规则

    httpd-2.2.15.15.el6.centos.1.i686.rpm

    • httpd:软件包名
    • 2.2.15:版本号
    • 15:软件发布次数
    • el6.centos:适合的linux平台
    • i686:适合的硬件平台
    • rpm:包扩展名
  • rpm包依赖性

    • 树形依赖: a->b->c。需要啥安装啥即可
    • 环形依赖:a->b->c->a、多个模块同时安装即可
    • 模块依赖:依赖一个文件库,该文件库在某一个rpm包中,需要自己查找。查找网站:www .rpmfind.net。找到对应的rpm安装即可。

rpm包安装

  • rmp -ivh 包全名
    • 若当前目录不在packages文件下,需要加上包完整路径
    • -i : install
    • -v: verbose 显示详细信息
    • -h: hash 显示进度
    • –nodeps: 不检测依赖性,可解决包之间环形依赖问题。这个选项有点自欺欺人,如果一个软件包存在依赖,但是不检测依赖,那么最终安装出来的软件包无法使用。
    • 使用该命令手动安装时,需要安装大量依赖,因此可以使用yum命令替换该命令。但注意yum仍安装的rpm包,只不过是从云端安装,并自动解决了包依赖问题。

rpm包升级

  • rpm -Uvh 包全名
    • 若当前目录不在packages文件下,需要加上包完整路径
    • 当软件已经安装时,该命令可升级软件;
    • 当软件未安装时,该命令可安装软件,此时的作用类似rpm -ivh

rpm包卸载

  • rpm -e 包名
    • 卸载已安装的软件包,卸载时需要按照安装的依赖反顺序卸载。
    • –nodeps不检查依赖直接卸载。生产环境不建议使用。

rpm包查询

  • rpm -q 包名

    • -q (query): 查询某一个具体的包

    • -qa(all): 查询已安装的全部rpm包;配合grep管道符使用

    • -qi(information): 查询软件信息;加上p(package)选项,可查看未安装包信息。

    • -ql(list):列表,查看rpm包中的文件列表;加上p(package)选项,可查看未安装包信息。

    • -qr(requires):查询软件包的依赖性;加上p(package)选项,可查看未安装包信息。

      rpm包的安装位置由包作者确定,即使未安装也可以查到该包的信息

    • -qf(file):查看rpm属于哪个文件

rpm 包校验

  • rpm -V 包名
  • 从包的八个维度校验包是否被修改,包括大小变化、修改内容等信息。

yum在线安装

特点

  • 解决手动安装的包依赖问题。将所有软件包放到官方服务器上,当进行yum在线安装时,自动解决依赖性问题。
  • redhat的yum在线安装需要付费。centos现在免费,但已被收购。

yum源

  • 在etc/yum.repos.d目录下,在centos-base.repo文件中配置yum源的地址信息。国内用户可以将其修改为163和清华的源
  • 在无网络情况下,可以配置本地光盘yum源

注意在2020年11月,CentOS 6停止更新,163、清华等yum源都无法使用,可以使用vault.centos.org作为更新源。具体操作参看CentOS 6 Yum源更新

yum命令

  • 查询
    • yum list :查询所有可用软件包列表
    • yum search 关键字: 搜索服务器上所有和关键字相关的包
  • 安装
    • yum -y install 包名
      • -y(yes) 自动回答yes
      • 包名是软件名,不是包全名
  • 升级
    • yum -y update 包名
    • -y(yes) 自动回答yes
    • linux一般用作服务器,频繁升级会影响应用服务,因此一般不升级服务器软件。
  • 卸载
    • yum -y remove 包名
    • -y(yes) 自动回答yes
    • 在服务器运维过程中,服务器使用最小化安装,用什么软件安装什么软件,尽量不卸载。使用yum卸载软件包,可能造成系统崩溃。
  • 组管理命令
    • yum grouplist : 列出所有可用的软件组列表
    • yum groupinstall 软件组名(英文组名):安装指定软件组
    • yum groupremove 软件组名 :卸载指定软件组

源码包安装

源码包安装

源码包安装是比较原始的方式,但因其比较灵活,仍然有必要掌握其使用方式。源码包是未编译的源文件,在安装时需要进行对其编译,因此采用源码包安装方式时,linux系统中需要有GCC的编译环境,具体安装步骤参看参考资料中的链接。在具备编译环境之后,可进行源码包的安装。

在安装本文以apache为例,操作环境为CentOS 6,介绍源码包安装的基本步骤。

  1. 获取源码包。

一般软件源码包可从其官网获取,apahce源码的包的下载地址。本文下载的是 httpd-2.4.46.tar.bz2。

由于在window系统中下载文件,因此可使用rz命令将其复制到linux系统下。使用rz命令需要安装lrzsz,安装使用步骤查看参考资料。

源码包和解压之后的源码目录一般储存在 /usr,也可存储在其他位置。

  1. 解压缩源码

不同的压缩文件对应不同的解压缩命令,本文下载的bz2后缀,因此使用 tar -jxvf命令解压缩,之后即可得到apache的源文件。

  1. 阅读INSTALL文件、README文件

INSTALL文件给出来安装步骤、README文件给出了软件介绍。在linux中安装源码包,十分有必要阅读这个两个文件中的提供的信息。

  1. 执行 './configure --prefix=/usr/local/XXX’命令。

./configure 可以检测你的安装平台的目标特征,比如是否有gcc等环境。一般用来生成Makefile。可以加上 –with、–enable、–without、–disable 等参数对编译加以控制。在本例中,prefix用于指定软件的安装路径。

执行到此步骤时,会依次提示要求安装 Apr下载链接、Apr-util下载链接 、PCRE下载链接,他们的安装步骤跟apache类似,另开一个界面安装即可。

在linux中,/use类似window中的Program Files ,用于安装应用软件。

  1. 执行 make命令,对软件进行编译。
  2. 执行 make install 命令,完成安装。
  3. 执行 make clean,删除安装时产生的临时文件。

以上7个步骤时使用源码安装的基本步骤,在安装完成之后,即可使用相应的软件。在本例中,进入到apache安装路径下,执行 “./apachetl start” 即可启动apache服务。在虚拟机中直接用浏览器访问 localhost:80,页面会给出 it works。在window中,需要使用ip访问,同时关闭虚拟机的防火墙。

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值