LPI Linux 認證/LPIC1 考試 101/Linux 安裝與包管理
- 設計硬碟佈局
- 安裝引導管理器
- 從原始碼編譯和安裝程式
- 管理共享庫
- 使用 Debian 軟體包管理
- 使用 Red Hat 軟體包管理器 (RPM)
(LPIC-1 版本 5.0)
權重:2
描述
考生應能夠為 Linux 系統設計磁碟分割槽方案。
關鍵知識領域
- 將檔案系統和交換空間分配到獨立的分割槽或磁碟。
- 根據系統的預期用途定製設計。
- 確保
/boot分割槽符合引導的硬體要求。
以下是使用檔案、術語和實用程式的部分列表
/(根) 檔案系統/var檔案系統/home檔案系統/boot檔案系統- EFI 系統分割槽 (ESP)
- 交換空間
- 掛載點
- 分割槽
檔案系統只是在硬碟或其他介質上以計算機可訪問的形式組織資料的一種方式。不同的檔案系統具有不同的組織結構,以確定資料和索引資訊將儲存在何處。一些流行的檔案系統包括
ext2 one of the oldest and most universally supported filesystems on Linux, Unix, and BSD operating systems ext3 an extended version of ext2 which overcomes some limitations and adds journaling ext4 fourth extended filesystem - it is a journaling file system for Linux, developed as the successor to ext3. btrfs reiserfs an enhanced journaling filesystem written by Hans Reiser and extended by the open source community since his incarceration jfs xfs fat or vfat the file allocation table-based filesystem used by MS-DOS and Windows 9x NTFS A more advanced (than fat) filesystem used by Windows NT, 2000, XP and Vista
在進行安裝時,通常需要建立至少兩個分割槽
- / (根):包含 Linux 發行版的目錄。
- 交換空間:允許核心執行通常無法完全放入 RAM 的更多程序的分割槽。
如果有多個磁碟可用,最好將 /usr 和 /home 目錄放在不同的分割槽上。每個分割槽都將包含一個檔案系統型別,並且可以在檔案系統全域性樹中掛載到活動系統中。要列印活動掛載的檔案系統,請使用 mount。
$ mount dev/hda3 on / type reiserfs (rw) proc on /proc type proc (rw) devpts on /dev/pts type devpts (rw) /dev/hda1 on /boot type ext2 (rw) shmfs on /dev/shm type shm (rw) usbdevfs on /proc/bus/usb type usbdevfs (rw)
交換分割槽不需要檔案系統。它將以原始模式由核心訪問,沒有檔案系統系統呼叫作為開銷。
在決定分割槽方案之前,您確實需要確切地知道您將執行哪種應用程式。
- 郵件伺服器
- Web 伺服器
- 基於圖形 X-Windows 的應用程式
- 等等
如果您的系統有多個磁碟,請使用最快的磁碟來儲存大部分資料。
- / 包含大多數系統實用程式,並且使用不多。這些可以移到最慢的磁碟上。
- /var/log 包含大量日誌資訊。最好在快速磁碟上。
- /usr 通常在單獨的分割槽上,如果您有很多客戶端啟動大量 X 應用程式,請使用快速磁碟。
系統應用程式示例
對於電子郵件服務,Sendmail 寫入兩個主要位置:郵件佇列,通常是 /var/spool/mqueue 和 /var/spool/mail 以及其他位置。Apache 使用幾個不同的檔案,每個託管站點有兩個日誌檔案用於記錄和訪問實際頁面。Apache 花費相當多的時間寫入 /var/log 中的日誌檔案(或配置為寫入的位置)。
在設定新系統時,交換空間應為實際 RAM 的兩倍。然而,這在現實世界中並不總是合理,但它是一個傳統的指南,也是在考試中給出的保守答案。swapon 用於啟用為交換指定分配的裝置/分割槽。相反,swapoff 用於停用為交換指定的裝置/分割槽。這兩個命令都可以使用 -a 選項,它迭代在 /proc/swaps 或 /etc/fstab 中找到的所有交換裝置。
可以使用 swapon 顯示有關交換分割槽的的資訊。
swapon -s # Display the active partition
要獲取有關虛擬記憶體使用情況的資訊,請使用 vmstat。
$ vmstat -n 1 procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 5 0 1 184 3228 37684 92828 0 0 37 19 124 228 3 0 97 1 0 0 184 3476 37684 92596 0 0 0 0 102 368 0 0 100 2 0 0 184 3476 37684 92596 0 0 0 0 101 328 0 0 100 R:processes waiting for run time. b: processes in uninterruptable sleep. w: processes swapped out. swpd: virtual memory used (kB). free: Idle memory (kB). buff: Memory used as buffers (kB). si: Memory swapped in from disk (kB/s). so: Memory swapped to disk (kB/s). bi: Blocks received from a block device (blocks/s). bo: Blocks sent to a block device (blocks/s). in: The number of interrupts per second. cs: The number of context switches per second. us: user time sy: system time id: idle time
- 開啟兩個終端:在一個終端中定期顯示虛擬記憶體使用情況。在第二個終端中停用虛擬記憶體並重新啟用它。在第一個終端中通知更改。
- 您系統的磁碟佈局是什麼,您有多少個磁碟?
- 您可以使用多少交換空間?
(LPIC-1 版本 5.0)
權重:2
描述
考生應能夠選擇、安裝和配置引導管理器。
關鍵知識領域
- 提供備用引導位置和備份引導選項。
- 安裝和配置引導載入程式,例如 GRUB Legacy。
- 對 GRUB 2 執行基本配置更改。
- 與引導載入程式互動。
以下是使用檔案、術語和實用程式的部分列表
menu.lst、grub.cfg和grub.confgrub-installgrub-mkconfig- MBR
引導載入程式安裝在 MBR(主引導記錄)中。系統啟動時,它將 MBR 中的內容載入到 RAM 中。在 Linux 下,有兩個主要的引導載入程式
- Lilo:Linux 載入程式。
- Grub:GRand Unified Boot Loader。
引導載入程式允許您選擇要引導的映像。系統可以包含多個映像(作業系統)。
引導載入程式允許您以互動方式執行命令並將引數傳遞給您將引導的映像。initrd 是用於在 RAM 上構建檔案系統以掛載其他檔案系統並執行程式的驅動程式。
GRUB 如今是許多發行版的預設引導載入程式。在安裝 Windows 和 Linux 時,請先安裝 Windows,然後安裝 Linux,因為 Windows 會在沒有詢問的情況下覆蓋 MBR。
兩者都用於將映像從磁碟載入到 RAM。GRUB 相對於 LILO 具有以下優勢
- 更多預 OS 命令。
- 支援儲存在 1024 個 BIOS 柱面限制之外的映像。
- 可以透過檔案系統訪問其配置檔案。
使用 LILO 時,每次新增新映像或更改映像時,都需要在 MBR 中安裝新的 LILO。
- LILO 將其引導資訊儲存在 MBR 中
- GRUB 將其引導資訊儲存在檔案系統中 (menu.lst)。
- LILO 還具有一個配置檔案 /etc/lilo.conf。
要在 MBR 上安裝 GRUB,請使用grub-install。該命令將覆蓋 MBR。
要在 MBR 上安裝 LILO,請使用lilo。lilo 將使用/etc/lilo.conf檔案來確定寫入 MBR 的內容。
示例/etc/lilo.conf:
# LILO global section boot = /dev/hda # LILO installation target: MBR vga = normal # (normal, extended, or ask) read-only # Mount the root file systems read-only # LILO Linux section image=/boot/vmlinuz # Image to load label=linux # Label to display root=/dev/hda1 # Root partition for the kernel initrd=/boot/initrd # Ramdisk # LILO DOS/Windows section other=/dev/hda3 label=windows # LILO memtest section image=/boot/memtest.bin label=memtest86
示例menu.lst(GRUB 配置檔案)
# GRUB default values timeout 10 # Boot the default kernel after 10 seconds default 0 # Default kernel # Grub for Linux section 0 title GNU/Linux # Title root (hd0,1) # /dev/hda2 root filesystem # Kernel and parameters to pass to the kernel kernel /boot/vmlinuz root=/dev/hda2 read-only initrd /boot/initrd boot # Grub for DOS/Windows section title Winblows root (hd0,2) # /dev/hda3 makeactive chainloader+1
* GRUB Manual * GRUB homepage * Grub wiki * Linux+Win+Grub HowTo * Linux Recovery and Boot Disk Creation with Grub. * Win32 Grub * Booting with GRUB * WinGRUB * GRUB Installer for Windows * GRUB for DOS - Bridging DOS/Windows to Unix/Linux
1) 在軟盤上安裝 Grub 並嘗試手動啟動映象
mkfs -t ext2 /dev/fd0 mount /dev/fd0 /mnt mkdir -p /mnt/boot/grub cp /boot/grub/stage* /mnt/boot/grub/ cp /boot/grub/e2fs-stage1_5 /mnt/boot/grub/ touch /mnt/boot/grub umount /mnt grub root (fd0) setup (fd0) quit
現在使用軟盤重啟,並從提示符中選擇硬碟上的核心。
root (hd0,1) kernel /boot/vmlinuz root=/dev/hda2 read-only initrd /boot/initrd boot
2) 建立 /boot/grub/menu.lst 檔案,並使用 grub 實用程式將 Grub 安裝到硬碟驅動器。
3) 重新安裝 lilo。將預設核心映像的 linux 標籤更改為 SuSE,在 /etc/lilo.conf 中,然後在 MBR 中重新安裝 lilo 程式。
(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 歸檔檔案的方法,裡面有什麼?
- 在一行命令中,壓縮一個新檔案並將該新檔案解壓縮到其他地方。
(LPIC-1 版本 5.0)
權重:1
描述
候選人應該能夠確定可執行程式依賴的共享庫,並在必要時安裝它們。
關鍵知識領域
- 識別共享庫。
- 識別系統庫的典型位置。
- 載入共享庫。
以下是使用檔案、術語和實用程式的部分列表
lddldconfig/etc/ld.so.confLD_LIBRARY_PATH
庫是程式可以使用的一組函式,用於實現其功能。在構建(連結)程式時,這些庫可以靜態或動態連結到可執行檔案。靜態連結意味著最終程式將包含庫函式在其檔案中。(lib.a) 動態連結意味著需要在程式需要執行時將所需的庫載入到 RAM 中。(lib.so)
所有標準庫的預設目錄是
- /lib:主要用於 /bin 程式。
- /usr/lib:主要用於 /usr/bin 程式。
檔案/etc/ld.so.conf用於系統指定其他庫位置。要構建執行時載入器使用的所有可用庫的快取檔案,請使用 ldconfig。檔案/etc/ld.so.cache將被生成。
要列印共享程式或庫依賴項,請使用 ldd。
ldd [-vdr] program|library
示例
$ ldd -d -v /bin/cp
libc.so.6 => /lib/libc.so.6 (0x40027000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Version information:
/bin/cp:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/lib/libc.so.6:
ld-linux.so.2 (GLIBC_2.1.1) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.2.3) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.1) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.2) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
執行時載入器 ld.so 查詢程式所需的庫並將它們載入到 RAM 中。ld.so 的搜尋順序是
- LD_LIBRARY_PATH
- 快取檔案 /etc/ld.so.cache
- 預設目錄 /lib 和 /usr/lib。
(LPIC-1 版本 5.0
權重:3
描述
候選人應該能夠使用 Debian 軟體包工具執行軟體包管理。
關鍵知識領域
- 安裝、升級和解除安裝 Debian 二進位制軟體包。
- 查詢包含特定檔案或庫的軟體包,這些檔案或庫可能已安裝或未安裝。
- 獲取軟體包資訊,例如版本、內容、依賴關係、軟體包完整性和安裝狀態(軟體包是否已安裝)。
- 瞭解
apt。
以下是使用檔案、術語和實用程式的部分列表
/etc/apt/sources.listdpkgdpkg-reconfigureapt-getapt-cache
為了理解如何使用 Debian 的軟體包管理系統,首先了解 Debian 軟體包的命名方式將很有用。例如,軟體包 ncftp_3.1.3-1_i386.deb 包含 5 個主要部分
- ncftp - 程式/應用程式/庫的名稱
- 3.1.3 - 由原始(上游)作者分配的程式/應用程式/庫的版本
- 1 - 由將程式打包到 Debian 系統的人分配的軟體包修訂號
- i386 - 打包程式設計用於執行的體系結構
- .deb - 表示這是一個 Debian 軟體包
請注意,使用下劃線 (_) 和連字元 (-) 有特殊意義;下劃線應將程式名稱與其版本分隔開,連字元應將版本號與其修訂號分隔開,下劃線應將修訂號與其體系結構分隔開。
dpkg是 Debian 包管理系統的“鼻祖”或“後端”。更高階工具中存在的特性在dpkg中不可用,但它仍然是一個有用的工具。
一些注意事項
- dpkg將其可用包的記錄儲存在 /var/lib/dpkg/available 中。
一些管理員常用的函式dpkg是
新增、刪除和配置包
- dpkg {-i|--install} <package-name>將安裝指定的包
- dpkg {-r|--remove} <package-name>將刪除指定的包(但保留配置檔案)
- dpkg {-P|--purge} <package-name>將刪除指定的包及其相應的配置檔案
- dpkg --root /target -i <package>透過指定系統根目錄,將包安裝到不可啟動的系統中。
- dpkg --unpack <package-name>將解壓縮(但不配置)Debian 存檔到硬碟檔案系統中
- dpkg --configure <package-name>將配置已解壓縮的包
查詢包資訊
- dpkg --info <package-name>將打印出指定包的控制檔案(和其他資訊)
- dpkg {-l|--list}這將為您提供已安裝包的列表。
- dpkg {-a|--pending}如果在包名稱位置提供此引數,則所有已解壓縮但標記為將在 /var/lib/dpkg/status 檔案中刪除或清除的包將被刪除或清除。
- dpkg -s (--status)<package-name> 將為您提供已安裝包的描述
更新包資訊
- dpkg --update-avail <package-name>將用包中的新資訊替換舊資訊。
- dpkg --merge-avail <package-name>將合併包中的舊資訊和新資訊。
dpkg-reconfigure在包安裝完成後重新配置它們。
- dpkg-reconfigure <package-name>重新配置初始安裝設定
- dpkg-reconfigure --priority=medium package [...]將設定將顯示的最低問題優先順序
- dpkg-reconfigure --all將重新配置所有包
- dpkg-reconfigure locales將生成任何額外的語言環境
- dpkg-reconfigure --p=lowxserver-xfree86 將重新配置 X 伺服器
Dselect 是 Debian 上允許您輕鬆新增/刪除包的實用程式。
- 選擇要使用的訪問方法。
- 如果可能,更新可用包的列表。
- 請求您希望在系統上使用的包。
- 安裝和升級所需的包。
- 配置任何未配置的包。
- 刪除不需要的軟體。
Dselect 上有一個互動式選單,允許您安裝/刪除包。使用此實用程式時必須小心,您可能會損壞系統。
Dselect 選單示例
Debian `dselect' package handling frontend.
0. [A]ccess Choose the access method to use. 1. [U]pdate Update list of available packages, if possible. 2. [S]elect Request which packages you want on your system. 3. [I]nstall Install and upgrade wanted packages. 4. [C]onfig Configure any packages that are unconfigured. 5. [R]emove Remove unwanted software. 6. [Q]uit Quit dselect.
$ dselect - list of access methods Abbrev. Descriptio cdrom Install from a CD-ROM. * multi_cd Install from a CD-ROM set. nfs Install from an NFS server (not yet mounted). multi_nfs Install from an NFS server (using the CD-ROM set) (not yet mounted). harddisk Install from a hard disk partition (not yet mounted). mounted Install from a filesystem which is already mounted. multi_mount Install from a mounted partition with changing contents. floppy Install from a pile of floppy disks. apt APT Acquisition [file,http,ftp]
如果您知道要安裝的包的名稱,請使用 apt-get。您必須配置 sources.list 檔案。當您選擇 dselect 的 apt 訪問方法時,將使用同一個檔案。位置是/etc/apt.
- apt-get install <package-name>將在其資料庫中搜索該包的最新版本,並從 sources.list 中指定的相應存檔中檢索並安裝該包。如果該包依賴於其他包,APT 將檢查依賴關係並安裝所需的包。
- apt-get install <package-name>=<version>將安裝指定版本的包
- apt-get install <package-name> -o DPkg::options::="--force-overwrite"安裝包時忽略“處理 ... 發生錯誤,該包也在 ... 中”錯誤。
- apt-get remove <package-name>將刪除指定的包,但保留其配置檔案。
- apt-get --purge remove <package-name>將刪除指定的包及其配置檔案。
- apt-get -u install <package-name>將升級並安裝特定包。
- apt-get -u upgrade將升級同一發行版中的包,但那些由於依賴關係損壞或新依賴關係而被保留的包除外。
- apt-get -u dist-upgrade將一次升級整個 Debian 系統。
- apt-file search <file-name>將搜尋包含指定檔案的包。
- apt-file list <package-name>將列出與模式匹配的包的內容。此操作與 dpkg -S 命令非常接近,只是不需要安裝或獲取包。
要查詢要安裝的包的名稱,請使用 apt-cache。apt-cache 的主要選項有:
- add - 將包檔案新增到源快取
- showpkg - 顯示單個包的一些常規資訊
- stats - 顯示一些基本統計資訊
- search - 在包列表中搜索正則表示式模式
- show - 顯示包的可讀記錄
- depends – 顯示包的原始依賴關係資訊
user@host:~$ apt-cache search gimp babygimp - An icon editor in Perl-Tk blackbook - GTK+ Address Book Applet cupsys-driver-gimpprint - Gimp-Print printer drivers for CUPS escputil - A maintenance utility for Epson Stylus printers filmgimp - A motion picture editing and retouching tool
APT HOWTO
http://www.debian.org/doc/manuals/apt-howto/index.en.html
Dselect 初學者文件
http://www.debian.org/doc/manuals/dselect-beginner/
- 使用 Debian 安裝系統。
- 熟悉 dselect 並刪除 tcpdump 實用程式。
- 使用 apt-get 重新安裝包含 tcpdump 實用程式的包。
- 嘗試使用 kpackage 安裝 ethereal
Red Hat 包管理器是一個強大的包管理器,可用於構建、安裝、查詢、驗證、更新和刪除單個軟體包。一個包包含一個檔案存檔和元資料,用於安裝和刪除存檔檔案。元資料包括輔助指令碼、檔案屬性和有關包的描述資訊。包有兩種型別:二進位制包,用於封裝要安裝的軟體,以及源包,包含生成二進位制包所需的原始碼和配方。
(LPIC-1 版本 5.0)
權重:3
描述
考生應能夠使用 RPM、YUM 和 Zypper 執行包管理。
關鍵知識領域
- 使用 RPM、YUM 和 Zypper 安裝、重新安裝、升級和刪除包。
- 獲取有關 RPM 包的資訊,例如版本、狀態、依賴關係、完整性和簽名。
- 確定包提供的檔案,以及查詢特定檔案來自哪個包。
- 瞭解
dnf。
以下是使用檔案、術語和實用程式的部分列表
rpmrpm2cpio/etc/yum.conf/etc/yum.repos.d/yumzypper
一些 Linux 發行版在其所有發行版軟體中使用 rpm,即“Red Hat 包管理器”。RPM 維護所有安裝在系統中的軟體的詳細資料庫。
要安裝 RPM 包,請執行
rpm -i [package].rpm
只有在滿足依賴關係並且與其他包沒有衝突的情況下,才會安裝該包。要升級包,請執行
rpm -U [package].rpm
舊包版本的將被刪除並替換為新檔案。要刪除 RPM 包,請執行
rpm -e [package].rpm
只有在沒有其他包依賴於該包的情況下,才會刪除該包。
使用 -q 選項,您可以查詢 RPM 資料庫或顯示有關包檔案的資訊。
您可以使用多個開關
- -i: 獲取包資訊
rpm -q -i apache
- -l: 獲取包的檔案列表。
$ rpm -q -l pciutils /sbin/lspci /sbin/setpci /usr/share/doc/package/pciutils ... /usr/share/pci.ids
- -f file: 查詢檔案屬於哪個包。
$ rpm -q -f /sbin/lspci pciutils-2.1.9-58
- -s: 具有狀態資訊的清單。
- -d: 僅列出文件檔案。
- -a: 列出所有已安裝的包。
如果要顯示有關包檔案的資訊,可以使用 -p 開關指定檔名
rpm -q -i -p [package].rpm
要獲取有關包或程式的一般資訊,請使用 rpmlocate。
rpmlocate ipcs -q -i apache
在 rpm 資料庫中搜索 ipcs
util-linux-2.11n-75: /usr/bin/ipcs /usr/share/man/man8/ipcs.8.gz
要列出所有已安裝的包,請使用 rpmqpack
rpmqpack
或者使用
rpm -qa
RPM 原始檔通常格式為 package.src.rpm,可以像二進位制檔案一樣安裝。它們將從 /usr/src/packages 安裝到以下目錄:
- SOURCES:原始原始碼。
- SPECS:控制構建過程的 .spec 檔案。
- BUILD:所有原始碼在此目錄中構建。
- RPMS:完整二進位制軟體包的儲存位置。
- SRPMS:原始碼。
要安裝軟體包的原始碼,請執行以下操作:
$ rpm -i mypack.src.rpm
原始碼將儲存在 /usr/src/packages 的 SPEC 和 SOURCES 目錄中。要編譯原始碼,請執行以下操作:
$ rpm -ba /usr/src/packages/SPECS/mypack.spec
編譯結果將儲存在 BUILD 目錄中。
- apache 軟體包是否已安裝?
- /bin/ls、/usr/sbin/tcpdump 和 /sbin/ifconfig 檔案位於哪個軟體包中?
- 從軟盤安裝 pci 實用程式和 grub 軟體包。構建二進位制檔案並嘗試執行它們。原始碼應位於 /usr/src/packages/BINARY 目錄中。