zip command show warnings «name not matched «О символических ссылках за пределами моего рабочего каталога, указывающих на несуществующую цель

Не уверен, что это сработает, поскольку у Arch не должно быть проблем с этим. Но если вы создали свой USB-ключ под Windows (это может произойти и в других ОС, я не знаю), его имя может быть короче, чем тот, который ищет Arch.

Например, когда я пытался установить Architect, процесс загрузки ожидал, что имя будет Architect-201601-64bit , в то время как Windows назвала его ARCHITECT-2 .

Я говорю, что у вас не должно быть проблем с Arch, потому что этого не должно происходить, поскольку ARCH_201212 намного короче.

Сначала вы, вероятно, захотите попробовать ls / dev / disk / by-label / , чтобы проверить имя ключа. Если его имя другое, просто выполните команду mv / dev / disk / by-label / <имя ключа> / dev / disk / by-label / ARCH_201212 (очевидно, замените на имя вашей версии). Затем введите exit , и процесс загрузки продолжится нормально.

Наконец, я могу добавить, что, возможно, это больше не проблема, поскольку вопрос был задан 3 года назад. Но если эта проблема все еще возникает, я лучше опубликую ее, если она кому-то действительно поможет.

0
04.04.2019, 12:37
1 ответ

Здесь происходит две вещи.

Во-первых,

zip -r -qv test.zip *.* -x "..*" -x test.log -x test.zip

расширяется оболочкой, чтобы перечислить все, что соответствует *и .*, включая ..в вашем случае.

Во-вторых, zipпроверяет все имена файлов, которые ему даются, когда его просят выполнить рекурсию, прежде чем фильтровать исключенные шаблоны; поэтому он видит ../logs/michael.muryn.name/http.2810216.bak/html/daily.htmlи т. д. и вызывает для них stat, что приводит к ошибке, и в результате zipвыводит «имя не соответствует».

Обычный способ избежать этого — указать .[^.]*вместо .*или, поскольку вы также соответствуете *, запустить

zip -r -qv test.zip. -x test.log -x test.zip

вместо этого.

2
28.01.2020, 02:30

Теги

Похожие вопросы