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

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