Resolve the rosdep update error raw. When installing ROS githubusercontent. com

Posted by derezzz on Thu, 10 Feb 2022 01:22:35 +0100

Don't talk much and get to the point

Written on May 14, 2021, at least this method is effective for now.

I'm Ubuntu 16 04 system, the main reference for installing ROS is the following blog:
https://www.cnblogs.com/longronglang/p/11386522.html
The following question flow is all based on this blog! Thank you. But there was a problem with initialization (sudo rosdep init, rosdep update). I didn't understand it all night and finally succeeded. Here is also a reference to the methods of many bloggers. They can change IP, DNS, Huayuan and aliyuan.

raw.githubusercontent.com is an annoying website. It has been blocked but not completely blocked. I hope all the partners who install ROS can pass this level. Be kind to the ubuntu workers around you, because everyone who configures the environment has a glass heart!

Problem 1: lack of signature

The following signature could not be verified: NO_PUBKEY F42ED6FBAB17C654

#Open the terminal on the desktop and enter:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

Question 2: initialize the first sentence

Execute the first sentence of initialization: sudo rosdep init. Before that, modify the IP address

#Open the terminal on the desktop and enter:
sudo gedit /etc/hostsF42ED6FBAB17C654
#Add the following statement at the end, save and exit:
185.199.111.133 raw.githubusercontent.com
#Use one IP at a time, It is recommended to directly query the IP address (it will change):
185.199.111.133 raw.githubusercontent.com
185.199.108.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
199.232.28.133 raw.githubusercontent.com
151.101.76.133 raw.githubusercontent.com

Initialize. After the first sentence of initialization runs, you will be prompted to enter rosdep update.
This is the beginning of the abyss, because you may never hit raw githubusercontent. com! Of course, if you hit arrive, you won't come to this blog.

Question 3: rosdep update

Perform the following steps in sequence
(1) Reference blog: https://blog.csdn.net/super_sean/article/details/105433250#commentBox
Copy the rosdistro folder to / etc/ros. See this blog for the specific download address.
Because these files are difficult to hit download directly!

#The desktop is rosdistro Unzip the zip file into the rosdistro folder, open the terminal and enter:
sudo cp -r /home/jason/desktop/rosdistro /etc/ros
#Remember to modify / xx/xx/rosdistro to your own folder path

(2) Still refer to this blog:
Modify 20 default list(/etc/ros/rosdep/sources.list.d/20-default.list)
Modify as follows (directly copy and paste the following to overwrite the original 20-default.list):

# os-specific listings first
#yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
yaml file:///etc/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx

# generic
#yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
#yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
#yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
#gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte

yaml file:///etc/ros/rosdistro/master/rosdep/base.yaml
yaml file:///etc/ros/rosdistro/master/rosdep/python.yaml
yaml file:///etc/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro file:///etc/ros/rosdistro/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

(3) Still refer to this blog:

#Desktop open terminal input:
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
#Modify default_ INDEX_ The URL is as follows:
DEFAULT_INDEX_URL = 'file:///etc/ros/rosdistro/master/index-v4.yaml'

(4) Reference blog: https://blog.csdn.net/qq_38491310/article/details/86494635#commentBox

#Desktop open terminal input:
sudo gedit /etc/systemd/resolved.conf
#delete DNS ahead#, and write:
DNS=8.8.8.8
#Possible other DNS: 8.8.4.4; 114.114.114.114

(5) Reference blog:
https://www.guyuehome.com/33258
Modify / usr / lib / python2 7 sources in the / dist packages / rosdep2 directory_ list. py,gbpdistro_support.py,rep3. Time limit of PY

#Go to / usr / lib / python2 7 / dist packages / rosdep2, open the terminal and input:
sudo gedit sources_list.py
sudo gedit gbpdistro_support.py
sudo gedit rep3.py
#Modify DOWNLOAD_TIMEOUT time constant:
Modify all: DOWNLOAD_TIMEOUT = 15.0 by DOWNLOAD_TIMEOUT = 1200

(6) Modify the software source to aliyun, which will not be repeated in the software update.

Perform the last step, open the terminal on the desktop and enter: rosdep update
It may need to be repeated several times until there is no error. It will succeed!

reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit file:///etc/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit file:///etc/ros/rosdistro/master/rosdep/base.yaml
Hit file:///etc/ros/rosdistro/master/rosdep/python.yaml
Hit file:///etc/ros/rosdistro/master/rosdep/ruby.yaml
Hit file:///etc/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index file:///etc/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Add distro "dashing"
Add distro "eloquent"
Add distro "foxy"
Skip end-of-life distro "groovy"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Add distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
Add distro "noetic"
updated cache in /home/jason/.ros/rosdep/sources.cache

I hope you can see the little turtle as soon as possible! come on.