Пакет 'octave -octcdf' не имеет кандидата на установку (Ubuntu 18 LTS)

login(1) традиционно устанавливает ограниченный набор переменных среды во время входа в систему. Likesuloginобычно запрашивает пароль, даже если кто-то входит в систему под своим именем, так что это, вероятно, не идеально. Системы Unix могут иметь дополнительные или другие сложности, например. если есть PAM pam_env(8), можно было бы добавить или удалить переменные среды из того, что было установлено login. Таким образом, копия того, что делает login(1), может создать набор переменных среды, отличный от фактического входа в систему через наборы PAM.

Далее идут терминалы и оболочки; терминалы могут запускать или не запускать последующий процесс как оболочку входа в систему. Оболочки могут читать разные файлы, когда они помечены как вход в систему, и могут иметь разные переменные env для входа в систему по сравнению с экземплярами входа без -. На эту тему имеется литература .

Таким образом, в зависимости от Unix, процесса входа в систему, конфигурации локальной системы, используемой пользователем оболочки и локальной конфигурации для этой оболочки могут быть разные переменные среды, установленные «по умолчанию».

Вы можете получить подходящий список переменных среды с экземпляром оболочки входа в систему:

% export CANARY=tweet
% env -i bash -l -c 'env | grep CANARY'
/Users/jhqdoe/.profile: line 6: set: markdirs: invalid option name
% 

это очищает переменные окружения от родительского процесса(env | grep CANARYбудет там, где ваш $COMMANDбудет ). .profileздесь на самом деле для mksh, а не bash. Однако приведенное выше может не устанавливать необходимые переменные, которые устанавливает рабочий процесс входа в систему, поскольку он не проходит через этот код. Их можно проверить, чтобы узнать, что они представляют собой с новым входом в систему, а затем запустить:

$ env > def
$ env -i bash -l -c 'env > new'

А затем сравнить файлы defи new, чтобы увидеть, чем они отличаются (, возможно, используя команды sortи diff), а затем, возможно, обновить команду env, чтобы установить вещи которые пропущены до выполнения оболочки входа в систему.

Другая идея состоит в том, чтобы сделать снимок среды и использовать его по умолчанию.

0
13.01.2021, 09:49
1 ответ

octave-octcdfбольше не доступен,octave-netcdfзаменяет его:используйте

sudo apt install octave-netcdf

вместо этого.

3
18.03.2021, 22:37

Теги

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