云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】

云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】

目录

1.RPM包的一般安装位置

2.软件名和软件包名

软件名:firefox

软件包名:firefox-91.9.0-1.el8_5.x86_64.rpm

3.查询软件信息


css 复制代码
[root@localhost /]# rpm  -qa    #当前系统中所有已安装的软件包
[root@localhost /]# rpm  -q   firefox    #查看firefox是否安装
[root@localhost /]# rpm  -q   httpd     #httpd构建Web服务器软件  
未安装软件包 httpd            
[root@localhost /]# rpm  -q   bash         
[root@localhost /]# rpm  -qa  |   grep   firefox
[root@localhost /]# rpm  -qa  |    wc   -l

查询软件信息(参数是软件名)

css 复制代码
[root@localhost /]# rpm  -qi   firefox       #查询软件信息
[root@localhost /]# rpm  -ql   firefox   #查询软件安装了哪些内容(安装清单)
[root@localhost /]# rpm  -ql    firefox   |   less      
                
[root@localhost /]# rpm  -qi   bash       #查询软件信息
[root@localhost /]# rpm  -ql   bash   #查询软件安装了哪些内容(安装清单)
[root@localhost /]# rpm  -ql    bash   |   less      

查询某个目录/文件是哪个RPM包带来的

格式:rpm -qf [文件路径]...

即使目标文件被删除,也可以查询

css 复制代码
[root@localhost ~]# which  vim  #查询命令对应的程序文件
/usr/bin/vim                
[root@localhost ~]# rpm  -qf   /usr/bin/vim
vim-enhanced-8.0.1763-16.el8_5.13.x86_64
[root@localhost ~]# rpm  -q   vim-enhanced
vim-enhanced-8.0.1763-16.el8_5.13.x86_64
[root@localhost ~]# rpm  -qf   /usr/sbin/poweroff
[root@localhost ~]# rpm  -qf   /usr/sbin/ifconfig

4.查询软件包

查询软件包(参数软件包名)

css 复制代码
]# rpm  -q   vsftpd     #查询vsftpd软件是否安装
]# ls  /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm 

查询软件包的安装清单:

css 复制代码
]# rpm -qpl  /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm

查询软件包信息

css 复制代码
]# rpm -qpi  /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm

5.导入红帽签名信息,解决查询软件包信息报错

导入红帽签名信息

css 复制代码
]# rpm  --import   /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial

查询软件包信息(没有警告输出)

css 复制代码
]# rpm -qpi  /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm

6.利用rpm安装软件

css 复制代码
]# rpm  -q  vsftpd     
]# rpm -ivh  /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
]# rpm  -q  vsftpd    #查看是否安装成功

]# rpm  -evh  vsftpd   #卸载软件
]# rpm  -q  vsftpd      #查看是否卸载成功


7.引入Yum


Yum软件:自动解决依赖关系,安装软件

yum命令:主要用于安装与卸载

rpm命令:主要用于查询

软件仓库:1.众多的软件包 2.仓库清单(仓库数据文件)

本地Yum仓库:由本机直接提供软件仓库

css 复制代码
]# mkdir  /etc/yum.repos.d/bak
]# mv  /etc/yum.repos.d/*.repo   /etc/yum.repos.d/bak
]# ls  /etc/yum.repos.d/
css 复制代码
]# vim     /etc/yum.repos.d/haha.repo  
css 复制代码
[haha]             #仓库的标识
name=xixi         #仓库描述信息,可以省略
baseurl=file:///mnt/AppStream   #指定仓库位置file://表示本地为服务端
enabled=1         #仓库是否启用,1表示启用,可以省略
gpgcheck=0       #是否检测软件包红帽签名信息,不检测红帽签名信息
[xixi]              #仓库的标识
name=xixi         #仓库描述信息,可以省略
baseurl=file:///mnt/BaseOS   #指定仓库位置file://表示本地为服务端
enabled=1         #仓库是否启用,1表示启用,可以省略
gpgcheck=0       #是否检测软件包红帽签名信息,不检测红帽签名信息
css 复制代码
]# yum  repoinfo   #列出当前系统识别的软件仓库
css 复制代码
]# yum  -y  install  httpd    #测试安装软件

总结:本地Yum仓库排除错误

1.没有挂载光驱设备

2./etc/yum.repos.d目录下的仓库配置文件内容写错

3./etc/yum.repos.d目录下,错误的配置文件影响

Yum仓库使用:

安装软件

