FreeBSD常用命令和packages使用方法講解
發(fā)布時(shí)間:2008-09-08 18:48:27 作者:佚名
我要評(píng)論

安裝 packages
目前 FreeBSD 的 packages 是由 .tgz 所打包。如果想安裝一個(gè) packages ,可使用 pkg_add,如安裝一個(gè) joe 的 tgz:
pkg_add joe-{version}.tgz
強(qiáng)制安裝 packages
由於有些 packages 會(huì)有與其他 packages 相依性的關(guān)系,所以必須先行
安裝 packages
目前 FreeBSD 的 packages 是由 .tgz 所打包。如果想安裝一個(gè) packages ,可使用 pkg_add,如安裝一個(gè) joe 的 tgz:
pkg_add joe-{version}.tgz
強(qiáng)制安裝 packages
由於有些 packages 會(huì)有與其他 packages 相依性的關(guān)系,所以必須先行安裝那些 packages 才能正常安裝。 如果須要強(qiáng)制安裝 packages ,可以不須安裝那些有相依性 packages ,但要注意的是強(qiáng)制安裝的結(jié)果可能會(huì)導(dǎo)致執(zhí)行或運(yùn)作的不正常。強(qiáng)制安裝 packages 的指令如下,如強(qiáng)制安裝一個(gè) joe 的 tgz:
pkg_add -f joe-{version}.tgz
查詢 packages 與其他 packages 之間的相依性
由於有些 packages 會(huì)有與其他 packages 相依性的關(guān)系,所以必須先行安裝那些 packages 才能正常安裝。 查詢 packages 與其他 packages 之間的相依性的指令如下,如查詢與 portupgrade 相依的其他 packages:
pkg_info -r portupgrade-{version}.tgz
遠(yuǎn)端安裝 packages
有兩種設(shè)定方式,首先是 PACKAGEROOT,如:
setenv PACKAGEROOT ftp://ftp.cn.freebsd.org/ #設(shè)定 PACKAGEROOT 為 ftp.cn.freebsd.org 站臺(tái)另一種方式是設(shè)定 PACKAGESITE,好處是若該站臺(tái)的 packages 倉(cāng)儲(chǔ)并不是符合
官方的設(shè)定或你想自己指定一個(gè)路徑。以 ftp.cn.freebsd.org i386 的 current pakcages 為例:
setenv PACKAGESITE ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/i386/packages-current/Latest/
兩種方式選擇其中一種皆可,接下來(lái)的步驟都一樣。 往後要安裝 packages 的時(shí)候,如 portupgrade 的話,則:
pkg_add -r portupgrade
則系統(tǒng)會(huì)自動(dòng)於 ftp.cn.freebsd.org 下載所有與 portupgrade 相依的 packages 并安裝。
查詢目前系統(tǒng)安裝了哪些套件
查詢目前系統(tǒng)已安裝的全部套件:
pkg_info
查詢目前系統(tǒng)有沒(méi)有安裝這個(gè)關(guān)鍵字的套件
pkg_info | grep
查詢某個(gè)檔案是屬於哪些套件
如果想查詢 /usr/local/bin/joe 是屬於哪個(gè)套件的話,則:
pkg_info -W /usr/local/bin/joe
如果沒(méi)有回傳任何資訊的話,代表著這個(gè)檔案是由 FreeBSD 內(nèi)建的。
查詢某個(gè)套件安裝了哪些檔案
如果想查詢目前系統(tǒng)所安裝的 joe 包含了哪些檔案,則:
pkg_info -L /var/db/pkg/joe-{version}
列出所有可以升級(jí)的 ports
ports collection 的更新速度很快,在每次更新 ports collections 後,往往會(huì)出現(xiàn)比目前現(xiàn)在安裝的套件還新的版本,可 以令系統(tǒng)自行整理并提供可升級(jí)套件的列表:
pkg_version –c
移除已安裝的 ports
以 editors/joe 為例的話,則:
cd /usr/ports/editors/joe/
make deinstall
或是使用 pkg_delete
cd /var/db/pkg/
pkg_delete joe-{version}
有時(shí)候套件之間的相依性會(huì)導(dǎo)致無(wú)法直接移除,如果要強(qiáng)制移除的話,則:
cd /var/db/pkg/
pkg_delete -f joe-{version}但很有可能會(huì)導(dǎo)致其它的套件執(zhí)行起來(lái)出現(xiàn)問(wèn)題。
一并移除所相依的 ports
以 sysutils/portupgrade 為例的話,則:
cd /usr/ports/sysutils/portupgrade/
make deinstall-depends
執(zhí)行此步驟前,請(qǐng)注意是否會(huì)移除應(yīng)該保護(hù)的套件。
或是使用 pkg_delete
cd /var/db/pkg/
pkg_delete -r portupgrade-{version}
對(duì)一個(gè)已經(jīng)安裝的 port 打包
如果安裝好一個(gè)套軟,事前并未打包,事後想打包的話,則:
以 editors/joe 為例的話
cd /var/db/pkg/
pkg_create -b joe-{版本號(hào)}
會(huì)將已安裝的 port 打包起來(lái),放在 /var/db/pkg/ 目錄下。
`make deinstall' 與 `pkg_delete' 有什麼不同
簡(jiǎn)單來(lái)說(shuō),`make deinstall' 會(huì)移除該 port,并且不會(huì)叁照其相依/相關(guān)的 ports。 `pkg_delete' 在移除該 port 前,會(huì)叁照其相依/相關(guān)的 ports,并且 `pkg_delete' 有支援 wild card,如要移除所有 p 開(kāi)頭的 ports,則:
cd /var/db/pkg/
pkg_delete p*
要注意的是,如果使用 `make deinstall',則最好確定系統(tǒng)目前所安裝的版本,與 ports collection 中顯示的版本符合,否則有可能會(huì)出現(xiàn)非預(yù)期性錯(cuò)誤;而 `pkg_delete' 是因?yàn)橹苯觿h除系統(tǒng)中所安裝的版本,所以沒(méi)有此問(wèn)題。
因此,換句話說(shuō),當(dāng)系統(tǒng)所安裝的版本符合 ports collections 中的版本,則可以使用 `make deinstall' 或 `pkg_delete',否則的話最好用 `pkg_delete'。
對(duì)一個(gè)已經(jīng)安裝的 port 打包
如果安裝好一個(gè)套軟,事前并未打包,事後想打包的話,則:
以 editors/joe 為例的話
cd /var/db/pkg/
pkg_create -b joe-{版本號(hào)}
會(huì)將已安裝的 port 打包起來(lái),放在 /var/db/pkg/ 目錄下。
目前 FreeBSD 的 packages 是由 .tgz 所打包。如果想安裝一個(gè) packages ,可使用 pkg_add,如安裝一個(gè) joe 的 tgz:
pkg_add joe-{version}.tgz
強(qiáng)制安裝 packages
由於有些 packages 會(huì)有與其他 packages 相依性的關(guān)系,所以必須先行安裝那些 packages 才能正常安裝。 如果須要強(qiáng)制安裝 packages ,可以不須安裝那些有相依性 packages ,但要注意的是強(qiáng)制安裝的結(jié)果可能會(huì)導(dǎo)致執(zhí)行或運(yùn)作的不正常。強(qiáng)制安裝 packages 的指令如下,如強(qiáng)制安裝一個(gè) joe 的 tgz:
pkg_add -f joe-{version}.tgz
查詢 packages 與其他 packages 之間的相依性
由於有些 packages 會(huì)有與其他 packages 相依性的關(guān)系,所以必須先行安裝那些 packages 才能正常安裝。 查詢 packages 與其他 packages 之間的相依性的指令如下,如查詢與 portupgrade 相依的其他 packages:
pkg_info -r portupgrade-{version}.tgz
遠(yuǎn)端安裝 packages
有兩種設(shè)定方式,首先是 PACKAGEROOT,如:
setenv PACKAGEROOT ftp://ftp.cn.freebsd.org/ #設(shè)定 PACKAGEROOT 為 ftp.cn.freebsd.org 站臺(tái)另一種方式是設(shè)定 PACKAGESITE,好處是若該站臺(tái)的 packages 倉(cāng)儲(chǔ)并不是符合
官方的設(shè)定或你想自己指定一個(gè)路徑。以 ftp.cn.freebsd.org i386 的 current pakcages 為例:
setenv PACKAGESITE ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/i386/packages-current/Latest/
兩種方式選擇其中一種皆可,接下來(lái)的步驟都一樣。 往後要安裝 packages 的時(shí)候,如 portupgrade 的話,則:
pkg_add -r portupgrade
則系統(tǒng)會(huì)自動(dòng)於 ftp.cn.freebsd.org 下載所有與 portupgrade 相依的 packages 并安裝。
查詢目前系統(tǒng)安裝了哪些套件
查詢目前系統(tǒng)已安裝的全部套件:
pkg_info
查詢目前系統(tǒng)有沒(méi)有安裝這個(gè)關(guān)鍵字的套件
pkg_info | grep
查詢某個(gè)檔案是屬於哪些套件
如果想查詢 /usr/local/bin/joe 是屬於哪個(gè)套件的話,則:
pkg_info -W /usr/local/bin/joe
如果沒(méi)有回傳任何資訊的話,代表著這個(gè)檔案是由 FreeBSD 內(nèi)建的。
查詢某個(gè)套件安裝了哪些檔案
如果想查詢目前系統(tǒng)所安裝的 joe 包含了哪些檔案,則:
pkg_info -L /var/db/pkg/joe-{version}
列出所有可以升級(jí)的 ports
ports collection 的更新速度很快,在每次更新 ports collections 後,往往會(huì)出現(xiàn)比目前現(xiàn)在安裝的套件還新的版本,可 以令系統(tǒng)自行整理并提供可升級(jí)套件的列表:
pkg_version –c
移除已安裝的 ports
以 editors/joe 為例的話,則:
cd /usr/ports/editors/joe/
make deinstall
或是使用 pkg_delete
cd /var/db/pkg/
pkg_delete joe-{version}
有時(shí)候套件之間的相依性會(huì)導(dǎo)致無(wú)法直接移除,如果要強(qiáng)制移除的話,則:
cd /var/db/pkg/
pkg_delete -f joe-{version}但很有可能會(huì)導(dǎo)致其它的套件執(zhí)行起來(lái)出現(xiàn)問(wèn)題。
一并移除所相依的 ports
以 sysutils/portupgrade 為例的話,則:
cd /usr/ports/sysutils/portupgrade/
make deinstall-depends
執(zhí)行此步驟前,請(qǐng)注意是否會(huì)移除應(yīng)該保護(hù)的套件。
或是使用 pkg_delete
cd /var/db/pkg/
pkg_delete -r portupgrade-{version}
對(duì)一個(gè)已經(jīng)安裝的 port 打包
如果安裝好一個(gè)套軟,事前并未打包,事後想打包的話,則:
以 editors/joe 為例的話
cd /var/db/pkg/
pkg_create -b joe-{版本號(hào)}
會(huì)將已安裝的 port 打包起來(lái),放在 /var/db/pkg/ 目錄下。
`make deinstall' 與 `pkg_delete' 有什麼不同
簡(jiǎn)單來(lái)說(shuō),`make deinstall' 會(huì)移除該 port,并且不會(huì)叁照其相依/相關(guān)的 ports。 `pkg_delete' 在移除該 port 前,會(huì)叁照其相依/相關(guān)的 ports,并且 `pkg_delete' 有支援 wild card,如要移除所有 p 開(kāi)頭的 ports,則:
cd /var/db/pkg/
pkg_delete p*
要注意的是,如果使用 `make deinstall',則最好確定系統(tǒng)目前所安裝的版本,與 ports collection 中顯示的版本符合,否則有可能會(huì)出現(xiàn)非預(yù)期性錯(cuò)誤;而 `pkg_delete' 是因?yàn)橹苯觿h除系統(tǒng)中所安裝的版本,所以沒(méi)有此問(wèn)題。
因此,換句話說(shuō),當(dāng)系統(tǒng)所安裝的版本符合 ports collections 中的版本,則可以使用 `make deinstall' 或 `pkg_delete',否則的話最好用 `pkg_delete'。
對(duì)一個(gè)已經(jīng)安裝的 port 打包
如果安裝好一個(gè)套軟,事前并未打包,事後想打包的話,則:
以 editors/joe 為例的話
cd /var/db/pkg/
pkg_create -b joe-{版本號(hào)}
會(huì)將已安裝的 port 打包起來(lái),放在 /var/db/pkg/ 目錄下。
相關(guān)文章
- 1 man 在線查詢 man ls 2 ls 查看目錄與檔案 ls -la 3 ln 建立鏈接文件 ln -fs /usr/local/apache/etc/httpd.conf /etc/httpd.conf 42008-09-08
- FreeBSD作為BSD的主要分支之一,具有健壯、穩(wěn)定的優(yōu)點(diǎn),因此有一些系統(tǒng)管理員尤其鐘愛(ài)FreeBSD。本文總結(jié)了一些FreeBSD的常用指令,讀者們可以用于做一個(gè)檢索2014-07-02
- FreeBSD作為BSD的主要分支之一,具有健壯、穩(wěn)定的優(yōu)點(diǎn),因此有一些系統(tǒng)管理員尤其鐘愛(ài)FreeBSD。本文總結(jié)了一些FreeBSD的常用指令,讀者們可以用于做一個(gè)檢索2008-09-08
- FreeBSD作為BSD的主要分支之一,具有健壯、穩(wěn)定的優(yōu)點(diǎn),因此有一些系統(tǒng)管理員尤其鐘愛(ài)FreeBSD。本文總結(jié)了一些FreeBSD的常用指令,讀者們可以用于做一個(gè)檢索2014-07-20