Linux软件包管理

Linux软件包管理

1. rpm命令管理

1.1 RPM包命名原则

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

  • httpd——软件包名
  • 2.2.15——软件版本
  • 15——软件发布的次数
  • rl6.centos——适合的Linux平台
  • i686——适合的硬件平台(若是noarch即说明各个平台都可以使用)
  • rpm——rpm包扩展名

注意包名包全名的区别:

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

1.2 RPM包依赖性

  • 树形依赖:a→b→c
  • 环形依赖:a→b→c→a(将a、b、c用一条命令同时装)
  • 模块依赖:模块依赖查询网站:www.rpmfind.net

1.3 RPM安装与卸载命令

安装:rpm -ivh 包全名。选项:

  • -i:安装(install)
  • -v:显示详细信息(verbose)
  • -h:显示进度(hash)
  • --nodeps:不检测依赖性

用rpm命令手动安装,依赖管理极其复杂,不建议使用。

卸载:rpm -e 包名

1.4 RPM查询(常用)

rpm的安装命令可能不会常用,但查询命令会经常使用。

  • rpm -q 包名:查询是否安装。
  • rpm -qa:查询所有已安装的包。
  • rpm -qi 包名:查看已经安装的包信息。
  • rpm -ql 包名:查询包中的文件安装位置。
  • rpm -qf 系统文件名:查询系统文件属于哪个软件包。
  • rpm -qR 包名:查询软件包的依赖性。

1.5 RPM校验和文件提取

  1. rpm -V 已安装的包名:校验指定RPM包中的文件。若没有出现任何信息,则表明包文件没有被修改。

  2. **为什么要进行RPM包的文件提取:当有误删除配置文件等操作时,可以从包中提取文件进行修复。**命令:rpm2cpio 包全名 | cpio -idv .文件绝对路径

2. yum在线管理

注意没有yum包这一说法,yum管理的同样是rpm包。

2.1 IP地址配置和网络yum源

使用setup或者nmtui配置ip地址后,使用service network restart重启网络服务

配置网络yum源:CentOS的yum源默认是配置好的,若要进行修改,可以vim /etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  • [base]:容器名称,放在[]中;
  • name:容器说明,随便写;
  • mirrorlist:镜像站点,可以注释掉;
  • baseurl:CentOS官方的yum源服务器;
  • enabled:容器是否生效,默认为1;
  • gpgcheckgpgkey是进行数字证书验证的选项,保持默认配置即可。

2.2 yum命令

  1. yum list:列出服务器上可用的软件包。
  2. yum search 包名:搜索服务器上所有和关键字有关系的包。
  3. yum -y install 包名:安装软件包,选项-y的含义为自动回答yes.
  4. yum -y update 包名:升级指定包。若不加包名则会升级所有包(包括linux内核),一定要注意慎重使用。
  5. yum -y remove 包名:删除软件包。卸载命令不安全。
  6. yum grouplist:查看已经安装的软件组。
  7. yum groupinstall 软件组名:安装软件组。

3. 源码包

3.1 RPM包与源码包安装位置区别

  • RPM包

    位置说明
    /etc/配置文件安装目录
    /usr/bin/可执行的命令安装目录
    /usr/lib/程序所使用的函数库保存位置
    /usr/share/doc/基本的软件使用手册保存位置
    /usr/share/man/帮助文件保存位置
  • 源码包:安装在指定位置当中,一般是/usr/local/软件名/

**安装位置不同带来的影响:**RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:

  • 绝对路径管理:/etc/rc.d/init.d/httpd start(RPM安装的服务都会在这一路径下)
  • 系统服务管理:service httpd start

CentOS7以后换成了systemctl * start,用systemctl进行服务管理。

而源码包安装的软件只能通过绝对路径方式进行启动。

3.2 源码包安装

  1. 安装准备:

    • 前提有c语言编译器。
    • 下载源码包。
  2. 安装注意事项:

    • 源代码保存位置:/usr/local/src
    • 软件安装位置:/usr/local
    • 安装过程报错:安装过程停止并出现error、warning或no的提示
  3. 安装过程:

    • 解压缩下载的源码包并进入解压缩目录。

    • 在遇到陌生的源码包时,首先查看安装说明INSTALL和使用说明README

    • ./configure 软件配置与检查

      • 定义需要的功能选项,如:
        • 通过./configure --help查看帮助
        • 常用./configure --prefix=/usr/local/xxx定义安装位置
      • 检测系统环境是否符合安装要求;
      • 将定义好的功能选项和检测系统环境的信息都写入Makefile文件用于后续编辑。
    • 配置好后make进行编译。(若报错可以通过make clean清空)

    • make install进行安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值