> For the complete documentation index, see [llms.txt](https://agrat.gitbook.io/admin/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://agrat.gitbook.io/admin/restore/safest-way-to-clean-up-boot-partition.md).

# Safest way to clean up boot partition

Ubuntu 14.04LTS-x64, Ubuntu 16.04LTS-x64

### Case I: if /boot is not 100% full and apt is working

#### 1. Check the current kernel version

{% tabs %}
{% tab title="Bash" %}

```bash
sudo uname -r 
```

{% endtab %}
{% endtabs %}

It will shows the list like below:

```
3.19.0-64-generic
```

#### 2. Remove the OLD kernels

**2.a. List the old kernel**

{% tabs %}
{% tab title="Bash" %}

```bash
sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`
```

{% endtab %}
{% endtabs %}

You will get the list of images something like below:

```
linux-image-3.19.0-25-generic
linux-image-3.19.0-56-generic
linux-image-3.19.0-58-generic
linux-image-3.19.0-59-generic
linux-image-3.19.0-61-generic
linux-image-3.19.0-65-generic
linux-image-extra-3.19.0-25-generic
linux-image-extra-3.19.0-56-generic
linux-image-extra-3.19.0-58-generic
linux-image-extra-3.19.0-59-generic
linux-image-extra-3.19.0-61-generic
```

**2.b. Now its time to remove old kernel one by one as**

{% tabs %}
{% tab title="Bash" %}

```bash
sudo apt-get purge linux-image-3.19.0-25-generic
sudo apt-get purge linux-image-3.19.0-56-generic
sudo apt-get purge linux-image-3.19.0-58-generic
sudo apt-get purge linux-image-3.19.0-59-generic
sudo apt-get purge linux-image-3.19.0-61-generic
sudo apt-get purge linux-image-3.19.0-65-generic
```

{% endtab %}
{% endtabs %}

When you're done removing the older kernels, you can run this to remove ever packages you won't need anymore:

{% tabs %}
{% tab title="Bash" %}

```bash
sudo apt-get autoremove
```

{% endtab %}
{% endtabs %}

And finally you can run this to update grub kernel list:

{% tabs %}
{% tab title="Bash" %}

```bash
sudo update-grub
```

{% endtab %}
{% endtabs %}

### Case II: Can't Use `apt` i.e. /boot is 100% full

**NOTE: this is only if you can't use apt to clean up due to a 100% full /boot**

#### 1. Get the list of kernel images

Get the list of kernel images and determine what you can do without. This command will show installed kernels except the currently running one

{% tabs %}
{% tab title="Bash" %}

```bash
sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`
```

{% endtab %}
{% endtabs %}

You will get the list of images somethign like below:

```
linux-image-3.19.0-25-generic
linux-image-3.19.0-56-generic
linux-image-3.19.0-58-generic
linux-image-3.19.0-59-generic
linux-image-3.19.0-61-generic
linux-image-3.19.0-65-generic
linux-image-extra-3.19.0-25-generic
linux-image-extra-3.19.0-56-generic
linux-image-extra-3.19.0-58-generic
linux-image-extra-3.19.0-59-generic
linux-image-extra-3.19.0-61-generic
```

#### 2. Prepare Delete

Craft a command to delete all files in /boot for kernels that don't matter to you using brace expansion to keep you sane. Remember to exclude the current and two newest kernel images. From above Example, it's

{% tabs %}
{% tab title="Bash" %}

```bash
sudo rm -rf /boot/*-3.19.0-{25,56,58,59,61,65}-*
```

{% endtab %}
{% endtabs %}

#### 3. Clean up what's making apt grumpy about a partial install.

{% tabs %}
{% tab title="Bash" %}

```bash
sudo apt-get -f install
```

{% endtab %}
{% endtabs %}

#### 4. Autoremove

Finally, autoremove to clear out the old kernel image packages that have been orphaned by the manual boot clean.

{% tabs %}
{% tab title="Bash" %}

```bash
sudo apt-get autoremove
```

{% endtab %}
{% endtabs %}

#### 5. Update Grub

{% tabs %}
{% tab title="Bash" %}

```bash
sudo update-grub
```

{% endtab %}
{% endtabs %}

#### 6. Now you can update, install packages

{% tabs %}
{% tab title="Bash" %}

```bash
sudo apt-get update
```

{% endtab %}
{% endtabs %}

ИСТОЧНИК: <https://gist.github.com/ipbastola/2760cfc28be62a5ee10036851c654600>
