云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】
目录
- 云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】
- 1.RPM包的一般安装位置
- 2.软件名和软件包名
- 3.查询软件信息
- 4.查询软件包
- 5.导入红帽签名信息,解决查询软件包信息报错
- 6.利用rpm安装软件
- 7.引入Yum
- 8.history历史命令
- 9.date查看/调整系统日期时间
- 10.du 统计目录占用硬盘的空间
- 11.zip归档工具,跨平台(Windows与Linux)
- 12.链接ln
- 12.1 软链接
- 12.2 硬链接
- 12.3 软链接和硬链接的区别
- 13.获取命令帮助
- 14.课后案例
1.RPM包的一般安装位置
2.软件名和软件包名
软件名:firefox
软件包名:firefox-91.9.0-1.el8_5.x86_64.rpm
3.查询软件信息
[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
查询软件信息(参数是软件名)
[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 [文件路径]…
即使目标文件被删除,也可以查询
[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.查询软件包
查询软件包(参数软件包名)
]# rpm -q vsftpd #查询vsftpd软件是否安装
]# ls /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
查询软件包的安装清单:
]# rpm -qpl /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
查询软件包信息
]# rpm -qpi /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
5.导入红帽签名信息,解决查询软件包信息报错
导入红帽签名信息
]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
查询软件包信息(没有警告输出)
]# rpm -qpi /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
6.利用rpm安装软件
]# 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仓库:由本机直接提供软件仓库
]# mkdir /etc/yum.repos.d/bak
]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
]# ls /etc/yum.repos.d/
]# vim /etc/yum.repos.d/haha.repo
[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 #是否检测软件包红帽签名信息,不检测红帽签名信息
]# yum repoinfo #列出当前系统识别的软件仓库
]# yum -y install httpd #测试安装软件
总结:本地Yum仓库排除错误
1.没有挂载光驱设备
2./etc/yum.repos.d目录下的仓库配置文件内容写错
3./etc/yum.repos.d目录下,错误的配置文件影响
Yum仓库使用:
安装软件
[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选项)
[root@localhost ~]# yum remove gcc
[root@localhost ~]# yum remove httpd
[root@localhost ~]# rpm -q gcc
[root@localhost ~]# rpm -q httpd
Yum仓库的查询
]# yum list ftp #查询仓库是否有ftp软件
可安装的软件包 #表示当前系统没有安装该软件
]# yum list httpd
]# yum search ftp #包含ftp就匹配
]# yum provides /usr/bin/hostname
]# yum provides /etc/passwd #仓库中那个软件包产生该文件
]# yum provides guestmount #查询仓库中那个软件产生该程序
]# yum -y install libguestfs-tools-c
]# guestmount --help #查看帮助信息
]# 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
[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开头的历史命令
[root@svr7 ~]# vim /etc/profile
HISTSIZE=1000 #默认记录1000条
[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,查看/调整系统日期时间
[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单独显示时间
[root@localhost ~]# date +%Y #显示年
[root@localhost ~]# date +%m #显示月
[root@localhost ~]# date +%d #显示日期
[root@localhost ~]# date +%H #显示时
[root@localhost ~]# date +%M #显示分
[root@localhost ~]# date +%S #显示秒
[root@localhost ~]# date +%F #显示年-月-日
[root@localhost ~]# date +%T #显示时:分:秒
10.du 统计目录占用硬盘的空间
du,统计目录占用硬盘的空间
-s:只统计每个参数所占用的总空间大小
-h:提供易读容量单位(K、M等)
[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]:被归档的数据有目录,必须加上此选项
[root@localhost /]# zip -r /opt/abc.zip /etc/passwd /home
[root@localhost /]# ls /opt/
释放归档+解压操作: unzip 备份文件.zip [-d 目标文件夹]
[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 /路径/源数据 /路径/快捷方式名字 #软链接
[root@localhost /]# ls /etc/hosts
[root@localhost /]# ln -s /etc/hosts /hs
[root@localhost /]# ls /
[root@localhost /]# ls -l /hs
删除目录的快捷方式,不能以/结尾,若以/结尾则删除的是源目录内容
[root@localhost /]# ls /opt
[root@localhost /]# ln -s /opt /haxi
[root@localhost /]# ls -l /haxi #查看快捷方式详细属性
[root@localhost /]# ls -l /haxi/ #查看源目录内容详细数据
12.2 硬链接
格式:
ln /路径/源数据 /路径/快捷方式名字 #硬链接
硬链接:源数据消失,快捷方式仍然有效
[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
[root@localhost ~]# cat --help
[root@localhost ~]# yum --help
方式二:man 命令
[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是由那两个包产生的
命令操作如下所示:
[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命令程序
命令操作如下所示:
[root@localhost ~]# rm -rf /usr/bin/vi /usr/bin/vim
[root@localhost ~]#
步骤三:修复vim、vi
首先将光盘设备手动挂载到/media目录,进行修复操作。
命令操作如下所示:
[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依赖关系
命令操作如下所示:
[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
命令操作如下所示:
[root@localhost ~]# mkdir /dvd
[root@localhost ~]# ls /dvd
[root@localhost ~]# mount /dev/cdrom /dvd/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /dvd/
步骤二:将本地设置为客户端,进行Yum验证
Yum客户端需编辑配置文件,命令操作如下所示:
[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/
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo
[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包
命令操作如下所示:
[root@localhost /]# yum list | grep firefox
步骤四:利用yum安装bind包
命令操作如下所示:
[root@localhost /]# yum -y install bind
……
步骤二:利用Yum卸载bind
命令操作如下所示:
[root@localhost /]# yum -y remove bind
……
步骤四:利用yum search查询与httpd相关的包
命令操作如下所示:
[root@localhost /]# yum search httpd
……
步骤四:利用yum info查询firefox包描述信息
命令操作如下所示:
[root@localhost /]# yum info firefox
……