百度蜘蛛网站,个人如何注册商标,电子商务网站开发课程设计论文,亚马逊网站建设目的创建ROS的软件包服务器
前提
1台有公网ip的服务器, 最好有域名
服务器配置 连接到服务器 ssh root域名或ip创建要存放包的路径 mkdir -p /var/ros/ubuntu安装必要的软件 sudo apt update
sudo apt install nginx dpkg-dev gnupg在自己的主机编译好ros包, 具体可以看使用自定…创建ROS的软件包服务器
前提
1台有公网ip的服务器, 最好有域名
服务器配置 连接到服务器 ssh root域名或ip创建要存放包的路径 mkdir -p /var/ros/ubuntu安装必要的软件 sudo apt update
sudo apt install nginx dpkg-dev gnupg在自己的主机编译好ros包, 具体可以看使用自定义包进行ros的.deb文件生成 将这个包从自己的主机上传到服务器 scp ros-noetic-xxxx-0focal_amd64.deb root域名或ip:/var/ros/ubuntu创建包索引以及公钥生成 ssh root域名或ip
# 创建公钥
gpg --full-generate-key
gpg --output ~/my_repo.gpg --armor --export Your Name
# 将公钥移动到/var/ros目录
mv ~/mr_repo.gpg /var/ros# 创建包索引(该目录下存在deb包时再执行该命令)
cd /var/ros/ubuntu
dpkg-scanpackages . /dev/null | gzip -9c Packages.gz
# gpg签名
gpg --default-key Your Name -abs -o - Packages.gz Packages.gz.gpg配置nginx服务器 ssh root域名或ip
sudo vim /etc/nginx/sites-available/修改成这个样子就差不多了 server {listen 80 default_server;listen [::]:80 default_server;# 这里是根目录的配置# 也就是 http://ip或域名/ 直接访问到的目录# 如果要去二进制目录下 http://ip或域名/ubunturoot /var/ros;index index.html index.htm index.nginx-debian.html;server_name _;location /ubuntu {autoindex on;try_files $uri $uri/ 404;}location / {try_files $uri $uri/ 404;}
}重启nginx服务 sudo systemctl restart nginx
客户端配置 获取公钥(这里不用apt-key add的原因是从 Ubuntu 20.04 LTS 开始apt-key 命令已被弃用。) curl -fsSL http://your-server/my_repo.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/my-repo-key.gpg /dev/null添加软件源 echo deb [signed-by/usr/share/keyrings/my_repo.gpg] http://域名或ip/ubuntu ./ | sudo tee -a /etc/apt/sources.list更新软件源并下载包 sudo apt update
sudo apt install ros-noetic-xxxx-0focal_amd64.deb如果无法更新, 显示 Err:2 http://ip或域名/ubuntu ./ Release 404 Not Found [IP: ip或域名]如果确定该服务器安全, 可以直接将/etc/apt/sourcelist.txt里面的deb [signed-by/usr/share/keyrings/my_repo.gpg] http://域名或ip/ubuntu ./修改为 deb [trustedyes] http://域名或ip/ubuntu ./ 这个问题暂时没解决, 后面再说 运行ros包 注: 第一次可能要输入完整的命令, 暂时没弄清楚是为啥 roslaunch xxxx_xxx xxxx.launch