第五周作業

1、簡述rpm與yum命令的常見選項,并舉例
2、自建yum倉庫,分別為網絡源和本地源
3、簡述at和crontab命令,制定 每周三凌晨三、五點10分執行某個腳本,輸出當前時間,時間格式為 2017-12-28 10:00:00
4、簡述sed常用操作命令,并舉例

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

rpm命令:

rpm ?[OPTIONS] ?[PACKAGE_FILE]

安裝:-i, –install

升級:-U, –update, -F, –freshen

卸載:-e, –erase

查詢:-q, –query

詳細信息:-v, (更詳細信息-vv)

校驗:-V, –verify

數據庫維護:–builddb, –initdb

輸出進度條;每個#表示2%的進度: ?-h

示例:

rpm -ivh? ? zip.x86_64? ? #安裝zip包并顯示安裝進度和詳細信息

卸載:rpm -e ?[options] [filename]

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

–nodeps:忽略依賴關系

–test:測試卸載,dry run模式

示例:

rpm -e zip? #卸載zip包

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

[select-options]

PACKAGE_NAME:查詢指定的程序包是否已經安裝,及其版本;

-a, –all:查詢所有已經安裝過的包;

-f ?FILE:查詢指定的文件由哪個程序包安裝生成;

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

–whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個程序包提供;

–whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個包所依賴;

[query-options]

–changelog:查詢rpm包的changlog;

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

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

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

-d, –docfiles:查詢指定的程序包提供的文檔;

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

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

–scripts:查看程序包自帶的腳本片斷;

用法:
-qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE
-qpi PACKAGE_FILE, -qpl PACKAGE_FILE, -qpc PACKAGE_FILE, …

示例:

rpm -qa? ? ? ? ? ? ? ? #查詢所有已經安裝過的包

rpm -qi zip? ? ? ? ? #查詢安裝包zip相關的信息,版本號、大小、所屬的包組,等

rpm -qc zip.x86_64? ? ? #查詢指定的程序包zip提供的配置文件

rpm -qf /etc/yum.conf? ?#查詢此文件有那個安裝包生成的

yum命令的用法:
yum [options] [command] [package …]

顯示倉庫列表:
repolist [all|enabled|disabled]

顯示程序包:
list
# yum list [all | glob_exp1] [glob_exp2] […]
# yum list {available|installed|updates} [glob_exp1] […]

安裝程序包:
install package1 [package2] […]

reinstall package1 [package2] […] (重新安裝)

升級程序包:
update [package1] [package2] […]

downgrade package1 [package2] […] (降級)

查看yum事務歷史:

history

包組管理的相關命令:
* groupinstall group1 [group2] […]
* groupupdate group1 [group2] […]
* grouplist [hidden] [groupwildcard] […]
* groupremove group1 [group2] […]
* groupinfo group1 […]

示例:

yum repolist? ? ? #顯示可用倉庫列表

yum install zip.x86_64? ? #在線安裝zip包

yum list install? #顯示已經安裝的rpm包列表

yum history? ? ?#顯示安裝rpm包的事物歷史

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命令:
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:指明隊列;

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

cron命令:

用戶cron的配置格式:/var/spool/cron/USERNAME
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
# | | | | |
# * * * * * command to be executed

注意:
(1) 每行定義一個cron任務,共6個字段;
(2) 此處的環境變量不同于用戶登錄后獲得的環境,因此,建議命令使用絕對路徑,或者自定義PATH環境變量;
(3) 郵件發送給當前用戶;

時間表示法:
(1) 特定值;
給定時間點有效取值范圍內的值;
注意:day of week和day of month一般不同時使用;
(2) *
給定時間點上有效取值范圍內的所有值;表“每..”
(3) 離散取值:,
在時間點上使用逗號分隔的多個值;
#,#,#
(4) 連續取值:-
在時間點上使用-連接開頭和結束
#-#
(5) 在指定時間點上,定義步長:
/#:#即步長;

注意:
(1) 指定的時間點不能被步長整除時,其意義將不復存在;
(2) 最小時間單位為“分鐘”,想完成“秒”級任務,得需要額外借助于其它機制;
定義成每分鐘任務:而在利用腳本實現在每分鐘之內,循環執行多次;

示例:

crontab -e

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

crontab -l

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

sed [OPTION]… ‘script’ [input-file] …
script:地址定界編輯命令
常用選項:
-n:不輸出模式空間中的內容至屏幕;
-e script, –expression=script:多點編輯;編輯命令:
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 -n? ‘2,6p’ /etc/fstab? ? ##輸出etc/fstab中2至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/100852

(0)
DanDan
上一篇 2018-06-11 14:26
下一篇 2018-06-11 20:12

相關推薦

欧美性久久久久