iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0
自我挑戰組

30天學會用FreeBSD & Apache架網站系列 第 13

【Day13】如何安裝(2)

還記得之前有講過安裝的方式吧!
而在我們講完vim、sudo、screen之後,今天我們又要來講怎麼安裝囉!
今天一樣會有裝一個東西,叫做sl,但是他只是一個有趣的小遊戲(?),然後不會裝太久,但還是不一定要裝噢。
這個也是安裝東西歐,所以要root權限,當然可以用前天說的sudo啦~

安裝的第二種方法

這回要講的安裝方式是make install。跟pkg不一樣的是,他是要抓原始碼自己編譯,而不是抓編譯好的檔案,所以速度會慢很多,對真的很多。
但是他的優點是它的彈性較好,可以在編譯的時候選選項。
他一開始要先去抓套件集的快照(其實pkg也會),然後才能開始裝。
那我們就開始吧!

實作

一開始我們要抓套件集的快照,所以:
portsnap fetch
等他跑一下就好了,但請不要以pkg的速度評斷他。
再來因為我們是第一次用這個東西,所以我們需要解壓縮:
portsnap extract
這個可以去看個影片或甚麼的再回來,真的有夠久...(screen派上用場囉!)
上面兩個步驟也可以合併成portsnap fetch extract
而如果不是第一次用,那就只要portsnap fetchportsnap update就好了。當然,也可以合併成portsnap fetch update
接下來經過漫長的等待之後他跑完了,那就可以開始安裝囉!

所有的套件目錄都會放在/usr/ports裡面,所以我們先過去,而應該會看到像這樣的東西:
https://ithelp.ithome.com.tw/upload/images/20190926/20120263fLC7gVugf4.png
這邊的目錄是分類的概念,而我上面有說今天要裝的是一個小遊戲,所以我們要到/usr/ports/games裡面。
這邊只會有更多更多的目錄,因為大家都想玩遊戲(?)
我們直接進去sl,也就是我們今天要裝的東西。
進來之後會看到有幾個檔案,我們來稍微說明一下(雖然我個人都沒動過):
Makefile make的相關參數。
distinfo 要去哪裡抓檔案之類的。
pkg-decsr 他的描述。
另外可能還會有一些sl沒有的:
files(目錄) 安裝所需的檔案們。

好那現在就可以開始安裝囉!
我們第一個指令是make install,看起來很好懂吧!就是安裝~
再來我們要下make clean,它是用來把剛剛安裝東西生出來的東西(工作目錄&檔案)清掉。
上述兩個指令也可以合併成make install clean
然後這個會蠻快的,然後可能會叫你弄一些選項,但是我選了簡單的sl,所以沒什麼東西。
這時候你可能會想要用了,然後就會出現兩種狀況:

  1. 正常跑,看到這個可愛的火車:https://ithelp.ithome.com.tw/upload/images/20190926/201202638wjDl6Mkx9.png
  2. 他告訴你Command not found
    下面是發生甚麼事呢?他是因為剛安裝完系統還沒讀到檔案所造成的,可以下rehash讓系統設定被重讀,然後就會好了。
    接下來也許你會想要改一下選項,所以你需要make config,這樣就可以改一下選項,也是ports最大的好處。
    又然後可能你哪一天想要解除安裝了,那你必須make deinstall但是千萬注意:請你在哪個地方make install就在哪裡make deinstall,不然你的下場可能會有點悽慘。

今日小結

今天很努力地弄了另外一種安裝方式呢,當然我個人偏好pkg啦,但是ports也學起來比較好,也許哪天用得上!
順便說一下sl好了,應該都知道ls這個指令吧,他就是當你把ls打太快的時候來嘲諷你的XD


上一篇
【Day12】使用screen
下一篇
【Day14】HTML(1)
系列文
30天學會用FreeBSD & Apache架網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言