天天看點

Linux全攻略--軟體包管理

1.RPM包管理

1)RPM軟體包查詢指令參數集合

格式:rpm {-q|--query}[select-option][query-options]

-p<file>:查詢軟體包的檔案.

-f<file>:查詢<FILE>屬于哪個軟體包

-g<group>:查詢屬于<GROUP>組的軟體包.

<null>:顯示軟體包的全部辨別.

-i:顯示軟體包的概要資訊

-l:顯示軟體包中的檔案清單.

-c:顯示配置檔案清單

-d:顯示文檔檔案清單.

-s:顯示軟體包中檔案清單和其狀态

--queryformat(--qf):以使用者指定的方式顯示查詢資訊.

--dump:顯示每個檔案的所有的已校驗資訊

--provides:顯示軟體包提供的功能

--requires(-R):顯示軟體包所需的功能

下面看例子:

查詢檔案所屬軟體包.

查詢軟體包所包含的檔案清單

查詢軟體包概要資訊

查詢所有已經安裝的軟體包

RPM軟體包的安裝

軟體包查詢完成後,就可以進行軟體的實際安裝了.使用還參數-i的RPM指令可以實作安裝.

rpm -i (or --install) options file1.rpm..fileN.rpm

參數:

-h:安裝時輸出hash記号("#")

--test:隻對安裝進行測試,并不實際安裝.

--percent:以百分比的形式輸出安裝的進度

--excludedocs:不安裝軟體包中的文檔檔案

--includedocs:安裝文檔

--replacekgs:強制重新安裝已經安裝的軟體包.

--replacefiles:替換屬于其它軟體包的檔案.

--force:忽略軟體包和檔案的沖突

--ignoreos:不檢查軟體包運作的作業系統

--nodeps:不檢查依賴關系

下面看例子

這個是強制安裝

安裝目前目錄下的軟體包,顯示安裝過程的詳細資訊,采用一般的安裝參數ivh,表示顯示附加資訊和安裝進度的#符号的安裝方式.

RPM軟體包的解除安裝

#rpm -e tools.rpm

RPM軟體包的更新

應使用帶-U參數指令完成

格式:#rpm -U options file1.rpm ...fileN.rpm

如下面:#rpm -Uvh tools.rpm

RPM軟體包的驗證

驗證軟體包是通過比較已經安裝的檔案和軟體包的原始檔案資訊來進行的,驗證主要是比較檔案的尺寸,MD5校驗碼,檔案權限,類型,屬主和使用者組等.RPM采用帶參數-V的指令來驗證的.

如果不同便會顯示missing ...

這是驗證單個軟體包

這是/bin/vi檔案的正确性

驗證所有已安裝的軟體包.

TAR包管理

TAR指令是在LINUX下最常用的檔案打包工具,可以将若幹個檔案或苦幹個目錄下打包成一個檔案,既有得于檔案管理,也友善壓縮和檔案的網絡傳輸.

使用文法:tar [主選項+輔選項]檔案或目錄

參數

