第五周

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

(1)什么是rpm?

RPM?是RPM Package Manager(RPM軟件包管理器)的縮寫,可以實現安裝、升級、卸載、查詢和校驗、數據庫維護。

CentOS系統上的rpm命令管理程序:

rpm –I 安裝

-U 升級

-e 卸載

-q 查詢

–builddb 數據庫維護

(2)rmp的安裝:

常用格式 : rpm??-ivh??PACKAGE_FILE …

-h 輸出進度條

– test 測試安裝

(3)rpm的升級:

rpm??-Uvh PACKAGE_FILE …

rpm??-Fvh PACKAGE_FILE …

–oldpackage:降級;

–force:強制升級

(4)rpm的 卸載:

Rpm -e

(5)rpm的 查詢:

Rpm -q

(6)rpm的 校驗:

Rpm -v

(7)數據庫重建:

rpm管理器數據庫路徑:/var/lib/rpm/

rpm {–initdb|–rebuilddb} [–dbpath DIRECTORY] [–root DIRECTORY]

–initdb:初始化數據庫,當前無任何數據庫可實始化創建一個新的;當前有時不執行任何操作;

–rebuilddb:重新構建,通過讀取當前系統上所有已經安裝過的程序包進行重新創建;

(8)什么是yum?

Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的shell前端軟件包管理器?;趓pm包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。

CentOS系統上的yum命令: 命令格式:?yum [option] command

(9)yum常用的命令

yum repolist {all|enabled|disabled} 列出所有/已啟用/已禁用的yum源

yum list {all|installed|avaliable} 列出所有/已安裝/可安裝的軟件包

yum info package 顯示某一個軟件包的信息
yum install package 安裝軟件包
yum reinstall package 重新安裝軟件包
yum remove|earse package 卸載軟件包
yum whatprovides|provides files 查詢某個文件是哪個軟件包生成的
yum grouplist {all|installed|avaliable} 列出所有/已安裝/可安裝的軟件包組
yum groupinfo 顯示某個軟件包組的信息
yum groupinstall 安裝某個軟件包組
yum groupremove 刪除某個軟件包組
yum history 查看yum使用的歷史
yum clean {all|packages|metadata} 清除所有/軟件包/元數據
yum makecache 生成yum元數據
yum –nogpgcheck 不校驗公鑰文件
yum -y 自動進行操作

安裝示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

[root@localhost ~]# yum install tree

已加載插件:fastestmirror, refresh-packagekit, security

設置安裝進程

Loading mirror speeds from cached hostfile

* base: mirrors.aliyun.com

* extras: mirrors.aliyun.com

* updates: mirrors.aliyun.com

base??????????????????????????????????????????????????????????????????????????????????????????????????????????????| 3.7 kB???? 00:00

extras????????????????????????????????????????????????????????????????????????????????????????????????????????????| 3.4 kB???? 00:00

updates?????????????????????????????????????????????????????????????????????????????????????????????????????????? | 3.4 kB???? 00:00

解決依賴關系

–> 執行事務檢查

—> Package tree.x86_64 0:1.5.3-3.el6 will be 安裝

–> 完成依賴關系計算

 

依賴關系解決

 

=========================================================================================================================================

軟件包????????????????????????架構????????????????????????????版本??????????????????????????????????倉庫?????????????????????????? 大小

=========================================================================================================================================

正在安裝:

tree??????????????????????????x86_64??????????????????????????1.5.3-3.el6?????????????????????????? base?????????????????????????? 36 k

 

事務概要

=========================================================================================================================================

Install?????? 1 Package(s)

 

總下載量:36 k

Installed size: 65 k

確定嗎?[y/N]:y

 

 

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

網絡源:
mv CentOS-Base.repo CentOS-Base.repo.bak? ? ? #備份repo倉庫文件
vim centos-network.repo? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #編輯新的網絡源repo
[base]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #輸入新的配置文件內容
name=CentOS-$releasever – Base
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

本地源:
mount -rt /dev/cdrom /media/cdrom? ? ? ? ? ? ? ? ? ?#掛載光盤至/media/cdrom下
vim centos-network.repo? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #編輯網絡源repo
[xen4centos]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#在后面輸入新的配置文件內容
name=Xen 4 CentOS 6
baseurl=file:///media/cdrom
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

yum repolist? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#檢查xen4centos是否加入進來

 

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

 

at命令和crontab命令的區別在于
at:這個工作僅執行一次;
crontab:這個工作將周期的持續的進行下去

(1)at命令格式:? ? at? [OPTION]… TIME

TIME:? HH:MM [YYYY-mm-dd]

noon,midnight, teatime

tomorrow

now+#

UNIT:minutes, hours, days, OR weeks

at的作業有隊列,用單個字母表示,默認都使用a隊列;

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

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

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

-c:查看指定作業的具體內容;

-q QUEUE:指明隊列;

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

(2) crontab ?周期性任務計劃命令:

語法:

crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]

說明:

