Проверка цифровой подписи или импорт ключей для rpm

PCLinuxOS

Модератор: Bizdelnick

Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Проверка цифровой подписи или импорт ключей для rpm

Сообщение DjSpike »

Интернет у нас не всегда доступный, поэтому обновления приходится устанавливать в ручную. Но при таком раскладе постоянно выскакивает окно о том что пакет подписан неизвестным ключем. Скачал отсюда ключи http://mirror.yandex.ru/mandriva/official/...dia/media_info/ попробовал выполнить rpm --import pubkey_contrib , выдает ошибку импортирования.... Как можно еще импортировать ключи ???
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
Аватара пользователя
akdengi
Сообщения: 4244

Re: Проверка цифровой подписи или импорт ключей для rpm

Сообщение akdengi »

Вот три скриптика, которые кидается в /var/cache/urpmi/rpms/:

1. Создает структуру папок для обновления Create.sh 2010 i586 (архитектура и версия ваши)
2. Сортирует пакеты Sort.sh 2010 i586
3. Подключает репозитории Add_repo.sh

Применим не только для обновлений, но и для установки пакетов в сетке, скачанных из сети и т.п. Главно не забыть добавить в /etc/urpmi/urpmi.cfg в начало:

{
post-clean: 0
pre-clean: 0
}


Create.sh

Код: Выделить всё

#!/bin/sh
# Создаем структуру папок

mkdir -p edu_backports/media_info
mkdir -p edu_contrib/media_info
mkdir -p edumandriva/media_info
#mkdir -p edumandriva_nonfree/media_info
mkdir -p edu_main/media_info
mkdir -p edu_main_updates/media_info
mkdir -p edu_nonfree/media_info
mkdir -p edu_nonfree_updates/media_info
mkdir -p edu_plf/media_info

wget ftp://ftp.mandriva.ru/mandriva/official/$1/$2/media/main/release/media_info/pubkey -O edu_main/media_info/pubkey;
wget ftp://ftp.mandriva.ru/mandriva/official/$1/$2/media/main/updates/media_info/pubkey -O edu_main_updates/media_info/pubkey
wget ftp://ftp.mandriva.ru/mandriva/official/$1/$2/media/main/backports/media_info/pubkey -O edu_backports/media_info/pubkey

wget ftp://ftp.mandriva.ru/mandriva/official/$1/$2/media/contrib/release/media_info/pubkey -O edu_contrib/media_info/pubkey
wget ftp://ftp.mandriva.ru/mandriva/official/$1/$2/media/non-free/release/media_info/pubkey -O edu_nonfree/media_info/pubkey
wget ftp://ftp.mandriva.ru/mandriva/official/$1/$2/media/non-free/updates/media_info/pubkey -O edu_nonfree_updates/media_info/pubkey

wget ftp://ftp.mandriva.ru/plf/$1/free/release/binary/$2/media_info/pubkey -O edu_plf/media_info/pubkey
wget ftp://ftp.linuxcenter.ru/pub/Mandriva/EduMandriva/educontrib/$1/$2/free/release/media_info/pubkey -O edumandriva/media_info/pubkey
#wget ftp://ftp.linuxcenter.ru/pub/Mandriva/EduMandriva/educontrib/$1/$2/non-free/release/media_info/pubkey -O edumandriva_nonfree/media_info/pubkey


Sort.sh

Код: Выделить всё

#!/bin/sh
echo 'Сортируем Edumandriva'
for a in *.rpm; do
  (urpmf -m --filename $a | grep 'edumandriva')&&mv $a ./edumandriva
done

echo 'Сортируем Main Updates'
for a in *.rpm; do
  printf '*'
  (urpmf -m --filename ${a%.$2.rpm} | grep 'Main Updates')&&mv $a ./edu_main_updates
done

echo 'Сортируем Main Backports'
for a in *.rpm; do
  printf '*'
  (urpmf -m --filename ${a%.$2.rpm} | grep 'Main Backports')&&mv $a ./edu_backports
done

echo 'Сортируем Main'
for a in *.rpm; do
  printf '*'
  (urpmf -m --filename ${a%.$2.rpm} | grep 'Main')&&mv $a ./edu_main
done

# Раскомментируем для x86_64
#echo 'Сортируем Main Updates'
#for a in *.rpm; do
#  printf '*'
#  (urpmf -m --filename ${a%.$2.rpm} | grep 'Main32 Updates')&&mv $a ./edu_main_updates
#done

#echo 'Сортируем Main Backports'
#for a in *.rpm; do
#  printf '*'
#  (urpmf -m --filename ${a%.$2.rpm} | grep 'Main32 Backports')&&mv $a ./edu_backports
#done

#echo 'Сортируем Main'
#for a in *.rpm; do
#  printf '*'
#  (urpmf -m --filename ${a%.$2.rpm} | grep 'Main32')&&mv $a ./edu_main
#done

echo 'Сортируем Contrib Updates'
for a in *.rpm; do
  printf '*'
  (urpmf -m --filename ${a%.$2.rpm} | grep 'Contrib Updates')&&mv $a ./edu_backports
done

echo 'Сортируем Contrib Backports'
for a in *.rpm; do
  printf '*'
  (urpmf -m --filename ${a%.$2.rpm} | grep 'Contrib Backports')&&mv $a ./edu_backports
done

echo 'Сортируем Contrib'
for a in *.rpm; do
  printf '*'
  (urpmf -m --filename ${a%.$2.rpm} | grep 'Contrib')&&mv $a ./edu_contrib
done

echo 'Сортируем Non-Free Updates'
for a in *.rpm; do
  printf '*'
  (urpmf -m --filename ${a%.$2.rpm} | grep 'Non-free Updates')&&mv $a ./edu_nonfree_updates
done

echo 'Сортируем Non-Free'
for a in *.rpm; do
  printf '*'
  (urpmf -m --filename ${a%.$2.rpm} | grep 'Non-free')&&mv $a ./edu_nonfree
done

echo 'Сортируем PLF'
for a in *.rpm; do
  printf '*'
  (urpmf -m --filename ${a%.$2.rpm} | grep 'PLF')&&mv $a ./edu_plf
done

for a in edu*;do
 genhdlist2 $a


Add_repo.sh

Код: Выделить всё

#!/bin/sh
#удаляем старые контрибы
for a in edu*;do
  if [ -f "$a/media_info/hdlist.cz" ];then
  /usr/sbin/urpmi.removemedia $a
  fi
done

#добавляем репы
for a in edu*;do
  if [ -f "$a/media_info/hdlist.cz" ];then
  /usr/sbin/urpmi.addmedia --update $a file:/`pwd`/$a with media_info/hdlist.cz
  fi


Два последних скрипта можно добавить в cron
Меня тут снова нет :P
Спасибо сказали: