在ubuntu16.04中安装curl及遇到的问题

当Ubuntu服务器无法连接外网时,可以通过手动下载curl安装包进行安装。首先从curl官网下载与libcurl版本匹配的安装包,然后解压,进入目录执行配置、制作及安装命令。在安装过程中可能遇到权限问题,需使用sudo。如果curl与libcurl版本不匹配,会导致功能受影响,需重新下载匹配版本并重新安装。最后通过curl -V检查是否安装成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在ubuntu上安装curl本来一条命令就可以完成的

sudo apt install curl

由于服务器不能连接外网,于是下载了curl的安装包在服务器上手动安装。
1下载安装包
curl安装包网站下载地址(下载和libcurl版本一致的安装包,原因:可以先看看第五步):

https://curl.haxx.se/download/

或者在终端下直接使用以下命令下载相应版本的安装包:

wget https://curl.haxx.se/download/curl-7.71.1.tar.gz

2 解压安装包

tar -xzvf curl-7.71.1.tar.gz

3 安装

cd curl-7.71.1
./configure
sudo make
sudo make install

注意:关于sudo make 和sudo make install这两条命令,我参考网上的一些资料是没有前面的sudo的,但是我在运行的时候会报以下的错误:
(因为权限不够,所以会出现该错误,因此在输入命令的时候最好加上sudo)

gaomen@server2:~/下载/curl-7.71.1$ make install
Making install in lib
make[1]: Entering directory '/home/gaomen/下载/curl-7.71.1/lib'
make[2]: Entering directory '/home/gaomen/下载/curl-7.71.1/lib'
 /bin/mkdir -p '/usr/local/lib'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   libcurl.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libcurl.so.4.6.0 /usr/local/lib/libcurl.so.4.6.0
/usr/bin/install: cannot create regular file '/usr/local/lib/libcurl.so.4.6.0': Permission denied
Makefile:1118: recipe for target 'install-libLTLIBRARIES' failed
make[2]: *** [install-libLTLIBRARIES] Error 1
make[2]: Leaving directory '/home/gaomen/下载/curl-7.71.1/lib'
Makefile:3811: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/home/gaomen/下载/curl-7.71.1/lib'
Makefile:985: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 

4查看是否安装成功

curl -V

5重新安装(如果第四步没有出现警告的错误,这一步就可以忽略)

查看的时候出现了以下警告,curl和libcurl的版本不匹配(这里也就是第一步提到的,在下载curl安装包的时候要下载对应版本的安装包)

gaomen@server2:~/下载/curl-7.71.1$ cd\
gaomen@server2:~$ curl -V
curl 7.71.1 (x86_64-pc-linux-gnu) libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Release-Date: 2020-07-01
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS GSS-API IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB SPNEGO SSL TLS-SRP UnixSockets
**WARNING: curl and libcurl versions do not match. Functionality may be affected.
curl: symbol lookup error: curl: undefined symbol: curl_mime_free**

关于如何让查看libcurl的版本,我也没有查到,只能先安装一个curl之后查看是否安装成功的时候查看是否会报错
由于我这里libcurl是7.47.0的版本,因此去官网下载了对应版本的curl

curl 7.71.1 (x86_64-pc-linux-gnu) libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3

重新下载安装包,再重复安装步骤
最后查看是否安装成功:

curl -V

出现以下信息:

gaomen@server2:~/curl-7.47.0$ cd
gaomen@server2:~$ curl -V
curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets 

到这里就安装成功,并且可以使用啦!

### 安装 ROS 的准备工作 在 Ubuntu 16.04安装 ROS Kinetic 需要先确认系统的配置以及网络环境。可以通过调整软件源来优化下载速度并解决可能遇到的 `sudo rosdep init` 初始化问题[^5]。 --- ### 设置 ROS 软件源 为了能够顺利安装 ROS,需将 ROS 的官方仓库添加到系统中: ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' ``` 随后导入 ROS 的 GPG 密钥以验证包的真实性: ```bash sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 ``` 完成上述操作后,刷新本地 APT 缓存以便获取最新的可用包列表: ```bash sudo apt update ``` --- ### 安装 ROS Kinetic Desktop Full 版本 对于大多数开发者而言,推荐安装包含所有桌面功能的完整版 ROS Kinetic: ```bash sudo apt install ros-kinetic-desktop-full ``` 此命令会自动拉取必要的依赖项,并完成 ROS 基础框架及其工具集的部署[^3]。 如果希望简化安装流程,可以利用脚本来实现自动化处理。例如通过以下方式快速执行安装过程[^4]: ```bash sudo apt-get install curl curl https://raw.githubusercontent.com/oroca/oroca-ros-pkg/master/ros_install.sh | bash -s cws_oroca kinetic ``` --- ### 配置环境变量 成功安装之后,需要修改 shell 配置文件使 ROS 变量生效。编辑 `.bashrc` 文件并将路径指向 ROS 默认目录: ```bash echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 这一步骤确保每次打开终端时都能加载正确的 ROS 环境设置。 --- ### 初始化 rosdep 工具 ROS 使用 `rosdep` 来解析和管理项目所需的外部依赖关系。首次运行前必须对其进行初始化及更新操作: ```bash sudo rosdep init rosdep update ``` 当遇到无法连接至默认镜像库的情况时,可尝试更换国内镜像站点作为替代方案[^1]。 --- ### 测试安装成果 最后可通过启动示例节点检验整个环境是否搭建完毕: ```bash roslaunch turtle_teleop keyboard_teleop.launch ``` 正常情况下应该可以看到 turtlesim 模拟窗口弹出,证明 ROS 功能模块已正确集成。 --- #### 注意事项 由于不同地区的网络状况差异较大,在实际操作过程中可能会碰到各种异常现象。建议提前查阅相关文档或者社区讨论帖寻找解决方案。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值