Я хотел бы использовать мой Mac для создания файлов cpio для использования в Linux. Имена файлов кажутся «./name» при создании в Mac. Когда cpio создан в linux, имя просто "имя". У sw, который мне нужно использовать, есть некоторые проблемы с этим, поэтому мой вопрос: есть ли какой-нибудь флаг или что-то, что можно было бы использовать, чтобы избавиться от этого префикса "./"? В противном случае они, кажется, работают нормально.
1 ответ
Было бы интересно увидеть команду, которую вы используете для создания архивов cpio. Я подозреваю, что вы используете find для генерации списка, и разница, вероятно, связана с тем, как BSD find и GNU find распечатывают свои соответствующие списки результатов.
В любом случае вы, вероятно, можете обойти это, вставив команду sed между find и cpio, чтобы убрать ./ из передней части имен файлов, например:
find folder | sed 's,^\./,,' | cpio -ov >/tmp/test.cpio
В любом случае форматы cpio имеют различные ограничения, которые делают их менее пригодными в качестве архивов в современных системах. Поэтому было бы лучше использовать GNU tar или BSD tar для создания архивов pax, например:
bsdtar --format=pax -cvf /tmp/test.tar folder