rpm與yum命令、定時任務和sed文本處理
阿新 • • 發佈:2018-11-11
ace 百分比 因此 term vpd 包安裝 src image 轉換 1、簡述rpm與yum命令的常見選項,並舉例
rpm命令:
rpm命令:
語法:rpm [OPTIONS] [PACKAGE_FILE]
選項:
安裝: -i, --install
升級: -U, --update,-F, --freshen
卸載: -e, --erase
查詢: -q, --query
校驗: -v, --verify
1)安裝
語法:rpm {-i|--install} [install-options] PACKAGE_FILE ... 選項: -h:hash marks輸出進度條;每個#表示2%的進度; --test:只對安裝進行測試,並不實際安裝; --percent:以百分比的形式輸出安裝的進度; --nodeps:忽略依賴關系; --replacepkgs:重新安裝; --nosignature:不檢查來源合法性; --noscipts:不執行程序包腳本片段;
2)升級
語法:rpm {-U|--upgrade}[install-options]PACKAGE_FILE... rpm {-F|--freshen} [install-options] PACKAGE_FILE ... 選項: upgrade:安裝有舊版程序包,則升級,如果不存在舊版本的程序包,則安裝; freeshen:安裝有舊版程序包,則升級,如果不存在舊版本程序包,則不執行升級操作; 註意: (1)不要對內核升級操作:Linux支持多內核版本並存,因此,對直接安裝新版本內核; (2)如果原程序包的配置文件安裝後曾被修改,升級時,新版本的提供的通一個配置文件並不會直接覆蓋老版本的配置文件,而被新版本文件重命名(FILENAME.rpmnew)後保留;
3)卸載
語法:rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts][--test] PACKAGE_NAME ...
選項:
--allmatches:卸載所有匹配指定名稱的程序包的各版本;
--nodps: 忽略依賴關系;
--noscripts:不運行預安裝和後安裝腳本程序
--test:只執行刪除測試;
4)查詢
語法:rpm {-q|--query} [select-options] [query-options] select選項: -a, --all:查詢所有已經安裝過的包; -f FILE:查詢指定的文件由哪個程序包安裝生成; -p, --package PACKAGE_FILE:用於實現對未安裝的程序包執行查詢操作; --whatprovides CAPABILITY: 查詢指定的CAPABILITY由哪個程序包提供; --whatrequires CAPABILITY: 查詢指定的CAPABILITY被哪個包所依賴; query選項: --changelog: 查詢rpm包的changelog; -l, --list: 程序安裝生成的所有文件列表; -i, --info: 程序包相關的信息,版本號、大小、所屬的包組,等等; -c, --configfiles: 查詢指定的程序包提供的配置文件; -d, --docfiles: 查詢指定的程序包提供的幫助文檔; --provider: 列出指定的程序包提供的所有的CAPABILITY; -R, --requires: 查詢指定的程序包的依賴關系; --scripts: 查詢程序包自帶的腳本片段;
5)示例
卸載:
查詢:
yum命令:
選項:
check-update 檢查可更新的包;
clean all清除全部;
clean packages 清除臨時包文件 (/var/cache/yum 下文件);
clean headers 清除rpm頭文件;
deplist 列出包的依賴;
list 可安裝和可更新的RPM包;
list installed 已安裝的包;
list extras 已安裝且不在資源庫的包;
info 可安裝和可更新的RPM包信息;
info installed 已安裝包的信息(-qa參數相似);
install[RPM包]安裝包;
localinstall 安裝本地的RPM包;
update [RPM包]更新包;
upgrate 升級系統;
search [關鍵詞]搜索包;
provides[關鍵詞]搜索特定包文件名;
resinstall [RPM包]更新安裝包;
repolist 顯示資源庫的配置;
resolvedep指定依賴;
remove[RPM包]卸載包;
示例:
安裝:
升級:
查詢:
2、自建yum倉庫,分別為網絡源和本地源
1)配置網絡源
首先查看網絡源配置文件,然後創建配置文件
2)配置本地源
3、簡述at和crontab命令,制定 每周三淩晨三、五點10分執行某個腳本,輸出當前時間,時間格式為 2017-12-28 10:00:00
at命令:
語法:at [OPTION]... TIME
選項:
-l:查看作業隊列,相當於atq,執行完後,就消失了;
-f /PATH/FROM/SOMEFILE:從指定文件中讀取作業任務,而不用再交互式輸入;
-d:刪除指定的作業,相當於atrm;
-c:查看指定作業的具體內容;
-q QUEUE:指明隊列;
註意:作業執行結果是以郵件發送給提交作業的用戶;
示例:
crontab命令:
語法:crontab [-u user] [-l | -r | -e] [-i]
選項:
-e:編輯任務;
-l:列出所有任務;
-r:移除所有任務;即刪除/var/spool/cron/USERNAME文件;
-i:在使用-r選項移除所有任務時提示用戶確認;
-u user:root用戶可為指定用戶管理cron任務;
示例:
4、簡述sed常用操作命令,並舉例
sed命令是linux下的文本處理三劍客之一,它是一個“非交互式的”面向字符流的編輯器。處理時,把當前要處理的行存儲在緩沖區(模式空間)中,接著用sed命令來處理緩沖區的內容,處理完成,把緩沖區內容輸出屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容並沒有改變,除非你使用重定向存儲輸出。sed主要用來自動編輯一個或多個文件,簡化對文件的反復操作,編寫轉換程序等。
語法:sed [OPTION]... script [input-file]...
選項:
-n:不輸出模式空間中的內容至屏幕;
-e:多點編輯;直接在命令行界面進行sed的動作編輯;
-f:將sed的動作下載一個文件內,每行一個編輯命令;
-r:支持使用擴展正則表達式;
-i:直接編輯原文件 ;
編輯命令:
-a ∶新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~
-c ∶取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!
-d ∶刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;
-i ∶插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);
-p ∶列印,亦即將某個選擇的資料印出。通常 p 會與參數 sed -n 一起運作~
-s ∶替換,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!對於替換還有兩個後選項分別為:
g:全局替換和
i:不區分大小寫
-r /path/from/somefile :在文件的指定位置插入另一個文件的所有內容,完成文件合並
-w /path/to/somefile:把指定的內容另存至/path/somefile路徑所指定的文件中
示例:
rpm與yum命令、定時任務和sed文本處理