В чем разница между следующими файлами в CentOS 7?
/etc/locale.conf
/etc/environment
~/.bashrc
решение1
Для любой программы, которой просто нужночитатьнастройки переменных окружения /etc/locale.conf
и /etc/environment
по сути одинаковы; в очень упрощенной встроенной системе вы можете опустить /etc/locale.conf
и вместо этого поместить любые требуемые переменные локали /etc/environment
.
Разница в основном в том, как с этим бороться.обновлениефайлы.
Для /etc/locale.conf
, набор переменных, которые, как ожидается, будут определены в файле, конечен, а их синтаксис четко определен. Это позволяет программам легче вносить изменения. Например, приложение GUI "настройки языка/локали" может легко считывать существующие настройки, представлять их пользователю, а затемпереписать весь файлесли пользователь делает новый выбор.
Восстановление после синтаксических ошибок также просто: если приложение настроек обнаруживает синтаксическую ошибку в файле, оно может просто представить параметры, которые ему удалось прочитать, позволить пользователю либо принять текущую конфигурацию, либо внести изменения, а затем перезаписать файл на основе некоторого шаблона, встроенного в приложение, и ошибка будет прозрачно исправлена.
Для /etc/environment
, набор переменных среды, которые можно определить, неограничен, поэтому любые программные манипуляции с файлом должны выполняться гораздо более осторожно.
Также /etc/environment
и /etc/locale.conf
определитьобщесистемныйпо умолчанию, в то время как ~/.bashrc
естьспецифическийдля пользователя: с помощью ~/.bashrc
, пользователь может переопределить системные настройки по умолчанию только для своих собственных сеансов, если это необходимо.