apt でどうやっても 「unbale to locate package」だった話


環境

Windows10
WSL2
Ubuntu 18.04 LTS

経緯

WSL2上にROS melodicの環境を作っていたとき

まずは基本通り以下を実行した

ros_install.sh
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop-full

とそのとき、、

突然のBSODで強制終了、再起動!

仕方ないので、もう一度上のスクリプトを実行すると

E: Unable to locate package ros-melodic-desktop-full

パッケージが無いと言われてしまう

試したこと

とりあえずlistに正しく追加されているか確認

$ cat /etc/apt/sources.list.d/ros-latest.list
deb http://packages.ros.org/ros/ubuntu bionic main

特に問題なし
keyserverの方も確認したが、問題なくexecuteされている

次にaptの更新の再チェック

$ sudo apt update
$ sudo apt upgrade

特に問題もなく、logにも

Hit:3 http://packages.ros.org/ros/ubuntu bionic InRelease

とある

バージョンも合っているので、他の問題もなさそう、、、

解決策

もしかしてrepositoryを上手く認識出来ていないのでは?と思い、一旦listから消してupdateを行った

$ sudo vim /etc/apt/sources.list.d/ros-latest.list
->書いてあるものを消す

$ sudo apt update
$ sudo apt upgrade

そしてもう一度環境を立ち上げ、最初のスクリプトを実行すると、、、インストール開始!

あとがき

aptでのunable to locate packageでのエラーは調べてもほとんどがupdate忘れが原因で、次点でlist追加忘れやその鍵なし、バージョンの不一致など

その他の理由でのエラーは見当たらず、多くの時間を溶かしてしまいました
どうしてもaptでのエラーの原因が分からない誰かの参考になると嬉しいです

突然の再起動の恐ろしさを感じたので、皆さんはこまめにPCを修理しましょう