如何更改目錄之位置

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

如何更改目錄之位置

文章訪客 » 週四 4月 24, 2003 7:20 pm

情況如下:
1.我有/dev/hda2及/dev/hda3兩個linux partition
2./dev/hda2上有一完整的woody系統
3.現在我想將/dev/hda2上的/var/apt/cache/archives目錄抽離出來,獨立置於/dev/hda3
請教各位大大,該如何做呢 :?:

ps:我想嘗試apt的pinning功能,將stable,testing及unstable放在同一個系統,所以需要挪一點空間出來.



我是linnnn,我尚未註冊
訪客
 

re:如何更改目錄之位置

文章阿信 » 週四 4月 24, 2003 8:47 pm

建議你把/var分出來就可以了。

先將/var下面的東西copy到/dev/hda3的mount point

mount -t auto /dev/hda3 /new_var

cp -a /var /new_var

然後修改/etc/fstab

/dev/hda3 /var ext3 defaults 1 2
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:如何更改目錄之位置

文章高原之狼 » 週五 4月 25, 2003 3:46 am

我認爲阿信說的對,但是實踐起來可能還是要多注意一些細節。
這裡假設你使用 ext2 文件系統,並且 /dev/hda3 已經格式化好了。
代碼: 選擇全部
# mount -t ext2 /dev/hda3 /newvar
# cp -pR /var /newvar
# umount /dev/hda3
# mv /var /oldvar
# mkdir /var
# mount -t ext2 /dev/hda3 /var

這樣可以不用 reboot。如果 reboot 的話,就照阿信說的改 /etc/fstab:
代碼: 選擇全部
/dev/hda3 /var ext2 defaults 0 2
高原之狼
懵懂的國中生
懵懂的國中生
 
文章: 185
註冊時間: 週一 10月 28, 2002 5:54 am

re:如何更改目錄之位置

文章阿信 » 週五 4月 25, 2003 9:25 am

我建議cp可以用-a這個參數,因為-a = -dpR

-d的作用是遇到symbolic會同樣複製成symbolic,而不會在複製一份實體資料。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:如何更改目錄之位置

文章高原之狼 » 週五 4月 25, 2003 10:38 am

阿信 寫:-d的作用是遇到symbolic會同樣複製成symbolic,而不會在複製一份實體資料。

阿信,能請你給我詳細解釋一下這個選項的意思嗎?我讀了 manpage,和你說的意思差不多。然後我做了幾個試驗,發現在複製文件時這個選項有作用,複製目錄時就看不出區別來了。
高原之狼
懵懂的國中生
懵懂的國中生
 
文章: 185
註冊時間: 週一 10月 28, 2002 5:54 am

re:如何更改目錄之位置

文章阿信 » 週五 4月 25, 2003 1:05 pm

目錄應該是沒差才是。

-d除了--no-dereference之外還有--preserve=link

而--preserve已經有-p代替了。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:如何更改目錄之位置

文章訪客 » 週五 4月 25, 2003 2:10 pm

感謝兩位大大賜教,我已經試成功了 (/dev/hda3 /var ext2 defaults 0 2):D
只是有另一個問題提出來供各位大大參考:
1.我先使用df指令得知/dev/hda2的使用率為89%
2.其後,我直接更改/etc/fstab內的資料(此時/dev/hda2裡/var的資料並未刪除)
3.reboot後,再使用df指令,則/dev/hda2的使用率仍為89%(此時我的/var目錄已置於/dev/hda3)
問題:
1.更改/etc/fstab前,其/dev/hda2使用率89%應包含/var內的資料
2./var改置於/dev/hda3後,其/dev/hda2之使用率應該降低,但卻沒有
3.若因我未將/dev/hda2裡/var的資料刪除以致/dev/hda2的使用率沒有降低,則此時/dev/hda2裡的/var資料放在那裡,而其又要如何讀取?


我是linnnn,我尚未註冊
訪客
 

re:如何更改目錄之位置

文章阿信 » 週五 4月 25, 2003 3:35 pm

Anonymous 寫:感謝兩位大大賜教,我已經試成功了 (/dev/hda3 /var ext2 defaults 0 2):D
只是有另一個問題提出來供各位大大參考:
1.我先使用df指令得知/dev/hda2的使用率為89%
2.其後,我直接更改/etc/fstab內的資料(此時/dev/hda2裡/var的資料並未刪除)
3.reboot後,再使用df指令,則/dev/hda2的使用率仍為89%(此時我的/var目錄已置於/dev/hda3)
問題:
1.更改/etc/fstab前,其/dev/hda2使用率89%應包含/var內的資料
2./var改置於/dev/hda3後,其/dev/hda2之使用率應該降低,但卻沒有
3.若因我未將/dev/hda2裡/var的資料刪除以致/dev/hda2的使用率沒有降低,則此時/dev/hda2裡的/var資料放在那裡,而其又要如何讀取?


