linux 學習5

第五周(7.16-7.30)

第五周作業(7.16–7.22)

1、簡述rpm與yum命令的常見選項,并舉例linux 學習5

? (* 上圖為程序包命名格式)

1.1 rpm命令

1.1.1 功能:將編譯好的應用程序的各組成文件打包成一個或多個程序包文件,從而更方便的實現程序包的安裝,升級,卸載和查詢等操作。

1.1.2 通用格式:rpm [OPTIONS]…[PACKAGE-FILE] 以下還有其更多功能選項

? OPTIONS:

? 安裝:-i ,–install

? 升級: -U ,update , -F ,–Freshen

? 卸載: -e , –erase

? 查詢: -q , –query

? 校驗: -V , –verify

? 數據庫維護: –builddb , –initdb

? **安裝**: rpm {-i|–install} [install-options] PACKAGE_FILE …

? install-options:

? -h:hash marks 輸出進度條;每個進度條代表2%,共50個#

? –test:測試安裝(并不是真正安裝,而是檢查一下是否能被安裝)

? –nodeps: 忽略依賴關系,強行安裝

? –replacepkgs:重新安裝

? -v :verbose,詳細信息

? -vv:更詳細的輸出

? 通常使用安裝時的格式:

? rpm -ivh PACKAGE_FILE…

? **升級**: rpm {-U|–upgrade} [install-options] PACKAGE_FILE …

? rpm {-F|–freshen} [install-options] PACKAGE_FILE …

? install-options:

? –oldpackage : 降級

? –force:強行升級(不處理依賴關系到的程序包)

? 通常使用升級時的格式:

? 升級或安裝:rpm -Uvh PACKAGE_FILE…

? 升級:rpm -Fvh PACKAGE_FILE…

? **卸載:**rpm {-e|–erase}| –allmatches| [–nodeps]|[–noscripts]|[–notriggers]|[–test] PACKAGE_NAME …

? –allmatches :卸載所有能匹配到指定名稱的程序包的各版本

? –nodeps: 忽略依賴關系

? –test: 測試卸載

? –notriggers:不執行觸發程序

? **查詢:** rpm {-q|–query} [select-options]|[query-options]

? select-options:

? -a ,–all : 查詢所有已安裝的程序包

? -f,FILE :查詢指定的文件有那個程序包安裝生成

? -g,–group:查詢指定包組中那個包使用最多

? -p,–psckage PACKAGE_FILE:用于實現對未安裝的程序包執行查詢操作

? —whatprovides CAPABLITY :查詢指定的CAPABLITY由那個程序包提供

? –whatrequires CAPABLITY : 查詢指定的CAPABLITY被那個包所依賴

? query-options: (都與-q一起使用)

? –changelog : 查詢rpm包的日志

? -l,–list :程序安裝生成的所有文件列表

? -i,–info : 程序包相關的信息,版本號,大小,所屬的包組等

? -c,–configfiles:查詢指定的程序提供的配置文件

? -d,–docfile:查詢指定的程序包提供的幫助文件

? –provides:列出指定的程序包提供的所有CAPABILITY

? -R,–requires: 查詢指定程序包的所有依賴關系

? –scripts : 查詢程序包自帶的腳本片段

示例:查詢安裝的zsh包的配置信息1532838316848linux 學習5

? **校驗:** rpm {-V|–verify} [select-options]|[verify-options]

? 示例: 當修改程序包文件時,再進行校驗操作會輸出結果,例如修改文件/etc/zshrc 后運行

linux 學習51532840792856

? 輸出結果解釋:

? S: 文件大小發生改變

? 5: 文件內容發生改變

? T: 文件時間戳發生改變

? 在輸出結果中,有9個字段,依次表示為:

? S:文件大小發生改變

? M:權限發生改變

? 5:文件md5碼發生改變

? D:主次設備號發生改變

? L: readlink路徑不匹配

? U:屬主改變

? G:屬組改變

? T:最近一次時間戳發生改變

? P:copabilities 改變

?

1.2 yum命令

功能:yum是rpm的前端管理工具,yum要依賴于rpm的存在而存在的,解決了包與包之間復雜的依賴關系,使程序包的安裝更簡單。

