ubuntu系统 Unable to locate packaged的几种解决办法(安装keepalived ./configure 报错问题解决办法 )
第一种情况,也是遇到最多的,就是没有更新软件库缓存
执行下面命令即可:
sudo apt update
第二种情况,因为网络问题,国外的源需要换成国内源
备份之前的源:
cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑替换源:
vi /etc/apt/sources.list
将里面内容全部清空,替换成如下内容,这里选择的是清华源
deb http://archive.ubuntu.com/ubuntu/ jammy main universe restricted multiverse # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
也可以尝试使用阿里源等其他源,我这里版本是22.04运行命令可以看到代号为jammy,注意源文件内是有代号的,需要和自己的系统版本对应
lsb_release -a
编辑保存完成后执行命令:
sudo apt update
sudo apt upgrade
然后再尝试安装
第三种情况就是我遇到的情况,ubuntu安装keepalived2.0.7,执行./configure --prefix=/usr/local/keepalived
命令时报错,说我安装了libnl-3但是没有安装libnl-route-3,如果执行apt-get install libnl-route-3就会报如下错误:
configure: error: libnfnetlink headers missingPerhaps you should add the directory containing `libnl-route-3.0.pc'configure: error: libnl-3 is installed but not libnl-route-3
这可不是源的问题了,是系统版本和软件包名的问题,我们来到官网:
可以看到搜索,选择好自己系统的版本代号
点击搜索,我们会发现,这个版本的libnl-route-3已经不叫libnl-route-3,变成了下列的包
接下来就按照这个新的包名来安装:
apt-get install libnl-route-3-200
然后再运行:
./configure --prefix=/usr/local/keepalived
接下来还会报一个错:
configure: error: libnfnetlink headers missing
那我们还是来到搜索:
可以看到有三个,开发,运行和debugging 我这里就啪啪啪都安装了
apt-get install libnfnetlink-dev apt-get install libnfnetlink0 apt-get install libnfnetlink0-dbg
安装完成继续运行:
./configure --prefix=/usr/local/keepalived
会发现成功了
ubuntu是真的有很多坑坑
学习时的痛苦是暂时的 未学到的痛苦是终生的
作者:卷心菜的奇妙历险
本文版权归作者和博客园共有,遵循 CC 4.0 BY-SA 版权协议,欢迎转载 转载请附上原文出处链接和本声明,否则保留追究法律责任的权利。