你说的“批量 Debian extract”通常是指批量解包/提取 Debian 软件包(.deb 文件)里的内容。下面给你几种常见、可批量操作的方法。
dpkg-deb(最常用).deb 本质是 ar 归档,可用 dpkg-deb 解包。
dpkg-deb -x package.deb ./out_dir
mkdir -p extracted
for deb in *.deb; do
dpkg-deb -x "$deb" "extracted/${deb%.deb}"
done
ar + tar(无 dpkg 环境也可)for deb in *.deb; do
mkdir -p "extracted/${deb%.deb}"
ar x "$deb" --output "extracted/${deb%.deb}"
cd "extracted/${deb%.deb}"
tar -xf control.tar.*
tar -xf data.tar.*
cd ../..
done
dpkg-deb --fsys-tarfile package.deb | tar -x
批量:
for deb in *.deb; do
mkdir -p "files/${deb%.deb}"
dpkg-deb --fsys-tarfile "$deb" | tar -x -C "files/${deb%.deb}"
done
dpkg-deb -c package.deb
批量列出:
for deb in *.deb; do
echo "=== $deb ==="
dpkg-deb -c "$deb"
done
apt-get download nginx
dpkg-deb -x nginx_*.deb ./nginx_extracted
apt-get download pkg1 pkg2 pkg3
for deb in *.deb; do
dpkg-deb -x "$deb" "./${deb%.deb}"
done
如果你能说明:
我可以给你更精准的脚本。