华为云aarch64架构 curl命令错误 解决方法

忘了什么时候发现有问题的

这个问题一致存在,解决了好几次都没有解决。最近,实在忍不住了,作为网安人,居然连个命令都用不了,所以面子硬逼着自己解决。

网上博客

网上博客有很多,但是我都试过,对我没有什么用。但是有个思路就是curl版本与libcurl版本如果不对应就会报这个错误。所以我是按照这个思路出发的。

查看自己安装的curl

locate curl  //定位自己的含有curl目录的文件夹
whereis curl  //定位当前curl命令是从何处产生的
//我的curl 产生来源
curl: /usr/local/bin/curl /usr/include/curl(c库)
//所以我是bin下的bash产生

删除curl,并安装curl,查看curl版本

apt remove curl  
apt install curl
curl -V
//curl 7.62.0 (aarch64-unknown-linux-gnu) libcurl/7.58.0 **省略后面的内容

可以看见我的curl 和curl版本不一致。但是我安装的是7.58.0啊????不懂
在这里插入图片描述

尝试安装7.58.0

1.手动安装github下7.58.0的安装包 结果 华为云有些库没有???

buildconf: libtoolize not found.
  You need GNU libtoolize 1.4.2 or newer installed.
  
root@louis:/home/curl-7.58.0# apt install libtoolize
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libtoolize

2.自动安装嘛,也不行


root@louis:~# apt install curl-7.58.0

Reading package lists... Done
Building dependency tree
Reading state information... Done

E: Unable to locate package curl-7.58.0

E: Couldn't find any package by glob 'curl-7.58.0'
E: Couldn't find any package by regex 'curl-7.58.0'
root@louis:~# apt install curl-7.58.
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package curl-7.58.
E: Couldn't find any package by glob 'curl-7.58.'
E: Couldn't find any package by regex 'curl-7.58.'

root@louis:~# apt install curl-7

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package curl-7

思考:linux执行curl命令调用的curl文件夹路径

我想着能不能改一下路径 让它不调用7.68的版本,结果水平不够,搜索了半天不知道怎么改。
那我就把现在的执行路径删除。`

之前 whereis curl 命令显示了一个目录,那我删除它。看看会这么样??
curl: /usr/local/bin/curl

进入/usr/local/bin 发现有两个与curl有关的文件夹 删掉他们

rm -rf curl
rm -rf curl-config//记不清楚是不是这个了

然后执行,报错没有这个目录,说明linux的bash是调用的这个目录。

curl -V
root@louis:/usr/local/bin# curl -V
-bash: /usr/local/bin/curl: No such file or directory

下一步怎么办??怎么添加文件夹呢

下意识百度?

出现这个错误-bash: 路径xx: No such file or directory除了cd能用外,所有linux命令都不能用,一般导致问题原因是etc/profile配置文件出错导致

一、解决方法:
打开终端输入以下命令让所有命令启作用

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

下面简单介绍这几个目录命令作用,原文链接这里

/bin

是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。

/sbin

一般是指超级用户指令。主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。

/usr/bin

是你在后期安装的一些软件的运行脚本。主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等

/usr/sbin

放置一些用户安装的系统管理的必备程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。

启用之后

可以看见是由/usr/bin下的curl执行,而不是/usr/local/curl。
说明之前apt install curl 是把curl装到/usr/bin下的。

root@louis:/usr/local/bin# curl -V
curl 7.58.0 (aarch64-unknown-linux-gnu) libcurl/7.58.0 
root@louis:/usr/local/bin# whereis curl
curl: 
/usr/bin/curl 
/usr/include/curl 
/usr/share/man/man1/curl.1.gz

最后

菜鸟一枚,若有地方描述不正确,还请指正,多多包含。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值