結論: dpkg -i コマンドに循環依存(依存関係のループ)のあるdebパッケージをまとめて指定すればよい。
状況
検証などの目的で、Ubuntu環境に古いバージョンのカーネルをインストールすることがある。
この場合。Launchpadのビルド結果ページなどからdebパッケージをダウンロードしてきて、手動でインストールする方法がある。
この際、 linux-image-unsigned パッケージは同じバージョンの linux-modules パッケージに、 linux-modules パッケージは同じバージョンの linux-image か linux-image-unsigned パッケージに依存している。
したがって、 dpkg -i コマンドで1つづつインストールしようとすると、互いにもう片方が未インストールであるため、インストールに失敗する。
dpkg -i のマニュアルで見る、複数指定の存在
ここで、 man dpkg で、dpkgコマンドのマニュアルを見てみる。
ACTIONS
-i, --install package-file...
Install the package. If --recursive or -R option is specified, package-file must refer to a directory instead.
上記で package-file... となっていることから、 dpkg -i には複数のdebパッケージを指定して、一括でインストールすることができそうであることが分かる。
実際に、 dpkg -i に linux-image-unsigned と linux-modules のパッケージを両方指定することで、正常にまとめてインストールされる。