Я вроде как новичок в Linux и только начал использовать pass
для управления своими паролями. Я стараюсь держать свой домашний каталог в чистоте, но pass
создал 2 dotfiles (.gnupg
и .password-store
), которые я не знаю, как переместить в другие каталоги (.local
/ .config
/ .cache
). Я знаю, что могу связать их, но это не решает проблему dotfiles в ~/
.
$ ls -a
.cache
.config
Desktop
Documents
Downloads
.gnupg
.local
Music
.password-store
Pictures
Videos
Специфическая проблема: есть ли способ переместить .gnupg
и .password-store
в другой каталог и по-прежнему использовать их?
В бинарниках есть переменная PREFIX
, которая определяет их, но я не знаю, как ее изменить.
PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
Значение этого бита кода оболочки:
PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
: установить ПРЕФИКС
на значение $ PASSWORD_STORE_DIR
, используя по умолчанию $ HOME / .password-store
, если $ PASSWORD_STORE_DIR
не установлен.
То есть вы можете установить для переменной среды PASSWORD_STORE_DIR
любой путь, по которому вы хотите установить PREFIX
на желаемое значение.Так, скажем, в вашем .profile
или в другом месте, где вы предпочитаете управлять переменными среды, установите:
export PASSWORD_STORE_DIR="$HOME/.config/password-store"
Это задокументировано. Проверьте man 1 проход
:
ENVIRONMENT VARIABLES
PASSWORD_STORE_DIR
Overrides the default password storage directory.
Если приложения предоставляют поддержку для перемещения файлов точек, не стесняйтесь делать это. В конце концов, они рекламируют эту поддержку, и если это не сработает, это ошибка, которая, вероятно, будет исправлена.
То же самое и для gpg
с переменной среды GNUPGHOME
:
GNUPGHOME
If set directory used instead of "~/.gnupg".
Не трогайте точечные файлы, если они созданы программами непосредственно в вашем домашнем каталоге.
Ваши приложения НЕ будут знать, как сопоставить «альтернативные» местоположения, и это НЕ является нетипичным, когда тонны файлов точек создаются разными приложениями. Точечные файлы и точечные папки предназначены для использования для хранения данных приложения и невидимы для обычного пользователя (то есть файловый браузер по умолчанию не показывает скрытые файлы).
Если ваши приложения, которые вы используете, не позволяют вам конфигурировать собственный каталог данных, оставьте свои точечные файлы в покое. Большинство приложений не имеют механизма для настройки или перемещения файлов или перенастройки места, где они ищут свои данные, поэтому оставьте их в покое.
Рекомендация : не беспокойтесь о том, где приложение создает свои файлы конфигурации .dot. Это также не имеет значения при повседневном использовании компьютера: эти файлы конфигурации предназначены для того, чтобы большую часть времени вы не видели их.
Почему : это приложение решает, куда поместить свои пользовательские файлы конфигурации. Старые соглашения заключались в том, чтобы помещать файлы конфигурации непосредственно в вашу домашнюю папку, например, pass
, то есть $ HOME / .password-store
. В последнее время принято переносить такую конфигурацию в .config
.
Если вы хотите взять на себя управление хранением пользовательской конфигурации, вам во многих случаях потребуется отредактировать исходный код. Как только вы начнете это делать, вам также нужно будет продолжать исправлять обновления программного обеспечения.Таким образом, в качестве общего совета: предоставьте разработчику право решать, где разместить файлы конфигурации. Разработчик, в свою очередь, ведет себя в рамках существующих соглашений: в противном случае он / она может ожидать много запросов об ошибках.
Я все равно хочу изменить его для прохода
: Тем не менее, в целях обучения вы можете легко изменить это в случае прохода
. Это открытый исходный код. В этом случае каталог определяется в исходном коде bash сценария pass
. В принципе, вы можете изменить это на:
PREFIX="${PASSWORD_STORE_DIR:-$HOME/.config/password-store}"
Из-за того, как переменная PREFIX
назначается в скрипте, существует более безопасный подход, не требующий изменения скрипта (благодаря комментарию автора муру). То есть установить или экспортировать переменную PASSWORD_STORE_DIR
перед запуском прохода
, т.е.
PASSWORD_STORE_DIR=$HOME/.config/password-store
В сценарии переменная PREFIX примет значение PASSWORD_STORE_DIR
, если он определен, иначе будет установлено значение $ HOME / .password-store
.
Это, вероятно, любое изменение, которое потребуется. Любые папки создаются с помощью переключателя -p
, поэтому вся структура папок будет создана, если .config
еще не существует (например, в недавно установленной системе).
Это открытый исходный код, поэтому вы можете попробовать: скопировать исходный файл под новым именем, отредактировать его и посмотреть, как он работает. Если это не сработает, вы все равно можете скопировать исходную версию.
Обратите внимание, что вам нужно снова изучить исходный код для каждого приложения, в котором вы хотите его изменить. В некоторых случаях может потребоваться изменить более одной строки.
В конце концов, опять же ... не заморачивайтесь.