centos8服务器rpm包管理和光盘管理

尊敬的读者朋友,本文是《CentOS8服务器进阶》系列的第十五篇,往期文章主要分享了Linux的入门使用、密码破解和网络管理、文件管理等知识。本系列文章将帮助你由浅入深的理解Linux系统,更多内容分享请点击往期好文

centos8服务器rpm包管理和光盘管理_第1张图片
文/学者学者

01 本文主题

本文主要分享的是rpm包管理和光盘管理等知识,彻底根治【-bash: laof: command not found】这种命令找不到的问题。学完本文你可以获得以下问题的答案:


centos8服务器rpm包管理和光盘管理_第2张图片
文/学者学者

实验环境

  • Windows10电脑
  • Vmware虚拟机
  • cmder软件
  • CentOS8服务器

02 什么是rpm包,有什么使用场景?

实际使用Linux的过程中,查看端口号对应的进程ID这个使用场景非常普遍,可以通过命令【lsof -i:端口号】命令查看进程ID,但是结果往往不尽人意,新安装的Linux系统大概率提示你命令找不到。

[root@test Packages]# laof -i:8086
-bash: laof: command not found

为什么会出现这种情况呢?细心观察的朋友应该知道,在Linux系统中很多命令是要安装软件才可以使用的,比如要使用lsof命令就需要安装相关的软件。这些软件不需要我们去下载,Linux 系统为我们提供了非常多的安装包,这些包就是我们今天的主角,rpm包。

RPM全称RedHat Package Manager,由RedHat公司最先设计出来,rpm包由已经编译好的软件程序经过rpm打包机制打包而成,目前已经发展为行业的公认标准。


03 如何挂载光盘?

安装rpm包就需要牵涉到光盘挂载问题。这里,两个问题需要说明:什么是光盘?挂载是什么操作?

大家都知道,安装Linux系统时候需要一个iso镜像文件,可以理解为光盘,我们需要的rpm包就在这个镜像文件里;但是直接去查看光盘文件是读取不到内容的,想看到光盘里面的 内容,需要我们使用Linux提供的命令将光盘里的内容读取出来放在一个特定目录,这就是所说的光盘挂载。

  • 远程连接Linux服务器:打开远程连接工具:【cmder】,使用远程密钥登录Linux服务器,密钥登录详情

  • 挂载光盘:【mount /dev/cdrom 指定目录】命令可以将光盘挂载到指定目录,【df -Th】命令可查看光盘类型以及光盘信息

[root@test ~]# mount /dev/cdrom /media   //挂载光盘
mount: /media: WARNING: device write-protected, mounted read-only.  //光盘是只读的

[root@test ~]# df -Th  //查看光盘挂载情况
Filesystem          Type      Size  Used Avail Use% Mounted on
devtmpfs            devtmpfs  384M     0  384M   0% /dev
tmpfs               tmpfs     400M     0  400M   0% /dev/shm
tmpfs               tmpfs     400M  5.6M  394M   2% /run
tmpfs               tmpfs     400M     0  400M   0% /sys/fs/cgroup
/dev/mapper/cl-root xfs        17G  2.4G   15G  14% /
/dev/sda1           ext4      976M  130M  780M  15% /boot
tmpfs               tmpfs      80M     0   80M   0% /run/user/0
/dev/sr0            iso9660   6.7G  6.7G     0 100% /media    //光盘在这,类型是iso9660国际标准的
  • 卸载光盘:【umount 光盘挂载点】命令可将已经挂载的光盘卸载,如果提示【target is busy】则使用fuser命令查看哪个进程占用了光盘资源,关闭进程即可正常卸载
[root@test media]# umount /media
umount: /media: target is busy.  //因为光盘挂载中,占用了进程

[root@test media]# fuser -mv /media     /fuser命令查看哪个进程在使用挂载的资源
                     USER        PID ACCESS COMMAND
/media:              root     kernel mount /media
                     root       1180 ..c.. bash

[root@test media]# fuser -kv /media  //关闭进程
[root@test ~]# umount /media   //再次卸载即可
  • 开机自动挂载光盘:目前挂载的光盘在关机时会自动卸载,开机后由需要重新挂载,修改配置文件可以让Linux开机自动挂
[root@test ~]# vi /etc/fstab   //编辑配置文件,在最后一行添加一下语句
//光盘源                   //挂载的目的地     //光盘类型
/dev/cdrom              /media                  iso9660 defaults        0 0


04 rpm包的安装、卸载和查看

  • 安装rpm包:【rpm -ivh rpm包名称】命令可以安装对应的rpm包
[root@test Packages]# cd /media/BaseOS/Packages/;ls   //切换到存放rpm包的目录下
[root@test Packages]# ls | grep lsof   //查看和lsof相关 的包
lsof-4.91-2.el8.x86_64.rpm    //检索到一个
[root@test Packages]# rpm -ivh lsof-4.91-2.el8.x86_64.rpm   //安装
Verifying...                          ############ [100%]
Preparing...                        ############ [100%]
Updating / installing...
   1:lsof-4.91-2.el8              ########### [100%]
  • 查看已经安装的rpm包:【rpm -qa | grep rpm包名称】命令可以检索rpm包是否安装
[root@test Packages]# rpm -qa |grep lsof   //检索是否安装rpm包
lsof-4.91-2.el8.x86_64    //检索到一个
  • 卸载rpm包:【rpm -e xxx包】命令可以卸载rpm包
[root@test Packages]# rpm -e lsof-4.91   //卸载命令
[root@test Packages]# lsof -i:88
-bash: lsof: command not found   //命令找不到,说明卸载成功
  • 查看命令属于哪个包:在安装了rpm包的前提下,可以用【which】命令配合【rpm -qf 命令位置】查看可执行文件来自于哪个rpm包。如果没有安装rpm包,则可执行文件是找不到的。
[root@test Packages]# which lsof   //定位可执行文件在哪
/usr/bin/lsof
[root@test Packages]# rpm -qf /usr/bin/lsof    //查看该文件属于哪个包
lsof-4.91-2.el8.x86_64


05 总结

今天的博文主要分享了如何安装rpm包、如何挂载光盘、如何设置开机自动挂载以及每一个步骤的实际使用场景,可以总结如下:

  • 为什么要挂载光盘:因为需要使用光盘里面的rpm包

  • 如何挂载光盘: mount命令

  • 如何卸载光盘 :umount

  • 卸载光盘失败:fuser命令查看并关闭占用资源的进程再卸载光盘

  • rpm包安装:rpm -ivh xxx

  • rpm包查看:rpm -qa | grep xxx

  • rpm包卸载:rpm -e xxx

  • 查看可执行文件归属于哪个包:which命令配合rpm -qf xxx命令



一如既往,期待您的真知灼见…,CentOS8系列文章以及面试大厂必备编程资料将为大家持续更新。

centos8服务器rpm包管理和光盘管理_第3张图片
文/学者学者

你可能感兴趣的:(centos8服务器rpm包管理和光盘管理)