程序包管理工具及sed基本使用方法

程序包管理工具及sed基本使用方法

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

rpm命令是一個管理rpm類型的程序包管理工具,用來安裝,升級,管理,卸載,查詢,校驗rpm類型的軟件。具體操作如下:

1.安裝:rpm {-i|–install} [install-options] PACKAGE_FILL…

-h:hash,以#來表示安裝進度;

-v,–verbose:顯示安裝過程中的詳細信息;

-vv:顯示安裝過程中的更詳細信息;

–test:不執行真正的安裝,而僅檢查依賴關系及沖突信息等;

–nodeps:忽略程序包的依賴關系進行安裝,能安裝成功,不一定能運行;

–replacepkgs:覆蓋安裝

–force:強制安裝;

安裝時的常用組合為:-ivh,-ivvh

例子:

安裝程序包(安裝zsh-5.0.2-7.el7.x86_64.rpm程序包)

1

2.升級:

rpm {-U|–upgrade} [install-options] PACKAGE_FILE…

-U:升級或安裝

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

-F:升級,原rpm包未安裝的,不進行升級操作

–test:不執行真正的安裝過程,而僅報告依賴關系及沖突信息;

–nodeps:忽略依賴關系進行安裝,安裝完成后程序不一定能執行;

–oldpackages:降低到舊版本。

例子:升級zsh程序包

2

3.卸載:移除已經安裝的程序包

rpm {-e|–erase} [–allmatches] [–nodeps] [–test] PACKAGE_NAME…

簡單用法:rpm -e PACKAGE_NAME…

–NODEPS:忽略依賴關系

–test:測試卸載啊,dry-run

–allmatches:如果一個程序包同時安裝了多個版本,則此選項一次全部卸載程序包,如果程序包的配置文件安裝后曾被修改,卸載時,此文件通常不會被刪除,而是被重命名。

例子:卸載zsh程序包? ? rpm -e zsh

4.查詢:查詢某包是否已經安裝,以及檢查安裝的所有包,還可以查看某包的詳細信息;

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

[select-options]

a.查詢某包或某些包是否安裝

rpm -q PACKAGE_NAME…

b.查詢已經安裝的所有包

rpm -qa

c.查詢某文件是由哪個程序包所安裝生成

rpm -qf /PATH/TO/SOMEFILE

d.查詢尚未安裝的包文件的相關信息

rpm -qpi PACKAGE_FILE

[query-options]選項:

a.查詢某包的簡要說明:

rpm -qi PACKAGE_NAME

b.查詢某包安裝生成的文件列表

rpm -ql PACKAGE_NAME

c.查詢某包安裝完成后生成的配置文件

rpm -qc PACKAGE_NAME

d.查詢某包安裝完成后生成的幫助文件信息

rpm -qd PACKAGE_NAME

e.查看某包制作時隨版本變化的changelog信息

rpm -q –changelog PACKAGE_NAME

f.查詢某包提供的capability

rpm -q –provices PACAGE_NAME

g.查詢某包所依賴的capability

rpm -q -requires PACAKGE_NAME

h.查詢某包安裝或卸載時執行腳本

腳本有四類:

preinstall:安裝過程開始之前執行的腳本;

postinstall:安裝過程完成之后執行的腳本;

preuninstall:卸載開始之前執行的腳本

postuninstall:卸載過程完成之后執行的腳本

5.校驗:查詢包安裝之后生成的文件是否發生了改變

rpm {-V|–verify} [select-options] [verify-options]

當沒有輸出結果時表示程序包時完整的。

6.驗證程序包的來源及完整性

先導入合法的KEY文件rpm –import /PATH/TO/RPM-GPG-KEY-FILE

驗證:rpm {-K|–checksig} PACKAGE_FILE

–nosignature:不檢查來源合法性

–nodigest:不檢查完整性

7.rpm管理器數據庫的重建:

rpm {–initdb|–rebuilddb} [-v] [–dbpath DIRECTORY]

–initdb:初始化數據庫,數據庫完全不存在是,可新建;

–rebuilddb:無論當前數據庫是否存在,都會直接新建數據庫,存放在/var/lib/rpm當中;

yum命令:用于添加、刪除、卸載、更新rpm包,自動解決程序包之間的依賴關系

yum命令的使用:yum [options] [command] [package]

1.程序包安裝

yum install package [package2] [….]

2.程序包升級

yum update [package1] [package2] [….]

3.程序包降級

yum downgrade package1 [package2] …

4.程序包卸載

yum remove | erase package1 [package2] […]

5.包組管理

列出所有包組:yum grouplist

