我正在尝试在Ubuntu上安装ROS。我收到此错误:
case "$dir" in
ingress)
query="SecurityGroups[].IpPermissions[][].{P:IpProtocol,R:IpRanges,F:FromPort,T:ToPort}"
;;
egress)
query="SecurityGroups[].IpPermissionsEgress[][].{P:IpProtocol,R:IpRanges,F:FromPort,T:ToPort}"
;;
esac
aws ec2 describe-security-groups --group-id $sgid --region $reg --profile $acct \
--query $query --output text|while read line;
do
cnt=$(echo $line|wc -w)
if [ $cnt -eq 3 ]; then
from=$(echo $line|cut -d" " -f1)
proto=$(echo $line|cut -d" " -f2)
to=$(echo $line|cut -d" " -f3)
# this assumes the comment is not gonna be 1 word. Lets hope :)
else
trash=$(echo $line|cut -d" " -f1)
cidr=$(echo $line|cut -d" " -f2)
remain=$(echo ${line//$trash/})
remain2=$(echo ${remain//$cidr/})
comment="$remain2"
out+=";"
out+="$proto:$cidr:$from:$to:$comment"
fi
echo $out>$TMPFILE
done
答案 0 :(得分:62)
您需要将存储库目标更新为Ubuntu的Eoan Ermine(19.10)版本。可以这样做:
sudo sed -i -e 's|disco|eoan|g' /etc/apt/sources.list
sudo apt update
答案 1 :(得分:8)
确保您的/etc/apt/sources.list具有http://old-releases.ubuntu.com而不是in.archive
答案 2 :(得分:6)
我使用此代码来建议您:
1) sudo sed -i -e 's|disco|eoan|g' /etc/apt/sources.list
2) sudo apt update
答案 3 :(得分:3)
如here所述,您需要(作为根)编辑文件/etc/apt/sources.list
(最简单的方法是键入sudo gedit /etc/apt/sources.list
)。在提到http://packages.ros.org/ros/ubuntu的行上,您需要在单词[trusted=yes]
之后添加deb
(您可能需要将其添加为单独的单词)。然后保存文件,然后重试。
答案 4 :(得分:3)
在我的情况下,原因是Canonical不再支持Ubuntu版本。 我可以通过2个步骤升级到仍受支持的LTS:
1)手动将回购链接从“ in.ubuntu”更新为“ old-releases.ubuntu”。
1.1)安装了所有未完成的更新
2)do-release-upgrade
从那时起可以进行实际升级
恕我直言,这是一种更安全的方法,然后只需将存储库更新到受支持的下一个ubuntu,因为do-release-upgrade
有机会防止可能失败的升级,并可能为您诊断问题。
答案 5 :(得分:3)
#For无法“ apt更新”我的Ubuntu 19.04
不受支持的较旧版本的存储库(如11.04、11.10和13.04)将移至存档服务器。在http://old-releases.ubuntu.com上有可用的存储库。
sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
然后
sudo apt-get update && sudo apt-get dist-upgrade
答案 6 :(得分:2)
答案 7 :(得分:1)
这个问题我已经困扰了几个星期,最终决定坐下来尝试并修复它。我主要是Windows用户,因此对配置文件编辑没有兴趣。
为了适应“ clickyness”,我注意到ubuntu服务器位置设置为“英国”。我将其切换到“主服务器”,嘿,……这一切都盯着更新。
因此,似乎区域化服务器(至少对于英国而言)的支持窗口非常有限,因此,如果您是不频繁使用的用户,则可能没有从当前版本到最新版本的有效升级路径。
编辑: 发布后,我只是注意到上一个回复。 100%同意。
答案 8 :(得分:1)
如果sudo apt-get update
帮不了您,那可能是某些软件包未能更新为与存储库相关的错误。
对我来说,所有这些都恰好位于(软件更新->其他软件)中。您可以使用“删除”将其删除,缓存将成功刷新。 否则
sudo apt-get clean
apt-get autoremove
可以尝试。
答案 9 :(得分:-2)
这个问题可能是您提到的 /etc/apt/sources.list 引起的,但是有可能 问题出在您的硬盘。我通过清理空间解决了相同的问题。
如果硬盘上没有足够的空间,则在删除某些文件之前不会更新计算机。