Поздний комментарий, но я просмотрел все темы и не мог решить проблему, пока не сделал следующее. Все, что мне нужно было сделать, это добавить вторую проверку
if [[ $TERM == screen]]; then
TERM=screen-256color
fi
в дополнение к первому условному оператору в моем файле .bashrc
:
if [[ $TERM == xterm ]]; then
TERM=xterm-256color
fi
У меня также было это в .tmux.conf
. ]:
set -g default-terminal "screen-256color"
В моем файле .vimrc
:
set term=screen-256color
Вы не можете удалить информацию о пользователях при использовании tar (или cpio), но можете заставить их не различать, кто создал пакет. Использование tar и принудительное использование некоторых параметров, чтобы не различать пользователя, создавшего пакет (см. man tar
):
-P
, - absolute-names
: Force tar, чтобы не удалять начальные символы '/' (это делается по умолчанию). Если вы не можете указывать абсолютные пути в командной строке, указанный вами путь будет сохранен (попробуйте использовать -C или --change-directory, если вы не можете выполнить cd в нужном корневом каталоге) - owner
: принудительно сохранить пользователя в tar-файле, игнорируя фактического владельца файлов / директорий (например, --owner = root) - group
: принудительно сохранить группу в tar-файле (например, --group = root). - no-acls
: предотвращает копирование ваших собственных ACL в файл tar - numeric-owner
, - numeric-group
: маскирует фактические имена учетных записей на вашем локальном хранении только UID / GID (не требуется, если ваш принудительный root-доступ, поскольку root всегда равен 0) - mtime
: для принудительного изменения времени изменения всех файлов / каталогов, чтобы замаскировать, когда они действительно были изменены Имейте в виду, что символические ссылки с абсолютными путями будут храниться как есть. Однако в основном лучше всегда использовать относительные символические ссылки, когда они указывают внутри вашего дерева пакетов.
Лучшее, что я нашел, это следующее, которое пытается нормализовать с помощью
r
и w
для владельца и всех разрешений для всех остальных mtime
к эпохе UNIX find <files> -print0 \
| sort -z \
| tar -cf <output>.tar \
--format=posix \
--numeric-owner \
--owner=0 \
--group=0 \
--mode="go-rwx,u-rw" \
--mtime='1970-01-01' \
--no-recursion \
--null \
--files-from -
Подробнее об этом я писал вhttp://h2.jaguarpaw.co.uk/posts/reproducible-tar/