-A或--catenate   新增溫暖件到已存在的備份檔案。

  -b<區塊數目>或--blocking-factor=<區塊數目>   設定每筆記錄的區塊數目,每個區塊大小為12Bytes。

  -B或--read-full-records   讀取資料時重設區塊大小。

  -c或--create   建立新的備份檔案。

  -C<目的目錄>或--directory=<目的目錄>   切換到指定的目錄。

  -d或--diff或--compare   對比備份檔案内和檔案系統上的檔案的差異。

  -f<備份檔案>或--file=<備份檔案>   指定備份檔案。

  -F<Script檔案>或--info-script=<Script檔案>   每次更換錄音帶時,就執行指定的Script檔案。

  -g或--listed-incremental   處理GNU格式的大量備份。

  -G或--incremental   處理舊的GNU格式的大量備份。

  -h或--dereference   不建立符号連接配接,直接複制該連接配接所指向的原始檔案。

  -i或--ignore-zeros   忽略備份檔案中的0 Byte區塊,也就是EOF。

  -k或--keep-old-files   解開備份檔案時,不覆寫已有的檔案。

  -K<檔案>或--starting-file=<檔案>   從指定的檔案開始還原。

  -l或--one-file-system   複制的檔案或目錄存放的檔案系統,必須與tar指令執行時所處的檔案系統相同,否則不予複制。

  -L<媒體容量>或-tape-length=<媒體容量>   設定存放每體的容量,機關以1024 Bytes計算。

  -m或--modification-time   還原檔案時,不變更檔案的更改時間。

  -M或--multi-volume   在建立,還原備份檔案或列出其中的内容時,采用多卷冊模式。

  -N<日期格式>或--newer=<日期時間>   隻将較指定日期更新的檔案儲存到備份檔案裡。

  -o或--old-archive或--portability   将資料寫入備份檔案時使用V7格式。

  -O或--stdout   把從備份檔案裡還原的檔案輸出到标準輸出裝置。

  -p或--same-permissions   用原來的檔案權限還原檔案。

  -P或--absolute-names   檔案名使用絕對名稱,不移除檔案名稱前的"/"号。

  -r或--append   新增檔案到已存在的備份檔案的結尾部分。

  -R或--block-number   列出每個資訊在備份檔案中的區塊編号。

  -s或--same-order   還原檔案的順序和備份檔案内的存放順序相同。

  -S或--sparse   倘若一個檔案内含大量的連續0位元組,則将此檔案存成稀疏檔案。

  -t或--list   列出備份檔案的内容。

  -T<範本檔案>或--files-from=<範本檔案>   指定範本檔案,其内含有一個或多個範本樣式,讓tar解開或建立符合設定條件的檔案。

  -u或--update   僅置換較備份檔案内的檔案更新的檔案。

  -U或--unlink-first   解開壓縮檔案還原檔案之前,先解除檔案的連接配接。

  -v或--verbose   顯示指令執行過程。

  -V<卷冊名稱>或--label=<卷冊名稱>   建立使用指定的卷冊名稱的備份檔案。

  -w或--interactive   遭遇問題時先詢問使用者。

  -W或--verify   寫入備份檔案後,确認檔案正确無誤。

  -x或--extract或--get  從備份檔案中還原檔案。

  -X<範本檔案>或--exclude-from=<範本檔案>  指定範本檔案,其内含有一個或多個範本樣式,讓ar排除符合設定條件的檔案。

  -z或--gzip或--ungzip   通過gzip指令處理備份檔案。

  -Z或--compress或--uncompress   通過compress指令處理備份檔案。

  -<裝置編号><存儲密度>   設定備份用的外圍裝置編号及存放資料的密度。

  --after-date=<日期時間>   此參數的效果和指定"-N"參數相同。

  --atime-preserve   不變更檔案的存取時間。

  --backup=<備份方式>或--backup   移除檔案前先進行備份。

  --checkpoint   讀取備份檔案時列出目錄名稱。

  --concatenate   此參數的效果和指定"-A"參數相同。

  --confirmation   此參數的效果和指定"-w"參數相同。

  --delete   從備份檔案中删除指定的檔案。

  --exclude=<範本樣式>   排除符合範本樣式的問家。

  --group=<群組名稱>   把加入裝置檔案中的檔案的所屬群組設成指定的群組。

  --help   線上幫助。

  --ignore-failed-read   忽略資料讀取錯誤,不中斷程式的執行。

  --new-volume-script=<Script檔案>   此參數的效果和指定"-F"參數相同。

  --newer-mtime   隻儲存更改過的檔案。

  --no-recursion   不做遞歸處理,也就是指定目錄下的所有檔案及子目錄不予處理。

  --null   從null裝置讀取檔案名稱。

  --numeric-owner   以使用者識别碼及群組識别碼取代使用者名稱和群組名稱。

  --owner=<使用者名稱>   把加入備份檔案中的檔案的擁有者設成指定的使用者。

  --posix   将資料寫入備份檔案時使用POSIX格式。

  --preserve      此參數的效果和指定"-ps"參數相同。

  --preserve-order      此參數的效果和指定"-A"參數相同。

  --preserve-permissions      此參數的效果和指定"-p"參數相同。

  --record-size=<區塊數目>      此參數的效果和指定"-b"參數相同。

  --recursive-unlink   解開壓縮檔案還原目錄之前,先解除整個目錄下所有檔案的連接配接。

  --remove-files   檔案加入備份檔案後,就将其删除。

  --rsh-command=<執行指令>   設定要在遠端主機上執行的指令,以取代rsh指令。

  --same-owner   嘗試以相同的檔案擁有者還原問家你。

  --suffix=<備份字尾字元串>   移除檔案前先行備份。

  --totals   備份檔案建立後,列出檔案大小。

  --use-compress-program=<執行指令>   通過指定的指令處理備份檔案。

  --version   顯示版本資訊。

  --volno-file=<編号檔案>   使用指定檔案内的編号取代預設的卷冊編号。

建立tar檔案

主參數選項是C,并指明建立tar檔案名.

顯示目前目錄下的檔案資訊.

将該目錄下的兩個檔案打包成gong.tar.

可看見結果.

這是将目錄下的所有檔案打包

顯示tar檔案内容

用帶t參數的指令

從tar檔案中取出檔案

用帶-x的指令.

對目前目錄下的檔案解包

LINUX下常用的壓縮工具

LINUX下的壓縮工具有很多,下面列出常用的壓縮工具和其産生檔案的字尾

gzip/guzip:字尾名為.gz

