“存储库没有发布文件”错误

时间:2018-12-16 06:50:06

标签: ubuntu ros

我正在尝试在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 

10 个答案:

答案 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)

我打开了我的软件和更新程序 然后像这样从我的国家切换到主要服务器:
Software & Updates screen

完成此操作并再次运行sudo apt update突击队后,我的问题就消失了。

答案 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 引起的,但是有可能 问题出在您的硬盘。我通过清理空间解决了相同的问题。

如果硬盘上没有足够的空间,则在删除某些文件之前不会更新计算机。