環境
bash
どうして
あるパッケージのバージョンが上がったことで、あるソフトが動かなくなりました。
依存先のアップデートへのソフトの対応にコミットすべきですが、そんな能力もなく、とりあえずパッケージのダウングレードをしてみます。
どうした
downgradeというツールがあるようなのでそれを使いました。
(2018/08/13修正)$ yaourt -S downgrade
yaourtはサポートが終了しました。
私はpakkuを利用しているのpakkuで書くと以下です。
$ pakku -S downgrade
$ downgrade <package A> <package B>
どのバージョンに戻すか選択肢が示されるので数字を指定します。
もし、依存が壊れる場合には警告してくれますので、
$ downgrade <package A> <package B> <package C>
のように追加してまとめてダウングレードすればよいようです。
トラブルシューティング
ダウングレードしようとすると以下のようなエラーが発生
$ downgrade package-name
/usr/bin/downgrade: line 124: pacsort: command not found
pacsort
がわからないようです。
原因pacmanに含まれていた一部のツールがpacman-contribに移行されたためのようです。1
解決策はpacman-contribのインストールです。
# pacman -S pacman-contrib
もっと詳しく
add <package A> to IgnorePkg? [y/n]
のように聞かれます。
これは、再びアップデートしてしまわないためにIgnorePkgにしていするかどうかを聞かれています。
yesを選択すれば、/etc/pacman.confの`IgnorePkg ='に追加されているはずです。
参考
パッケージのダウングレード
downgrade(github)