创建ROS的软件包服务器

创建ROS的软件包服务器

前提

1台有公网ip的服务器, 最好有域名

服务器配置

  1. 连接到服务器

    ssh root@域名或ip
    
  2. 创建要存放包的路径

    mkdir -p /var/ros/ubuntu
    
  3. 安装必要的软件

    sudo apt update
    sudo apt install nginx dpkg-dev gnupg
    
  4. 在自己的主机编译好ros包, 具体可以看使用自定义包进行ros的.deb文件生成

  5. 将这个包从自己的主机上传到服务器

    scp ros-noetic-xxxx-0focal_amd64.deb root@域名或ip:/var/ros/ubuntu
    
  6. 创建包索引以及公钥生成

    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
    
  7. 配置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

客户端配置

  1. 获取公钥(这里不用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
    
  2. 添加软件源

    echo "deb [signed-by=/usr/share/keyrings/my_repo.gpg] http://域名或ip/ubuntu ./" | sudo tee -a /etc/apt/sources.list
    
  3. 更新软件源并下载包

    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 [trusted=yes] http://域名或ip/ubuntu ./ 这个问题暂时没解决, 后面再说

  4. 运行ros包

    注: 第一次可能要输入完整的命令, 暂时没弄清楚是为啥

    roslaunch xxxx_xxx xxxx.launch
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/580298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战10 角色管理

目录 1、角色后端接口 2、角色列表查询 2.1 效果图 2.2页面原型代码 2.3 角色api代码 role.js 2.4 查询角色列表代码 4、 新增和编辑角色 5、删除角色 6、分配权限 6.1 分配权限思路 6.2 分配权限回显接口 6.3 分配权限回显前端实现 6.4分配权限后端接口 6.4.1 R…

重定向和转发的区别

重定向 1、定义 用户通过浏览器发送一个请求,Tomcat服务器接收这个请求,会给浏览器发送一个状态码302,并设置一个重定向的路径,浏览器如果接收到了这个302的状态码以后,就会去自动加载服务器设置的路径 一个页面跳转…

矢量(向量)数据库 Top 5

矢量数据库的前景(图片来源) 在人工智能领域,大量的数据需要有效的处理和处理。随着我们深入研究更高级的人工智能应用,如图像识别、语音搜索或推荐引擎,数据的性质变得更加复杂。这就是矢量数据库发挥作用的地方。与…

Pandas 高级教程——数据可视化

Python Pandas 高级教程:数据可视化 Pandas 提供了强大的数据可视化工具,可以帮助你更好地理解数据、发现模式和进行探索性数据分析。本篇博客将深入介绍 Pandas 中的数据可视化功能,并通过实例演示如何创建各种图表和图形。 1. 安装 Panda…

nginx-docker 搭建websocket反向代理

下载镜像 docker pull nginx复制出配置文件 将/etc/nginx/nginx.conf和/etc/nginx/conf.d/default.conf复制到本机 nginx.conf文件内容 user nginx; worker_processes auto;error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;events {worker_c…

〖运维路不弯〗kubernetes(k8s)部署metrics及hpa-example示例

本例以kubernetes v1.26.0 为例,metrics-server版本为v.06.3,拉取源为阿里云提供 metrics yaml apiVersion: v1 kind: ServiceAccount metadata:labels:k8s-app: metrics-servername: metrics-servernamespace: kube-system --- apiVersion: rbac.auth…

深入探索Spring Boot的核心功能:快速构建原生程序响应式处理数据(文末送书)

🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 写在前面参与规则 ✅参与方式:关注博主、点赞、收藏、评论,任意评论(每人最多评论…

【MYSQL】MYSQL 的学习教程(八)之 12 种慢 SQL 查询原因

日常开发中,我们经常会遇到数据库慢查询。那么导致数据慢查询都有哪些常见的原因呢?今天就跟大家聊聊导致 MySQL 慢查询的 12 个常见原因,以及对应的解决方法: SQL 没加索引SQL 索引失效limit 深分页问题单表数据量太大join 或者…

PHP对数据库的操作

连接数据库 要在PHP中连接数据库&#xff0c;你需要使用PHP内置的mysqli或PDO扩展。以下是使用mysqli扩展连接MySQL数据库的示例代码&#xff1a; <?php $servername "localhost"; $username "your_username"; $password "your_password&quo…

Python缩写词

缩写词是由一个短语中每个单词的第一个字母组成&#xff0c;均为大写。例如&#xff0c;CPU是短语“central processing unit”的缩写。 函数接口定义&#xff1a; acronym(phrase); phrase是短语参数&#xff0c;返回短语的缩写词裁判测试程序样例&#xff1a; /* 请在这里填…

【React】echarts-for-react 的使用

文章目录 echarts-for-react &#xff1a;一个简单的 Apache echarts 的 React 封装配置项手册&#xff1a;https://echarts.apache.org/zh/option.html#title 安装依赖 $ npm install --save echarts-for-react# echarts 是 echarts-for-react的对等依赖,您可以使用自己的版本…

手机无人直播:解放直播的新方式

现如今&#xff0c;随着科技的迅猛发展&#xff0c;手机已经成为我们生活中不可或缺的一部分。除了通讯、娱乐等功能外&#xff0c;手机还能够通过直播功能将我们的生活实时分享给他人。而针对传统的直播方式&#xff0c;使用手机进行无人直播成为了一种全新的选择。 手机无人…

springboot中使用阿里云oss

一、什么是OSS&#xff1f; 「OSS」的英文全称是Object Storage Service&#xff0c;翻译成中文就是「对象存储服务」&#xff0c;官方一点解释就是对象存储是一种使用HTTP API存储和检索非结构化数据和元数据对象的工具。 白话文解释就是将系统所要用的文件上传到云硬盘上&a…

pycharm2023.2激活和新建项目,python3.12安装永久换源

pycharm安装 安装版本选择链接 激活参考链接 python安装 Windows下载指定python链接 选择相应版本的64位即可。 安装可以自己选择安装位置&#xff0c;记得勾选&#xff0c;add path即可。其余下一步默认即可。 windows临时换源 pip install 模块包名字 -i https://pypi.…

2023年入职/转行网络安全,该如何规划?

前言 前段时间&#xff0c;知名机构麦可思研究院发布了 《2022年中国本科生就业报告》&#xff0c;其中详细列出近五年的本科绿牌专业&#xff0c;其中&#xff0c;信息安全位列第一。 网络安全前景 对于网络安全的发展与就业前景&#xff0c;想必无需我多言&#xff0c;作为…

网站服务器被入侵,如何排查,该如何预防入侵呢?

在我们日常使用服务器的过程中&#xff0c;当公司的网站服务器被黑客入侵时&#xff0c;导致整个网站以及业务系统瘫痪&#xff0c;将会给企业带来无法估量的损失。作为服务器的维护人员应当在第一时间做好安全响应&#xff0c;对入侵问题做到及时处理&#xff0c;以最快的时间…

client-go使用方法

client-go代码在集群内部使用 创建目录并初始化项目 #创建目录 mkdir client-go-examples cd client-go-examples #初始化项目 go mod init incluster mkdir incluster cd incluster #创建文件 touch main.gomain.go内容 //client-go链接apiSeriver //获取依赖 //go get k8s.…

Transfer Learning(迁移学习)

1. 什么是迁移学习 迁移学习(Transfer Learning)是一种机器学习方法&#xff0c;就是把为任务 A 开发的模型作为初始点&#xff0c;重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务&#xff0c;虽然大多数机器学习算法都…

如何使用ArcGIS Pro将Excel表转换为SHP文件

有的时候我们得到的数据是一张张的Excel表格&#xff0c;如果想要在ArcGIS Pro中进行分析或者制图则需要先转换为SHP格式&#xff0c;这里为大家介绍一下转换方法&#xff0c;希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的POI数据&#xff0c;除了P…

发布版本自动化记录版本功能方法

# 安装commitizennpm install --save-dev commitizen# 初始化Conventional Commits规范适配器npx commitizen init cz-conventional-changelog --save-dev --save-exact最后一步&#xff0c;需要在package.json中添加一个script"scripts": {..., // 此处省略其它配置…