Ubuntu поставляється з Python (Python 2.7 та Python 3), який містить необхідні модулі для вилучення архівів. Тож якщо з якоїсь причини tar
відсутня команда (скажімо, ваш sysadmin видалив її, і ви не маєте sudo
privillege для її встановлення), ви можете використовувати:
python3 -c 'import tarfile,sys; b = tarfile.open(sys.argv[1]);print(b.extractall())' ./archive.xz
Як короткий сценарій, це читається як:
#!/usr/bin/env python3
import tarfile,sys
with tarfile.open( sys.argv[1] ) as fd:
fd.extractall()
Припустимо, я створив .xz
файл із tar cJf thing.xz /etc/passwd
. Архів міститиме etc
каталог з passwd
файлом всередині. Використання вищезазначеного сценарію призведе до створення etc
каталогу у вашому поточному робочому каталозі, а всередині нього - passwd
файлу. Звичайно, це завжди можна розширити, вказавши шлях, куди потрібно витягти extractall()
функцію.
xz-utils
якщо його ще немає