Linux
重組我的文件系統
我想重組我的文件系統。我分配了我不使用的交換。我的
/
分區一直在溢出,因此我一直將大目錄移動到單獨的分區/mnt/nvme0n1p4
。我突然想到,將所有這些目錄移回並從現在的位置/home
掛載可能更聰明。/home``/mnt/nvme0n1p4
我也想
/
用現在的空間來擴展/nvme0n1p2
。我不是每天都做這種事。所以我想我應該就我的計劃徵求一些回饋意見。
我的計劃是做以下事情:(我在實際執行我的計劃後添加了一些粗體註釋。)
- 複製到的
/home
內容/mnt/nvme0n1p4
/mnt/nvme0n1p4
將現在符號連結到 from的所有目錄複製/home
到其正確位置/mnt/nvme0n1p4/me
sudo rm -rf /home/*
<–在@raj 建議後編輯sudo mount /dev/nvme0n1p4 /home
- 更改以下行
/etc/fstab
:UUID=aaf7e7e2-d36b-4877-b862-612d403a15da /mnt/nvme0n1p4 ext4 defaults,noatime 0 2
至
UUID=aaf7e7e2-d36b-4877-b862-612d403a15da /home ext4 defaults,noatime 0 2
- 將內容備份
/
到/mnt/data
. 以防萬一。- 使用 gparted 刪除
[SWAP]
並將其添加到/
<–對我來說很好- 消除
$$ SWAP $$從
/etc/fstab
<–我最初忘記了這一步。在引導過程中導致錯誤。所以我不得不從一個可啟動的 USB 上做到這一點。
- 完成的?
一些系統資訊
me@mypc $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931,5G 0 disk └─sda1 8:1 0 931,5G 0 part /mnt/data sdb 8:16 0 111,8G 0 disk └─sdb1 8:17 0 111,8G 0 part /opt nvme0n1 259:0 0 931,5G 0 disk ├─nvme0n1p1 259:1 0 300M 0 part /boot/efi ├─nvme0n1p2 259:2 0 16G 0 part [SWAP] ├─nvme0n1p3 259:3 0 32G 0 part / └─nvme0n1p4 259:4 0 883,2G 0 part /mnt/nvme0n1p4 me@mypc $ df Filesystem Size Used Avail Use% Mounted on dev 16G 0 16G 0% /dev run 16G 1,7M 16G 1% /run /dev/nvme0n1p3 32G 29G 1,3G 96% / tmpfs 16G 324M 16G 3% /dev/shm tmpfs 4,0M 0 4,0M 0% /sys/fs/cgroup tmpfs 16G 50M 16G 1% /tmp /dev/sdb1 110G 26G 79G 25% /opt /dev/nvme0n1p4 869G 412G 413G 50% /mnt/nvme0n1p4 /dev/nvme0n1p1 300M 312K 300M 1% /boot/efi /dev/sda1 916G 113G 757G 13% /mnt/data tmpfs 3,2G 56K 3,2G 1% /run/user/1000 me@mypc $ ls /mnt/nvme0n1p4 docker Documents Downloads home lost+found R Repos 'VirtualBox VMs' VMs me@mypc $ ls -l ~/. total 32 drwxr-xr-x 3 me me 4096 5 dec 10:38 bin drwxr-xr-x 9 me me 4096 20 dec 21:48 CytoscapeConfiguration lrwxrwxrwx 1 me me 10 3 nov 16:03 Data -> /mnt/data/ lrwxrwxrwx 1 me me 25 4 nov 09:55 Documents -> /mnt/nvme0n1p4/Documents/ lrwxrwxrwx 1 me me 24 8 nov 00:36 Downloads -> /mnt/nvme0n1p4/Downloads drwxr-xr-x 3 me me 4096 10 dec 23:16 igv drwxr-xr-x 3 me me 12288 16 feb 15:57 Pictures lrwxrwxrwx 1 me me 16 13 nov 09:41 R -> /mnt/nvme0n1p4/R lrwxrwxrwx 1 me me 20 9 nov 14:06 Repos -> /mnt/nvme0n1p4/Repos drwxr-xr-x 3 me me 4096 4 nov 08:14 snap drwxr-xr-x 4 me me 4096 14 feb 20:22 tmp lrwxrwxrwx 1 me me 9 3 nov 16:58 Unsorted -> /mnt/tmp/
預期結果
me@mypc $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931,5G 0 disk └─sda1 8:1 0 931,5G 0 part /mnt/data sdb 8:16 0 111,8G 0 disk └─sdb1 8:17 0 111,8G 0 part /opt nvme0n1 259:0 0 931,5G 0 disk ├─nvme0n1p1 259:1 0 300M 0 part /boot/efi ├─nvme0n1p3 259:3 0 48G 0 part / └─nvme0n1p4 259:4 0 883,2G 0 part /home
基本上看起來不錯,但是:
- 在第 3 步中,而不是
rm -rf /home
,最好做rm -rf /home/*
。您不應該刪除/home
目錄本身,只刪除它的內容,因為您需要一個空/home
目錄作為掛載點存在。如果您碰巧刪除了該目錄,則需要使用與先前目錄/home
相同的所有權和權限重新創建它。/home
- 執行步驟 3 和 4 時,您應該離開
/home
目錄,即。例如,您的目前目錄應該是/
或/root
。最好是直接登錄執行整個操作root
,如果在您的系統中可以,這樣您根本不會使用該/home
目錄。我也不確定是否使用該分區之前的空間擴展根分區。(我猜您
nvme0n1p2
之前位於nvme0n1p3
磁碟上)。雖然將分區和文件系統擴展到分區末尾沒有問題,但我不確定在分區開始之前擴展它是否同樣適用。我不確定 gparted/e2fstools 是否能夠將 inode 表和所有文件系統結構向後移動,朝向分區的新起點。也許有對這種變化更有經驗的人可以回答這個問題。