Когда я работаю fakeroot
в zsh
это всегда дает мне это предупреждение:
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
Я могу продолжить путем нажатия y и затем fakeroot
работы.
Я задаюсь вопросом, что это сообщение об ошибке и как зафиксировать его.
(Если я нажимаю n fakeroot
все еще продолжается (проверенный с whoami
), который кажется нечетным мне.)
Это совершило ошибку, уйдите:
cd /usr/local/share/zsh
sudo chmod -R 755 ./site-functions
sudo chown -R root:root ./site-functions
я все еще не уверен, что означала ошибка или почему это произошло, все же.
Кредит: этот ответ на StackOverflow, который в свою очередь получил решение от сообщение в zsh списке рассылки
Я просто следовал за тем, что было записано там.
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/
Так, небезопасный означает, что что-то неправильно с их полномочиями, я изменил полномочия защитить их, и ошибка ушла.
Я также проверил, что оба каталога были пусты, таким образом, я удалил их обоих, которых я не рекомендую, но тем не менее я сделал.
Этим утром, некоторые пакеты в моей системе, обновленной и оставленной меня с этим сообщением об ошибке.
По-видимому, что-то в обновлении изменило имя пользователя и группу к числам, вместо 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 ушло.
Чтобы исправить ошибку
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
Ура