這陣子在網路上突然看到了這篇文章:Defragmentation of Linux Filesystems
記得從開始學習Unix Like系統開始...
就一直聽人家講說Linux不需要重組磁碟..
但看過這篇文章後就跟著文章上的指令查看了一下自己硬碟的情況..

查看磁碟情況:
sudo fsck -nvf /dev/sda1

結果存放BT下載檔案的磁碟居然高達49%不連續檔案...@@
才驚覺Linux是否真的不需重組磁碟呢??
於是找到了ShaKe這個程式..

ShaKe是一款userspace的磁碟重組軟體...
依然官方網站的方法加軟體源加入Souce List後再執行sudo apt-get install shake
安裝完的軟體居然和剛才加入的軟體不同...真是
既然無法使用apt-get安裝...
只好退而求其次自己編譯囉..

編譯ShaKe:
ShaKe編譯時需要使用到cmake.help2man.libattr1-dev
因此需先執行安裝:
sudo apt-get install cmake help2man libattr1-dev
接下來當然是先下載ShaKe

 
下載完後將檔案解壓縮即出現"shake-0.99"目錄 

安裝好所需要的套件後先切換到"shake-0.99/build/"目錄
接著依序執行:
sudo cmake ..
sudo make
sudo make install

即完成編譯

使用ShaKe重組磁碟:
在預設是直接執行:
sudo shake my_dir 
即會進行重組了,此時預設是不會顯示任何資訊..
若想知道重組的進度可加上參數:"-pvv"
sudo shake -pvv my_dir

如果在重組時出現了"failed to set position time"
則必須將預重組的磁區加上"user_xattr"屬性

將重組的磁區加上"user_xattr":
首先需修改 fstab 設定:
sudo madedit /etc/fstab

UUID=4ce35ff1-0001-3b5e-9ed4-251bc077b744 /               ext4    user_xattr,errors=remount-ro 0       1

將要重組的磁區加上"user_xattr"屬性後即可儲存離開

重新掛載欲重組的磁區:
sudo mount -o remount /

即可執行shake重組囉!

參考網址:
*=~ShAkE~=*如何重組 Linux 的硬碟 & Defragmentation of Linux Filesystems

後記:
使用ShaKe加上-pvv參數重組硬碟後發現...
所有不連續的檔案都是使用wine執行BitComet所下載的檔案... 
所以說Linux不需要重組磁碟我想應是有可能的..
只是那是在正常的使用狀態下..
若是在不正常的使用狀態下..
我想不管多完美的檔案系統也還是無法逃離被Windows摧殘的命運吧...

小必 發表在 痞客邦 PIXNET 留言(0) 人氣()