
インストールされたすべてのパッケージのソース パッケージをディレクトリにダウンロードするには、どのような apt 呪文を使用する必要がありますか? (使用例は、インストールされた Ubuntu システムをコンピューターとともに別の人に渡す場合の GPL 準拠です。)
答え1
これを試して..
インストールされているすべてのパッケージのソースをダウンロードするディレクトリを作成し、そのディレクトリに入ります。
mkdir source; cd source
という名前のファイルを作成しますgetsource.sh
getsource.sh
#!/bin/bash
dpkg --get-selections | while read line
do
package=`echo $line | awk '{print $1}'`
mkdir $package
cd $package
apt-get -q source $package
cd ..
done
実行可能にします。
chmod a+x getsource.sh
実行してください。
./getsource.sh
そしてコーヒーを飲みに行きましょう :)
答え2
別の方法としては、ソース CD を配布する方法もあります。
答え3
Ubuntu では次のコマンドを参照してください:
apt-get source package-name
apt-get source
通常のユーザーとしてのみ使用することをお勧めします。そうすれば、ルート権限を必要とせずにソース パッケージ内のファイルを編集できます。
答え4
承認された回答と Unix Stack Exchange のリンクされたより良い回答には、いくつかの問題があります。以下に、コメント付きの改良およびテスト済みのスクリプトを示します。
#!/bin/bash
# ${Source} doesn't always show the source package name, ${source:Package} does.
# Multiple packages can have the same source, sort -u eliminates duplicates.
dpkg-query -f '${source:Package}\n' -W | sort -u | while read p; do
mkdir -p $p
pushd $p
# -qq very quiet, pushd provides cleaner progress.
# -d download compressed sources only, do not extract.
apt-get -qq -d source $p
popd
done
非ルート ユーザーとして実行します (_apt
が機能します)。エラーは、利用可能なソースがないパッケージを示している可能性があるため、注意してください。 スクリプトを実行して、後で手動でこれらを解析することもできます2>err.log
。