HCRM博客

如何在CentOS 7上进行软件安装?

在 CentOS 7 上安装软件是一个常见的任务,对于系统管理员和开发者来说尤为重要,本文将详细介绍如何在 CentOS 7 上通过 RPM、YUM 和源码包三种方式安装软件。

一、RPM 安装

1. RPM 包命名规则

如何在CentOS 7上进行软件安装?-图1
(图片来源网络,侵权删除)

包全名:如果操作的是未安装的软件包,则使用包全名,注意绝对路径。

包名:如果操作的是已经安装的软件包,则使用包名即可,系统会产生 RPM 包的数据库(/var/lib/rpm/),且可以在任意路径下操作。

2. RPM 包默认安装路径

二进制文件/usr/bin/usr/sbin

配置文件/etc

库文件/lib

如何在CentOS 7上进行软件安装?-图2
(图片来源网络,侵权删除)

文档/usr/share/doc

3. RPM 包安装命令

rpm ivh 包全名

选项解释

i:安装

v:显示详细信息

h:显示进度条

如何在CentOS 7上进行软件安装?-图3
(图片来源网络,侵权删除)

4. RPM 包升级命令

rpm Uvh 包全名

选项解释

U:升级

5. RPM 包卸载命令

rpm e 包名

选项解释

e:卸载

6. RPM 包查询命令

rpm qa | grep 包名

选项解释

q:查询

a:所有已安装的包

7. RPM 验证数字证书

在使用 RPM 包进行安装时,有时需要验证数字证书以确保软件包的安全性,数字证书的位置通常在/etc/pki/rpmgpg/,可以通过以下命令导入数字证书:

rpm import /path/to/certificate.asc

二、YUM 安装(RPM 包在线安装)

1. YUM 是什么

YUM(Yellowdog Updater, Modified)是一个基于 RPM 的软件包管理器,可以自动解决依赖关系,并且可以从在线软件仓库中下载和安装软件包。

2. YUM 源配置文件

YUM 的源配置文件位于/etc/yum.repos.d/ 目录下,以.repo 为后缀,可以通过编辑这些文件来配置 YUM 源,CentOS 官方源的配置文件内容如下:

[base]
name=CentOS$releasever Base
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPMGPGKEYCentOS7

3. 搭建本地光盘 YUM 源

可以通过挂载光盘并创建本地 YUM 源的方式来安装软件,步骤如下:

1、挂载光盘:

   sudo mount /dev/cdrom /mnt

2、创建本地 YUM 源:

   sudo createrepo /mnt

3、配置本地 YUM 源:

   [local]
   name=Local Repository
   baseurl=file:///mnt

4. YUM 命令

安装命令

  yum install 包名

升级命令

  yum update 包名

卸载命令

  yum remove 包名

查询命令

  yum list installed | grep 包名

清理缓存

  yum clean all

组管理命令

  yum groupinstall "Development Tools"
  yum groupremove "Development Tools"

三、源码包安装

1. 源码包特点

优点

开源,有能力可以自己修改源代码

可以自由选择所需功能;

软件是编译安装,更加稳定,效率更高;

卸载方便,直接删除目录即可。

缺点

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

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

由于是编译安装,安装过程中一旦报错新手解决较为麻烦。

2. 注意事项

确保系统中安装了必要的编译工具和库,如gccmakeautoconfautomakelibtoolpkgconfig 等。

阅读源码包中的READMEINSTALLCONFIGURE 等文件,了解具体的安装步骤和依赖项。

使用prefix 选项指定安装路径,避免覆盖系统自带的文件。

3. 安装过程示例

以下是一个安装简单 C 程序的示例:

1、编写源代码

   #include <stdio.h>
   int main (void) {
       printf("Hello, world!
");
       return 0;
   }

保存为hello.c

2、编译源代码

   gcc o hello hello.c

3、运行程序

   ./hello

输出结果应为Hello, world!

4、复杂源码包安装示例(以wget 为例):

下载源码包

     wget http://ftp.gnu.org/gnu/wget/wget1.20.1.tar.gz

解压源码包

     tar zxvf wget1.20.1.tar.gz
     cd wget1.20.1

配置、编译和安装

     ./configure prefix=/usr/local/wget
     make
     sudo make install

验证安装

     /usr/local/wget/bin/wget V

应显示wget 的版本信息。

四、常见问题解答(FAQs)

Q1: 如何离线安装软件?

A1: 离线安装软件的方法有多种,以下是两种常见的方法:

方法一:使用本地 YUM 源,将需要的 RPM 包下载到本地,然后创建一个本地 YUM 源,最后通过 YUM 安装,具体步骤如下:

1. 下载所需的 RPM 包到本地目录,如/root/rpms

2. 创建本地 YUM 源配置文件,例如/etc/yum.repos.d/local.repo

     [local]
     name=Local Repository
     baseurl=file:///root/rpms

3. 使用 YUM 安装本地软件包:

     yum disablerepo="*" enablerepo="local" install 包名

方法二:手动解决依赖关系并安装,适用于没有网络连接的情况,步骤如下:

1. 下载所有必要的 RPM 包及其依赖包到本地。

2. 使用rpm ivh nodeps 命令安装每个 RPM 包,并记录未解决的依赖。

3. 根据未解决的依赖重复步骤 2,直到所有依赖都得到满足。

Q2: 如果遇到“依赖关系问题”怎么办?

A2: “依赖关系问题”通常是因为缺少某些必要的库或软件包,解决方法如下:

使用 YUM 自动解决依赖:YUM 可以自动下载并安装缺失的依赖包,安装vim 时,如果缺少依赖,可以运行:

  yum install vim

手动安装缺失的依赖:如果知道缺少哪些依赖,可以手动下载并安装,如果缺少libX11devel,可以运行:

  yum install libX11devel

检查 YUM 源配置:确保 YUM 源配置文件正确无误,并且能够访问,如果使用的是第三方 YUM 源,可以尝试更换为官方源或其他可靠的源,编辑/etc/yum.repos.d/CentOSBase.repo,将mirrorlist 改为具体的镜像地址:

  [base]
  name=CentOS$releasever Base
  mirrorlist=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
  gpgcheck=1
  gpgkey=http://mirrors.aliyun.com/centos/RPMGPGKEYCentOS7
分享:
扫描分享到社交APP
上一篇
下一篇