Удалите все пакеты ядра, кроме используемого в данный момент

Вот мои рекомендации относительно того, где установить среду, вместе с пояснениями.

Соответствующие сведения:

  • Файл профиля пользователя - это ~ / .bash_profile , ~ / .bash_login или ~ / .profile . Я предлагаю использовать один из первых двух, потому что последний перекрывается с другими оболочками. Однако см. В конце примечание о входе в систему через графический интерфейс.

  • Пользовательский rc-файл - это ~ / .bashrc .

  • Интерактивная оболочка входа в систему (например, вход в консоль или вход в систему ssh ) считывает только файл профиля.

  • Неинтерактивная оболочка входа в систему встречается редко, но может запускаться во время входа в систему с графическим интерфейсом пользователя. В любом случае, если это оболочка Bash, она действует как неинтерактивная оболочка входа в систему и читает только файл профиля.

  • Интерактивная оболочка без входа в систему (например, новая вкладка в XTerm / Konsole) читает файл rc.

  • неинтерактивная оболочка без входа в систему (например, сценарий оболочки) не читает ни то, ни другое, за одним важным исключением: если запущена ssh , она читает rc-файл.

Исключение, связанное с ssh , вызвано тем фактом, что при запуске сценария через ssh ( ssh $ host my_remote_script ) среда (в основном PATH ) ) еще не настроен, как в случае выполнения локального сценария. Таким образом, ИМО, исключением является мотивация установить среду в ~ / .bashrc , чтобы одна и та же среда использовалась как для локально вызываемых, так и для удаленных сценариев.

Исходя из всего этого, мои рекомендации следующие:

  • Файл профиля:

    • Не устанавливайте ничего, что может быть полезно для удаленно вызываемого сценария, включая PATH .
    • Безусловный источник rc-файла: . ~ / .bashrc .
  • RC-файл:

    • Установите необходимые переменные среды.
    • Помните, что файл будет получен, когда среда уже установлена ​​(интерактивными оболочками без входа). Итак, если вы безоговорочно выполните PATH = $ HOME / bin: $ PATH , вы можете получить PATH = $ HOME / bin: $ HOME / bin: ... после поиска это дважды (досада, а не ошибка). Простое решение - защитить параметр среды:

       # ~ / .bashrc 
      if [! "$ {MY_ENV_SET: -}"]; затем 
      PATH = ... 
       ... 
      export MY_ENV_SET = 1 
      fi 
       
    • Определите тонкости оболочки только для интерактивных оболочек:

       ... 
       ["$ PS1"] || вернуть 0 
      PS1 =  
      source ~ / .bash_alias 
      eval $ (dircolors -b ~ / .dircolors) 
      source / etc / bash_completion {{ 1}} 

Логин GUI . Еще одна важная вещь, которую вы должны учитывать, - это то, как ваш графический интерфейс устанавливает ПУТЬ во время запуска. Это могло быть сделано с помощью Bash или нет.В моем случае я использую KDE, и этот файл создается во время запуска:

# ~/.kde/env/path.sh
# https://userbase.kde.org/Session_Environment_Variables
PATH=$(env -i /bin/bash -lc 'echo $PATH')

Это вызывает (редко) неинтерактивную оболочку Bash для входа в систему, используя пустую среду, которая также является источником rc-файла, и все согласовано.

Если вы используете другой графический интерфейс (Gnome?), Вам следует изучить, как ПУТЬ устанавливается во время его запуска. Если исходники вашего графического интерфейса ~ / .profile , убедитесь, что вы также получили исходный файл rc оттуда.

3
03.02.2017, 23:59
2 ответа

Имейте в виду, что эта команда удаляет все образы ядра и заголовки основного выпуска 4, но не текущий.

apt purge $(dpkg-query -W -f='${binary:Package}\n' 'linux-image-4*' 'linux-headers-4*' | grep -v $(uname -r))
0
27.01.2020, 21:25

В Ubuntu вы можете использовать purge-old-kernels для очистите старые ядра, чтобы установить его:

Для ubuntu 16.04

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F430BBA5
sudo add-apt-repository ppa:byobu/ppa
sudo apt-get update
sudo apt-get install byobu

Также вы можете установить его, не добавляя ppa : sudo apt-get install byobu

Для версий Ubuntu ниже, чем 16.04

sudo add-apt-repository ppa:bikeshed/ppa
sudo apt-get update
sudo apt-get install bikeshed

Выполните следующую команду, чтобы сохранить последние 2 ядра:

sudo purge-old-kernels

Вы можете указать номер n ядра, которое нужно сохранить:

sudo purge-old-kernels --keep n

n = 1 :

sudo purge-old-kernels --keep 1

В CentOS установить yum-utils пакет:

yum install yum-utils

Чтобы сохранить последние n ядер, запустите:

package-cleanup --oldkernels --count=n

n = 1 :

package-cleanup --oldkernels --count=1
2
27.01.2020, 21:25

Теги

Похожие вопросы