1. 程式人生 > >rpm與yum命令、定時任務和sed文本處理

rpm與yum命令、定時任務和sed文本處理

ace 百分比 因此 term vpd 包安裝 src image 轉換

1、簡述rpm與yum命令的常見選項,並舉例
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文本處理