cht電腦資訊Linux
adm Find login register

如何將 /usr /var 移動到其他 partition?

coolcd
1 如何將 /usr /var 移動到其他 partition?
Promote 0 Bookmark 02013-05-11quote  

最近玩 debian 7 時不小心把 /usr 裝到一個容量較小的 partition (sda6)

其實本來是想把 /var 裝到 sda6  的

安裝時沒注意,裝錯了

 

於是,想先把 /usr  與 /var 分別備份為 usr.tar 與 var.tar,暴力 umount /usr,把備份的  usr.tar 解到 / 分區

修改 fstab 讓系統不再使用 sda6 的 usr,重新開機後,刪掉 sda6 內的東西

再把 var.tar 的東西搬到 sda6,再修改 fstab 讓系統改用 sda6 內的 var 內容

 

結果進行到 umount /usr 就出問題了

會出現錯誤訊息,說 partition is busy 之類的

想強制 umount 也不行

怎麼辦呢?

本來想把 /usr  的內容複製到 /root/usr

修改 fstab,把 /usr bind 到 /root/usr,重開機後

應該就可以刪掉 sda6 內的東西了,再來處理 var 的問題

但覺得這樣好累,很懶得動

後來想到 LiveCD

於是拿一個 usb 隨身碟,開始找 LiveCD 用 Unetbootin 裝到 usb 隨身碟內

沒想到 Debian 7 Live CD 在我的系統無法進入桌面

不知道是 Unetbootin 還是 Debian 的問題

還是萬惡的 ATI 顯示卡作怪

還是 fat 檔案系統的問題

最後改用  SystemRescueCD ,按官方的安裝程式,將它安裝到 usb 隨身碟,再用它開機

才把原本系統的硬碟 mount 起來

可以隨意移動檔案了

也不用 tar,直接 copy -a 就可以了

比原來想的方式簡單很多

 

◎ 安裝 SystemRescueCD 到 USB,請注意,不要用 Unetbootin,用官方的程式,也不要用 fat 檔案系統,要用 fat32,我試了很多次才成功

 

 

 

eliu
2
Promote 0 Bookmark 02013-05-11quote  

打屁屁,都沒有在看我寫的 partition 建議Laughing

desktop linux 不需要把 /usr /var 切出來,那只是自找麻煩。

/usr 沒辦法 umount 是因為 有 process 在使用中,用 init 1 切到 single user mode 應該是可以解決這個問題。

如果 / 空間夠大,建議把 /usr 搬到 /

cd /
init 1
cp -a usr tusr
umount /usr
rmdir /usr
mv tusr usr

修改 /etc/fstab 

把舊的 /usr  partion 拿掉,用 gparted 看要合併到某個 partition。

edited: 2
coolcd
3
Promote 0 Bookmark 02013-05-12quote  

eliu

打屁屁,都沒有在看我寫的 partition 建議Laughing

desktop linux 不需要把 /usr /var 切出來,那只是自找麻煩。

/usr 沒辦法 umount 是因為 有 process 在使用中,用 init 1 切到 single user mode 應該是可以解決這個問題。

如果 / 空間夠大,建議把 /usr 搬到 /

cd /
init 1
cp -a usr tusr
umount /usr
rmdir /usr
mv tusr usr

修改 /etc/fstab 

把舊的 /usr  partion 拿掉,用 gparted 看要合併到某個 partition。

desktop 切這樣的確是自找麻煩,會切這樣只是我拿來練功用的 XDD

原來可以用 single user mode,一時沒想到,走了很多冤枉路 Orz

cht電腦資訊Linux
adm Find login register
views:9899