Проверка целостности deb-файлов в репозитории Debian

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

Функция для проверки целостности deb-файлов в репозитории Debian GNU/Linux путем сравнения контрольных сумм MD5 файла с указанной для него контрольной суммой в Packages,gz

Использование
checkrepo /path/to/my/repo/dists/testing/i386/Packages.gz

checkrepo() {
zcat "${1}" | sed -n '/Filename:/,/MD5sum:/p' | grep -v Size: 	|
sed -e 'N; s/\n/ /g' -e "s/Filename: //" -e "s/MD5sum: //g" 	|
while read file md5
	do
	if [ "$(md5sum "${1%/*}/../../../../${file}" | cut -d' ' -f1)" != "${md5}" ]
		then
		echo -e "\e[31m$(readlink -f "${1%/*}/../../../../${file}")\e[0m"
	fi
done
}