亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

FreeBSD軟件安裝卸載工具--Ports和Packages詳解

  發(fā)布時(shí)間:2008-09-08 18:48:44   作者:佚名   我要評(píng)論
1、如何只抓取 tarball? 2、如何僅做到解開(kāi) tarball的步驟? 3、如何僅做到解開(kāi) tarball 并補(bǔ)上官方提供的 patch? 4、如何安裝一個(gè)新的 port? 5、如何安裝一個(gè)新的 port,并將打包(package)起來(lái)? 6、如何打包一個(gè) port,并將其所有相依的 ports 也打

12、如何一并移除所相依的 ports?

以 sysutils/portupgrade 為例的話(huà),則:

代碼:
cd /usr/ports/sysutils/portupgrade/
make deinstall-depends


執(zhí)行此步驟前,請(qǐng)注意是否會(huì)移除應(yīng)該保護(hù)的套件。建議先叁考 FAQ 10 的方法
來(lái)檢查。

或是使用 pkg_delete

代碼:
cd /var/db/pkg/
pkg_delete -r portupgrade-{version}


至於二者的差別,請(qǐng)叁考FAQ 43


代碼:
13、如何重新安裝安裝過(guò)的 ports?


重新安裝的前提是,之前有安裝過(guò)或目前已安裝。以 editors/joe 為例的話(huà),
則:

代碼:
cd /usr/ports/editors/joe/
make deinstall
make clean
make install 或 make reinstall



14、如何以關(guān)鍵字搜尋 ports?

如果要從全部的 ports collection 中找尋與關(guān)鍵字 "ldap" 有關(guān)的 ports,
則:

代碼:
cd /usr/ports/
make search key=ldap


如果只要從與 ftp 相關(guān)的 ports 下找尋與關(guān)鍵字 "ldap" 有關(guān)的 ports,則:

代碼:
cd /usr/ports/ftp/
make search key=ldap


還有另一個(gè)用法,方法只是將 key 換成 name 。如果已經(jīng)知道要搜尋 ports 的
名稱(chēng),或只想找名稱(chēng)相關(guān)的關(guān)鍵字 "ldap", 則:

代碼:
cd /usr/ports/
make search name=ldap


如果只要從 ftp 相關(guān)的 ports 下找尋名稱(chēng)與關(guān)鍵字 "ldap" 有關(guān)的 ports,
則:

代碼:
cd /usr/ports/ftp/
make search name=ldap



15、如何升級(jí)已安裝的 ports?

如果已經(jīng)安裝好套件,事後欲升級(jí)的話(huà),必須先移除舊版本的 port,移除的方法
請(qǐng)叁考FAQ 11、FAQ 12及FAQ 13;之後再安裝 port,安裝方法請(qǐng)叁考FAQ 4或
FAQ 5。

以 editors/joe 為例,且以 FAQ 11 及 FAQ 4 的方法,則:

代碼:
cd /var/db/pkg/
pkg_delete joe-{version}
cd /usr/ports/editors/joe/
make install


或是
代碼:
cd /usr/ports/editors/joe/
make clean
make reinstall



16、如何查詢(xún)目前系統(tǒng)安裝了哪些套件?

查詢(xún)目前系統(tǒng)安裝的全部套件:

代碼:
pkg_info


17、如何查詢(xún)目前系統(tǒng)有沒(méi)有安裝這個(gè)關(guān)鍵字的套件?
方法類(lèi)似 FAQ 16 :

代碼:
pkg_info | grep



18、如何查詢(xún)某個(gè)檔案是屬於哪些套件?

如果想查詢(xún) /usr/local/bin/joe 是屬於哪個(gè)套件的話(huà),則:

代碼:
pkg_info -W /usr/local/bin/joe


如果沒(méi)有回傳任何資訊的話(huà),代表著這個(gè)檔案是由 FreeBSD 內(nèi)建的。


19、如何查詢(xún)某個(gè)套件安裝了哪些檔案?

如果想查詢(xún)目前系統(tǒng)安裝的 joe 包含了哪些檔案,則:

代碼:
pkg_info -L /var/db/pkg/joe-{version}



20、如何安裝舊版的 ports?

