Как исправить "zsh compinit: небезопасные каталоги"?
Когда я бегу fakeroot
в zsh
это всегда дает мне это предупреждение:
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
Я могу продолжить, нажав у, а затем fakeroot
работает.
Мне интересно, что это за сообщение об ошибке и как это исправить.
(Если я нажму н fakeroot
все еще продолжается (подтверждено whoami
), что мне кажется странным.)
2 ответа
Это заставило ошибку исчезнуть:
cd /usr/local/share/zsh
sudo chmod -R 755 ./site-functions
sudo chown -R root:root ./site-functions
Я все еще не уверен, что означала ошибка или почему она произошла.
Кредит: этот ответ на StackOverflow, который, в свою очередь, получил решение из Hillar
Я просто следовал тому, что там было написано.
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
Я проигнорировал это. После этого я побежал compaudit
,
# compaudit
Он показал мне 2 каталога,
/usr/local/share/zsh/
/usr/local/share/zsh/site-functions/
Таким образом, небезопасный означает, что что-то не так с их разрешениями, я изменил разрешения для их защиты, и ошибка исчезла.
Я также проверил, что оба каталога были пусты, поэтому я удалил их оба, что я бы не советовал, но все же я сделал.
Чтобы исправить ошибку
zsh compinit: небезопасные файлы, запустите compaudit для списка. Игнорировать небезопасные файлы и продолжить [y] или прервать compinit [n]?
Я выполнил 2 команды:
команда 1.
compaudit
выход:
There are insecure files:
/usr/share/zsh/vendor-completions/_code
Потом побежал:
команда 2.
sudo chown root /usr/share/zsh/vendor-completions/_code
ура
Сегодня утром некоторые пакеты в моей системе обновились и оставили мне это сообщение об ошибке.
Видимо, что-то в обновлении изменило имя пользователя и группу на цифры, а не root
, а так:
# There are insecure files: /usr/share/zsh/vendor-completions/_code
# sudo ls -alh
-rw-r--r-- 1 131 142 2.6K 2019-10-10 16:28 _code
Я просто изменил пользователя и группу для этого файла обратно на root
и проблема ушла. Мне не нужно было менять какие-либо разрешения, и я бы предостерег от этого, если не будет понята основная причина проблемы.
sudo chown root _code && sudo chgrp root _code
После переключения 131
а также 142
вернуться к root
, это сообщение об ошибке от zsh ушло.