tasksel, APT 작업을 사용하거나 정기적 인 메타 패키지를 설치해야합니까?


37

Tasksel 또는 일반 아파트?

과거에는 항상 tasksel소위 "작업"을 설치 하는 데 사용 했습니다. 그러나 이것은 APT에 통합 된 것으로 보입니다.

apt-cache dumpavail | grep ^Task
[...] snip
Task: lamp-server
[...]

다음과 같이 캐럿 ( ^)을 추가하여 이러한 "작업"을 설치할 수 있습니다 .

sudo apt-get install lamp-server^

이것은 다음과 동일합니까?

sudo tasksel install lamp-server

그리고 어느 것이 선호됩니까?

메타 패키지

또한 여기에서 메타 패키지는 어떻게 작동합니까? 일부 작업은 메타 패키지가 아닌 반면 다른 작업은 다음과 같습니다.

apt-cache show lamp-server
N: Unable to locate package lamp-server

apt-cache show kubuntu-desktop
Package: kubuntu-desktop
[...]
Task: kubuntu-desktop

마지막 예제를 사용하여 다음 세 가지 가능한 설치 방법의 차이점은 무엇입니까?

  • sudo apt-get install kubuntu-desktop
  • sudo apt-get install kubuntu-desktop^
  • sudo tasksel install kubuntu-desktop

2
apt-get install -s lubuntu-desktopvs 의 출력을보십시오 apt-get install -s lubuntu-desktop^. 후자에는 다음과 같은 추가 정보가 표시됩니다. 참고 : 'lubuntu-desktop'태스크에 대해 'policykit-1-gnome'선택 / 참고, 'lubuntu-desktop'태스크에 대해 'gnome-keyring'선택 / 참고, 선택 'Aspell을 엔'작업 '루 분투 데스크톱'/ 주를 선택 'libplist1'작업 '루 분투 데스크톱'에 대한 / 주, 'libsdl1.2debian'작업 '루 분투-바탕 화면'을 선택 / 그래서, 이 특정한 경우에 , "당근"이 더 나을지 모르겠습니다.

자세한 내용은 여기를 참조하십시오 : askubuntu.com/a/249373/25656

1
tasksel에서 대한 # 회신 : 결코 작업을 제거하는 데 사용하지 - 볼 런치 패드에 버그 리포트를
guntbert

답변:


36

한마디로 :이 있다 tasksel에서와 작업의 apt-get을 설치 프로세스의 차이는.

당신의 예를 보면 :

적절한 방법

sudo apt-get install 'lamp-server^' 다음을 수행하기 위해 평가됩니다.

  1. 캐시 (패키지 목록 파일)에서 모든 "작업 :"필드를 검색하고 "lamp-server"로 모두 가져옵니다.
  2. 해당 패키지를 표준 방식으로 설치하십시오.

    sudo apt-get install package1 package2...
    

작업 방식

sudo tasksel install lamp-server다음의 구성 파일 중 하나에서 "lamp-server"라는 작업을 찾습니다 /usr/share/tasksel/**/*.desc.

  1. 구성 파일에서 "lamp-server"라는 "작업 :"필드를 검색하십시오.
  2. 모든 전제 조건이 사용 가능한지 점검하고 ( "키 :"필드) 설치되지 않은 경우이를 기억하십시오.
  3. 패키지를 선택하는 방법을 선택하십시오 ( "패키지 :"필드). 이것이 "목록"이 아닌 경우 이름으로 다음 패키지를 설치하십시오.
  4. 다음 패키지 이름을 모두 읽고 이전에 선택한 메소드로 전달하여 패키지 이름을 생성하십시오.
  5. 를 찾으십시오 /usr/lib/tasksel/info/lamp-server.preinst. 존재하는 경우이 스크립트를 실행하십시오.
  6. 다음 명령을 사용하여 apt-get으로 패키지를 설치하십시오.

    debconf-apt-progress -- apt-get -q -y -o APT::Install-Recommends=true -o APT::Get::AutomaticRemove=true install package1 package2 ...
    
  7. 를 찾으십시오 /usr/lib/tasksel/info/lamp-server.postinst. 존재하는 경우이 스크립트를 실행하십시오.

결론

tasksel은 작업을 처리하고 선택하는 데 더 강력합니다. 설치 / 작업 제거 전후에 추가 스크립트를 실행할 수 있습니다. 가장 큰 이점 : 작업을 수정하고 새 작업을 매우 쉽게 만들 수 있습니다. 단점 (유효한 서명)없이 공식 패키지 목록 파일을 편집 할 수 없습니다.

맨 첫 번째 질문 :
당신의 특별한 경우 두 명령은 (가정 둘 다 활성화 거의 동일 APT::Install-RecommendsAPT::Get::AutomaticRemove). 차이점은 확장 된 패키지 상태 mysql-serverapache2종속성 (일반 apt-get을 사용하여 "수동으로 설치"로 설정)입니다.

그리고 메타 패키지는 어떻습니까?

작업 선택 (특히 설치시 유용) 및 일부 작업 차단 전후에 추가 명령 실행과 같은 tasksel의 기능을 사용하지 않으면 작업은 메타 패키지와 매우 유사합니다. 차이점은 다음과 같습니다. 작업이 APT 캐시에 패키지로 등록되지 않았습니다.
따라서 하나의 작업 종속성을 제거하면 다른 작업 deps는 명시 적으로 설치 되었기 때문에 자동 설치로 표시되지 않습니다. 메타 autoremove패키지 를 설치 제거하면 확장 패키지 상태가 "자동 설치"(수동으로 설치되지 않은 경우)이기 때문에 종속성이 제거됩니다 .
참고 : 데비안의 모든 분산 작업은이라는 메타 패키지를 설치합니다 task-TASKNAME.

예를 들어 :

  1. sudo apt-get install kubuntu-desktop
    • 메타 패키지를 설치합니다 kubuntu-desktop. 종속성은 "자동 설치"입니다.
  2. sudo apt-get install kubuntu-desktop^
    • "kubuntu-desktop"태스크로 태그가 지정된 모든 패키지를 선택합니다. 이것은 모두 metapackage의 의존성입니다 kubuntu-desktop. 모두 "수동 설치"로 표시되어 있습니다.
  3. sudo tasksel install kubuntu-desktop
    • 작업 패키지를 설치하기 전에 X가 설치되어 있는지 확인하십시오.
    • 메타 패키지를 설치합니다 kubuntu-desktop. 종속성은 "자동 설치"입니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.