yum命令的用法:

yum [options]|[command]|[package…]

command:

安裝程序包:

install package1[package2]

重新安裝程序包:

reinstall package1 [package2]

顯示倉庫列表:

repolist [all|enabled|disabled]

顯示所有或通配顯示

yum list [all|glob_exp1]|[glob_exp2]|[…]

顯示所有可用/安裝/升級的程序包

yum list {available | installed |updataes }[glob_exp1]|[…]

升級指定程序包:

update [package1]|[package2]|[…]

檢查可升級的程序包:

check-update

卸載程序包,依賴的程序包都會被卸載

remove | erase package1 [package2] …

查看指定的特性(可以使某文件)是由那個程序包所提供

provides | whatprovides feature1[feature2]…

清理本地緩存:

clean [packages|metadate | expire-cache | remdb | plugins | all ]

構建緩存:

makecache

根據關鍵字搜索:

search string1 [string2]…

降級安裝:

downgrade package1 [package2]…

查看指定程序包所依賴的程序包:

deplist package1 [package2] …

查看yum事務歷史(每啟動安裝,升級,卸載操作都叫做一次事務)

history [info | listpackages-list | packages-info | summary |addon-info…]

安裝升級本地程序包:

localinstall rpmfile1 [rpmfile2 ]…

localupdate rpmfile 1 [rpmfile2]…

options:

–nogpgcheck : 禁止進行gpgcheck

-y:自動進行安裝無需確認安裝

-q:靜默模式

–disablerepo = repoidglob:在安裝時臨時禁用此處指定的倉庫

–enablerepo = repoidglob :臨時啟用此處指定的倉庫

–noplngins:禁用所有插件

2、自建yum倉庫,分別為網絡源和本地源

創建網絡源:

第一步:在/etc/yum.repo.d/目錄下創建以repo結尾的文件

第二步:通過文本編輯器vim編輯次文件內容如下:

[BASE]

name=centos base aliyun

baseurl=https://mirrors.aliyun.com/centos-altarch/7.5.1804/os/

gpgcheck=0

第三步:yum repolist 命令查看是否生效1532885534028

linux 學習5

創建本地yum源:

第1步:首先在官方網站下載cd鏡像,掛載文件

mount -r /dev/sr0 /mnt

第2步:在/etc/yum.repo.d/目錄下創建以repo結尾的文件

通過vim編輯器編輯以下內容

[local 1]

name = cdrom centos mirrors

baseurl = file:///mnt

gpgcheck = 0

第3步:通過yum repolist 命令查看是否生效

 

3、簡述at和crontab命令,制定 每周三凌晨三、五點10分執行某個腳本,輸出當前時間,時間格式為 2017-12-28 10:00:00

3.1 at命令:在未來的某個時間執行一次任務

? 格式:at [OPTION]…TIME

? 時間格式:HH:MM[YYYY-MM-DD]

? 時間表示方法分兩種:

? (1). 模糊法:noon(中午12點) midnight(午夜) teatime(下午四點) tomorrow(明天)

? (2). 相對時間計時法: now + #(數字)+單位 (現在之后的#一個時間,單位包括minutes,hours,days)

? 常用選項: -l:查看作業隊列,相當于atq

? -f /PATH/FROM/SOMEFILE :從指定文件中讀取作業任務,而非交互式輸入

? -d # :刪除指定的作業,相當于atrm

? -c :查看指定作業的具體內容(以前執行過的也可以查看)

? -q QUEUE:指明隊列

? 注意:作業執行結果是以郵件發送給提交作業的用戶。

3.2crontab命令

? 格式:crontab [-u user |-l | -r |-e |-i |-s]

? 常用選項: -e : 編輯任務

? -l:列出所有任務

? -r:移除所有任務;即刪除/var/spool/cron/USERNAME文件

? -i:在使用-r選項移除所有任務是提示用戶確認是否操作

? -u user:root用戶可為指定用戶定義任務

? 注意1:運行結果是以郵件通知給當前用戶;如果需要拒收次郵件可以使用

? (1). COMMAND > /dev/nul

