Преобразование из одного типа архива в другой с помощью CLI - proUbuntu
Купить гитару в Москве
5 голосов
/

Если определенный тип архива необходимо преобразовать в другой формат (например, - tar.gz в zip), то можно открыть архив с помощью file-roller и перейти к -

Архив -> Сохранить как -> (выберите расширение) -> Сохранить

Также в этом методе Другие параметры можно использовать для установки пароля для файла zip, что невозможно в случае файлов tar.gz с использованием file-roller.

Как выполнить вышеуказанные шаги с помощью командной строки?

Ответы [ 2 ]

4 голосов
/

Основные команды оболочки:

$ cd $HOME
$ mkdir tempdir
$ cd tempdir
$ tar -zxvf ../archive.tar.gz 

На данный момент у вас есть копия содержимого archive.tar.gz в $ HOME / tempdir /

$ zip -rmp password ../archive.zip *

... создаст zip-архив из содержимого tempdir /, а затем удалит добавленные файлы. Я предполагаю, что это все еще делает; use standard (weak) PKZip 2.0 encryption как указано для параметра -e - который не принимает пароль, а запрашивает его вместо.

УБЕДИТЕСЬ / ПРОВЕРИТЬ, что вы все еще в tempdir /

$ pwd
.../tempdir

Если в конце выше есть НИЧЕГО, кроме "/ tempdir",
затем НЕ продолжайте с тем, что будет дальше, здесь:

$ rm -rf *  
$ cd ..
$ rmdir tempdir

Все вышеперечисленное может быть возможно и с трубкой, например:

$ tar -zxvf ./archive.tar.gz - | zip -p password - ./archive.zip 

... Но я не вижу смысла пробовать это - из-за слабого шифрования 1025 * и возможных проблем с тем, как zip обрабатывает специальные файлы, ссылки и еще много чего.

Если вам нужно настоящее шифрование, посмотрите gnupg и связанные с ним утилиты.

man tar, man zip, zip --help, zip -h2 | less, tar --help | less могут содержать информацию, жизненно важную для вышеперечисленного, особенно конверсию по каналу, которую я не пробовал.

2 голосов
/

Вы можете использовать tar-to-zip для этой цели. Все, что вам нужно сделать, это:

Установите файл node.js с nvm , если у вас его нет.

А затем установите tar-to-zip с помощью:

npm i tar-to-zip -g

И используйте его с:

tar2zip hello.tar.gz

Он покажет процент выполнения операции и создаст файл hello.zip в том же каталоге.

Трубы также могут быть использованы:

cat hello.tar.gz | tar2zip > hello.zip

К сожалению, нет способа установить пароль.

Добро пожаловать на сайт proUbuntu, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...