時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)
FreeBSD的默認(rèn)下載工具是fetch,既慢又不好用。在FreeBSD下安裝軟件有一些很有效率的方式,下面就給大家介紹一下。
Ports機(jī)制
首先,F(xiàn)reeBSD下最有特色的軟件安裝和升級(jí)機(jī)制就是ports,既方便又高效。下面我們從ports套件的安裝開始講起,讓你細(xì)致的了解有關(guān)ports的每一個(gè)細(xì)節(jié)
一、ports套件的安裝
①我的FreeBSD 8.0-release是最小化安裝,所以既沒有ports,也沒有/usr/ports目錄。選擇啟用ports的話,需要在root下輸入"sysinstall"來安裝它:
輸入sysinstall --> 選擇Configure --> Distributions --> ports,然后安裝即可。
②ports的默認(rèn)路徑是/usr/ports。這個(gè)ports的根目錄下面有很多的文件夾及子文件夾,組成一個(gè)樹狀目錄,包含大量ports下的軟件。比如mail是郵件服務(wù)軟件,games是游戲,www代表web服務(wù)軟件,databases則是數(shù)據(jù)庫軟件。
[root@bsd01 /usr/ports]# cd www [root@bsd01 /usr/ports/www]# ls -d apache* apache-contrib apache13 apache13-modssl+ipv6 apache-forrest apache13+ipv6 apache13-ssl apache-jserv apache13-modperl apache20 apache-mode.el apache13-modssl apache22
如果你需要安裝什么軟件,只要進(jìn)入當(dāng)前目錄,然后"make install clean"即可。
[root@bsd01 ~]# cd /usr/ports/www/apache22 [root@bsd01 /usr/ports/www/apache22] make install clean
/usr/ports/distfiles是存放軟件包的文件夾。ports會(huì)先檢查/usr/ports/distfiles目錄內(nèi)有沒有這個(gè)軟件包,如果沒有它就會(huì)自動(dòng)從網(wǎng)上下載安裝。
二、加速ports的升級(jí)速度
ports從網(wǎng)上下載軟件包自動(dòng)安裝,那么從那里下載呢?首先,我們需要安裝axel來取代默認(rèn)的下載工具fetch,這樣可以提高ports的安裝速度:
cd /usr/ports/ftp/axel make install
然后,我們需要一個(gè)源地址管理。跟ubuntu上的/etc/source.list文件一樣,freebsd用的文件是/etc/make.conf,我們可以修改其文件,達(dá)到加速下載的目的。
#修改 /et/make.conf vi /etc/make.conf #加入以下內(nèi)容 FETCH_CMD=axel FETCH_BEFORE_ARGS= -n 10 -a FETCH_AFTER_ARGS= DISABLE_SIZE=yes MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/http://ports.cn.freebsd.org/${DIST_SUBDIR}/ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
這樣處理后,在公司的網(wǎng)絡(luò)環(huán)境下,F(xiàn)reeBSD的下載速度明顯提高了,有時(shí)居然能達(dá)到1M/s,這樣升級(jí)及安裝軟件方便極了;呵呵,終于可以擺脫fetch的龜速了。
三、更新ports目錄樹
既然ports的樹目錄全部下載到本地,那么即使FreeBSD有新的軟件包或者添置了新的軟件,本地目錄樹也不會(huì)更新。所以,我們每隔一段時(shí)間需要更新本地目錄樹。我來介紹一種在FreeBSD中方便、快捷的更新ports的方法:使用portsnap來更新ports目錄樹。
①配置portsnap:
我們使用portsnap,首先要設(shè)置一下它的配置文件,位于/etc/portsnap.conf:
[root@bsd01 /usr/ports]# vi /etc/portsnap.conf
把
SERVERNAME=portsnap.freebsd.org
修改成:
SERVERNAME=portsnap.hshh.org
這個(gè)是他的更新服務(wù)器。另外還有幾個(gè)國內(nèi)比較快的portsnap服務(wù)器:
portsnap.hshh.org
portsnap2.hshh.org
portsnap3.hshh.org (網(wǎng)通)
portsnap4.hshh.org
②首次使用portsnap:
在你的FreeBSD首次使用portsnap必須執(zhí)行下面2步:
[root@bsd01 ~]# portsnap fetch [root@bsd01 ~]# portsnap extract
portsnap fecth是從網(wǎng)上獲取portsnap快照的最新壓縮包,聽聞這個(gè)壓縮包官方?jīng)]小時(shí)更新一次。
portsnap extract 則是把這個(gè)壓縮包創(chuàng)立到/usr/ports。哪怕你以前已經(jīng)手工安裝了ports,他也會(huì)重新創(chuàng)立一次。
(注:這2步可以合成使用,指令為 [root@bsd01 ~]# portsnap fetch extract)
③以后使用portsnap更新,只需要執(zhí)行下面2步:
[root@bsd01 ~]# portsnap fetch [root@bsd01 ~]# portsnap update
同樣,這2步可以合成使用:[root@bsd01 ~]# portsnap fetch update
portsnap第一次運(yùn)行extract命令時(shí),可能需要一段時(shí)間,以后更新使用update的時(shí)候,速度就快很多了。
四、ports管理軟件常用命令
①安裝軟件
下面以安裝rpm為例:
[root@bsd01 ~]# cd /usr/ports/archivers/rpm [root@bsd01 /usr/ports/archivers/rpm]# make install clean
軟件安裝的過程中會(huì)生成大量的暫存文件。這些暫存文件建議保留,但是有時(shí)候,比如使用測試服務(wù)器的時(shí)候,可以通過清除暫存文件來節(jié)約磁盤空間。如果想清除www內(nèi)所有的暫存文件,就cd到/usr/ports/www內(nèi)。如果想清除所有的暫存文件,就cd到/usr/ports根目錄:
[root@bsd01 ~]# cd /usr/ports [root@bsd01 /usr/ports]# make clean
make clean只是清除暫存文件,并不是清除該文件夾里面的軟件包。什么是暫存文件?其實(shí)主要是編譯過程產(chǎn)生的一些臨時(shí)文件,其實(shí)也是軟件目錄內(nèi)的work文件夾,而執(zhí)行make clean會(huì)把當(dāng)前軟件目錄內(nèi)的work文件夾刪除。
如果想刪除文件夾內(nèi)中的軟件包該怎么做呢?
[root@bsd01 ~]# cd /usr/ports/www/apache22 [root@bsd01 /usr/ports/www/apache22]# make distclean
make distclean不但會(huì)清除軟件包,而且也包含了make clean命令的效果。這樣就會(huì)清除apache22的軟件包,以及apache22目錄內(nèi)的work文件夾。
同理,如果想清除所有www內(nèi)的軟件包及暫存文件,就cd到/usr/ports/www;如果像清除所有的包及暫存文件,就cd到ports根目錄。
②卸載軟件
卸載軟件用make deinstall:
[root@bsd01 ~]# cd /usr/ports/www/apache22 [root@bsd01 /usr/ports/www/apache22]# make deinstall
③查詢可用ports安裝的軟件
我一直想,F(xiàn)reeBSD的ports直接在系統(tǒng)內(nèi)占用資源空間組成樹目錄是好還是不好呢?如果要是從能查詢這一點(diǎn)講就比apt-get好一些了,以前用apt-get安裝軟件的時(shí)候,要是遇到一些稍微不規(guī)范一點(diǎn)的軟件,就很難知道名字了,經(jīng)常要用正則表達(dá)式來測試軟件名是什么。
而現(xiàn)在在FreeBSD里面可以直接在ports樹目錄內(nèi)查詢可用的軟件了。
[root@bsd01 ~]# cd /usr/ports [root@bsd01 /usr/ports]# make search key=apache
不過這種會(huì)找出很多,看的眼花,但是我們注意到有一個(gè)細(xì)節(jié),就是Port和Path這兩個(gè)關(guān)鍵字,一個(gè)代表名字,一個(gè)代表路徑,我們就可以改善+過濾:
[root@bsd01 /usr/ports]# make search key=^apache-2 | grep -E "Port:|Path:|Info:"
Port: apache-2.0.61_2
Path: /usr/ports/www/apache20
Info: Version 2 of Apache web server with prefork MPM.
Port: apache-2.1.9_7
Path: /usr/ports/www/apache21
Info: Version 2.1 of Apache web server with prefork MPM.
Port: apache-2.2.6_2
Path: /usr/ports/www/apache22
Info: Version 2.2 of Apache web server with prefork MPM.
④查詢已安裝的軟件
怎么像Linux中用"rpm -qa | grep samba"來查詢某個(gè)軟件是否安裝了呢(這里以samba為例),ports用"pkg_info":
[root@bsd01 ~]# pkg_info | grep samba samba-3.0.32_1,1 A free SMB and CIFS client and server for UNIX samba-libsmbclient-3.0.28 Shared libs from the samba package [root@bsd01 ~]# pkg_info | grep nfs
五、安裝示例
在FreeBSD 8下采用ports安裝現(xiàn)在最流行的FAMP及FNMP架構(gòu)都是很容易和方便的事情,網(wǎng)上的文章也很多,我這里就不一詳細(xì)說明了。我這里以安裝Nginx和Git-Server來說明下,安裝步驟如下:
①安裝 Nginx
首先安裝 pcre8.00(pcre 是Nginx所需的Perl兼容正則表達(dá)式庫)
cd /usr/ports/devel/pcre make install
安裝 Nginx0.7.65
cd /usr/ports/www/nginx make install
配置編譯參數(shù)
[ ] DEBUG Enable nginx debugging [ ] IPV6 Enable IPv6 [ ] GOOGLE_PERFTOOLS Enable google perftools module [X] HTTP_MODULE Enable HTTP module [ ] HTTP_ADDITION_MODULE Enable http_addition module [X] HTTP_CACHE_MODULE Enable http_cache module [ ] HTTP_DAV_MODULE Enable http_webdav module [ ] HTTP_FLV_MODULE Enable http_flv module [X] HTTP_GZIP_STATIC_MODULE Enable http_gzip_static module [ ] HTTP_IMAGE_FILTER_MODULE Enable http_image_filter module [ ] HTTP_PERL_MODULE Enable http_perl module [ ] HTTP_RANDOM_INDEX_MODULE Enable http_random_index module [ ] HTTP_REALIP_MODULE Enable http_realip module [X] HTTP_REWRITE_MODULE Enable http_rewrite module [ ] HTTP_SECURE_LINK_MODULE Enable http_secure_link module [ ] HTTP_SSL_MODULE Enable http_ssl module [X] HTTP_STATUS_MODULE Enable http_s關(guān)鍵詞標(biāo)簽:FreeBSD
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載