顯示指定包組詳細信息:yum groupinfo group1 […]

安裝:yum groupinstall group1 ….

卸載:yum groupremove group1 ….

升級:yum groupupdate group1 ….

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

1.制作本地yum源,使用系統安裝光盤作為yum源。

a.掛載系統安裝盤至系統/media/cdrom;

b.新建配置文件,在/etc/yum.repo.d/下新建local.repo的配置文件,配置信息如下

[base]
name=CentOS 7
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0

2.制作網絡yum repository:

在/etc/yum.repo.d/local.repo配置文件中,添加網絡yum源配置信息;如下

[epel]
name=CentOS epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
enabled=1
gpgcheck=0

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

at和crontab命令都是用來指定定時任務的,其中at命令是用來處理一次性的計劃任務;crontab則是可以根據定義的周期性信息,循環的去做一些任務。

1.at命令:

at的使用方法:at [-mldvc] TIME

-l:列出目前系統上的所有當前用戶的at隊列;

-d:可以取消一個在at排程中的工作;

-v:可以使用較明顯的時間格式列出at中的工作列表

-f:把at要執行的所有任務放置于文件中,讓at讀取此文件作為要運行的任務

2.crontab命令

-l:列出已經定義的所有任務;

-e:打開編輯界面定義任務

-r:移除所有任務

3.示例:

3

四、簡述sed常用操作命令

sed編輯器稱為流編輯器(stream editor),sed編輯器可以根據輸入命令行的命令或者存儲在命令文本文件中的命令處理數據。它每次從輸入讀取一行數據,將該數據與所提供的編輯器命令進行匹配,根據命令修改數據流中的數據,然后將新數據輸出到STDOUT,在流編輯器將全部命令和一行數據匹配完全后,讀取下一行數據,并重復過程。處理完數據流中的全部數據后,流編輯器停止。

sed的語法結構:sed [OPTION]…{script} [input-file] … [actions]

-r:支持擴展正則表達式

-n:靜默模式

-e script1 -e script2 -e script3:指定多腳本運行

-f /path/to/script_file:從指定的文件中讀取腳本并運行

-i:直接修改源文件(一般不這樣做)

sed的編輯命令:

d:刪除模式空間中的行

=:為模式空間中的行打印行號

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

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

c\text:用text替換匹配到的行

p:打印模式空間的行

g:全局替換

i:不區分大小寫

sed除了“模式空間”之外,還有一個“保留空間”。

sed保留空間的使用:

h:用模式空間的內容覆蓋保留空間的內容

H:把模式空間中的內容追加至保留空間中內容的后面

g:從保留空間中取出內容,并將其覆蓋模式空間中的內容

G:從保留空間中取出內容,并將其追加在模式空間的后面

x:把保留空間和模式空間的內容進行交換

n:讀取匹配到的行的下一行至模式空間

N:讀取匹配到的下一行至模式空間,追加在模式空間中原有內容的后面

D:刪除多行模式空間中的首行

d:刪除模式空間中的內容

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

(1)
gw章gw章
上一篇 2018-04-01 10:27
下一篇 2018-04-01 13:23

相關推薦

  • 文件管理基礎知識

    ? ? ? ? ? ? ? ?文件管理 目錄篇 / :根目錄 bin??? boot??? dev??? etc??? home??? root??? run???? sbin??? tmp??? usr?? var 字符界面顏色的意義: 藍色=目錄、綠色=可執行文件、紅色=壓縮文件、淺藍色=鏈接文件 灰色=其他文件 boot:引導文件的存放目錄? bin:…

    Linux筆記 2018-04-08
  • 變量的理解

    有點繞多動動手就好了

    Linux筆記 2018-04-15
  • nmcli team 網橋

    nmcli connection 命令行更改ip地址 nmcli connection add con-name home-eth3 ifname eth1 type ethernet ipv4.method auto connection.autoconnect yes 表示在 eth1網卡身上 上添加 名為home-eth3 自動獲取且下回自動開啟的 E…

    Linux筆記 2018-05-06
  • 如何在現有的 Linux 系統上添加新的磁盤

    作為一個系統管理員,我們會有這樣的一些需求:作為升級服務器容量的一部分,或者有時出現磁盤故障時更換磁盤,我們需要將新的硬盤配置到現有服務器。

    Linux筆記 2018-04-24
  • liunx基礎

    在shell中可執行的命令有兩類: 執行外部命令hash 緩存表 ? hash 常見用法 :

    Linux筆記 2018-04-01
  • 軟raid5創建及管理

    linux mdadm raid5

    Linux筆記 2018-04-28
欧美性久久久久