Ubuntu đi kèm với Python (Python 2.7 và Python 3), chứa các mô-đun cần thiết để trích xuất tài liệu lưu trữ. Vì vậy, nếu vì bất kỳ lý do nào tar
lệnh bị thiếu (giả sử sysadmin của bạn đã xóa nó và bạn không có sudo
quyền riêng tư để cài đặt nó), người ta có thể sử dụng:
python3 -c 'import tarfile,sys; b = tarfile.open(sys.argv[1]);print(b.extractall())' ./archive.xz
Là một đoạn script ngắn, dễ đọc hơn như:
#!/usr/bin/env python3
import tarfile,sys
with tarfile.open( sys.argv[1] ) as fd:
fd.extractall()
Giả sử tôi đã tạo một .xz
tập tin với tar cJf thing.xz /etc/passwd
. Các kho lưu trữ sẽ chứa etc
thư mục với passwd
tập tin bên trong. Sử dụng đoạn mã trên sẽ dẫn đến etc
thư mục được tạo trong thư mục làm việc hiện tại của bạn và trong đó sẽ là passwd
tệp. Tất nhiên, điều này luôn có thể được mở rộng bằng cách chỉ định đường dẫn mà bạn muốn trích xuất bên trong extractall()
hàm.
xz-utils
nếu chưa có mặt