Как добавить, что путь к системному $PATH для невхода в систему всех пользователей окружает для debian

Я не знаю, поможет ли это...

Если Вы переходите к сути дела, где испытательный стенд распознает раздел, необходимо смочь выбрать его и выбрать пункт меню, который выполнит развертку в структуру и покажет файлы. Отсюда, существует опция скопировать файлы.

Однако, если Вы возвращаетесь до такой степени, когда раздел, Вы хотите, распознан, необходимо видеть опцию на экране к [w] обряду, который пишет новую таблицу разделов в диск. Это желание (должно) дать Вам Ваш восстановленный раздел, и возможно som другое поддельное (лучшее предположение) разделы. В той точке скопируйте свои данные и почините диск по мере необходимости.

Я не ясен во всех деталях, поскольку я только сделал это однажды. Но испытательный стенд восстановил раздел NTFS, в котором я нуждался после того, чтобы портить таблицу разделов с fdisk FreeBSD.

Мне не было нужно ничто кроме испытательного стенда для восстановления, но по-видимому я изменил таблицу разделов от MS-DOS до gpt, когда я сделал выбор типа первоначального устройства в испытательном стенде, таким образом, я закончил тем, что копировал свои данные и переформатировал диск.

7
12.07.2013, 14:00
4 ответа

На Debian и других системах, которые используют PAM (который является большинством из них в наше время), можно установить переменные среды (включая PATH) в /etc/environment. Это будет работать на любой метод входа в систему, который использует pam_env модуль (любой в auth раздел или в session раздел); на Debian, который должен быть всеми ими (по крайней мере те, которые обеспечивают способы войти в систему и команды выполнения).

8
27.01.2020, 20:16

Путь по умолчанию мог быть установлен в /etc/profile как сказанный Joe, но также и в $HOME/.profile. У меня также есть много пакетов, которые я скомпилировал самостоятельно (с общей процедурой ./configure --prefix=/opt/<name>) установленный в /opt. Выполнить двоичные файлы в /opt/<name>/bin без любого дополнительного усилия я добавил

OPTDIR=/opt

for i in $OPTDIR/* ; do
    BINDIR=$i/bin
    if [ -d $BINDIR ] ; then
        if [ -z $PATH ] ; then
            PATH=$BINDIR
        else
            PATH=$BINDIR:$PATH
        fi
    fi
done

export PATH

к моему $HOME/.profile который в Вашем случае был бы /etc/profile. Теперь, даже если я устанавливаю пакеты под /opt в будущем я не должен волноваться о доступе к связанным двоичным файлам в /opt/.*/bin так как путь автоматически добавляется к $PATH.

Поскольку дополнительное программное обеспечение не является необходимой конюшней, я предпочитаю $HOME/.profile /etc/profile.


Маленький комментарий: /etc/.profile соответственно $HOME/profile не выполняется Вашей оболочкой по умолчанию, но dash. Легкий вариант bash который уменьшает загрузку во время процесса начальной загрузки.

2
27.01.2020, 20:16
  • 1
    Ни один /etc/profile ни ~/.profile не выполняется оболочкой невхода в систему. –  Yang Bo 10.09.2012, 03:33
  • 2
    Вы правы, мой ответ не полностью связан с Вашим вопросом. Я просто описал то, что я сделал для получения вещей, работающих. Если Вы не используете X моих подходов, делает то, что Вы хотите, так как каждая оболочка невхода в систему является дочерним процессом оболочки входа в систему. Если Вы используете X, можно получить небольшой сценарий, который я отправил в init файле менеджера по оформлению (в большинстве случаев Xsession). Теперь каждый дочерний процесс менеджера по оформлению имеет определенный $PATH переменная. В описанных двух случаях определенно работает мой подход, и можно получить доступ к каждому двоичные файлы под /opt/.*/bin. –  user1146332 10.09.2012, 11:53

Путь по умолчанию может быть установлен в/etc/profile

Но я просто считал свою систему Ubuntu, и она установлена в/etc/environment

0
27.01.2020, 20:16
  • 1
    /etc/profile не выполняется оболочкой невхода в систему. –  Yang Bo 10.09.2012, 03:30

Я нашёл отличный ответ на serverfault от Gilles:

Как установить PATH для всех пользователей в Debian?

Первое место, где устанавливается PATH, это /etc/login.defs. Там есть настройка для root и настройка для всех остальных.

Еще одно место, где вы можете определить переменные окружения - /etc/environment. Эти настройки будут применяться ко всем (вы не сможете написать там произвольный shell-код).

Третье место, где вы можете определить переменные окружения, это /etc/profile. Там вы можете писать произвольный shell-код. Если вам нужны настройки для конкретного пользователя, существует соответствующий файл для каждого пользователя ~www-data/.profile. Но он будет применяться только к интерактивным входам в консоль; в частности, он не будет применяться к заданиям cron, если они явно не используют источник /etc/profile.

Если вам нужен этот параметр PATH только в пользовательском кронтабе, вы можете написать его в начале кронтаба. Обратите внимание, что вам нужен полный список (PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin), вы не можете использовать подстановку переменной (PATH=$PATH:/usr/local/zend/bin здесь не сработает).

1
27.01.2020, 20:16

Теги

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