По сравнению с другими ответами GUI здесь преимущество этого ответа - это родной Ubuntu Bash, который используется без установки сторонних приложений.
Zenity предоставляет хороший интерфейс GUI для терминала для обработки списка и выбора элементов с помощью радиокнопки:
Текущее загруженное вами ядро не может быть удалено и не включено в список. Сообщается, сколько будет сохранено в каталоге /boot. На вашем диске сохраняется больше, потому что двоичные файлы ядра также находятся в других областях. radio-buttons Теперь включены каталоги /usr/src/*kernel_version* и /lib/modules/*kernel_version*.
Измененная дата открыта с помощью команды stat. В моей системе эта дата «трогается» каждый раз, когда ядро загружается с помощью этого сценария ( ) cron reboot. Однако в вашей системе дата будет датой выпуска ядра, а не в последний раз, когда вы ее загрузили.
Вам предоставляется окончательная возможность чтобы просмотреть все, что будет очищено, и посмотреть общее количество дискового пространства (несколько вводящее в заблуждение), которое будет восстановлено:
The following packages will be REMOVED:
linux-headers-4.7.1-040701* linux-headers-4.7.1-040701-generic*
linux-headers-4.7.2-040702* linux-headers-4.7.2-040702-generic*
linux-headers-4.7.3-040703* linux-headers-4.7.3-040703-generic*
linux-headers-4.8.1-040801* linux-headers-4.8.1-040801-generic*
linux-headers-4.8.10-040810* linux-headers-4.8.10-040810-generic*
linux-headers-4.8.11-040811* linux-headers-4.8.11-040811-generic*
linux-headers-4.8.4-040804* linux-headers-4.8.4-040804-generic*
linux-headers-4.8.5-040805* linux-headers-4.8.5-040805-generic*
linux-image-4.7.1-040701-generic* linux-image-4.7.2-040702-generic*
linux-image-4.7.3-040703-generic* linux-image-4.8.1-040801-generic*
linux-image-4.8.10-040810-generic* linux-image-4.8.11-040811-generic*
linux-image-4.8.4-040804-generic* linux-image-4.8.5-040805-generic*
0 upgraded, 0 newly installed, 24 to remove and 2 not upgraded.
After this operation, 2,330 MB disk space will be freed.
Do you want to continue? [Y/n]
Скопируйте этот код в исполняемый файл с именем [ f10] в /usr/local/bin:
#!/bin/bash
# NAME: rm-kernels
# PATH: /usr/local/bin
# DESC: Provide zenity item list of kernels to remove
# DATE: Mar 10, 2017. Modified Jul 28, 2017.
# NOTE: Will not delete current kernel.
# With 10 kernels on an SSD, empty cache from sudo prompt (#) using:
# # free && sync && echo 3 > /proc/sys/vm/drop_caches && free
# First time for `du` 34 seconds.
# Second time for `du` 1 second.
# PARM: If any parm 1 passed use REAL kernel size, else use estimated size.
# By default `du` is not used and estimated size is displayed.
# Must be running as sudo
if [[ $(id -u) != 0 ]]; then
zenity --error --text "root access required. Use: sudo rm-kernels"
exit 99
fi
OLDIFS="$IFS"
IFS="|"
choices=()
current_version=$(uname -r)
for f in /boot/vmlinuz*
do
if [[ $f == *"$current_version"* ]]; then continue; fi # skip current version
[[ $f =~ vmlinuz-(.*) ]]
v=${BASH_REMATCH[1]} # example: 4.9.21-040921-generic
v_main="${v%-*}" # example: 4.9.21-040921
# Kernel size in /boot/*4.9.21-040921-generic*
s=$(du -ch /boot/*-$v* | awk '/total/{print $1}')
if [[ $# -ne 0 ]] ; then # Was a parameter passed?
if [[ -d "/usr/src/linux-headers-"$v_main ]] ; then
# Kernel headers size in /usr/src/*4.9.21-040921*
s2=$(du -ch --max-depth=1 /usr/src/*-$v_main* | awk '/total/{print $1}')
else
s2="0M" # Linux Headers are not installed
fi
# Kernel image size in /lib/modules/4.9.21-040921-generic*
s3=$(du -ch --max-depth=1 /lib/modules/$v* | awk '/total/{print $1}')
else
# Estimate sizof of optional headers at 125MB and size of image at 220MB
if [[ -d "/usr/src/linux-headers-"$v_main ]] ; then
s2="125M"
else
s2="0M" # Linux Headers are not installed
fi
s3="220M"
fi
# Strip out "M" provided by human readable option of du and add 3 sizes together
s=$(( ${s//[^0-9]*} + ${s2//[^0-9]*} + ${s3//[^0-9]*} ))
t=$(( t + s ))
s=$s" MB"
d=$(date --date $(stat -c %y $f) '+%b %d %Y') # Last modified date for display
choices=("${choices[@]}" false "$v" "$d" "$s")
done
# adjust width & height below for your screen 640x480 default for 1920x1080 HD screen
# also adjust font="14" below if blue text is too small or too large
choices=(`zenity \
--title "rm-kernels - Total: $t MB excluding: $current_version" \
--list \
--separator="$IFS" \
--checklist --multiple \
--text 'Check box next to kernel(s) to remove' \
--width=640 \
--height=480 \
--column "Select" \
--column "Kernel Version Number" \
--column "Modified Date" \
--column " Size " \
"${choices[@]}"`)
IFS="$OLDIFS"
i=0
list=""
for choice in "${choices[@]}" ; do
if [ "$i" -gt 0 ]; then list="$list- "; fi # append "-" from last loop
((i++))
short_choice=$(echo $choice | cut -f1-2 -d"-")
header_count=$(find /usr/src/linux-headers-$short_choice* -maxdepth 0 -type d | wc -l)
# If -lowlatency and -generic are purged at same time the _all header directory
# remains on disk for specific version with no -generic or -lowlatency below.
if [[ $header_count -lt 3 ]]; then
# Remove all w.x.y-zzz headers
list="$list""linux-image-$choice- linux-headers-$short_choice"
else
# Remove w.x.y-zzz-flavour header only, ie -generic or -lowlatency
list="$list""linux-image-$choice- linux-headers-$choice"
fi
done
if [ "$i" -gt 0 ] ; then
apt-get purge $list
fi
Измененная дата Вам нужно sudo-разрешение для создания файла, поэтому используйте:
gksu gedit /usr/local/bin/rm-kernels
Чтобы сделать файл исполняемый файл:
sudo chmod +x /usr/local/bin/rm-kernels
ПРИМЕЧАНИЕ. Для версии этого сценария для сервера (текстовый, а не GUI) см .: Как удалить старые версии ядра для очистки меню загрузки?
Вычисленный размер каждого ядра был взят из /boot/*kernel_version*, который состоял из 5 файлов общим объемом ~ 50 МБ. Формула изменилась, чтобы включить файлы в /usr/src/*kernel_version* и /lib/modules/*kernel_version*. Расчетный размер для каждого ядра теперь составляет ~ 400 МБ. Вышеупомянутый код для rm-kernels и rm-kernels-server обновлен.
По умолчанию нужно оценить размер файлов для linux-заголовков на 125 МБ и linux-изображение при 220 МБ, потому что du может быть болезненно медленно, если файлы не находятся в кеше. Чтобы получить реальный размер, используя du, передайте любой параметр сценарию.
Общее количество всех размеров ядра (исключая текущую текущую версию, которая не может быть удалена) теперь отображается в строке заголовка.
Диалоговое окно, используемое для отображения каждого ядра ПРИМЕЧАНИЕ: . Эта дата может быть перезаписана для всех ядер во время резервного копирования или аналогичных операций. В диалоговом окне теперь отображается cron .
Вы можете отключить клавиатуру с помощью параметров загрузки:
Откройте /boot/grub/grub.cfg как sudo с вашим любимым текстовым редактором. Добавьте i8042.nokbd, предпочтительно в конец файла, и сохраните.Источник: Форумы Ubuntu Thread
Вы можете отключить клавиатуру с помощью параметров загрузки:
Откройте /boot/grub/grub.cfg как sudo с вашим любимым текстовым редактором. Добавьте i8042.nokbd, предпочтительно в конец файла, и сохраните.Источник: Форумы Ubuntu Thread
Вы можете отключить клавиатуру через параметры загрузки:
открыть /boot/grub/grub.cfg, как sudo с вашего любимого текстового редактора. Добавить i8042.nokbd, желательно до конца файла, и сохранить.Источник: нить Ubuntu форум
Вы можете отключить клавиатуру через параметры загрузки:
открыть /boot/grub/grub.cfg, как sudo с вашего любимого текстового редактора. Добавить i8042.nokbd, желательно до конца файла, и сохранить.Источник: нить Ubuntu форум
Вы можете отключить клавиатуру с помощью параметров загрузки:
/boot/grub/grub.cfg
как sudo
с вашим любимым текстовый редактор. i8042.nokbd
, желательно в конец файла, и сохранить. Источник: Форумы Ubuntu
Вы можете отключить клавиатуру с помощью параметров загрузки:
/boot/grub/grub.cfg
как sudo
с вашим любимым текстовый редактор. i8042.nokbd
, желательно в конец файла, и сохранить. Источник: Форумы Ubuntu
Вы можете отключить клавиатуру с помощью параметров загрузки:
/boot/grub/grub.cfg
как sudo
с вашим любимым текстовый редактор. i8042.nokbd
, желательно в конец файла, и сохранить. Источник: Форумы Ubuntu
Вы можете отключить клавиатуру с помощью параметров загрузки:
/boot/grub/grub.cfg
как sudo
с вашим любимым текстовый редактор. i8042.nokbd
, желательно в конец файла, и сохранить. Источник: Форумы Ubuntu
Вы можете отключить клавиатуру с помощью параметров загрузки:
/boot/grub/grub.cfg
как sudo
с вашим любимым текстовый редактор. i8042.nokbd
, желательно в конец файла, и сохранить. Источник: Форумы Ubuntu