LPI Linux 認證/從原始碼製作和安裝程式
外觀
(LPIC-2 版本 4.5)
權重 2
描述: 候選人應該能夠從原始碼構建並安裝可執行程式。此目標包括能夠解壓縮原始碼檔案。
關鍵知識領域
- 使用常見的壓縮和歸檔工具解壓縮原始碼。
- 瞭解呼叫 make 編譯程式的基本知識。
- 將引數應用於配置指令碼。
- 瞭解原始碼預設儲存的位置。
術語和工具
/usr/src/gunzipgzipbzip2xztarconfiguremakeunameinstallpatch
歸檔檔案是一組相關檔案,儲存在一個檔案中。允許您將檔案和子目錄儲存在一個檔案中的命令是 tar。
tar function & options files
常用功能:-c:建立一個新的 tar 檔案。-t:顯示 tar 檔案的內容。-x:提取 tar 檔案的內容。
常用選項:-f 檔案:指定 tar 檔案的名稱。
示例
tar cvf mybackup.tar ~ tar cvf usr.tar /usr tar tvf mybackup.tar tar xvf mybackup.tar
建議使用 .tar 副檔名作為使用 tar 歸檔的所有檔案的副檔名。
壓縮節省了儲存和檔案傳輸的空間。有多種工具可以進行壓縮
- compress, uncompress # 舊的 Unix 壓縮演算法
- gzip, gunzip # 最常見的用法
- bzip2, bunzip2 # 最佳壓縮演算法
建立歸檔檔案後,可以對其進行壓縮。示例
$ ls -l backup.tar -rw-r--r-- 1 rarrigon users 22773760 nov 10 11:07 backup.tar
$ gzip -v backup.tar backup.tar: 53.8% -- replaced with backup.tar.gz
$ ls -l backup.tar.gz -rw-r--r-- 1 rarrigon users 10507393 nov 10 11:07 backup.tar.gz
gunzip backup.tar.gz $ bzip2 -v backup.tar backup.tar: 2.260:1, 3.540 bits/byte, 55.75% saved, 22773760 in, 10077846 out.
在歸檔檔案和子目錄時,可以將它們打包並壓縮在一個命令中。示例
tar cvzf backup.tgz ~ # Backup of home with gzip tar cvjf backup.tbz ~ # Backup of home with bzip2 tar xvzf backup.tgz # Extract and gunzip backup.tgz tar xvjf backup.tbz # Extract and bunzip2 backup.tbz
預設情況下,tar 使用相對路徑,但使用 -P 選項可以儲存具有絕對路徑的檔案。以這種模式儲存的檔案將始終在相同的位置解壓縮。
在一條命令列中壓縮和歸檔
$ tar cvf - . | gzip > target.tar.gz
解壓縮壓縮的歸檔檔案
$ gunzip -c file_name.tar.gz |tar xvf -
在 Linux 下,可以使用標準 GNU 工具鏈構建所有原始碼。make 工具用於維護一組程式。使用 Makefile 中定義的規則。
- gcc ANSI C 編譯器
- g++ C++ 編譯器
許多壓縮或歸檔的軟體包安裝後將包含資訊檔案(README、INSTALL),這些檔案應解釋如何構建和安裝軟體包。Makefile.in 和 configure.in 檔案是用於生成最終 Makefile 的基本檔案。配置後的檔案通常會掃描系統並構建最終的 Makefile。
- 對 /bin 和 /sbin 目錄進行歸檔。使用哪種壓縮工具可以獲得最小的檔案大小?使用 -v 獲取檔案大小縮減的百分比。
- 將檔案 /usr/src/packages/SOURCES/grub-09.tar.bz2 安裝到 /tmp 中,並透過閱讀 INSTALL 和 README 構建原始碼。
- 找到解壓縮 .deb 和 .rpm 歸檔檔案的方法,其中包含什麼?
- 在一行命令中,壓縮一個新檔案,並在其他地方解壓縮這個新檔案。