rpm與yum命令詳解轨帜、cront服務于sed文本處理工具

1皮假、簡述rpm與yum命令的常見選項鞋拟,并舉例

rpm包管理常見選項:

1.1安裝:

rpm{-i|--install} [install-options]PACKAGE_file...

-h:hash,以#來表示安裝進度;

-v惹资,--verbose:顯示安裝過程中的詳細信息贺纲;

--test:不執(zhí)行真正的安裝過程,而僅報告依賴關系以及沖突信息等褪测;

--nodeps:忽略依賴關系猴誊,副作用是能安裝成功,但是不能執(zhí)行成功

--replacepkgs:覆蓋安裝--重新安裝并覆蓋原有文件侮措;

--force:強制安裝

安裝時常用組合:-ivh

1.2升級:

rpm{-U|--upgrade}[install-options]package_file

-U:升級或安裝

rpm{-F|--freshen}[install-options]package_file

組合使用:-Uvh懈叹,F(xiàn)vh

? ? --test:不執(zhí)行真正的安裝過程,而僅報告依賴關系及沖突信息等分扎;

--nodeps:忽略依賴關系澄成,副作用是能安裝成功,但未必能運行成功

--oldpackage:降級到舊版本;

注意:1.一定不要對內(nèi)核版本執(zhí)行升級墨状,Linux允許多內(nèi)核共存卫漫,所以可以直接安裝多個不同版本內(nèi)核;

2.如果程序包的配置文件安裝后曾被修改肾砂,升級時列赎,新版本的文件不會覆蓋老版本的配置文件,而把新版本的配置文件重命名(加后綴.rpmnew)后保存镐确。

1.3卸載:移除已經(jīng)安裝的程序包

rpm{-e|--erase} package_name

--allmatches:如果一個程序包同時安裝多個版本包吝,則此選項一次全部卸載之

1.4查詢:

查詢某包是否已經(jīng)安裝,以及檢查安裝的所有包辫塌;還可以查看某包的詳細信息漏策;

rpm {-q|--query}[select-option][query-options]

[select-options]

1.4.1查詢某包是否是否安裝

rpm -q package_name

1.4.2 查詢已經(jīng)安裝的所有包

rpm -qa?

1.4.3 查詢某文件是由哪些包生成的

rpm -qf /PATH/TO/SOME/FILE

1.4.4查詢尚未安裝的包文件的相關信息,使用-p選項臼氨;

rpm -qpi package_file

[query-options]:

1.4.5掺喻、查詢某包的簡要說明:

rpm -qi package_name

1.4.6查詢某包生成的文件列表;

rpm -ql package_name

1.4.7查詢某包安裝完成后生成的所有幫助文件 储矩;

rpm -qd package_file

1.4.8查詢某包制作時隨版本變化的changelog信息感耙;

rpm -q --changelog package_name

1.4.9查詢某包提供的capabilities:

rpm -q --provides package_file

1.4.10查詢某包所依賴的capabilities:

rpm -q --provides package_name

1.4.11 查詢某包安裝或卸載時執(zhí)行的 腳本:

rpm -q --requires package_name

腳本有四類:

preinstall:安裝開始之前執(zhí)行的腳本;

postinstall:安裝過程之后執(zhí)行的腳本持隧;

preunnistall:卸載之前執(zhí)行的腳本即硼;

postunistall:卸載之后執(zhí)行的腳本;

檢驗:

查詢包安裝之后生成的文件是否發(fā)生了改變

rpm {-V|--verify}[select-options][verify-options]

常見用法:rpm -V package_name

當沒有輸出結果時表示軟件包完整ok屡拨。當有相應結果輸出表明對應的內(nèi)容有修改只酥。


Yum

yum本身也是配置文件,主要指向倉庫的位置以及相關的各種配置信息:每個yum命令行可以同時指向多個倉庫呀狼,配置文件由兩部分組成:

1裂允、主配置文件:/etc/yum.conf,為各倉庫指向提供公共配置文件哥艇;

2绝编、各倉庫的定義:/etc/yum.repos.d/*.repo

yum 命令的使用:yum [option][command][package...]

install package1 [package2]...

upgrade-to [package1][package2]

list [...]

info[...]

groupinstall group1 [grouop2][...]

groupupdate group1[group2][...]

groupinfo group1[...]

yum 倉庫管理:

? ? ? yum repolist:列出已配置的所有可用倉庫

yum緩存管理:

yum clean:清理緩存

yum makecache:緩存創(chuàng)建,自動連接至每一個可用倉庫貌踏,下載其數(shù)據(jù)十饥,將其創(chuàng)建為緩存。


程序包查看

yum list ?

yum grouplist

程序包安裝:

yum install package1 [package2]...

重新安裝(覆蓋安裝)

? ? ? ?yum reinstall package1 [package2]...

程序包升級:

yum update package1...

程序包降級:

yum downgrade package1...

檢查有哪些升級可用:

yum check-update

程序包卸載:

yum remove| erase package1...

注意:所以依賴于正卸載的包會被一同卸載


包組管理:

列出所有包組yum grouplist

安裝卸載升級等同包管理

yum命令的可用選項:

-y:自動回答為“yes“

-nogpgcheck:禁止做包檢驗

2祖乳、自建yum倉庫逗堵,分別為網(wǎng)絡源和本地源

2.1使用光盤鏡像創(chuàng)建本地源

2.1.1掛載光盤到指定的目錄下

mount -r /dev/cdrom ?/media/cdrom

2.1.2新建yum repo 配置文件,名字為CentOS-local.repo

本地源

[base]

name=CentOS 7 release 7.3

baseurl=file:///media/cdrom

enabled=1

gpgcheck=0

網(wǎng)絡源:

[base]

name=Base Repo on jacklin

baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/

gpgcheck=0


3凡资、簡述at和crontab命令砸捏,制定 每周三凌晨三谬运、五點10分執(zhí)行某個腳本,輸出當前時間垦藏,時間格式為 2017-12-28 10:00:00

3.1 at

at是由atd服務提供的梆暖,在centos6之上可以用service atd start 來啟動服務;在centos 7 上要使用systemctl start atd.service 來啟動服務掂骏。

at 的使用方法:at [-mldvc] TIME

-l:at -l 相當于atq命令轰驳,列出系統(tǒng)上所有當前用戶的at隊列;

-d:at -d 相當于atrm命令弟灼,可以取消一個在at排程的工作级解;

-v:可以詳細的顯示at的工作列表

-f:把at要執(zhí)行的所有任務放置于文件中,讓at讀取此文件作為要運行的任務

如:at ?-f /path/to/somefile

at -c n 來查看at隊列當中指定序號的任務計劃內(nèi)容

3.2crontab

crondtab是由crond服務提供的田绑,centos6 可以使用service crond start來啟動crond服務勤哗,centos7采用systemctl start crond.service

cron任務有兩類:系統(tǒng)cron和用戶cron。系統(tǒng)cron指的是系統(tǒng)級別的任務計劃掩驱,他的制定通過編輯/etc/crontab來實現(xiàn)

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

# For details see man 4 crontabs

# Example of job definition:

# .---------------- minute (0 - 59)

# |? .------------- hour (0 - 23)

# |? |? .---------- day of month (1 - 31)

# |? |? |? .------- month (1 - 12) OR jan,feb,mar,apr ...

# |? |? |? |? .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |? |? |? |? |

# *? *? *? *? * user-name? command to be executed

其中:前面五個*表示對應的時間點芒划;

user-name表示的是以哪個用戶的身份運行;

conmand表示要運行的任務欧穴;

注意:在定義cron任務計劃時民逼,所用的命令必須為絕對路徑;腳本也要使用絕對路徑涮帘,或者重新定義一個擁有完整路徑的環(huán)境變量拼苍。

對于命令執(zhí)行成功與否的結果,默認通過郵件發(fā)送給用戶调缨,也可以通過輸出重定向丟棄郵件疮鲫,如下:

COMMAND > /dev/null 或者?COMMAND &> /dev/null


用戶級別的周期性任務計劃是通過crontab命令來實現(xiàn),其也有對應的配置文件在/var/spool/cron/目錄中與用戶名同名的文件中

crontab命令:

-l :列出已經(jīng)定義的所有任務

-e:打開編輯界面定義任務

-r:remove弦叶,移除所有任務

注意:刪除一個任務應該通過刪除編輯界面的行來實現(xiàn)

若要針對制定用戶的任務計劃棚点,則應該制定 -u UDERNAME

crond中用戶命令需用到%時。要進行轉(zhuǎn)義

3.3制定 每周三凌晨三湾蔓、五點10分執(zhí)行某個腳本,輸出當前時間砌梆,時間格式為 2017-12-28 10:00:00

10 3,5 * * 3 ?usr/bin/echo $(date +\F\%H-\%M-\%S)

4默责、簡述sed常用操作命令,并舉例

sed是一種在線的編輯器咸包,行編輯器桃序,一次處理一行內(nèi)容,把當前的行存儲在緩沖區(qū)當中烂瘫,該緩沖區(qū)稱為“模式空間(pattern space)”媒熊。接著利用sed處理模式空間里面的內(nèi)容奇适,處理完畢后吧緩沖區(qū)的內(nèi)容送至標準輸出;然后接著處理下一行文本芦鳍,以此循環(huán)反復嚷往,直至文件末尾。sed在處理文件時柠衅,整個文件的內(nèi)容沒有發(fā)生改變皮仁,除非使用重定向改變文件輸出。

sed的語法結構:sed[option]...{scripts}[input-file]...[actions]

-r:支持擴展的正則表達式菲宴;

-n:靜默模式贷祈;

-e scripts1 -e scripts -e scripts:指定多腳本運行;

-f /path/to/scripts_file:從指定的文件中讀取腳本并運行喝峦;

-i:直接修改源文件势誊;

sed的地址定界(抽取的域)

#:#表示數(shù)字,指定行

$:最后一行谣蠢;

/regexp/:任何能夠被regexp匹配到的行粟耻;

startline,endline:

#,/regexp/:表示從#開始,到第一次被/regexp/匹配的行結束漩怎,之間的所有行;

#,+n;表示從#行開始勋颖,往后的n行,包括#行勋锤;

first~step;表示從first開始饭玲,以step為公差的等差數(shù)列的所有行。

sed的編輯命令:

?d:刪除模式空間中的行;

=:為模式空間中的行打印行號

a \text:在剛后面追加文本,支持使用\n實現(xiàn)多行追加叁执;

i \text在行前面插入文本茄厘,支持使用\n實現(xiàn)多行追加;

c \text用text替換匹配到的行

p:打印模式空間的行

s/regexp/replacement/:替換由正則表達式所匹配的內(nèi)容為replacement;

w /path/to/file:將模式空間的內(nèi)容輸出至該文件路徑中

r /path/to/file:在文件的指定位置插入另一個文件的所有內(nèi)容

sed功能演示:

(1)刪除/etc/grub2.cfg中所有行行首的空白字符谈宛;

cat /etc/grub2.cfg

sed 's/^[[:space:]]\+//' /etc/grub2.cfg

(2)echo一個文件路徑給sed命令次哈,取出其基名;進一步的吆录,取出其路徑名窑滞;

取路徑名:echo "/etc/sysconfig/network-scripts/" | sed -r 's@[^/]+/?$@@'

取基名:I don't know

sed工作機制是每次讀取一行文本至模式空間中,在模式空間中完成處理恢筝,將處理的結果輸出至標準輸出設備哀卫;還有保持空間的概念,即在模式空間中處理后的行可能會有后續(xù)處理撬槽,因此可以把處理過的行輸送至保持空間中此改,然后在后續(xù)的處理再傳送回模式空間。

sed支持一些高級命令來實現(xiàn)模式空間與保持空間的交互:

h:用模式空間中的內(nèi)容覆蓋至保持空間侄柔;

H:將模式空間的內(nèi)容追加至保持空間共啃;

g:將保持空間的內(nèi)容覆蓋至模式空間占调;

G:將保持空間的內(nèi)容追加至模式空間;

n:讀取匹配到的行的下一行至模式空間移剪;

N:讀取匹配到的行的下一行并追加至模式空間中究珊;

d:輸出模式空間中的內(nèi)容;

注意:命令取反功能用9易摇苦银;分號用于分隔腳本;

運用:1赶站、 sed -n 'n;p' tetx.txt

取出text.txt的偶數(shù)行

2幔虏、sed '1!G;h;$!d' text.txt

將text.txt中的內(nèi)容逆序排列

3、sed ?'n,d' text.txt

顯示奇數(shù)行

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贝椿,一起剝皮案震驚了整個濱河市想括,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌烙博,老刑警劉巖瑟蜈,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渣窜,居然都是意外死亡铺根,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門乔宿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來位迂,“玉大人,你說我怎么就攤上這事详瑞〉嗔郑” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵坝橡,是天一觀的道長泻帮。 經(jīng)常有香客問我,道長计寇,這世上最難降的妖魔是什么锣杂? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮番宁,結果婚禮上蹲堂,老公的妹妹穿的比我還像新娘。我一直安慰自己贝淤,他們只是感情好,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布政供。 她就那樣靜靜地躺著播聪,像睡著了一般朽基。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上离陶,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天稼虎,我揣著相機與錄音,去河邊找鬼招刨。 笑死霎俩,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的沉眶。 我是一名探鬼主播打却,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谎倔!你這毒婦竟也來了柳击?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤片习,失蹤者是張志新(化名)和其女友劉穎捌肴,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體藕咏,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡状知,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了孽查。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饥悴。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖卦碾,靈堂內(nèi)的尸體忽然破棺而出铺坞,到底是詐尸還是另有隱情,我是刑警寧澤洲胖,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布济榨,位于F島的核電站,受9級特大地震影響绿映,放射性物質(zhì)發(fā)生泄漏擒滑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一叉弦、第九天 我趴在偏房一處隱蔽的房頂上張望丐一。 院中可真熱鬧,春花似錦淹冰、人聲如沸库车。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柠衍。三九已至洋满,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間珍坊,已是汗流浹背牺勾。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留阵漏,地道東北人驻民。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像履怯,于是被迫代替她去往敵國和親回还。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Linux程序包的管理需要依賴程序包管理工具虑乖,程序包管理工具可以實現(xiàn)程序的安裝懦趋、升級、卸載疹味、查詢和校驗仅叫,等等相關操...
    學渣角鹿白閱讀 365評論 0 1
  • 各大Linux發(fā)行版軟件包管理參考(http://www.freeoa.net/osuport/botinstal...
    IRONYT閱讀 7,296評論 0 12
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)糙捺,斷路器诫咱,智...
    卡卡羅2017閱讀 134,702評論 18 139
  • 活的很小心,已經(jīng)很久洪灯。有點累坎缭。想擺脫,借這一次的成功签钩,內(nèi)心將有更多膽量掏呼,更多自主。很久沒有驚喜了铅檩,今年希望擁有憎夷,那...
    秋天的天空閱讀 112評論 0 0
  • (稻盛哲學學習會)打卡第71天 姓名:沈丹萍 部門:設計部 組別:謙虛二組 【知~學習】 誦讀《活法》第四章 從自...
    沈丹萍分水碶閱讀 148評論 0 0