2018年7月16日~7月22日(第五周作業)

一、簡述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:讀取指定文件的內容至當前文件被模式匹配到的行后面;文件合并
=:為匹配到的行打印行號;
?。簵l件取反;
地址定界!編輯命令;
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

(1)
游漓游漓
上一篇 2018-07-28 14:29
下一篇 2018-07-28 19:18

相關推薦

  • grep命令和正則表達式

    grep命令和正則表達式的命令筆記

    2018-04-07
  • linux的基礎命令

    基礎命令

    2018-03-28
  • 網絡屬性配置一

    網絡屬性配置一 一. ifconfig的應用 (一)配置網絡接口: #ifconfig (只顯示活動狀態的接口) ifconfig -a(顯示所有接口) 配置地址: 注意(掩碼的兩種的寫法) #ifconfig 接口 指定的IP/NETMASK 1.#ifconfig ens37 172.20.110.11/16 (IP改為172.20.110.11/16)…

    Linux筆記 2018-05-03
  • 文本三劍客之awk

    awk的名稱來源于三個開發者的姓名:Aho, Weinberger, Kernighan,報告生成器,格式化文本輸出,Linux文本處理三劍客之一。

    2018-05-17
  • 編譯安裝LAMP示例

    httpd 2.4.9 + mysql-5.5.33 + php-5.4.26編譯安裝過程: 一、編譯安裝apache 1、解決依賴關系 httpd-2.4.9需要較新版本的apr和apr-util,因此需要事先對其進行升級。升級方式有兩種,一種是通過源代碼編譯安裝,一種是直接升級rpm包。這里選擇使用編譯源代碼的方式進行,它們的下載路徑為ftp://172…

    Linux筆記 2018-05-29
欧美性久久久久