列出已安裝過(guò)的軟件包
# rpm -qa # 列出已安裝過(guò)的軟件包(RH, SuSE, 基于 RPM 的)
# dpkg -l # Debian, Ubuntu
# pkg_info # 列出所有已安裝過(guò)的軟件包(FreeBSD)
# pkg_info -W smbd # 查看 smbd 安裝了那些軟件包(FreeBSD)
# pkginfo # Solaris
添加/刪除軟件
前端界面:SuSE 為 yast2/yast,Red Hat 為 redhat-config-packages。
# rpm -i pkgname.rpm # 安裝軟件包(RH, SuSE, 基于 RPM 的)
# rpm -e pkgname # 刪除軟件包
Debian
# apt-get update # 更新源列表
# apt-get install emacs # 安裝 emacs 軟件包
# dpkg --remove emacs # 刪除 emacs 軟件包
# dpkg -S file # 查找擁有該 file 的軟件包
Gentoo
Gentoo 使用 emerge 作為 "Portage" 軟件包管理系統(tǒng)的核心。
# emerge --sync # 同步更新本地 protage 樹(shù)
# emerge -u packagename # 安裝或更新一個(gè)軟件包
# emerge -C packagename # 刪除軟件包
# revdep-rebuild # 修復(fù)依賴關(guān)系的缺失
Solaris
路徑通常為 `/cdrom/cdrom0`. # pkgadd -d /Solaris_9/Product SUNWgtar # pkgadd -d SUNWgtar # 添加下載的軟件包(先要 bunzip2) # pkgrm SUNWgtar # 刪除軟件包### FreeBSD # pkg_add -r rsync # 獲取并安裝 rsync # pkg_delete /var/db/pkg/rsync-xx # 刪除 rsync 軟件包可使用 `PACKAGESITE` 環(huán)境變量來(lái)設(shè)置哪里可以獲取軟件包。舉個(gè)例子: # export PACKAGESITE=ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages/Latest/ # or ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/### FreeBSD portsPort 樹(shù) `/usr/ports/` 是一個(gè)準(zhǔn)備編譯和安裝的軟件集。可用 `portsnap` 工具來(lái)跟新 port。 # portsnap fetch extract # 當(dāng)?shù)谝淮芜\(yùn)行這個(gè)命令,會(huì)創(chuàng)建 port 樹(shù) # portsnap fetch update # 跟新 port 樹(shù) # cd /usr/ports/net/rsync/ # 選擇軟件安裝目錄 # make install distclean # 安裝并清理(也可看 man ports) # make package # Make 一個(gè)二進(jìn)制軟件包## 庫(kù)路徑由于復(fù)雜的依賴關(guān)系和運(yùn)行時(shí)鏈接,程序難于分發(fā)或拷貝到其他系統(tǒng)。不過(guò)對(duì)于較少依賴關(guān)系的小程序,缺失的庫(kù)可被拷貝過(guò)去。運(yùn)行時(shí)庫(kù)(即缺失的庫(kù))可用 `ldd` 和 `ldconfig` 來(lái)檢查和管理。 # ldd /usr/bin/rsync # 列出所有所需的運(yùn)行時(shí)庫(kù) # ldconfig -n /path/to/libs/ # 添加一個(gè)路徑到共享庫(kù)目錄Add a path to the shared libraries directories # ldconfig -m /path/to/libs/ # FreeBSD # LD_LIBRARY_PATH # 設(shè)置連接庫(kù)路徑的環(huán)境變量
更多建議: