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:讀取指定文件的內容至當前文件被模式匹配到的行后面;文件合并
=:為匹配到的行打印行號;
!:條件取反;
地址定界!編輯命令;
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
下一篇 2018-07-28

相關推薦

  • 運維自動化之系統安裝部署

    自動化安裝centos系統

    2018-05-24
  • 故障排錯

    破壞性試驗修復

    2018-05-08
  • 變量

    變量 echo $name 與 echo “$name” 假如變量是讀取文件,前者會自動縮進成一行,后者保留原有格式 (umask=022,mkdir /f1)括號相當于開啟一個臨時子進程,能讀取當前shall的變量等信息,但是進程號不變,命令結束后恢復剛才狀態 局部變量,環境變量,只讀變量(常量),位置變量,數組 局部變量:只在當前…

    Linux筆記 2018-04-15
  • Linux筆記

    一、計算機系統(系統、硬件、)
    二、安裝虛擬機

    2018-07-19
  • 標準I/O和管道

    input:輸入讀入數據 output:輸出數據文件的 打開的文件都有一個fd: file descriptor (文件描述符) ll /proc/$$/fd #查看fd exec 8<>/data/hosts #指定fd I/O重定向:該變默認位置 > #把標準輸出重定向到文件(一個”>”是覆蓋,”>>”是追加) 2&g…

    2018-04-02
  • Linux發行版的基礎目錄名稱命名法則及功用規定

    FHS filesystem hierarchy standard /bin: 所有用戶可用的基本命令程序文件 /sbin: 供系統管理使用的工具程序 /boot: 引導加載器必須用到的各靜態文件:kernel,initramfs(initrd),grub等; /dev: 存儲特殊文件或設備文件 /etc:系統程序的配置文件,只能為靜態 /home:普通的用…

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