[FreeBSD] Update ports by Portsnap

先修改設定檔,把mirror site改成比較近的地方
修改/etc/portsnap.conf 的SERVERNAME

SERVERNAME=portsnap.tw.freebsd.org

 

更新指令

# 第一次使用 Portsnap 時需要先下這條指令,以取得 Ports System Snapshot 並解開
portsnap fetch extract
# 日後更新Port Tree時只需執行這條指令即可
portsnap fetch update

 

※更新日誌在/usr/ports/UPDATING

Leave a comment

[FreeBSD] VMtools 安裝

前置作業一:環境設定

# 安裝perl
cd /usr/ports/lang/perl5.18
make install clean

# 安裝compat6x
cd /usr/ports/misc/compat6x/
make install clean

 

取得安裝檔,如果你手邊有準備好的檔案請跳過這步驟。

# 在vSphere上掛載iso後mount進去,並把安裝檔拉出來(拉完後記得卸載)
mount -t cd9660 /dev/cd0 /media
cp /media/vmware-freebsd-tools.tar.gz /tmp
umount /media
cd /tmp

# 解壓縮
tar -zxvf vmware-freebsd-tools.tar.gz

 

下載ogris提供的patch進行修正,請放到/tmp

cd /tmp
fetch http://ogris.de/vmware/vmware-tools-distrib.diff
fetch http://ogris.de/vmware/vmblock-only.diff

# 如果你是ESXI5.5,請fetch vmmemctl-only55.diff
fetch http://ogris.de/vmware/vmmemctl-only.diff
fetch http://ogris.de/vmware/vmmemctl-only55.diff

 

開始進行修正(可以寫成shell script來跑,注意路徑問題)

cd /tmp/vmware-tools-distrib
patch -p1 < /tmp/vmware-tools-distrib.diff
cd lib/modules/source/
tar xf vmblock.tar
tar xf vmmemctl.tar
cd vmblock-only
patch -p1 < /tmp/vmblock-only.diff
make
make install
cd ../vmmemctl-only

# ESXI版本注意,請自行修改
patch -p1 < /tmp/vmmemctl-only.diff # ESXi5: /tmp/vmmemctl-only55.diff
make
make install
cd ../../../../

 

前置作業準備就緒,執行安裝

/tmp/vmware-tools-distrib/vmware-install.pl

Reference:Ogris: VMware Tools on FreeBSD 10.0

Leave a comment

[FreeBSD] 檔案系統架構

做個筆記

1407302518-928700446

解說一下幾個比較常用到的地方,裡面放了哪些東西

  1. /bin & /usr/bin : 系統內建指令
  2. /dev : 儲存裝置對映檔
  3. /etc : 系統用程式與設定檔
  4. /home : 使用者家目錄
  5. /mnt : 臨時掛載點
  6. /root : root帳號家目錄
  7. /tmp : 暫存區,編譯軟體所產生的暫存檔會放置在這裡
  8. /usr : 使用者所安裝的工具&應用程式存放區
  9. /usr/local : 額外安裝執行檔、函式庫會在這裡,也是Ports預設安裝目錄
  10. /var : log檔存放區或memory-based檔案系統的掛載點

切割過程:
http://www.freebsd.org/doc/en/books/handbook/install-steps.html 

Leave a comment

[Linux] 用 ln 建立檔案或目錄連結

使用方式為 ln [-hs] <來源> <目標>

EX: 在 /var/www 下建立一個名為 wpmu 的 Synbolic Link,來源端為 /home/wordpress

ln -s /home/wordpress /var/www/wpmu

 

這裡只說明參數 -h-s 的差異,詳細請見 官方文件

 

-h 為 Hard Link,讀取方式為一層一層取得檔案相關的關聯資料,再到對應的 inode 取得檔案的屬性,以及檔案內容資料所在的 block , 最後到 block area 取得檔案的資料。

不管在哪個目錄底下叫出檔案並修改,因為 Hard Link 只是在目錄下建立一個檔案關聯紀錄,因此修改檔案時皆會修改到同一個檔案,而刪除檔案時只是刪除一個檔案關聯紀錄,並不是刪除檔案本身,因此不會變動到檔案本身的 inode 與 block area,好處為較安全。

由於 Hard Link 是在同一個 partition 上建立檔案關聯,因此 Hard Link 有兩項限制:

  1. 不能跨 File System
  2. 不能對目錄做 link

 

 

而參數 -s 為 Synbolic Link,這就好理解多了,Synbolic Link 會建立一個新檔案,指向 link 到的檔案或目錄,所以原檔案或目錄被砍掉時,這個 link 就會失效。而因為 link 的建立方式是建立新檔案,因此會有獨立的 inode 與 block 佔用磁碟空間 (建立及運作方式雷同 Windows 的捷徑)。


Reference:宅男的電腦筆記

Leave a comment

[FreeBSD] Single user mode

人多少會有健忘的時候

有時候會不小心忘記root密碼

或是不小心把設定改爛進不去系統

這時候就可以利用single user mode去修復

重開機後選擇第四個開機選項進入single user mode

 

#進入single user mode後會詢問下面的東西,按Enter直接跳過
Enter full pathname of shell of RETURN for /bin/sh:
#檢查並修正檔案系統
> fsck -p
#載入所有
> mount -a
#修改密碼
> pwsswd root
#編輯改爛的設定 (example: /etc/rc.conf)
> vi /etc/rc.conf
Leave a comment