最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

FreeBSD的軟件管理

  發(fā)布時(shí)間:2008-09-08 18:49:31   作者:佚名   我要評(píng)論
1、FreeBSD應(yīng)用系統(tǒng)的組成     FreeBSD應(yīng)用系統(tǒng)由FreeBSD操作系統(tǒng)和移植(ports)到FreeBSD的各種應(yīng)用軟件組成     FreeBSD操作系統(tǒng)本身,是由內(nèi)核和基本系統(tǒng)組成,基本系統(tǒng)由系統(tǒng)工具、系統(tǒng)庫和文檔組成,最小化安裝選項(xiàng)安裝的是內(nèi)核、

1、FreeBSD應(yīng)用系統(tǒng)的組成

    FreeBSD應(yīng)用系統(tǒng)由FreeBSD操作系統(tǒng)和移植(ports)到FreeBSD的各種應(yīng)用軟件組成

    FreeBSD操作系統(tǒng)本身,是由內(nèi)核和基本系統(tǒng)組成,基本系統(tǒng)系統(tǒng)工具、系統(tǒng)庫和文檔組成,最小化安裝選項(xiàng)安裝的是內(nèi)核、系統(tǒng)工具和系統(tǒng)庫,系統(tǒng)工具提供了完整的系統(tǒng)管理和編譯程序程序。而文檔和代碼以及ports系統(tǒng)是可選安裝的。如果完整安裝了FreeBSD,簡(jiǎn)單的說就是安裝了內(nèi)核、系統(tǒng)管理工具、系統(tǒng)庫、編譯程序、系統(tǒng)源代碼、ports以及man、info、FreeBSD handbook等文檔。

    為了擴(kuò)大FreeBSD的應(yīng)用,F(xiàn)reeBSD移植(port)了大量的自由軟件、開源軟件。并構(gòu)建了ports系統(tǒng),把這些移植的軟件匯集到一起,從移植應(yīng)用程序本身來說,大都是基于源代碼進(jìn)行修改和調(diào)整,以便建立的程序可以運(yùn)行在FreeBSD系統(tǒng)環(huán)境下,所以ports中存放的都是代碼修改以及編譯控制,以及FreeBSD的程序管理策略。

2、ports的組成

    一個(gè)軟件的ports,大致由以下幾個(gè)部分組成:

    pkg-descr  應(yīng)用軟件的簡(jiǎn)單描述
    pkg-plist  軟件安裝的文件列表
    distinfo   軟件源代碼的名稱,版本以及校驗(yàn)信息
    Makefile   控制軟件編譯的makefile
    files目錄  里面包含對(duì)源代碼進(jìn)行修改的各種補(bǔ)丁

    利用port進(jìn)行軟件安裝非常簡(jiǎn)單,這得益與ports系統(tǒng)的精心設(shè)計(jì),大量繁瑣的操作都定義在 /usr/ports/mk 目錄下的文件當(dāng)中,諸如一些變量定義,編譯選項(xiàng)定義,文件下載地址定義,編譯工具定義,以及一些操作的定義等等。具體軟件的port中的Makefile文件,都會(huì)繼承系統(tǒng)提供的這些定義,而且可以根據(jù)需要進(jìn)行調(diào)整。

     具體軟件port的Makefile還提供了軟件運(yùn)行依賴,建立依賴,以及對(duì)源代碼編譯過程中一些具體的定義。

3、利用ports進(jìn)行軟件安裝的過程。

     簡(jiǎn)單來說,可以用下面的指令來完成安裝

 

[Copy to clipboard] [ - ] CODE: make install clean


具體的過程是:

     根據(jù)distinfo文件中的軟件源代碼文件名,檢測(cè) /usr/ports/distfiles 目錄下,是否有軟件的源代碼

     如果沒有,調(diào)用 make fetch 從Makefile文件中定義的下載地址進(jìn)行下載

     下載完成以后,調(diào)用 make checksum ,利用 distinfo 文件中的源代碼文件的校驗(yàn)信息,校驗(yàn)源代碼包的完整性。

     如果校驗(yàn)正確,調(diào)用 make extract,對(duì)源代碼進(jìn)行解壓,具體的路徑是:

 

[Copy to clipboard] [ - ] CODE: 軟件port當(dāng)前路徑/work/源代碼文件名去掉后面的.gz.bz2/


解壓源代碼后,調(diào)用 make patch ,搜索 files 目錄下的補(bǔ)丁文件為源代碼打補(bǔ)丁,

     打完補(bǔ)丁,根據(jù) Makefile文件中定義的軟件運(yùn)行依賴關(guān)系,查找系統(tǒng)中是否安裝對(duì)應(yīng)的軟件,如果沒有安裝,會(huì)轉(zhuǎn)入相應(yīng)的軟件的ports中進(jìn)行make install clean 。假設(shè)當(dāng)前應(yīng)用程序的所有運(yùn)行依賴都已經(jīng)安裝,ports系統(tǒng)會(huì)進(jìn)入源代碼目錄,運(yùn)行里面的configure文件,生成源代碼目錄下的makefile文件,然后進(jìn)行源代碼的make過程,對(duì)源代碼進(jìn)行編譯、連接。

     當(dāng)所有的make過程結(jié)束以后。運(yùn)行ports系統(tǒng)的 make install進(jìn)行安裝

     安裝完成以后,利用pkg-descr,pkg-plist的內(nèi)容在  /var/db/pkg 目錄下對(duì)這個(gè)軟件進(jìn)行注冊(cè)。標(biāo)記這個(gè)軟件已經(jīng)安裝,并詳細(xì)注冊(cè)了安裝文件列表。

     如果軟件注冊(cè)成功,ports系統(tǒng)利用make clean命令,清除軟件port當(dāng)前目錄下work子目錄信息。如果在編譯安裝過程中對(duì)有依賴關(guān)系的軟件進(jìn)行過編譯安裝,會(huì)回溯清理過程。

4、packages軟件安裝和管理

     packages,也可以稱作編譯封裝好的應(yīng)用軟件的二進(jìn)制包,是FreeBSD提供的基于ports系統(tǒng)建立的二進(jìn)制軟件包,這個(gè)軟件包實(shí)際上是FreeBSD利用硬件資源,利用 ports 系統(tǒng)的 make package 命令建立的。這些package存放在 ftp.freebsd.org 服務(wù)器上,可以遠(yuǎn)程直接下載安裝,也可以下載后進(jìn)行安裝。

    以freebsd 7.0 release為例,它的二進(jìn)制軟件包網(wǎng)絡(luò)地址是:

    ftp://ftp.freebsd.org/pub/FreeBS ... ckages-7.0-release/

    在這個(gè)網(wǎng)絡(luò)目錄下,有兩個(gè)文件夾要用到,一個(gè)是 All ,一個(gè)是 Latest,注意第一個(gè)字母都是大寫。

    All目錄下的文件,是利用ports建立的二進(jìn)制軟件包,例如 mysql51-server-5.1.22.tbz,軟件包名稱來自它的ports名,版本號(hào)是ports根據(jù)軟件包源代碼版本進(jìn)行的定義。

    Latest目錄下的文件,其實(shí)是All目錄下軟件二進(jìn)制包的軟連接,并且省去了版本號(hào),這個(gè)目錄是 FreeBSD系統(tǒng)網(wǎng)絡(luò)在線遠(yuǎn)程安裝所要訪問的目錄,對(duì)于 mysql51-server-5.1.22.tbz 的軟連接名是 mysql51-server.tbz。這樣在遠(yuǎn)程安裝時(shí)就省去了輸入版本號(hào)的麻煩。

    這兩個(gè)目錄的建立和維護(hù)也是由ports系統(tǒng)自動(dòng)完成的,無需干預(yù)。

    FreeBSD操作系統(tǒng)提供的系統(tǒng)管理工具中,提供了對(duì)packages的維護(hù)工具

    軟件安裝

    遠(yuǎn)程軟件安裝:  pkg_add -r 軟件包名稱  例如:pkg_add -r mysql51-server,pkg_add -r xorg,pkg_add -r kde

    系統(tǒng)會(huì)自動(dòng)在上面所說的ftp服務(wù)器Latest目錄下查找 mysql51-server.tbz,xorg.tbz,kde.tbz,但有一點(diǎn)需要注意,F(xiàn)reeBSD的ftp服務(wù)器并不保證ports上容納的所有的移植過來的軟件都有二進(jìn)制包,尤其是stable分支,有些是因?yàn)檐浖orts本身有問題無法建立,也有一些軟件ports正在修訂,還有一些只允許源代碼包發(fā)布,協(xié)議不允許進(jìn)行打包。
   
    本地軟件安裝:   pkg_add  軟件包文件名 ,用這種方式安裝軟件包,需要從All目錄下載,防止軟件安裝時(shí)搜索特定版本的有依賴關(guān)系的軟件包。

    一個(gè)建議:利用pkg_add -r -K 這個(gè)命令,它的作用是,遠(yuǎn)程下載,安裝,并且把下載的二進(jìn)制包保存在 PKGDIR 定義的目錄上。PKGDIR 默認(rèn)的定義是 /usr/ports/packages/
 

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    最近一些朋友在問FreeBSD下如何使GraphicsMagick支持中文字體?今天小編為大家?guī)淼氖荈reeBSD下使GraphicsMagick支持中文字體的方法!有需要的朋友一起去看看吧
    2017-03-15

最新評(píng)論

卓尼县| 镇远县| 安图县| 乐都县| 买车| 阿坝| 左权县| 新竹市| 聂荣县| 肇庆市| 上饶市| 宽城| 彭山县| 凭祥市| 安丘市| 平顺县| 微博| 泰来县| 四会市| 宁河县| 博白县| 清涧县| 涿鹿县| 务川| 五河县| 江口县| 大理市| 肥乡县| 营口市| 玛纳斯县| 平度市| 远安县| 丰台区| 汉沽区| 温泉县| 临海市| 磐石市| 临夏县| 平罗县| 岳阳市| 乳山市|