? (2). COMMAND &> /dev/null 可以使命令運行但不以郵件接收

? 注意2:定義COMMAND時,如果命令需要用到%時,需要對其轉義,當放置于單引號中時不需要轉義;

3.3 示例

編寫執行時間bash腳本:

linux 學習51532879812366

制定crontab命令linux 學習5

10 3,5 * * 3 /root/bin/bash/date_task.sh

linux 學習5

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

4.1 sed命令

4.1.1 功能:針對行進行操作的流式編輯器

4.1.2 格式:sed [options] …”script”[input_file]

script:地址定界,編輯命令

4.1.3 常用選項:

-n:不輸出模式空間中的內容至標準輸出

-e script,–expression = script : 多點編輯

-f /PATH/TO/SED_SCRIDT_FILE:每一行一個編輯命令的腳本

-r,–regexp -extended : 支持使用擴展正則表達式

i[SUFFIX],–in -place [=SUFFIX] : 直接編輯原文件(危險操作,慎用)

4.1.4 地址定界:

#,#:從#到#行

#,+#:相對#到+#行

#,/pat1/ : 從#行到模式1匹配到的行

/pat1/,/pat2/:從模式1到模式2所匹配到的行

4.1.5 步/pat1/進 ~

1~2:所有奇數行

2~2:所有偶數行

4.1.6 編輯命令

d:刪除操作

示例:刪除文件的第1行到底5行1532881318421linux 學習5

p:顯示模式空間中的內容

a\text : 在匹配到的行后面追加文本text,支持使用\n實行多行追加

i\text : 在行的前面插入文本text,支持使用\n實行多行插入

示例:在/etc/fstab 文件中的第3行插入內容“new line”1532881596498

linux 學習5

c\text : 吧匹配到的行替換為此處指定的文本text

w/PATH/TO/SOMEFILE : 保存模式空間匹配到的行至指定文件中

r /PATH/FROM/SOMEFILE : 讀取指定文件的內容至當前文件被模式匹配到的行后面

=:為模式匹配到的行打印行號

?。簵l件取反

示例:顯示刪除之外的行

linux 學習51532882109864

s/// : 查找替換,其分隔符也可以換成@@@或###

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/104170

(1)
zhuimenshaonianzhuimenshaonian
上一篇 2018-07-30
下一篇 2018-07-30

相關推薦

  • linux第十天筆記(markdown格式)

    # Linux第十天 “`bashrpm -qf ….“` “`bashyum provides ….“` 批量編譯 C,C++:make項目管理器 configure腳本–》makefile.in–》makefile makefile.in是模板文件 makef…

    Linux筆記 2018-04-22
  • Linux命令之date

    語法,選項,參數

    Linux筆記 2018-07-22
  • 第六周 網絡管理命令、進程監控

    一、osi七層模型和TCP/IP五層模型 1、模型圖 2、每一層的功能和用到的協議   二、iproute2家族 1、概述 ip 是 iproute2 軟件包里面的一個強大的網絡配置工具,它能夠替代一些傳統的網絡管理工具。例如:?ifconfig、route 等。 2、命令格式 ip [ OPTIONS ] OBJECT { COMMAND | h…

    2018-07-12
  • 初識Nginx——曉以大意 明以細理

    什么是nginx?nginx is a free,open-source,high-performance http server and reverse proxy,as well as an IMAP/POP3 proxy.通俗的說Nginx提供web服務,反向代理,以及IMAP/POP3代理,那么什么是web服務?反向代理?IMAP/POP3代理? w…

    2017-09-10
  • TCP/IP協議

    無線網絡標準 IEEE 802.3 802.11a/b/g/n/ac 物理層,數據鏈路層data link layer   以太網是工作在物理層和數據鏈路層上 單工,雙工(物理層概念) 單工:單向傳輸數據??? (廣播,收音機) 雙工:雙向傳輸數據 全雙工:同時雙向?????? (手機) 半雙工:輪流雙向???? (對講機)   Hub集…

    Linux筆記 2018-06-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2018-09-19 09:13

    很實用的一篇博文,涵蓋了包管理、yum源和基礎命令的使用。繼續加油。

欧美性久久久久