前言
接Linux基础复习二
一、常用命令及其解释
Tab补全
在上一篇文章配置了IP然后通过远程SSH连接软件控制主机,在配置过程中会发现有些命令过于长,那么,Tab键补全就可以很好的帮助我们去快速的敲出命令,同时如果有些命令有遗忘,使用Tab补全也可以帮助我们提高正确率。
在Linux系统中,图形化安装会自动安装相应软件包,而在最小化安装时则会默认不安装,那么我们就需要自己去安装包,而在CentOS系统中,我们需要安装软件是通过YUM来安装的,而想要使用YUM安装则需要搭建YUM仓库
YUM仓库的搭建
在CentOS系统中想要搭建YUM需要两个重要东西,一个是YUM仓库的repo文件,在/etc/yum.repos.d/下,一个则是软件仓库的位置,而软件仓库又分为本地仓库和远程仓库,但是软件仓库都必须有软件包和软件清单。软件包是指RPM包,将多个RPM包放在一起就是一个软件仓库,软件清单是记录软件仓库所有软件包信息和位置的清单,通过清单才能快速找到需要安装的软件包和查看软件包信息。
本地yum仓库的搭建
本地yum仓库有多种软件来源,例如通过镜像文件内置的仓库或者使用外置USB或驱动硬盘挂载仓库。
1、挂载镜像仓库
打开虚拟机详细,选择CDROM,点击虚拟磁盘的浏览
2、选择对应镜像,点击选择卷
3、确认已经加载,点击应用
4、创建一个文件夹或者使用/mnt来挂载镜像,这里直接使用/mnt
挂载镜像也有多种方式
(1)首先就是临时挂载,临时挂载就是重启后会自动失效的方式
临时挂载直接使用mount /硬件地址 /挂载目录
eg: mount /dev/cdrom /mnt
(2)其次就是开机自挂载,开机自挂载会在开机启动时根据文件配置自动去寻找挂载硬件和目录然后挂载,这样就相当与永久挂载。
开机自挂载需要编写/etc/fstab文件 按照
/设备名 /挂载目录 文件系统类型 挂载选项 dump备份设置 文件系统检查顺序
来编写自挂载文件
使用mount -a 来检验文件编写格式是否有错,需要注意的是如果编写有误,重启系统会失败,需要去恢复模式修改配置。
使用df -h 查看是否挂载上,也可以使用mount | grep /挂载路径来查询详细信息
(3)使用udv
udev的主要目的是对外设检测和热插拔采取行动,这里不做过多赘述
(4)使用systemd挂载单元
systemd是Linux系统的初始化系统,也可以用于自动挂载。
需要编写一个systemd单元文件,然后设置一个开机自启,同上一个一样,不过多赘述。
(5)使用autofs
autofs是一个自动挂载的守护进程,它可以根据需要自动挂载和卸载文件系统。autofs通常用于按需挂载网络文件系统或远程目录。同上上一个一样,不过多赘述。
编写repo文件
查看挂载目录/mnt
其中的AppStream和BaseOS是软件仓库
编写/etc/yum.repos.d/local.repo文件,注意repo文件必须以.repo结尾,否则无法识别,同时yum.repos.d目录下的所有repo文件必须可以使用,否则无法正常使用yum
删除原有网络yum的repo文件
编写local.repo文件
这里[app]和[base]是仓库的标识符,是不能重复的
name是对于软件仓库的描述,我这里直接用标识代替
baseurl是仓库的地址,本地搭建为本地的文件路径
gpgcheck是是否检查证书,如果需要则为1,不需要为0
enabled为是否启用yum仓库,为1启动,为0不启动
使用yum repoinfo查看仓库信息,如果没有报错且显示各仓库信息,则为搭建成功,可以下载软件测试。
## 下载Tab补全需要的软件bash-completion
编辑bash设置文件bashrc,bashrc分为本地和全局两个文件,本地文件~/.bashrc只对当前用户生效,而全局/etc/bashrc则对所有用户生效
配置后输入source /etc/bashrc 或source ~/.bashrc来生效配置
可以看出已经生效,也可以不编写直接重启,一样的效果
YUM和RPM相关
RPM
RPM是Red Hat Package Manager的缩写,是Linux系统中用于安装、升级、卸载和查询软件包的工具。但是rpm无法解决安装软件依赖问题,当一个软件需要依赖其他软件时,使用rpm无法安装成功。
相关命令有:
安装软件包 rpm -ivh package_file.rpm 其中,-i 表示安装,-v 表示显示详细过程,-h 表示显示安装进度。
升级软件包 rpm -Uvh package_file.rpm
卸载软件包 rpm -e package_name 其中,-e 表示卸载。
查询已安装的软件包 rpm -qa 其中 -q表示查询,-a表示所有已安装的
查询特定软件包是否已安装 rpm -q package_name
查询软件包信息 rpm -qi package_name 其中 -i 表示信息
验证软件包 rpm -V package_name 验证已安装的软件包是否完整。
由于RPM的缺陷,所以现在rpm多用于查询软件包是否安装和安装信息等,安装卸载软件不使用rpm命令
YUM
YUM是一个基于RPM的包管理器,它提供了更高级的功能,如自动解决软件包之间的依赖关系。
相关命令 :
1、安装软件包 yum -y install package_name 其中,-y表示强制安装,不会询问是否安装,该命令会从配置的软件仓库中自动下载并安装指定的软件包及其依赖项。
2、升级软件包 :
升级所有已安装的软件包(包括内核)yum update
只升级所有已安装的软件包,但不包括内核 yum upgrade
升级特定软件包 yum update package_name
3、卸载软件包 yum -y remove package_name
4、查询软件包:
查询已安装的软件包 yum list installed
查询软件包是否已安装 yum list installed | grep package_name
查询软件包信息 yum info package_name
5、搜索软件包 yum search keyword 搜索包含指定关键字的软件包。
6、清除缓存 :
清除所有缓存 yum clean all
清除已下载的软件包 yum clean packages
清除缓存的headers yum clean headers
7、下载软件包而不安装 yum install --downloadonly --downloaddir=/path/to/directory package_name 将指定的软件包下载到指定目录,但不进行安装。
除此之外,还有很多比如说本地安装,忽略依赖安装等就不赘述。