css 复制代码
[root@localhost ~]# yum   -y   install  httpd
[root@localhost ~]# rpm   -q   httpd  #检测是否安装成功

[root@localhost ~]# yum   -y   install   bind-chroot
[root@localhost ~]# rpm   -q   bind-chroot

[root@localhost ~]# yum   -y   install   sssd
[root@localhost ~]# rpm   -q   sssd

[root@localhost ~]# yum   -y   install   gcc
[root@localhost ~]# rpm   -q    gcc

卸载软件(建议不要使用-y选项)

css 复制代码
[root@localhost ~]# yum   remove   gcc
[root@localhost ~]# yum   remove   httpd
[root@localhost ~]# rpm  -q  gcc
[root@localhost ~]# rpm  -q  httpd

Yum仓库的查询

css 复制代码
]# yum list  ftp  #查询仓库是否有ftp软件
可安装的软件包        #表示当前系统没有安装该软件
]# yum  list  httpd
css 复制代码
]# yum  search  ftp   #包含ftp就匹配
css 复制代码
]# yum  provides   /usr/bin/hostname 
]# yum  provides  /etc/passwd   #仓库中那个软件包产生该文件
]# yum  provides   guestmount   #查询仓库中那个软件产生该程序   
]# yum  -y  install  libguestfs-tools-c
]# guestmount   --help    #查看帮助信息
css 复制代码
]# rm   -rf  /usr/bin/hostname
]# ls    /usr/bin/hostname
ls: 无法访问/usr/bin/hostname: 没有那个文件或目录
]# yum  provides  /usr/bin/hostname  #查询仓库中那个软件,产生了此程序

]# yum   -y    reinstall   hostname  #覆盖安装
]# ls   /usr/bin/hostname
/usr/bin/hostname

清空缓存(了解)

执行流程:

yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt/AppStream

css 复制代码
[root@localhost ~]# yum  clean   all  #清空Yum的缓存

root@localhost \~\]# yum repoinfo #列出仓库信息 \[root@localhost \~\]# yum repoinfo #列出仓库信息 Yum如何判断仓库不一样,根据中括号\[\]写的名字不一样 ### 8.history历史命令 历史命令 管理/调用曾经执行过的命令 `history`:查看历史命令列表 `history -c`:清空历史命令,打开一个新的终端后还有 `history -w`:记录历史命令为空的状态,将历史命令写入硬盘,写在history -c后面,打开新的终端后没有了 !n:执行命令历史中的第n条命令 !str:执行最近一次以str开头的历史命令 ```css [root@svr7 ~]# vim /etc/profile HISTSIZE=1000 #默认记录1000条 ``` ```css [root@localhost ~]# history #显示历史命令列表 [root@localhost ~]# history -c #清空历史命令 [root@localhost ~]# history -w #记住历史命令为空 [root@localhost ~]# history [root@localhost ~]# cat /etc/redhat-release [root@localhost ~]# ls /root [root@localhost ~]# history [root@localhost ~]# !cat #指定最近一条以cat开头的历史命令 [root@localhost ~]# !ls #指定最近一条以ls开头的历史命令 ``` ### 9.date查看/调整系统日期时间 date,查看/调整系统日期时间 ```css [root@localhost /]# date [root@localhost /]# date -s "2008-9-6 11:17:11" #修改系统时间 [root@localhost /]# date [root@localhost /]# date -s "2024-09-03 16:46:11" [root@localhost /]# date ``` date单独显示时间 ```css [root@localhost ~]# date +%Y #显示年 [root@localhost ~]# date +%m #显示月 [root@localhost ~]# date +%d #显示日期 [root@localhost ~]# date +%H #显示时 [root@localhost ~]# date +%M #显示分 [root@localhost ~]# date +%S #显示秒 ``` ```css [root@localhost ~]# date +%F #显示年-月-日 [root@localhost ~]# date +%T #显示时:分:秒 ``` ### 10.du 统计目录占用硬盘的空间 du,统计目录占用硬盘的空间 -s:只统计每个参数所占用的总空间大小 -h:提供易读容量单位(K、M等) ```css [root@localhost ~]# du -sh /root [root@localhost ~]# du -sh /etc [root@localhost ~]# du -sh /boot [root@localhost ~]# du -sh / ``` ### 11.zip归档工具,跨平台(Windows与Linux) 归档+压缩操作: zip \[-r\] 备份文件.zip 被归档的文档... \[-r\]:被归档的数据有目录,必须加上此选项 ```css [root@localhost /]# zip -r /opt/abc.zip /etc/passwd /home [root@localhost /]# ls /opt/ ``` 释放归档+解压操作: unzip 备份文件.zip \[-d 目标文件夹