crontab 是用來讓使用者在固定時間或固定間隔執行程序之用,換句話說,也就是類似使用者的時程表。

-u user 是指設定指定 user 的時程表,這個前提是你必須要有其權限(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設定自己的時程表。

參數:

-e [UserName]: 執行文字編輯器來設定時程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL 環境變數來指定使用那個文字編輯器(比如說 setenv VISUAL joe)

-r [UserName]: 刪除目前的時程表

-l [UserName]: 列出目前的時程表

-v [UserName]:列出用戶cron作業的狀態

f1 f2 f3 f4 f5 program

其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程式。

當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程式,其余類推

當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2為 a-b 時表示從第 a 到第 b 小時都要執行,其余類推

當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其余類推

當 f1 為 a, b, c,… 時表示第 a, b, c,… 分鐘要執行,f2 為 a, b, c,… 時表示第 a, b, c…個小時要執行,其余類推

使用者也可以將所有的設定先存放在檔案 file 中,用 crontab file 的方式來設定時程表。

由于版本不一樣,所以部分語法有差別,例如在hp unix aix 中設定間隔執行如果采用*/n 方式將出現語法錯誤,在這類unix中 ,間隔執行只能以列舉方式。

使用方法

用VI編輯一個文件 cronfile,然后在這個文件中輸入格式良好的時程表。編輯完成后,保存并退出。 [2]

在命令行輸入

$: crontab cronfile

這樣就將cronfile文件提交給c r o n進程,同時,新創建cronfile的一個副本已經被放在/ v a r / s p o o l / c r o n目錄中,文件名就是用戶名。

示例:

crontab -e

10 3,5 * * 3 /bin/date? +”\%Y-\%m-\%d \%H:\%M:\%S”

crontab -l

 

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

(1)什么是sed

sed:Stream Editor文本流編輯,sed是一個“非交互式的”面向字符流的編輯器。能同時處理多個文件多行的內容,可以不對原文件改動,把整個文件輸入到屏幕,可以把只匹配到模式的內容輸入到屏幕上。還可以對原文件改動,但是不會再屏幕上返回結果。

 

(2) ?sed命令格式

sed [OPTION]…? ‘script’? [input-file] …

其中 script? 是地址定界編輯命令

sed命令的選項(option):

-n :只打印模式匹配的行

-e :直接在命令行模式上進行sed動作編輯,此為默認選項

-f :將sed的動作寫在一個文件內,用–f filename 執行filename內的sed動作

-r :支持擴展表達式

-i :直接修改文件內容

編輯命令:?d:刪除;

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

a? \text:在行后面追加文本“text”,支持使用\n實現多行追加;

i? \text:在行前面插入文本“text”,支持使用\n實現多行插入;

c? \text:把匹配到的行替換為此處指定的文本“text”;

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

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

示例:

sed -n? ‘4,6p’ /etc/fstab? ? ##輸出etc/fstab中4至6行

sed ‘2~2d’ /etc/fstab? ? ##刪除/etc/fstab中所有的偶數行

sed ‘2i\test test’ /etc/fstab? ? ##在/etc/fstab的第二行前面插入一行test test

sed ‘/^[^#]/w /tmp/fstab.new’ /etc/fstab? ?##將/etc/fstab中非#開頭的行都寫入到/tmp/fstab.new文件中

 

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

(0)
dxwssldxwssl
上一篇 2018-07-15
下一篇 2018-07-15

相關推薦

  • 進入各種模式操作 在centos虛擬機上實現內外網的連接

    ? 進入單用戶模式; 重啟后在下面界面按任意鍵 進入此界面后按“ a ” 在下面界面 輸入? 1 ? 進入單用戶模式? 1之前有空格     進入救援模式 1 重啟后將鼠標鍵入界面里,在第一個界面的進度條沒走完之前按一次ESC鍵即可進入(只能按一次ESC) 2 選擇上圖中的第三項光盤引導啟動,之后選擇下圖的第三項救援模式啟動。 &nbsp…

    2018-05-09
  • linux常用命令

    系統信息?arch 顯示機器的處理器架構(1)uname -m 顯示機器的處理器架構(2)uname -r 顯示正在使用的內核版本dmidecode -q 顯示硬件系統部件 – (SMBIOS / DMI)hdparm -i /dev/hda 羅列一個磁盤的架構特性hdparm -tT /dev/sda 在磁盤上執行測試性讀取操作cat /pro…

    2018-03-17
  • Linux基礎知識

    計算機組成、Linux的發行版、Linux的哲學思想、Linux常用命令、Linux獲取幫助信息

    Linux筆記 2018-05-10
  • iptables及sudo簡介

    iptables及sudo簡介

    2018-05-24
  • linux系統修復報錯的方法 . 3

    stage1如果丟失怎么辦
    stage1.5如果丟失怎么辦
    后有centos6的啟動流程

    2018-05-12
  • keepalived之ipvs-dr

    keepalived初試

    2018-07-15
欧美性久久久久