有時(shí)候會(huì)因?yàn)橄嘁佬?,或是新版有?wèn)題,而會(huì)想裝舊版本的套件。
這里的方法是利用 CVS 的好處,回歸到以前舊版本存在的日子,以安裝舊版本的
套件。首先,若我們要回復(fù)到某一個(gè)套件的版本時(shí),需要去查詢(xún) FreeBSD ports
CVS repository。最常見(jiàn)的就是 Freshports 網(wǎng)站、 FreeBSD 的 Mailing
FreeBSD cvs 或是 FreeBSD ports cvsweb。

查到該套件版本所依存的日子後,就修改 CVS tag。一般預(yù)設(shè) ports 的 CVS
tag 會(huì)寫(xiě)在 /usr/share/examples/cvsup/ports-supfile ,如要回朔到
2002/10/05 號(hào)的話(huà),則:

代碼:
# vi /usr/share/examples/cvsup/ports-supfile
******************************************
default date=2002.10.05.00.00.00 #將 date 改成當(dāng)日


然後按照一般 CVSup 的時(shí)候一樣,執(zhí)行 CVSup (make update),此時(shí)的 ports
collections 就會(huì)回到當(dāng)時(shí)的情形,那麼該套件 舊版本也會(huì)出現(xiàn)在 ports
collections 中,只要安裝即可。

如果僅是想把某部份的 ports 回朔,則必須加上額外的資訊,如僅希望把
lang/perl5.8 回朔,而得知此屬於 lang 中的一支,則:

代碼:
# vi /usr/share/examples/cvsup/ports-supfile
******************************************
#ports-all #將 ports-all 標(biāo)示起來(lái)
ports-lang #加入這行


最後,執(zhí)行 CVSup,并安裝即可。目前若希望單獨(dú)回朔單一的 ports,
則比較麻煩。


21、如何更新 ports Mk?

Mk (/usr/ports/Mk/) 是編譯 ports 時(shí)所叁考的設(shè)定,有時(shí)若發(fā)生 ports
collections 太新,而導(dǎo)致 Mk 的內(nèi)容不符,此時(shí) 就是應(yīng)該更新 Mk 的時(shí)候了。


代碼:
cd /usr/src/
make update
cd /usr/src/share/mk
make install



22、如何解決安裝 ports 時(shí)出現(xiàn) sed -i 的錯(cuò)誤?

因?yàn)?BSD style 的 sed ,也就是 BSD 本身自有的 sed ,與一些 ports 編譯期
間所執(zhí)行的 sed 不一致,所以會(huì)導(dǎo)致一些語(yǔ) 法錯(cuò)誤。此時(shí)先安裝 sed_inplace
(textproc/sed_inplace),然後再安裝原本無(wú)法安裝的 ports:


代碼:
cd /usr/ports/???/???/
make -DUSE_REINPLACE install



23、如何列出所有可以升級(jí)的 ports?

ports collection 的更新速度很快,在每次更新 ports collections 後,往往
會(huì)出現(xiàn)比目前現(xiàn)在安裝的套件還新的版本,可 以令系統(tǒng)自行整理并提供可升級(jí)套
件的列表:

代碼:
pkg_version -c



24、如何得知 ports system 對(duì)某個(gè) ports 所提供的編譯叁數(shù)?

所有的 ports collections 中所提供的編譯叁數(shù)都會(huì)在對(duì)應(yīng)的 Makefile 檔案內(nèi)
詳述,如 sysutils/portupgrade 的話(huà),
則是位在 /usr/ports/sysutils/portupgrade/Makefile 檔案下。
可以對(duì)此檔案瀏覽以得知編譯時(shí)期可以下達(dá)的叁數(shù),
如對(duì) sysutils/portupgrade 有提供 NOPORTDOCS,則:

代碼:
cd /usr/ports/sysutils/portupgrade/
make -DNOPORTDOCS install # make NOPORTDOCS=yes install 亦同


那麼安裝此 ports 時(shí),會(huì)將 NOPORTDOCS 所對(duì)應(yīng)的相關(guān)叁數(shù)指定進(jìn)去。
有時(shí)候設(shè)定較人性化的 ports 會(huì)在安裝前提供叁數(shù)供選擇,但是其實(shí)大部份的
ports 都沒(méi)有提供,因此必須自行去搜尋可編 譯的叁數(shù),在此我提供的方式如
下:

代碼:
cd /usr/ports/sysutils/portupgrade/
grep defined Makefile


如此幾乎可以知道所有提供的可編譯叁數(shù),雖然有時(shí)會(huì)多出一些不相干的資料,
不會(huì)這個(gè)確實(shí)是一個(gè)不錯(cuò)可叁考的方式。


25、如何手動(dòng)加入編譯 ports 的叁數(shù)?

在 FAQ 24 中的方法,是 ports collections 有提供的前提之下,有時(shí)候并不是
所有該軟體所支援的叁數(shù) 都會(huì)收納在 ports collections 中,因此有時(shí)候會(huì)需
要手動(dòng)加入編譯的叁數(shù)。如 ftp/pure-ftpd 中,如果不想把 inetd 的支援編入
的選項(xiàng),并沒(méi)有被 ports collections 所納入,因此必須手動(dòng)加上這個(gè) 編譯叁
數(shù),如下:

代碼:
cd /usr/ports/ftp/pure-ftpd/
make CONFIGURE_ARGS+="--without-inetd" install



26、如何指定 ports 的安裝路徑?

預(yù)設(shè) ports collecions 已安排安裝的路徑 (/usr/local/),如果不想將套件安
裝在預(yù)設(shè)路徑的話(huà),可以手動(dòng)指定安裝路徑。 以 editors/joe 為例,則:

代碼:
cd /usr/ports/editors/joe/
make PREFIX=/usr install


那麼 joe 就會(huì)將檔案對(duì)應(yīng)在 /usr 目錄下,而不是預(yù)設(shè)的 /usr/local 目錄下。


27、安裝 ports 出現(xiàn) FORCE_PKG_REGISTER 的錯(cuò)誤訊息

問(wèn)題敘述:
當(dāng)你先前已經(jīng)用ports 安裝過(guò)某一軟體 當(dāng)你要再次透過(guò)ports 安裝同一軟體時(shí),
很有可能會(huì)出現(xiàn)類(lèi)似下述的錯(cuò)誤訊息產(chǎn)生.

意思是說(shuō) 你可以透過(guò) make deinstall 解除安裝 然後透過(guò) make reinstall來(lái)

再次安裝

若你確定想要*覆蓋*此安裝 可以透過(guò)設(shè)定 FORCE_PKG_REGISTER 變數(shù)達(dá)成目標(biāo).


===> An older version of PORTS資料夾位置 is already installed (軟體版本)
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of PORTS資料夾位置
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.

處理方式:
只要在make install 時(shí)加上 FORCE_PKG_REGISTER="yes" 就可以強(qiáng)制安裝.
也就是: /usr/ports/資料夾位址/#make install FORCE_PKG_REGISTER="yes"


28、安裝 ports 出現(xiàn) Shared object libintl.so.X not found 的錯(cuò)誤訊息

Shared object "libintl.so.4" 或 (libc.so.4) not found

問(wèn)題敘述:
近來(lái)的FreeBSD版本,常常在安裝某些軟體時(shí),會(huì)出現(xiàn)類(lèi)似的失敗畫(huà)面
並且告訴你缺乏 libintl.so.4或是 libc.so.4 這個(gè)函式.

Shared object "libc.so.4" not found
如下圖:是近來(lái)版本安裝某些程式問(wèn)題時(shí)常見(jiàn)的問(wèn)題,缺少 libc.so.4 函式.


問(wèn)題分析:
提到libc.so函式 首先想到的是與 linux 程式相關(guān)共享函式庫(kù).
FreeBSD在讀取相關(guān)函式前,首先會(huì)在 /compat/linux 資料夾中尋找;
然後若找不到則會(huì)嘗試搜尋 /lib 資料夾.

以 libc.so 函式為例,會(huì)先尋找/compat/linux/lib/libc.so ;
其次才是/lib/libc.so .

簡(jiǎn)單的解決方式:


Shared object "libintl.so.4" not found
跟 libc.so 函式一樣 也是在安裝某些軟體就會(huì)出現(xiàn)錯(cuò)誤畫(huà)面.

問(wèn)題分析:
libintl.so 函式是安裝 /usr/port/devel/gettext/ 程式後取得.
理論上來(lái)說(shuō) 目前版本的相關(guān)函數(shù)是 libintl.so.5 為何還要去讀取舊的 libintl.so.4 版本.