css 复制代码
[root@localhost /]# unzip  -l   /opt/abc.zip   #查看压缩包的内容
[root@localhost /]# mkdir   /nsd20
[root@localhost /]# unzip       /opt/abc.zip       -d    /nsd20
[root@localhost /]# ls   /nsd20
[root@localhost /]# ls   /nsd20/etc
[root@localhost /]# ls   /nsd20/home 

12.链接ln

12.1 软链接

制作快捷方式(链接文件 符号链接)

格式:

ln -s /路径/源数据 /路径/快捷方式名字 #软链接

css 复制代码
[root@localhost /]# ls    /etc/hosts
[root@localhost /]# ln  -s  /etc/hosts    /hs
[root@localhost /]# ls    /
[root@localhost /]# ls   -l    /hs

删除目录的快捷方式,不能以/结尾,若以/结尾则删除的是源目录内容

css 复制代码
[root@localhost /]# ls   /opt 
[root@localhost /]# ln -s  /opt   /haxi
[root@localhost /]# ls    -l   /haxi       #查看快捷方式详细属性
[root@localhost /]# ls   -l    /haxi/      #查看源目录内容详细数据

12.2 硬链接

格式:

ln /路径/源数据 /路径/快捷方式名字 #硬链接

硬链接:源数据消失,快捷方式仍然有效

css 复制代码
[root@A ~]# rm  -rf   /opt/*      
[root@A ~]# echo  123   >   /opt/A.txt
[root@A ~]# ln  -s  /opt/A.txt  /opt/B.txt  #软链接
[root@A ~]# ls   /opt/
[root@A ~]# ln   /opt/A.txt  /opt/C.txt   #硬链接
[root@A ~]# ls    /opt/
[root@A ~]# cat    /opt/B.txt  
[root@A ~]# cat    /opt/C.txt 
[root@A ~]# ls  -i   /opt   #查看硬盘存储i节点编号
[root@A ~]# rm  -rf   /opt/A.txt 
[root@A ~]# ls   /opt/

12.3 软链接和硬链接的区别

软链接和硬链接的区别原理图
软链接优势:可以针对目录与文件制作快捷方式,支持跨分区

软链接缺点:源数据消失,快捷方式失效

硬链接优势:源数据消失,快捷方式仍然有效

硬链接缺点:只能针对文件制作快捷方式,不支持跨分区

13.获取命令帮助

方式一:命令 --help

css 复制代码
[root@localhost ~]# cat  --help
[root@localhost ~]# yum  --help

方式二:man 命令

css 复制代码
[root@localhost ~]# man   cat       #按q退出
[root@localhost ~]# man   passwd #显示passwd命令帮助
[root@localhost ~]# man  5  passwd
数字5表示帮助的类型,表示配置文件类型

14.课后案例

11 案例:RPM软件的安装和卸载

11.1 问题

找出vim、vi是由哪两个包产生的

删除vim、vi命令程序

修复vim、vi

安装bind-chroot包,体验Linux依赖关系

11.2 方案

本题的思路是,首相通过which命令查找到vim、vi命令可执行程序所在位置,在通过"rpm --qf 文件绝对路径"命令查看该可执行程序,是由那个包产生的。删除该可执行程序后,再将软件包安装重新产生即可。但在安装时需注意,系统会提示改程序已经安装,需加上"--force"选项强制安装。

11.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:找出vim、vi是由那两个包产生的

命令操作如下所示:

css 复制代码
[root@localhost ~]# which vi  vim
/usr/bin/vi
/usr/bin/vim 
[root@localhost ~]# rpm -qf /usr/bin/vi
vim-minimal-8.0.1763-16.el8_5.13.x86_64
[root@localhost ~]# rpm -qf /usr/bin/vim
vim-enhanced-8.0.1763-16.el8_5.13.x86_64

步骤二:删除vim、vi命令程序

命令操作如下所示:

css 复制代码
[root@localhost ~]# rm -rf /usr/bin/vi /usr/bin/vim
[root@localhost ~]#

步骤三:修复vim、vi

首先将光盘设备手动挂载到/media目录,进行修复操作。

命令操作如下所示:

