Да, можно установить программное обеспечение в каталоги, отличные от /usr
.
Одним из примеров (системы -ширины )является /usr/local
. (Который все еще может не помочь вам напрямую, так как ваш /usr
доступен только для чтения -. )Каталог /usr/local
соответствует /usr
по своей структуре (имеет /bin
, /lib
и т. д. )В большинстве случаев он используется для различения пакетов, поставляемых как часть вашей базовой ОС. (, которые перейдут в/usr
)из тех, что установлены из исходников системным администратором (, которые перейдут в /usr/local
.)
Существует также /opt
, который предназначен для установки пакетов в отдельные -каталоги пакетов. Так, например, вы можете установить туда Perl 6 под /opt/perl6
, и это будет содержать только Perl и ничего больше. Вы должны хранить отдельные каталоги для отдельных пакетов, что обычно позволяет легко «удалить» пакет, просто удалив его каталог. Обычно вам нужно установить $PATH
соответствующим образом, чтобы получить доступ к установленным там программам, или создать символические ссылки в каком-либо другом каталоге bin
, который уже находится в $PATH
, чтобы получить к ним доступ. Управление /opt
обычно предназначено для администратора, и, учитывая, что вам нужно обновлять $PATH
для каждого устанавливаемого вами пакета, это может быть не лучшим вариантом...
Для установки программного обеспечения в каталог $HOME
одним из возможных подходов является создание в его верхней части подкаталога .local
и соответствие иерархии /usr
или /usr/local
.
Так что, может, попробуй так:
mkdir ~/.local
А затем используйте его как --prefix
при установке нового пакета. Например,если пакет использует сценарий конфигурации в стиле autoconf -, вы можете собрать и установить его, используя:
./configure --prefix="$HOME/.local"
make
make install
Вам нужно добавить ~/.local
к вашему $PATH
, чтобы иметь доступ к программам там. Так что сделайте это в своем~/.bashrc
:
PATH=$HOME/.local:$PATH
export PATH
Откройте новую оболочку (новый терминал или выйдите из системы и войдите снова ), чтобы изменения вступили в силу. Или просто запустите ту же команду в существующей оболочке. Теперь вы сможете выполнять программы из ~/.local/bin
напрямую.
Согласно man 1 passwd
,
-d, --delete
Delete a user's password (make it empty). This is a quick way to disable a password for an
account. It will set the named account passwordless.
Практически вы можете увидеть разницу, когда используете CUI (, а не эмулятор терминала ). После выполнения passwd -d root
вы можете войти в систему как root даже без запроса пароля, поскольку пароль пуст. Аналогичная вещь наблюдается при использовании su
команды (см. этот комментарий например ). Напротив, после passwd -l root
вы не можете войти в систему как root, используя пароль [1] .
Таким образом, простое удаление пароля root настоятельно не рекомендуется, хотя его блокировка имеет много преимуществ и выбирается в качестве настройки по умолчанию в некоторых средах, таких как Ubuntu.RootSudo -Ubuntu Community Help Wikiсодержит много информации об этом.
[1] :Блокировка пароля не означает, что пользователь полностью отключен. Вы по-прежнему можете войти в систему, используя аутентификацию без пароля -(, например. Ключ SSH илиsudo
). Подробности см. в man 1 passwd
.