RPM的使用

RPM (RedHat Package Manager),RedHat软件包管理工具,类似于Windows中的setup.exe,是Linux操作系统中的打包安装工具。虽然它是RedHat的标志,但理念是通用的。

RPM包的名称格式

以Apache-1.3.23-11.i386.rpm为例:

  • "apache" 软件名称
  • "1.3.23-11" 软件版本号,主版本和次版本
  • "i386" 是软件所运行的硬件平台,Intel 32位微处理器的统称
  • "rpm" 文件扩展名,代表RPM包

RPM查询命令

  • 基础语法:
    • rpm -qa (功能描述:查询所安装的所有rpm软件包)
    • rpm -ql 服务名 (功能描述:查看安装位置)
    • rpm -qa | grep firefox 命令来查找已安装的Firefox软件包

RPM卸载Firefox软件

bash 复制代码
[root@hadoop101 Packages]# rpm -e firefox

这条命令会从系统中卸载名为"firefox"的软件包。如果需要不检查依赖关系地卸载,可以使用以下命令:

bash 复制代码
[root@hadoop101 Packages]# rpm -e --nodeps firefox

这将强制卸载Firefox软件包,即使它有未解决的依赖关系。

  1. 使用pwd命令确认当前工作目录为包含待安装软件包的路径。
  2. 执行rpm -ivh命令来安装一个名为firefox-45.0.1.e16.centos.x86_64.rpm的软件包,并且通过加上-v选项显示详细信息,同时用-h选项显示进度条。

此外,还提供了一些有关RPM命令行参数的信息,
-i用于安装,
-v用于增加输出的详细程度,
-h则用来显示安装过程中的进度指示符。

CentOS系统中离线安装 RPM 包

  1. 挂载镜像命令

    bash 复制代码
    mount -t iso9660 /dev/cdrom /media/centos7
    • -t iso9660:指定文件系统类型为 iso9660,这是光盘镜像的标准格式。
    • /dev/cdrom:表示要挂载的设备(光驱)。
    • /media/centos7:目标挂载点目录。

创建挂载点目录

bash 复制代码
mkdir /media/centos7

这条命令创建了 /media/centos7 目录,以便将镜像挂载到此目录中。

重新挂载

bash 复制代码
mount -t iso9660 /dev/cdrom /media/centos7

成功挂载后,可以在 /media/centos7 中访问光盘内容。系统可能会提示光驱为只读模式,因此以只读方式挂载。

进入 /media/centos7 目录,可以查看光盘的文件内容。

进入 Packages 目录

bash 复制代码
cd Packages

进入 Packages 目录,这是存放软件包的目录。

  1. 下载 RPM 包

    首先在可以联网的电脑上下载所需的 RPM 包(例如 Firefox)。下载后,将 RPM 包文件通过 USB 或其他方式传输到目标机器上。

  2. 在目标机器上查找 RPM 包

    使用 ll | grep <包名> 来查找下载的 RPM 包是否存在。例如:

    bash 复制代码
    ll | grep firefox

    这条命令会列出当前目录中与 Firefox 相关的文件,以确保安装文件已传输成功。

  3. 使用 rpm 命令安装 RPM 包

    使用 rpm -ivh <包名> 来安装软件包,其中:

    • -i 表示安装。
    • -v 表示详细输出。
    • -h 表示显示安装进度(使用 # 显示进度条)。

    例如:

    bash 复制代码
    rpm -ivh firefox-68.10.0-1.el7.centos.x86_64.rpm

    这条命令会开始安装 Firefox 软件包,安装过程会显示进度条。

  4. 确认安装结果

    安装完成后,可以使用 rpm -q <包名>firefox --version 来确认安装是否成功。例如:

    bash 复制代码
    rpm -q firefox

    如果安装成功,会显示该包的版本信息。

注意事项

  • 如果安装过程中遇到依赖性问题,可能需要下载并安装依赖包。
  • 确保使用与系统架构兼容的 RPM 包(如 x86_64 表示 64 位架构)。
相关推荐
keep__go1 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell
矛取矛求1 小时前
Linux中给普通账户一次性提权
linux·运维·服务器
Fanstay9851 小时前
在Linux中使用Nginx和Docker进行项目部署
linux·nginx·docker
大熊程序猿1 小时前
ubuntu 安装kafka-eagle
linux·ubuntu·kafka
daizikui3 小时前
Linux文件目录命令
linux·运维·服务器
NikitaC3 小时前
ldconfig 和 LD_LIBRARY_PATH 区别
linux·c++
清源妙木真菌3 小时前
Linux:进程概念
linux
许嵩664 小时前
IC 脚本之VIM 记录
linux·编辑器·vim
花生的酱5 小时前
Shell编程之正则表达式与文本处理器
linux·运维·正则表达式