compress/uncompress:字尾名為.Z

zip/unzip:字尾名為.zip

bzip2/bunzip2:字尾名為.bz2

lha:字尾名為.lzh

常用字的包括gzip.zip和bzip2三種.

gzip壓縮工具

對檔案進行壓縮的目的有兩個:一是可以減少存儲空間,二是通過網絡傳輸檔案時,可以減少傳輸的網絡開銷.gzip是LINUX最常用的軟體壓縮工具,

gzip[選項]壓縮或解壓縮的檔案名

-a或--ascii  使用ASCII文字模式。 

-c或--stdout或--to-stdout  把壓縮後的檔案輸出到标準輸出裝置,不去更動原始檔案。 

-d或--decompress或----uncompress  解開壓縮檔案。 

-f或--force  強行壓縮檔案。不理會檔案名稱或硬連接配接是否存在以及該檔案是否為符号連接配接。 

-h或--help  線上幫助。 

-l或--list  列出壓縮檔案的相關資訊。 

-L或--license  顯示版本與版權資訊。 

-n或--no-name  壓縮檔案時,不儲存原來的檔案名稱及時間戳記。 

-N或--name  壓縮檔案時,儲存原來的檔案名稱及時間戳記。 

-q或--quiet  不顯示警告資訊。 

-r或--recursive  遞歸處理,将指定目錄下的所有檔案及子目錄一并處理。 

-S<壓縮字尾字元串>或----suffix<壓縮字尾字元串>  更改壓縮字尾字元串。 

-t或--test  測試壓縮檔案是否正确無誤。 

-v或--verbose  顯示指令執行過程。 

-V或--version  顯示版本資訊。 

-<壓縮效率>  壓縮效率是一個介于1-9的數值,預設值為"6",指定愈大的數值,壓縮效率就會愈高。 

--best  此參數的效果和指定"-9"參數相同。 

--fast  此參數的效果和指定"-1"參數相同。

壓縮目前目錄下的所有檔案,并且顯示壓縮比,顯示已經替代原來的檔案.

可看到壓縮了的檔案

對目前目錄下所有壓縮的檔案解壓,并列出詳細的資訊.

顯示壓縮檔案的内容資訊,可以帶-l參數的指令顯示gz檔案的内容.隻是顯示檔案内容,并不實際解壓縮檔案.

在這個處理過程中系統先将苦幹檔案或檔案夾打包成.tar,然後将生成的檔案壓縮成.tar.gz檔案.

可看下壓縮的結果

zip/unzip指令

zip程式位于/usr/bin目錄中,可将檔案壓縮成.zip檔案以節省硬碟空間.

zip[選項]壓縮後檔案名 待壓縮檔案或檔案夾

參  數:

  -A   調整可執行的自動解壓縮檔案。

  -b<工作目錄>   指定暫時存放檔案的目錄。

  -c   替每個被壓縮的檔案加上注釋。

  -d   從壓縮檔案内删除指定的檔案。

  -D   壓縮檔案内不建立目錄名稱。

  -f   此參數的效果和指定"-u"參數類似,但不僅更新既有檔案,如果某些檔案原本不存在于壓縮檔案内,使用本參數會一并将其加入壓縮檔案中。

  -F   嘗試修複已損壞的壓縮檔案。

  -g   将檔案壓縮後附加在既有的壓縮檔案之後,而非另行建立新的壓縮檔案。

  -h   線上幫助。

  -i<範本樣式>   隻壓縮符合條件的檔案。

  -j   隻儲存檔案名稱及其内容,而不存放任何目錄名稱。

  -J   删除壓縮檔案前面不必要的資料。

  -k   使用MS-DOS相容格式的檔案名稱。

  -l   壓縮檔案時,把LF字元置換成LF+CR字元。

  -ll   壓縮檔案時,把LF+CR字元置換成LF字元。

  -L   顯示版權資訊。

  -m   将檔案壓縮并加入壓縮檔案後,删除原始檔案,即把檔案移到壓縮檔案中。

  -n<字尾字元串>   不壓縮具有特定字尾字元串的檔案。

  -o   以壓縮檔案内擁有最新更改時間的檔案為準,将壓縮檔案的更改時間設成和該檔案相同。

  -q   不顯示指令執行過程。

  -r   遞歸處理,将指定目錄下的所有檔案和子目錄一并處理。

  -S   包含系統和隐藏檔案。

  -t<日期時間>   把壓縮檔案的日期設成指定的日期。

  -T   檢查備份檔案内的每個檔案是否正确無誤。

  -u   更換較新的檔案到壓縮檔案内。

  -v   顯示指令執行過程或顯示版本資訊。

  -V   儲存VMS作業系統的檔案屬性。

  -w   在檔案名稱裡假如版本編号,本參數僅在VMS作業系統下有效。

  -x<範本樣式>   壓縮時排除符合條件的檔案。

  -X   不儲存額外的檔案屬性。

  -y   直接儲存符号連接配接,而非該連接配接所指向的檔案,本參數僅在UNIX之類的系統下有效。

  -z   替壓縮檔案加上注釋。

  -$   儲存第一個被壓縮檔案所在磁盤的卷冊名稱。

  -<壓縮效率>   壓縮效率是一個介于1-9的數值。

