Скрипт перепаковки .deb
DjinN#!/bin/bash
#
# Перепаковать пакет без зависимостей
# $1 - путь к пакету
#
if [[ -z "$1" ]]; then
echo "usage: repack <path-to-deb>"
exit 1
fi
TEMP_PATH=/tmp
DEB_PATH="$1"
# Имя каталога для распаковки
deb_name="$(basename $DEB_PATH)"
deb_path="$(dirname $DEB_PATH)"
deb_name_without_ext="${deb_name%%.*}"
# Создать каталог для распаковки
if [[ -d "$dir_to_unpack" ]]; then
rm -rf "$dir_to_unpack"/*
else
mkdir -p "$dir_to_unpack"
fi
# Распаковать пакет
dpkg -x "$DEB_PATH" "$dir_to_unpack"
dpkg -e "$DEB_PATH" "$dir_to_unpack/DEBIAN"
# Удалить все зависимости
sed -i 's/Depends:.*/Depends:/g' "$dir_to_unpack/DEBIAN/control"
# Создать новый архив
deb_repacked_path="$deb_path/$deb_name_without_ext-new.deb"
dpkg -b "$dir_to_unpack" "$deb_repacked_path"