日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

對話 UNIX,第 11 部分: 漫談 UNIX 文件系統(tǒng)( 四 )


另一種方法(這是我更喜歡的范例)是為每一個本地添加的包創(chuàng)建一個根目錄,特別是在這個包很大的情況下 。例如,我將 MySQL V5 安裝到 /usr/local/mysql5.0,將 Apache V2.2 安裝到 /usr/local/apache2.2 。每個包的安裝程序都會在包的根目錄中創(chuàng)建它自己的 bin、lib 和 man 目錄 。
這種方法有一個缺點(diǎn),每個最終用戶必須向他或她的 PATH 環(huán)境變量中添加許多 bin 目錄 。并且當(dāng)這一需求并不是特別復(fù)雜時,通過在系統(tǒng)范圍的 Shell 啟動文件中擴(kuò)展缺省的 PATH 設(shè)置,就可以解決這個問題 。例如,Bash 系統(tǒng)范圍啟動腳本 /etc/profile,可能包含:
PATH="/bin:/usr/bin:/usr/local/bin"
PATH="$PATH:/usr/local/mysql5.0/bin"
PATH="$PATH:/usr/local/perl6/bin"
PATH="$PATH:/usr/local/Zend/bin"
export PATH
然而,將一個包存儲在它自己的“容器中,這是很有好處的:
哪個包提供了特定的應(yīng)用程序,這是顯而易見的 。遵循這一分類系統(tǒng),您可以使用 which 命令找到包的名字:$ which mysql
/usr/local/mysql5.0/bin/mysql
您可以同時保留同一個包的不同版本 。例如,如果您希望提供 Perl V5.6 和 Perl V5.8,可以將前者安裝到 /usr/local/perl5.6,將后者安裝到 /usr/local/perl5.8 。每個用戶都可以通過改變 PATH 變量,來選擇一個 Perl 版本 。
您可以同時保留不同的版本,但是可以通過使用符號鏈接,使得缺省情況下對應(yīng)于某一個特定的版本 。只需創(chuàng)建一個到您希望提供的包的版本的符號鏈接即可 。例如,假定您提供了前面介紹的兩個 Perl 版本 。如果您希望將 Perl V5.8 作為缺省值,可以創(chuàng)建一個到 /usr/local/perl5.8 的符號鏈接,并將它命名為 perl:
$ ls -1 /usr/local/perl*
perl5.6
perl5.8
$ sudo ln -s /usr/local/perl5.8
 /usr/local/perl
$ ls -1 -F /usr/local/perl*
perl5.6/
perl5.8/
perl@
最終用戶現(xiàn)在可以添加 /usr/local/perl/bin 到他或她的 PATH 變量以運(yùn)行 perl 命令 。如果您最后需要或者希望切換到一個更新的或者更舊的 Perl 版本,那么您只需刪除該符號鏈接,并重新創(chuàng)建一個指向不同目錄的符號鏈接即可 。
對于這樣的維護(hù)任務(wù),符號鏈接是非常重要的 。您可以維護(hù)變量、變更路徑,并為方便訪問構(gòu)建集合 。例如,您可以在傳統(tǒng)的 /usr/local/bin 目錄中填入鏈接到其他包中的命令的符號鏈接,如 ln -s /usr/local/perl/bin/perl /usr/local/bin/perl 。(是的,您可以創(chuàng)建指向另一個符號鏈接的符號鏈接 。)

推薦閱讀