Я установил TEX Живая ваниль 2011 года, и я испытываю затруднения при установке TEX Живой путь для корня (в Ubuntu 11.10).
Проблема - это, когда я работаю sudo tlmgr
Я добираюсь:
sudo: tlmgr: command not found
Для фиксации пути для некорневого, было достаточно добавить
PATH=/usr/local/texlive/2011/bin/x86_64-linux:$PATH
кому: /etc/profile
.
Я попытался добавить эту ту же строку к /root/.bashrc
и я также попытался добавить его к /etc/profile.d/zzz-texlive.sh
как Herbert предлагают в https://tex.stackexchange.com/questions/26624/tlmgr-inaccessible/26626#26626, но он не помогает.
Быстрое исправление: так как у Вас уже есть корректное $PATH
набор в Вашей среде (через /etc/profile
модификации), можно использовать:
sudo env PATH="$PATH" tlmgr
В основном sudo сбрасывает значение $PATH
(целая среда, действительно) к "известной пользе" один, и таким образом игнорирует любые изменения, которые Вы внесли в свое окружение. Огибающая команда выше устанавливает PATH
переменная в среде tlmgr
это выполняется, таким образом, это работает со значением $PATH
Вы указываете на командной строке.
Чтобы постараться не вводить все, что для каждой команды TeXlive, можно определить псевдоним в оболочке: добавьте следующую строку к .bashrc
файл в Вашем доме:
alias psudo='sudo env PATH="$PATH"'
и затем можно просто выпустить это в командной строке:
psudo tlmgr
Кроме того, sudo не выполняет оболочку входа в систему для выполнения команды, которая является, почему приемы "profile.d" не работали на корень. Можно вынудить sudo выполнить команду в оболочке, которая является альтернативным способом достигнуть того же эффекта:
sudo sh -l -c tlmgr
Снова можно определить псевдоним команды оболочки для сокращения этого:
alias shsudo='sudo sh -l -c'
который может использоваться как:
shsudo tlmgr
Если вы добавите символические ссылки, вам не нужно будет создавать скрипт. Вы можете сделать это двумя способами:
Используя графический интерфейс:
sudo env PATH="$PATH" tlmgr --gui
. Использование командной строки (не проверено, поскольку я использовал графический интерфейс):
sudo env PATH="$PATH" tlmgr path add
. (более подробную информацию можно найти в документации tlmgr ) Чтобы передать $PATH
пользователя в sudo
, я изменил файл /etc/sudoers
с помощью команды visudo
и добавил следующую строку:
Defaults exempt_group=<group that I belong to>
Теперь я могу выполнить (например)
]sudo tlmgr update all
или
sudo texhash
и все работает идеально.
Буду очень признателен за любые комментарии по этому подходу.
Что сработало для меня: я запустил tlmgr
в графическом режиме с
sudo env PATH="$PATH" tlmgr --gui
, а затем в третьем меню выбрал последний пункт, кроме одного (в моем немецком меню, то есть меню «Актионен») (действия?) и пункт «Verwaltung der symbolischen Links» (администрирование символических ссылок?). В появившемся диалоговом окне я нажал кнопку «Symbolische Links erneuern» (обновить символические ссылки?). ] работает без проблем. Уверен, есть способ командной строки;)
Вам действительно не нужно добавлять каталог tlmgr
к пути. Простое быстрое решение использует which
, например:
sudo $(which tlmgr) update --list
Это не хорошая практика, чтобы установить и управлять TEX Живые "корневые" полномочия использования. Вместо этого создайте /usr/local/texlive
каталог, например, с помощью sudo, и затем изменяет владение на пользователя, который будет управлять Живым TEX. После этого Живой TEX может быть установлен и обновлен, не используя "корневые" полномочия.