css 复制代码
[root@localhost ~]# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# rpm -ivh --force /media/BaseOS/Packages/v/vim-minimal-8.0.1763-16.el8_5.13.x86_64.rpm
 [root@localhost ~]# rpm -ivh --force /media/AppStream/Packages/v/vim-enhanced-8.0.1763-16.el8_5.13.x86_64.rpm
......
 [root@localhost ~]#

步骤四:安装bind-chroot包,体验Linux依赖关系

命令操作如下所示:

css 复制代码
[root@localhost ~]# cd  /media/AppStream/Packages/b
[root@svr5 Packages]# rpm  -ivh  bind-chroot-9.11.36-3.el8.x86_64.rpm
error: Failed dependencies:
......
 [root@svr5 Packages]# rpm  -ivh  bind-9.11.36-3.el8.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:bind                   ########################################### [100%]
[root@svr5 Packages]# rpm  -ivh bind-chroot-9.11.36-3.el8.x86_64.rpm
Preparing...                ########################################### [100%]
   1:bind-chroot            ########################################### [100%]

12 案例:配置Yum仓库及客户端及验证

12.1 问题

将光盘挂载到/dvd,搭建本地Yum

将本机设置为客户端,进行Yum验证

查询Yum库中是否有firefox包

使用yum命令安装bind包

利用Yum安装bind

利用Yum卸载bind

利用yum search查询与httpd相关的包

利用yum info查询firefox包描述信息

12.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:搭建一个本地Yum,将光盘手动挂载到/dvd

命令操作如下所示:

css 复制代码
[root@localhost ~]# mkdir /dvd
[root@localhost ~]# ls /dvd
[root@localhost ~]# mount /dev/cdrom /dvd/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /dvd/

步骤二:将本地设置为客户端,进行Yum验证

Yum客户端需编辑配置文件,命令操作如下所示:

css 复制代码
[root@localhost ~]# ls /etc/yum.repos.d/
[root@localhost ~]# mkdir /etc/yum.repos.d/repo
[root@localhost ~]# mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/repo 
[root@localhost ~]# ls /etc/yum.repos.d/
css 复制代码
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo
css 复制代码
[App] #仓库标识,可以任意
name=App        #仓库的描述信息,可以任意
baseurl=file:///dvd/AppStream            #指定服务端位置,file://代表本地为服务端
enabled=1                     #是否启用本文件
gpgcheck=0                     #是否检测红帽签名信息
[Base] #仓库标识,可以任意
name=Base        #仓库的描述信息,可以任意
baseurl=file:///dvd/BaseOS             #指定服务端位置,file://代表本地为服务端
enabled=1                     #是否启用本文件
gpgcheck=0                     #是否检测红帽签名信息
[root@localhost ~]# yum repoinfo -v        #列出仓库信息
[root@localhost ~]# yum repoinfo            #列出仓库信息

步骤三:查询yum库中是否有firefox包

命令操作如下所示:

css 复制代码
[root@localhost /]# yum list | grep firefox

步骤四:利用yum安装bind包

命令操作如下所示:

css 复制代码
[root@localhost /]# yum -y install bind

......

步骤二:利用Yum卸载bind

命令操作如下所示:

css 复制代码
[root@localhost /]# yum -y remove bind

......

步骤四:利用yum search查询与httpd相关的包

命令操作如下所示:

css 复制代码
[root@localhost /]# yum search httpd

......

步骤四:利用yum info查询firefox包描述信息

命令操作如下所示:

css 复制代码
[root@localhost /]# yum info firefox

......

相关推荐
maosheng11465 小时前
RHCSA的第一次作业
linux·运维·服务器
wifi chicken6 小时前
Linux 端口扫描及拓展
linux·端口扫描·网络攻击
旺仔.2916 小时前
Linux 信号详解
linux·运维·网络
放飞梦想C6 小时前
CPU Cache
linux·cache
Hoshino.417 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
AI周红伟7 小时前
周红伟:《OpenClaw安全防控:OpenClaw++Skills智能体安全部署、实操和企业应用实操》
人工智能·阿里云·云计算·腾讯云·openclaw
恒创科技HK7 小时前
通用型云服务器与计算型云服务器:您真正需要哪些配置?
运维·服务器
吴佳浩 Alben8 小时前
GPU 生产环境实践:硬件拓扑、显存管理与完整运维体系
运维·人工智能·pytorch·语言模型·transformer·vllm
播播资源9 小时前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos
源远流长jerry9 小时前
在 Ubuntu 22.04 上配置 Soft-RoCE 并运行 RDMA 测试程序
linux·服务器·网络·tcp/ip·ubuntu·架构·ip