我是linnnn,我尚未註冊


1:yes,請刪除或備份該資料
2:同上
3:放在/dev/hda2的裡面,由inode table紀錄著,要讀取的話,請先將/var umount掉。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:如何更改目錄之位置

文章高原之狼 » 週五 4月 25, 2003 3:51 pm

Anonymous 寫:問題:
3.若因我未將/dev/hda2裡/var的資料刪除以致/dev/hda2的使用率沒有降低,則此時/dev/hda2裡的/var資料放在那裡,而其又要如何讀取?

阿信說的都對,補充一點:

如果是按照我說的步驟進行的話,所有舊的 /dev/hda2 上的内容就應該都在 /oldvar 裏面,確認新的 /var 一切正常的話,就可以把 /oldvar 刪除了。

如果是按照阿信的步驟的話(阿信,mount point 不是空目錄難道也能真的 mount 成功嗎?),大概是這樣的步驟(確信新的 /var 工作正常):
代碼: 選擇全部
# umount /var
# rm -rf /var
# mount /var

(這樣的命令自己寫出來都覺得怪怪的……)
高原之狼
 

re:如何更改目錄之位置

文章阿信 » 週五 4月 25, 2003 4:00 pm

高原之狼 寫:如果是按照阿信的步驟的話(阿信,mount point 不是空目錄難道也能真的 mount 成功嗎?),大概是這樣的步驟(確信新的 /var 工作正常):


可以的,mount是不管該目錄有沒有空。

可以看kernel的fs.h的部份。

mount在處理的過程只會檢查被mount的目錄是否為mount point(檢查inode structure裡面的i_sb)
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:如何更改目錄之位置

文章訪客 » 週六 4月 26, 2003 4:17 pm

確如阿信兄所言,原資料都還在/dev/hda2,我只要umount /dev/hda3,再ls /var,即可看到原來的資料都還在.而且也確如兩位大大所討論的,即使我原來的/var目錄(或者應該說"mount point")還有資料(或者應該說"仍有指向存放於某處的資料"),我仍然可以mount /dev/hda3 /var.只是這時的/var放的是/dev/hda3裡的資料(或者應該說"指向的是存放於/dev/hda3裡的資料")。
經兩位大大的指教,小弟更了解mount的意思了。
再次感謝兩位大大,小弟受教了。

我是linnnn
訪客
 

re:如何更改目錄之位置

文章Drake » 週二 4月 29, 2003 4:41 am

代碼: 選擇全部
/dev/sda1               233336     147905      73384        67%   /
/dev/sda3             24027656    1133248   21673872         5%   /home
/dev/sda4             10278336     432392    9323832         5%   /usr

那像如上的情況
明顯地 /usr 這個 partition 太大了
要如何處理呢?

如果copy /usr 後,將它 unmount
不就有一堆在 /usr/bin or /usr/sbin 的程式不能用了 :-?
Drake
活潑的高中生
活潑的高中生
 
文章: 314
註冊時間: 週三 3月 26, 2003 11:00 am

re:如何更改目錄之位置

文章訪客 » 週二 4月 29, 2003 5:54 pm

你有另一個沒用的partition嗎?

我是linnnn
訪客
 

re:如何更改目錄之位置

文章阿信 » 週二 4月 29, 2003 6:39 pm

Drake 寫:
代碼: 選擇全部
/dev/sda1               233336     147905      73384        67%   /
/dev/sda3             24027656    1133248   21673872         5%   /home
/dev/sda4             10278336     432392    9323832         5%   /usr

那像如上的情況
明顯地 /usr 這個 partition 太大了
要如何處理呢?

如果copy /usr 後,將它 unmount
不就有一堆在 /usr/bin or /usr/sbin 的程式不能用了 :-?


umount掉之後,然後在mount 另外一個partition到/usr就好了。

mount這個執行檔是放在/bin下面,所以不用害怕。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:如何更改目錄之位置

文章Drake » 週二 4月 29, 2003 7:06 pm

就這三個 partition :)
忘了去觀查一下 mount 在哪了 ^^

BTW, 大夥兒的 /usr 都給它多大呢?
Drake
活潑的高中生
活潑的高中生
 
文章: 314
註冊時間: 週三 3月 26, 2003 11:00 am

下一頁

回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron