Создание репозитория YAST

Созданию репозиторий YAST (диск + дополнительные пакеты с официального репозитория). Прочитал статью Creating YaST installation sources, создал структуру каталогов, выполнил create_package_descr, создал content, все ставиться но есть один нюанс, при установке выдает

File 'content' from repository 'oss-diff' is unsigned, continue? [yes/no]

говоришь yes и все ставится
создал пару ключей gpg --gen-key, создал подпись gpg --clearsign content и получил content.asc

File 'content' from repository 'oss-diff' is signed with an unknown key '775068555AB74E72'. Continue? [yes/no]

говоришь yes и все ставится
также пробывал импортировать ключи идущие на диске
gpg-pubkey-0dfb3188-41ed929b.asc
gpg-pubkey-307e3d54-4be01a65.asc
gpg-pubkey-3d25d3d9-36e12d04.asc
gpg-pubkey-3dbdc284-4be1884d.asc
gpg-pubkey-56b4177a-4be18cab.asc
gpg-pubkey-7e2e3b05-4be037ca.asc
gpg-pubkey-9c800aca-4be01999.asc
gpg-pubkey-a1912208-446a0899.asc
но ошибка таже
И я так себе понял что подпись файла content осуществляется секретным ключом который я сгенерировал а не открытым, да и еще на диске есть файл content.key который есть gpg ключом (может им как то надо подписывать)
Подскажите пожалуйста как правильно подписать файл content чтобы не было ругани, ибо потребуется установка по сети
и получаем

Then I see loading: ftp://download/opensuse113/myoss/content --> /content
sha1 sha-key
sha1  not checked.

next loading  --> /content.asc
sha  sha-key
sha1 not checked

and then ftp://download/opensuse113/myoss/content: signature check failed

Заранее благодарен за помощь.

подпись файла content осуществляется секретным ключом который я сгенерировал а не открытым
Нет. Подпись осуществляется открытым ключом.

Потом надо ключ импортировать

rpm --import PUBKEY

Хорошо.
Если ключи не генерировать а просто импортировать (ключи с диска) то при gpg --clearsign content выдает

gpg: no default secret key: No secret key
gpg: content: clearsign failed: No secret key

Если сгенерировать пару ключей а ключи с диска импортировать, то подпись все ровно осуществляется сгенерированым ключом
Скажите пожалуйста какой порядок действий правильный, а то я много чего делаю а результата 0.

Я точно не знаю, только предполагаю.
Ключ нужно сгенерировать. И этим ключом подписать.

Когда вы генерируете ключ, он появляется в вашей связке ключей?

Да он появляется в связке ключей
Может задачу стоит поставить так: можно ли подписать файл открытым ключом, а точнее content.key.
ибо я уже не знаю куда копать, кажись перебрал все возможные варианты

Я там прочитал, что надо ещё сам ключ выложить, content.key.
Собственно, оно видно.
Index of /factory/repo/non-oss

А при подписи надо указать ID этого ключа.

gpg -u XXXXXXX --clearsign content

Долгое курение man дало свои плоды. Подписывать файлы можно только секретными ключами. Если создать свою пару ключей, экспортировать открытый ключ в content.key, подписать content, и перед установкой пакетов сделать rpm --import content.key (мой публичный ключ) то больше вопросов не возникает.
Но как сделать установку, тут или получить доступ к секретному ключу (что нереально) или как то разковыривать initrd (хотя это теория)?!?!?!

Подписывать файлы можно только секретными ключами.
Да. Тут я перепутал понятия.

Я так понимаю, что ключ должен импортироваться автоматически с запросом на доверие.

Ура товарищи!
С установкой решено. Значит так:
переделываем репозиторий, импортируем свой открытый ключ в content.key, закрытым подписываем content, дальше распаковываем initrd, а там есть installkey.gpg, заганяем в него свой открытый ключ и запаковываем все обратно, ну понятно все на свои места и о ЧУДО:):):slight_smile:

Много искал на эту тему в интернете, но так и не нашел нормального объяснения…
Я создал ftp в локальной сети, но не могу его добавить в список репозиториев в yast’е.
Какие надо выполнить действия, чтобы это стало возможным? Желательно по подробней))

Посмотрите статью SDB:Создание источников установки YaST — openSUSE
И ещё есть программа createrepo. Возможно, поможет.