云计算 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

......

相关推荐
Juicedata1 小时前
JuiceFS v1.3-Beta2:集成 Apache Ranger,实现更精细化的权限控制
运维·人工智能·ai
IT成长日记1 小时前
05【Linux经典命令】Linux 用户管理全面指南:从基础到高级操作
linux·运维·服务器·用户管理·命令
资讯第一线5 小时前
Windows系统工具:WinToolsPlus 之 SQL Server Suspect/质疑/置疑/可疑/单用户等 修复
运维
惊起白鸽4505 小时前
LVS负载均衡
运维·负载均衡·lvs
Sapphire~7 小时前
Linux-07 ubuntu 的 chrome 启动不了
linux·chrome·ubuntu
伤不起bb7 小时前
NoSQL 之 Redis 配置与优化
linux·运维·数据库·redis·nosql
广东数字化转型7 小时前
nginx怎么使用nginx-rtmp-module模块实现直播间功能
linux·运维·nginx
love530love7 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
啵啵学习7 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
半桔8 小时前
【Linux手册】冯诺依曼体系结构
linux·缓存·职场和发展·系统架构