アップグレードしたいLinuxカーネル.3.16
残念ながら4.3
、実行したときにパーティションにスペースがないため、インストールaptitude install linux-image-4.3.0-1-amd64
に失敗しました。rootfs
117MB左、174MB必要。
より多くのディスク容量を確保するために削除する必要がある古いカーネルはありません(現在使用中のカーネルを除く)。
root@host:/# aptitude search linux-image | grep ^i
ip linux-image-3.16.0-4-amd64 - Linux 3.16 for 64-bit PCs
頑張った解放スペース使用は可能ですaptitude clean
が、別々のパーティションなのでapt-get autoremove
役に立ちません。/var
AFAIK このコマンドは/var/cache/apt/archives
ディレクトリの内容を削除するので役に立ちません。
一時的に検討していますmount --bind / /home/rootfs
(提案どおり)。ここ)しかしrootfs
可能です安全に再インストールできません。。
私のファイルシステムのディスクスペース使用量:
root@host:/# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 454M 310M 117M 73% /
udev 10M 0 10M 0% /dev
tmpfs 1,6G 19M 1,6G 2% /run
/dev/sda7 23G 13G 8,8G 59% /usr
tmpfs 3,9G 52M 3,9G 2% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup
/dev/sda4 250G 187G 64G 75% /media/Windows/C
/dev/sda5 500G 428G 73G 86% /media/Windows/D
/dev/sda2 96M 25M 72M 26% /boot/efi
/dev/sda8 7,3G 966M 5,9G 14% /var
/dev/sda9 14G 37M 13G 1% /tmp
/dev/sda11 126G 95G 25G 80% /home
tmpfs 797M 20K 797M 1% /run/user/112
tmpfs 797M 24K 797M 1% /run/user/1000
du -mx / | sort -n
結果:協会。
オペレーティングシステムのバージョン:
root@host:/# cat /etc/debian_version
stretch/sid
/boot
コンテンツ:
root@host:/# du -sh /boot/*
156K /boot/config-3.16.0-4-amd64
25M /boot/efi
8,8M /boot/grub
16M /boot/initrd.img-3.16.0-4-amd64
16M /boot/initrd.img-3.16.0-4-amd64.old-dkms
2,6M /boot/System.map-3.16.0-4-amd64
3,0M /boot/vmlinuz-3.16.0-4-amd64
rootfs
パーティションを解放するか、現在のカーネルを別のパーティションに一時的に移動するスマートで安全な方法はありますか?rootfs
特定のコンテンツを別のパーティションに移動し、そのコンテンツへのシンボリックリンクを作成するのは安全ですか?
私はそこにいることを知っています同様の質問が多い、しかしそれらのほとんど私が持っていなかった古いカーネルを削除しました。
答え1
最新のamd64システムのルート+ブートパーティションの場合、450MBはあまりありません。複数のコアをインストールするには、パーティションを再構成する必要があります。そうでなくてもタイトです。
現在持っているパーティションを考慮して、ルートパーティションを現在の場所に移動することをお勧めします/var
。ルートパーティションを移動するので、リカバリメディア(例:システム回復ディスク)。インストール/dev/sda6
と/dev/sda8
、馬/media/sda6
と/media/sda8
。それから:
/var
ディレクトリを作成します。mkdir /media/sda8/var
- 古い
/var
パーティションのすべてのエントリをこの新しいサブディレクトリに移動します。 (mv /media/sda8/* /media/sda8/var
それ自体は/var
スキップされます。) - 以前のルートパーティションを除くすべてを
/boot
古いvarパーティションに移動します。mv /media/sda6/[^bv]* /media/sda6/bin /media/sda8/
- 以前のルートパーティションには空の
/boot
パーティションが1つだけ必要です。すべてをパーティションのルート/var
に移動します。/boot
mv /media/sda6/boot/* /media/sda6
- 偽のディレクトリを削除
rmdir /media/sda6/boot /media/sda6/var
し、今必要なディレクトリを作成します。mkdir /media/sda8/boot
fstab
ファイル(現在の場所/media/sda8/etc/fstab
)を編集し、アイテムを削除し/var
、アイテムを追加し、/boot
必要に応じてアイテムを変更します。/
ブートローダ設定を更新します。正確で簡単な方法は、
update-grub
スクリプトを実行(rebuildgrub.cfg
)してgrub-install
(最初のステップブートローダを再構築して、残りの部分を見つけることができる場所を知ることです)が、grub.cfg
これを行うには正しいディレクトリツリーを提供する必要があります。mount --rbind /dev /media/sda8/dev mount --rbind /proc /media/sda8/proc mount --rbind /sys /media/sda8/sys mount --bind /media/sda6 /media/sda8/boot chroot /media/sda8 mount /usr update-grub grub-install /dev/sda
今再起動してください。
または/boot
に移動することもできますが、/var
これはあまり一般的ではないため、一部のブートローダ設定ファイルを調整する必要があります。
今日、別れは何の/usr
意味/
もありません。分離型は実際には役に立ちません/var
(/
ほとんどの設定では読み取り/書き込みでマウントする必要があります)。
将来的には、LinuxパーティションにLVMを使用することをお勧めします。より柔軟です。