Linux 动态调整分区大小

背景

Ubuntu根分区\空间告急,即将使用完毕

先清理出一定空间

移除不再需要的软件包

sudo apt autoremove

清理Ubuntu中的APT缓存

你可以使用以下命令查看此缓存的大小:

sudo du -sh /var/cache/apt

删除之

sudo apt clean

清理缩略图缓存

rm -rf ~/.cache/thumbnails/*

手动删除老旧Linux内核

首先使用如下命令列出当前 Ubuntu 中所有已经安装的 Linux Kernel:

sudo dpkg --list 'linux-image*'*

删除旧版内核与删除任何其他软件包一样:

sudo apt remove linux-image-VERSION

请自行将上述 VERSION 替换为要清除的内核版本,系统极客建议保持至少两个或三个最新版本内核,这样在无法使用最新内核启动系统时至少还有那么几个可替代品救急

删除多余的孤立包

首先我们要说说什么是 Ubuntu 系统中的孤立包(也叫多余的包):假设你安装了一个名为 myprogram 的软件包,而这个包又依赖于 mylib 库,这个库通常在安装 myprogram 时便会自动安装到系统当中。当你卸载 myprogram 应用时,mylib 库可能仍然保留在系统中。 此种情况下,mylib 就会成为一个孤立的包。

gtkorphan 这款图形化应用可以可以轻松找出并删除 Ubuntu 系统中的孤立包,先使用如下终端命令进行安装:

sudo apt install gtkorphan

安装好后在「多余的包」选项卡中即可对查找、删除孤立包

使用GUI工具释放Ubuntu空间

Stacer地址,下载 deb 包安装打开、使用

调整分区、根目录扩容

我的是多系统,安装了 WIndows 10 、Deepin 15.8 和 Ubuntu 18.04,Ubuntu 根分区只给了10G,home 给了50,但是用不完,目标,从home起始位置分10个G给根分区(根分区在 home 分区之前)。
由于根分区和 home 都被 Ubuntu 在使用,所以无法在 Ubuntu 中操作本身使用的根分区和home分区,所以应该到外部操作。

工具

gparted

GParted is a free partition manager that enables you to resize, copy, and move partitions without data loss.

思路一

在其它 Linux 系统中操作 Ubuntu 磁盘,不同版本 Linux 安装 gparted 命令如下:

Linux 发行版本 安装命令
Debian sudo apt-get install gparted
Fedora su -c “yum install gparted”
Mageia sudo urpmi gparted
OpenSUSE sudo zypper install gparted
Ubuntu sudo apt-get install gparted
Deepin sudo apt-get install gparted
安装后执行
sudo gparted

使用软件,方法同大多数磁盘分区调整工具

思路二

如果本机没有多系统(对于方案一,硬盘拆下来接到其它机器也是可以的),由于gparted官方提供了可启动的刻录镜像,我们直接下载iSO镜像刻录至CD或者USB设备,从该启动盘启动即可操作 Ubuntu 所使用的分区

比如当前最新的桌面版是 gparted-live-0.33.0-1-amd64.iso,你可以下载该镜像刻录至 U 盘,随后从 U 盘启动进行操作

PS:刻录可使用 Etcher ,全平台使用

注意

修改系统所在分区或引导所在分区存在无法启动被修改的分区的系统的风险,建议新手或者以防万一,对系统做一个完整备份,这里是一些免费磁盘和分区工具,可以完整备份分区或磁盘,使用方法自行看文档。

Clonezilla

doClone

FSArchiver

G4L

g4u

Partimage

Partclone