前回作ったリポジトリの使い方を書こうと思う。
リポジトリを利用しようと思う CentOS7 にログインする。例えば, VPS とか,開発用の VM とか。
sudo yum install yum-plugin-priorities
yum repolist
sudo vi /etc/yum.repos.d/myrepo.repo
priority=2
‘ を追記する。wget http://www17130ue.sakura.ne.jp/~myrepo/x86_64/RPM-GPG-KEY-o6asan
sudo mv RPM-GPG-KEY-o6asan /etc/pki/rpm-gpg/
準備完了。自前リポジトリの 1 回目の使用時に, CentOS7 が RPM-GPG-KEY-o6asan をインポートしていいか聞いてくるので, ‘y’ を入力する。
注) クライアント PC から公開鍵を削除する方法。
クライアント PC には秘密鍵はないので, ‘gpg --delete-key <email@address>’ をやっても, ‘Unknown system error’ が戻ってくるだけで,削除はしてくれなかった。下記を使うとうまくいった。
$ sudo rpm -e [package]
当然ながら,正確なパッケージ名がいるが,それは下記で調べることができる。
$ rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}n'
例えば, CentOS-7 Key については,下記が戻ってくる。
gpg-pubkey-f4a80eb5-53a7ff4b –> gpg(CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>)
なので,
$ sudo rpm -e gpg-pubkey-f4a80eb5-53a7ff4b
とやると,削除することができる。
追記:
あとで気付いたが, Apache の rpm を作ったときの記述だと,秘密鍵なしの状況でも gpg --delete-key RSA鍵ID で公開鍵を消せたと書いてある。今回はできなかったんだが,なんでだろ。バグだったりして。
This website uses cookies.
View Comments
おはようございます。
御自分用のリポジトリをおつくりになったんです。
でもあんまり登録しちゃうと管理が大変ですからねー。
ご注意ください。
俺は上書きされちゃうといやなんでnginxはとめちゃいました。
くりくりさん,こんばんは。
> 御自分用のリポジトリをおつくりになったんです。
はい,そうなんです。 PHP をビルドし直して,インストールしたら,結構依存関係がうざくて yum に慣らされてるなと(笑)。で, yum を使ってやろうと,リポジトリづくりに取り組みましたら,結構なハードル越えになってしまいました。
今回の VPS については続けて使う気はないのですが,先々, CentOS でサーバをたてて,自前リポジトリを使うときに,そこそこ,自動化した状態で使いたいなと思い,ちょっと勉強をということで GPG キーやら yum-plugin-priorities のインストールやらになりました。
> でもあんまり登録しちゃうと管理が大変ですからねー。
Windows と違ってそれほど新バージョンを追いかける気がないので,今のところは, --enable-fpm オプションの PHP と Filezilla だけです。増える可能性はありますが……
標準の Base, Updates, Extras のデフォルトのプライオリティはどこで設定されているのかわからなかったのですが,結構高いようで, yum-plugin-priorities を使って明示的に下げてやらないと,自前リポジトリの PHP は自動ではインストールされませんでした。プライオリティをきっちり設定しておけば,使ってほしくないリポジトリの rpm で上書きされることはないのではないですか。
自前リポジトリを priority=1 ,標準の Base, Updates, Extras を priority=2 とした場合,問題になるのは,脆弱性でパッチが出た場合に気づかないかもしれないことです。これは, CentOS-announce などに注意しておくしかないですかね。