Skip to content
Snippets Groups Projects
Unverified Commit 2acd9933 authored by Max Adamo's avatar Max Adamo
Browse files

add todo section in readme

parent e26c7bb0
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,19 @@
Purge unused Ubuntu kernels
## Setup
## Table of Contents
1. [Setup](#setup)
2. [How it works](#how-it-works)
1. [Script usage](#script-usage)
2. [Configuration file](#configuration-file)
3. [How the script removes the kernels](#how-the-script-removes-the-kernels)
1. [1stcase](#1stcase)
2. [2ndcase](#2ndcase)
3. [3rdtcase](#3rdcase)
3. [ToDo](#todo)
### Setup
I'll wait for better days to come and create a proper release process. Meanwhile I use Git LFS to upload the package inside the [deb/](https://gitlab.com/maxadamo/ubuntu-kernel-cleanup/-/tree/master/deb) directory.
......@@ -18,25 +30,23 @@ if the dependencies are not met:
sudo apt -y -f install
```
## How it works
### Script usage
### How it works
you can run the script using `--real-run` to remove the packages or use `--dry-run` to show which package would have been removed.
#### Script usage
Example:
you can run the script using `--real-run` to remove the packages or use `--dry-run` to show which package would have been removed:
```bash
ubuntu-kernel-cleanup.py --real-run
```
or
or:
```bash
ubuntu-kernel-cleanup.py --dry-run
```
### Configuration file
#### Configuration file
The script will look for its configuration file in the following locations:
......@@ -61,9 +71,9 @@ kernel_prefixes = linux-tools, linux-headers, linux-modules, linux-modules-extra
kernel_suffixes = generic, aws
```
### How the script removes the kernels
#### How the script removes the kernels
#### 1st case
##### 1st case
you have 4 kernels installed and you use (`count = 1`):
......@@ -74,7 +84,7 @@ you have 4 kernels installed and you use (`count = 1`):
the script will remove **kernel2** and **kernel3**
#### 2nd case
##### 2nd case
If the running kernel does not belong to the list of the latest kernels, obtained with the option "count", then `count + 1` will be kept.
......@@ -88,7 +98,7 @@ For instance, if you use `count = 2` with the following kernels installed:
the script will remove **kernel1** and **kernel3**
#### 3rd case
##### 3rd case
You reboot and you are running the latest kernel.
......@@ -101,3 +111,7 @@ If you use `count = 2`, 2 kernels will be kept:
* **kernel5**: the latest, **running** kernel, it will be kept
the script will remove **kernel1**, **kernel2** and **kernel3**
### ToDo
* improve algorithm to remove intermediate kernels, avoiding that in a corner case you get `count` + 1
......@@ -3,6 +3,14 @@
# the deb is tracked with git lfs:
# git lfs track "deb/**"
#
# pandoc -o README.txt --to=plain README.md
# git commit ...
#
if ! which fpm &>/dev/null; then
echo "please install 'fpm'"
exit
fi
PROG_NAME="ubuntu-kernel-cleanup"
EMAIL="Massimiliano Adamo<massimiliano.adamo@geant.org"
DESCRIPTION="Clean up unused kernel packages"
......@@ -17,13 +25,13 @@ LATEST_TAG=$(git describe --tags $(git rev-list --tags --max-count=1))
PROG_VERSION=${LATEST_TAG:1}
git checkout $LATEST_TAG
pandoc -o README.txt --to=plain README.md
chmod 0755 ${PROG_NAME}.py
chmod 0644 README.txt ubuntu-kernel-cleanup.ini
fpm -f -t deb -n ${PROG_NAME} -v $PROG_VERSION --maintainer "$EMAIL" --vendor "$EMAIL" \
-a all --description "$DESCRIPTION" --config-files etc/${PROG_NAME}.ini \
-p deb/${PROG_NAME}_${PROG_VERSION}_all.deb \
-d python3-docopt -d python3-packaging -s dir ${PROG_NAME}.ini=/etc/${PROG_NAME}.ini \
${PROG_NAME}.py=/usr/bin/${PROG_NAME}.py README.txt=usr/share/doc/${PROG_NAME}/README.txt
fpm -f -t deb --deb-use-file-permissions -n ${PROG_NAME} -v $PROG_VERSION --maintainer "$EMAIL"\
--vendor "$EMAIL" -a all --description "$DESCRIPTION" --config-files etc/${PROG_NAME}.ini \
-p deb/${PROG_NAME}_${PROG_VERSION}_all.deb -d python3-docopt -d python3-packaging -s dir \
${PROG_NAME}.ini=/etc/${PROG_NAME}.ini ${PROG_NAME}.py=/usr/bin/${PROG_NAME}.py \
README.txt=usr/share/doc/${PROG_NAME}/README.txt
rm -f *.txt
git checkout master
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment