2012-02-09 47 views
0

我最近嘗試從源代碼安裝在Ubuntu NATTY上的monit。這裏是我的代碼:如何爲從源代碼安裝的程序創建終端命令

apt-get -y install openssl libssl-dev bison flex 
mkdir src && cd src 
wget http://mmonit.com/monit/dist/monit-5.3.2.tar.gz 
tar xzf monit-5.3.2.tar.gz 
cd monit-5.3.2 
./configure --prefix=/usr/local/monit 
make && make install 

但是,當我安裝monit的使用apt-get我能夠直接使用關鍵字monit命令行調用monit的。當我從源代碼安裝時,我無法做到這一點。 PHP也是一樣。

如何從源代碼安裝Monit(和其他Linux程序)時啓用此功能?

在此先感謝。

編輯

我能夠通過執行以下操作來解決這個問題:

printf "\nPATH=/usr/local/monit/bin:\${PATH}\n" >> ~/.profile 
source ~/.profile 

這將適用於當前登錄的用戶(在我的情況根)。爲了使其在整個系統範圍內簡單地使用/etc/profile代替~/.profile

所以現在我可以撥打monit(以及我從源代碼安裝的任何其他程序)。

+0

當你輸入echo $ PATH時你會得到什麼? – iabdalkader 2012-02-09 13:58:06

+0

我得到'/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games'。我在自定義linux方面有點不習慣,所以我只想知道是否有某個文件可以在nano中編輯,以及如何編輯它。 – 2012-02-09 14:09:20

+0

是的,檢查答案,您也可以在任何這些目錄下添加一個指向該二進制文件的鏈接,當您鍵入時,將按順序搜索那些變量,直到找到命令爲止。 – iabdalkader 2012-02-09 14:26:14

回答

0

編輯您的/etc/profile以將路徑/usr/local/monit添加到PATH變量。

對於前,如果你以前有這樣的。

PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"

你可以將其更改爲

PATH="/usr/local/monit:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"

+0

+1。另外:@Chuck,介意如果一個程序在$ PATH的* * *目錄之一中被找到,那麼後面的目錄就不會被搜索到。因此,如果您希望「本地安裝的」二進制文件具有首選項,請在PATH的**開頭**處添加它們。 – ArjunShankar 2012-02-09 14:18:27

+0

@ArjunShankar更正。謝謝。 – 2012-02-09 14:25:57

+0

謝謝。但是,看着我的/ etc/profile文件,它沒有路徑變量。我已經在這裏發佈了文件的內容:http:// pastebin。com/70stiZQx – 2012-02-09 14:34:39

1

使用命令來安裝它就會把它在/ usr /本地/ monit的,該不會是你的$ PATH,正如其他人所說的。不過,除了修改路徑之外,還有幾個選項。例如,您可以創建從實際可執行文件到您的路徑中的符號鏈接。因此,如果可執行文件是/ usr /本地/ monit的/ monit的,你可以

ln -s /usr/local/monit/monit /usr/local/bin/monit 

創建符號鏈接的優點是它會爲所有用戶使用。

您也可以創建一個別名,但只適用於與您一樣運行的應用程序。

+0

這不意味着我將不得不兩次安裝Monit,即使用'apt-get install monit',然後在創建符號鏈接之前從源代碼完成我自己的安裝?! – 2012-02-22 12:37:13

+0

不可以。只有一個可執行副本。 「ln -s」命令將創建一個符號鏈接(指針)到一個實際副本。這就像Windows中的快捷方式,如果你更熟悉Windows。 – 2012-02-23 14:03:21