Bash脚本无法从列表中下载源包

问题描述 投票:0回答:1

我在Ubuntu 16.04上安装了软件包的列表。我有一个bash脚本,试图在适当的目录(创建的目录)中一个接一个地下载其源代码。我收到一个错误:

Reading package lists...
E: Unable to find a source package for xxxx
~/source
~/sourcexxx

我的bash脚本看起来像这样:

#!/bin/bash
while read package
do
    #cd /mnt
    mkdir $package
    pushd $package
    apt-get -d -q source $package
    popd
done < ins.txt

我不想更新任何系统文件。apt-get -d -q源xxx可以单独运行,但不能在上面的脚本中使用。可能是什么原因?

我的ins.txt的一部分:

adduser
adium-theme-ubuntu
adwaita-icon-theme
alacarte
alsa-base
alsa-utils
amd64-microcode
anacron
apg
app-install-data
app-install-data-partner
apparmor
apparmor-easyprof

[当我单独执行apt-get -d -q源adduser时,它可以正常工作

bash shell ubuntu sh apt-get
1个回答
0
投票

使用您的列表,在删除dpkg-query -f |部分后,这似乎对我来说很好(在Ubuntu 16.04上:

#!/bin/bash

while read package
do
    echo "Package $package"
    mkdir -v $package
    pushd $package
    apt-get -d -q source $package
    popd
done < ins.txt

也许某些软件包没有源,或者您的ins.txt文件包含无效的软件包。

但是这个问题肯定会更好地发布在Ask Ubuntu

© www.soinside.com 2019 - 2024. All rights reserved.