Ubuntu поставляється з Python (Python 2.7 та Python 3), який містить необхідні модулі для вилучення архівів. Тож якщо з якоїсь причини tarвідсутня команда (скажімо, ваш sysadmin видалив її, і ви не маєте sudoprivillege для її встановлення), ви можете використовувати:
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якщо його ще немає