云計算 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
……