一、簡述rpm和yum命令的常用選項并舉例說明。
1)rpm命令:rpm [OPTIONS] [PACKAGE_FILE]
安裝:-i,–install
升級: -U,–upgrade,-F,–freshen
卸載: -e,–erase
查詢: -q,–query
校驗:-V,verify
數據庫維護:–builddb, -initdb
1、安裝:
rpm{-i|–install} [install-options]PACKAGE_FILE…
rpm -ivh PACKAGE_FILE…
GENERAL OPTIONS:
-v:verbose,詳細信息
-vv:更詳細的輸出
[install-options]:
-h:hash marks輸出進度條;每個#表示2%的進度;
–test:測試安裝,檢查并報告依賴關系及沖突消息等;
–nodeps:忽略依賴關系;不建議;
–replacepkgs:重新安裝
注意:rpm可以自帶腳本;
四類:–noscripts 不安裝任何腳本;
preinstall:安裝過程開始之后運行的腳本,%pre, –nopre:不安裝此類腳本。
postinstall:安裝過程完成之后運行的腳本,%post,–nopost:不安裝此類腳本。
preuninstall:卸載過程真正開始執行之前運行的腳本,%preun,–nopreun:不安裝此類腳本。
postuninstall:卸載工程完成之后運行的腳本,%postun,–nopostun:不安裝此類腳本.
–nosignature:不檢查包簽名信息,不檢查來源合法性;
–nodigest:不檢查包完整性信息;
2、升級
rpm{ -U|–upgrade}[install-options]PACKAGE_FILES…
rpm{ -F|–freshen}[install-options]PACKAGE_FILE…
-U:升級或安裝
-F:升級
舉例:rpm -Uvh PACKAGE_FILE…
rpm -Fvh PACKAGE_FILE…
–oldpackage:降級;
–force:強制升級,忽視依賴關系
注意:(1)不要對內核做升級操作;Linux支持多內核版本并存,因此,直接安裝新版本內核;
(2)如果某源程序包的配置文件安裝后曾被修改過,升級時,新版本程序提供的同一個配置文件不會覆蓋原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;
3、卸載:
rpm{-e|erase}[–allmatches][–nodeps][–noscripts][–test]PACKAGE_NAME…
–allmatches:卸載所有匹配指定名稱的程序包的各版本;
–nodeps:忽略依賴關系
–test:測試卸載,dry run 模式
4、查詢
rpm{-q|query}[select-options][query-options]
[select-options]
1、PACKAGE_NAME:查詢指定的程序包是否已經安裝,及其版本;
2、-a, –all:查詢所有已經安裝過的包;
3、-f FILE:查詢指定文件由哪個程序包安裝生成;
4、-p,–package ?PACKAGE_FILE:用于實現對未安裝的程序包執行查詢操作;
5、–whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個程序包提供;
6、–whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個包所依賴;
[query-options]
1、–changelog:查詢rpm包的changelog;
-l,–list:程序安裝生成的所有文件列表;
-i,–info:程序包的相關的信息,版本號、大小、所屬的包組,等;
-c,–configfiles:查詢指定的程序包提供的配置文件;
-d,–docfiles:查詢指定的程序包提供的文檔;
–provides:列出指定的程序包提供的所有的CAPABILITY;
-R,–requires:查詢指定的程序包的依賴關系;
–scripts:查看程序包自帶的腳本片斷;
舉例:
-qi ?PACKAGE , ?-qf FILE , ?-ql PACKAGE, -qd PACKAGE
-qpi PACKAGE_FILE ,-qpl PACKAGE_FILE, -qpc PACKAGE_FILE,…
5、校驗
rpm {-V | verify} [select-options][verify-options]
校驗輸出內容的解釋:
S file Size differ
M Mode differs ( includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor ?number mismatch
L ?readlink (2) path mismatch
U User ownership ?differs
G Group ownership differs
T mTime differ
P caPability ?differ
包來源合法性驗證和完整性驗證:
獲取并導入信任的包制作者的公鑰:
對于CentOS發行版來說:rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
驗證:
(1)安裝此組織簽名的程序時,會自動執行驗證;
(2)手動驗證:rpm-K PACKAGE_FILE
2)、yum :
-y 對安裝過程中的所有提問都回答yes
-q 靜默模式
-v 輸出安裝過程中的詳細信息
install 安裝
update 更新安裝
check-update 檢查是否有可用更新
remove 刪除安裝包
list 顯示安裝包信息
clean 清理緩存
一般使用格式:
yum -y install pk_name
二、自建yum倉庫,分別為網絡源和本地源
在/etc/yum.repos.d目錄下創建一個以.repo結尾的文件。
編輯文件
[xencentos]
name=xen 4 CentOS 6
baseurl=file:///tmp/xen4centos/x86_64
gpgcheck=0
如果為網絡倉庫,則baseurl指向網絡倉庫的地址,若時本地則如上所示,指向本地文件的路徑。
創建本地倉庫,將在放置rpm包組的路徑下,使用createrepo ?創建yum庫。然后在/etc/yum.repos.d目錄下創建一個以.repo文檔,編輯文檔中的baseurl指向當前目錄。
使用 yum repolist 查看倉庫是否創建成功。
3、簡述at和crontab命令,制定?每周三凌晨三、五點10分執行某個腳本,輸出當前時間,時間格式為?2017-12-28?10:00:00
at命令:at [OPTION]… TIME
TIME: HH:MM[YYYY-mm-dd] ?moon ,modnight,teatime,tomorrow,now+#UNIT(minutes,hours,days,weeks)
常規選項:-l:查看作業隊列,-f /PATH/FROM/SOMEFILE :從指定文件中讀取作業任務
-d:刪除指定的作業,-c:查看指定作業的具體內容;-q :指明隊列
crontab命令:
crontab [-u user][-l|-r|-e][-i]
-e:編輯任務
-l:列出所有任務
-r:刪除所有任務
-i:在使用-r選項刪除所有任務時提醒用戶確認;
-u user: root用戶可以指定用戶管理cron任務
制定任務:
1、執行crontab -e 命令,彈出編輯框;
2、輸入 ? 10 3,5 * * ?3 /bin/date + %F %H:%D:%S
3、保存退出
4、簡述sed常用操作命令,并舉例
sed [OPTION]… ‘script’ [input-file]…
script:
地址界定編輯命令
常用選項:
-n:不輸出模式空間中的內容至屏幕;
-e script, –expression=script:多點編輯;
-f /PATH/TO/SED_SCRIPT_FILE
每行一個編輯命令;
-r,-regexp-extended:支持使用擴張正則表達式;
-i[SUFFIX],–in-place[=SUFFIX]:直接編輯原文件;
地址定界:
(1)空地址:對全文進行處理;
(2)單地址:
#:指定行;
/pattern/:被此模式所匹配到的每一行;
$:最后一行
(3)地址范圍
#,#:
#,+#:
#,/pat1/
/pat1/,/pat2/
(4)步進:~
1~2:所有奇數行
2~2:所有偶數行
編輯命令:
d:刪除;
p:顯示模式空間中的內容;
a \text:在行后面追加文本”text”,支持使用\n實現多行追加;
i \text:在行前面插入文本”text”,支持使用\n實現多行插入;
c \text:把匹配到的行替換為此處指定的文本”text”;
w /PATH/TO/SOMEFILE:保存模式空間匹配到的行至指定的文件中;
r /PATH/FROM/SOMEFILE:讀取指定文件的內容至當前文件被模式匹配到的行后面;文件合并
=:為匹配到的行打印行號;
!:條件取反;
地址定界!編輯命令;
s///:查找替換,其分隔符可自行指定,常用的有s@@@,s###等;
替換標記:
g:全局替換;
w/PATH/TO/SOMEFILE:將替換成功的結果保存至指定文件中;
p:顯示替換成功的行;
示例:sed ‘s@^#[[:space:]]*@@’ /etc/fstab
[root@localhost ~]# echo “/etc/log/messages” | sed -r ‘s@[^/]+/?$@@’
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/104088