當(dāng)你在安裝gmake時(shí),gmake會(huì)去連結(jié)安裝gmake當(dāng)時(shí)的libinl.so的版本,是version 4.
也就是 libintl.so.4

當(dāng)你更新過(guò)相關(guān)的ports (devel/gettext) 將會(huì)用 libintl.so.5 取代 libintl.so.4
除非你能取得先前某些系統(tǒng)保留舊有的 libintl.so.4 否則就會(huì)出現(xiàn)安裝失敗
狀況.

很可惜的是...有很多程式需要 gettext 函式.
你可以用 cd /usr/ports/ ; make search key="gettext" | more 查詢(xún)
為什麼要加上more 因?yàn)樘嗯履憧吹交桀^...QQ

問(wèn)題解決:
要解決這個(gè)問(wèn)題 你可以透過(guò)重新建立所有與 gettext 相關(guān)的ports程式.

# portupgrade -fr gettext
重新建立或重新安裝所有與 gettext相關(guān)連的程式,
若你忘掉了 請(qǐng)參閱 更新ports/升級(jí)系統(tǒng) > portupgrade 軟體更新

或是簡(jiǎn)單的用偷吃步 把*目前版本*link過(guò)去..QQ (版本6..類(lèi)推)
然後就可以順利進(jìn)行程式安裝.

相關(guān)文章

  • Unix,BSD,Linux系統(tǒng)三者的區(qū)別小結(jié)

    這篇文章主要介紹了Unix,BSD,Linux系統(tǒng)三者的區(qū)別小結(jié),需要的朋友可以參考下
    2023-05-03
  • FreeBSD如何添加硬盤(pán)?FreeBSD添加硬盤(pán)的方法

    一些朋友問(wèn)小編FreeBSD如何添加硬盤(pán)?別擔(dān)心,今天小編就為大家分享FreeBSD添加硬盤(pán)的方法,希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧
    2017-04-06
  • Freebsd PF 安裝使用詳解

    今天小編為大家?guī)?lái)的是Freebsd PF 安裝使用詳解,希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧
    2017-04-06
  • FreeBSD下zfs: failed with error 6錯(cuò)誤如何解決?

    最近一些朋友問(wèn)小編 FreeBSD下zfs: failed with error 6錯(cuò)誤如何解決?今天小編要為大家?guī)?lái)的是 FreeBSD下zfs: failed with error 6錯(cuò)誤的解決方法,有需要的朋友一起去看
    2017-04-06
  • Unix文件系統(tǒng)和pwd命令實(shí)現(xiàn)詳解

    今天小編要為大家?guī)?lái)的是Unix文件系統(tǒng)和pwd命令實(shí)現(xiàn)詳解,希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧
    2017-04-01
  • Unix中的dot命令詳解

    今天小編將為大家?guī)?lái)的是Unix中的dot命令詳解!希望對(duì)大家會(huì)有幫助!有需要的朋友一起去看看吧
    2017-03-22
  • freebsd時(shí)間設(shè)置小節(jié)詳解

    近日!一些朋友對(duì)于freebsd時(shí)間設(shè)置小節(jié)存在疑慮!下面小編將為大家?guī)?lái)的是freebsd時(shí)間設(shè)置小節(jié)詳解!希望對(duì)大家會(huì)有幫助!有需要的朋友一起去看看吧
    2017-03-19
  • grub2引導(dǎo)freebsd詳解

    今天小編要為大家?guī)?lái)的是grub2引導(dǎo)freebsd詳解!希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧
    2017-03-19
  • FreeBSD10安裝內(nèi)核源代碼方法講解

    下面小編為大家?guī)?lái)的是FreeBSD10安裝內(nèi)核源代碼方法講解!希望能夠幫助到大家!有需要的朋友一起去看看吧
    2017-03-19
  • FreeBSD下如何使GraphicsMagick支持中文字體?

    最近一些朋友在問(wèn)FreeBSD下如何使GraphicsMagick支持中文字體?今天小編為大家?guī)?lái)的是FreeBSD下使GraphicsMagick支持中文字體的方法!有需要的朋友一起去看看吧
    2017-03-15

最新評(píng)論