顯示壓縮過程中每個檔案的壓縮比,-r表示遞歸壓縮子目錄下所有檔案

看下結果.

用帶-v參數選項可以檢視zip檔案的内容

用帶-d的參數選項删除某個檔案.

用unzip指令解壓縮檔案

unzip[參數選項]壓縮檔案名.zip

  -c   将解壓縮的結果顯示到螢幕上,并對字元做适當的轉換。

  -f   更新現有的檔案。

  -l   顯示壓縮檔案内所包含的檔案。

  -p   與-c參數類似,會将解壓縮的結果顯示到螢幕上,但不會執行任何的轉換。

  -t   檢查壓縮檔案是否正确。

  -u   與-f參數類似,但是除了更新現有的檔案外,也會将壓縮檔案中的其他檔案解壓縮到目錄中。

  -v   執行是時顯示詳細的資訊。

  -z   僅顯示壓縮檔案的備注文字。

  -a   對文本檔案進行必要的字元轉換。

  -b   不要對文本檔案進行字元轉換。 

  -C   壓縮檔案中的檔案名稱區分大小寫。

  -j   不處理壓縮檔案中原有的目錄路徑。

  -L   将壓縮檔案中的全部檔案名改為小寫。

  -M   将輸出結果送到more程式處理。

  -n   解壓縮時不要覆寫原有的檔案。

  -o   不必先詢問使用者,unzip執行後覆寫原有檔案。

  -P<密碼>   使用zip的密碼選項。

  -q   執行時不顯示任何資訊。

  -s   将檔案名中的空白字元轉換為底線字元。

  -V   保留VMS的檔案版本資訊。

  -X   解壓縮時同時回存檔案原來的UID/GID。

  [.zip檔案]   指定.zip壓縮檔案。

  [檔案]   指定要處理.zip壓縮檔案中的哪些檔案。

  -d<目錄>   指定檔案解壓縮後所要存儲的目錄。

  -x<檔案>   指定不要處理.zip壓縮檔案中的哪些檔案。

  -Z   unzip -Z等于執行zipinfo指令。

解壓縮目前檔案.

解壓目前目錄下檔案,指明不覆寫原來的檔案,并将解壓到/tmp目錄下.

顯示目前目錄下的壓縮檔案内容

bzip2指令

bzip2是一個無損壓縮軟體,具有高品質的資料壓縮能力,它能将檔案壓縮到原來的10%到15%,而且壓縮速度和解壓縮速度都非常高.是以廣泛使用.

看下參數

 -c或--stdout  将壓縮與解壓縮的結果送到标準輸出。 

-d或--decompress  執行解壓縮。 

-f或--force  bzip2在壓縮或解壓縮時,若輸出檔案與現有檔案同名,預設不會覆寫現有檔案。若要覆寫,請使用此參數。 

-h或--help  顯示幫助。 

-k或--keep  bzip2在壓縮或解壓縮後,會删除原始的檔案。若要保留原始檔案,請使用此參數。 

-s或--small  降低程式執行時記憶體的使用量。 

-t或--test  測試.bz2壓縮檔案的完整性。 

-v或--verbose  壓縮或解壓縮檔案時,顯示詳細的資訊。 

-z或--compress  強制執行壓縮。 

-L,--license,

--repetitive-best  若檔案中有重複出現的資料時,可利用此參數提高壓縮效果。 

--repetitive-fast  若檔案中有重複出現的資料時,可利用此參數加快執行速度。 

-壓縮等級  壓縮時的區塊大小。

看例子

壓縮目前目錄下的所有檔案.

看下壓縮結果

用bunzip2指令解壓縮檔案

 -f或--force  解壓縮時,若輸出的檔案與現有檔案同名時,預設不會覆寫現有的檔案。若要覆寫,請使用此參數。 

-k或--keep  在解壓縮後,預設會删除原來的壓縮檔案。若要保留壓縮檔案,請使用此參數。 

-s或--small  降低程式執行時,記憶體的使用量。 

-v或--verbose  解壓縮檔案時,顯示詳細的資訊。 

-l,--license,-V或--version  顯示版本資訊。

解壓目前目錄下的所有檔案.

     本文轉自yangming1052 51CTO部落格,原文連結:http://blog.51cto.com/ming228/106604,如需轉載請自行聯系原作者

繼續閱讀