
설치된 모든 패키지의 소스 패키지를 디렉터리에 다운로드하려면 어떤 적절한 주문을 사용해야 합니까? (설치된 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
나중에 수동으로 구문 분석하기 위해 스크립트를 실행할 수도 있습니다 .