Вот мои рекомендации относительно того, где установить среду, вместе с пояснениями.
Соответствующие сведения:
Файл профиля пользователя - это ~ / .bash_profile
, ~ / .bash_login
или ~ / .profile
. Я предлагаю использовать один из первых двух, потому что последний перекрывается с другими оболочками. Однако см. В конце примечание о входе в систему через графический интерфейс.
Пользовательский rc-файл - это ~ / .bashrc
.
Интерактивная оболочка входа в систему (например, вход в консоль или вход в систему ssh
) считывает только файл профиля.
Неинтерактивная оболочка входа в систему встречается редко, но может запускаться во время входа в систему с графическим интерфейсом пользователя. В любом случае, если это оболочка Bash, она действует как неинтерактивная оболочка входа в систему и читает только файл профиля.
Интерактивная оболочка без входа в систему (например, новая вкладка в XTerm / Konsole) читает файл rc.
неинтерактивная оболочка без входа в систему (например, сценарий оболочки) не читает ни то, ни другое, за одним важным исключением: если запущена ssh
, она читает rc-файл.
Исключение, связанное с ssh
, вызвано тем фактом, что при запуске сценария через ssh ( ssh $ host my_remote_script
) среда (в основном PATH
) ) еще не настроен, как в случае выполнения локального сценария. Таким образом, ИМО, исключением является мотивация установить среду в ~ / .bashrc
, чтобы одна и та же среда использовалась как для локально вызываемых, так и для удаленных сценариев.
Исходя из всего этого, мои рекомендации следующие:
Файл профиля:
PATH
. . ~ / .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 оттуда.
Имейте в виду, что эта команда удаляет все образы ядра и заголовки основного выпуска 4, но не текущий.
apt purge $(dpkg-query -W -f='${binary:Package}\n' 'linux-image-4*' 'linux-headers-4*' | grep -v $(uname -r))
В 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