Archive for February, 2018

解决升级系统导致的 curl: (48) An unknown option was passed in to libcurl

如果是ubuntu
解决办法:

  1. 检查/usr/bin和/usr/local/bin目录是否有多个版本的curl。  
  locate -r /curl$
2.删掉其中一个,若删除后者出现找不到curl, locate curl做软连接
ln -s /usr/bin/curl /usr/local/bin/curl

ubuntu删除所有的curl 然后 apt-get install curl // 通过这个语句安装,缺失的库,会自己补上!

安装curl的时候装了多个版本,默认路径是在前者。
一般用 which curl, whereis curl 或 mdfind curl 之类的方法找到该命令

如果你关注搜索到这篇文章,那么我可以合理怀疑你被apt-get的几个卸载命令有点搞晕了。

apt-get的卸载相关的命令有remove/purge/autoremove/clean/autoclean等。具体来说:

apt-get purge / apt-get –purge remove
删除已安装包(不保留配置文件)。
如软件包a,依赖软件包b,则执行该命令会删除a,而且不保留配置文件

apt-get autoremove
删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件。

apt-get remove
删除已安装的软件包(保留配置文件),不会删除依赖软件包,且保留配置文件。

apt-get autoclean
APT的底层包是dpkg, 而dpkg 安装Package时, 会将 *.deb 放在 /var/cache/apt/archives/中,apt-get autoclean 只会删除 /var/cache/apt/archives/ 已经过期的deb。

apt-get clean
使用 apt-get clean 会将 /var/cache/apt/archives/ 的 所有 deb 删掉,可以理解为 rm /var/cache/apt/archives/*.deb。

那么如何彻底卸载软件呢?
具体来说可以运行如下命令:

# 删除软件及其配置文件
apt-get –purge remove # 删除没用的依赖包
apt-get autoremove # 此时dpkg的列表中有“rc”状态的软件包,可以执行如下命令做最后清理:
dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P

当然如果要删除暂存的软件安装包,也可以再使用clean命令。