소스 tarball (`.tar.gz`), Ubuntu Software Center 또는 다른 곳에서 프로그램을 설치해야합니까?


29

우분투에서 응용 프로그램을 설치하는 방법은 여러 가지가 있습니다 :

  • 소스 타르볼 (일반적으로 파일 .tar.gz또는 .tar.bz2파일)을 다운로드하여 수동으로 설치할 수 있습니다. ( .tar.gz (또는 .tar.bz2) 파일을 설치하려면 어떻게합니까? )

  • 또는 소프트웨어 센터를 .deb사용하여 파일을 다운로드하여 수동으로 설치할 수 있습니다 dpkg.

  • Ubuntu Software Center에서 응용 프로그램을 검색하여 설치하거나 apt공식 Ubuntu 리포지토리와 함께 사용할 수 있습니다 .

  • PPA 또는 타사 저장소를 찾아서 설치할 수 있습니다.

각 방법의 장단점은 무엇입니까? 답에서 각 방법의 보안 영향, 업데이트 빈도 및 프로그램 안정성에 대해 논의하십시오.


1
하나에 많은 질문이 있습니다. 보다 집중적 인 질문을하는 것이 약간 나을 수 있습니다. 기본값은 Ubuntu Software Center를 사용하는 것입니다. 타르 볼 (.tar.gz)과 apt-get + .deb 에코 시스템 (명령 줄 및 우분투 소프트웨어 센터 포함) 간에는 좋은 비교 / 대비가 있습니다.
Warren P

별도의 질문 4 개로 묻는 경우, 4 가지 답변은 모두 동일해야합니다. repo (주요 또는 타사)의 pkg 관리자를 사용하여 설치 / 업데이트하는 것을 선호합니다. 그것이 옵션이 아니라면, 당신은 이것에 대한 일반적인 찬반 양론을 시작할 수 있습니다. 그러나 그 시점에서 아마도 어떤 앱이 사용되는지 그리고 구체적으로 그 일을하고 싶을 수도 있습니다. (예를 들어, 공개 리포지토리에서 "java"로 제공되는 표준을 설치하지만 개발자는 tar.gz를 통해 / opt / java에 5 가지 버전을 설치합니다).
마이클

답변:


33
  • 신뢰할 수 있음:
    • tarball에서 설치할 때 소프트웨어가 다른 소프트웨어를 덮어 쓰려고 시도 할 수 있습니다. 빌드 종속성이 필요하며 프로세스의 실패율이 높습니다. 리포지토리의 패키지가 종속 된 소프트웨어를 설치하는 경우 임시로 데비안 패키지로 변환하는 데 dpkg사용하지 않는 한이 패키지가 등록되어 있지 않으므로 해당 종속성을 충족시키지 않습니다 checkinstall. 이것으로, 당신은 깨질dpkg 위험이 있습니다 . 코드가 오픈 소스 인 경우에도 변경되지 않은 경우가 아니라면 신뢰할 수있는 사이트에서 코드를 다운로드해야합니다. 다른 디렉토리를 사용하는 한 여러 버전의 소프트웨어를 설치할 수 있습니다. makefile에서이를 무시할 수 있습니다.
    • 데비안 패키지를 사용하면 파일이 다른 프로그램의 파일을 덮어 쓰지 않게되지만,를 사용하는 sudo dpkg -i file.deb경우 종속성을 먼저 설치해야합니다. 이 방법으로 설치하면 패키지도 리포지토리에 있지 않으면 업데이트를받지 못하지만이 패키지는이 소프트웨어가 필요한 종속성을 만족시킵니다. 또한이 패키지에 메뉴 항목을 제공하거나 최소한 맨 페이지를 등록합니다. 데비안 패키지는 보통 Lintian으로 테스트하여 특정 파일에 실행 코드가 있는지 여부에 관계없이 패키지가 매우 엄격 할 수있는 표준 세트를 충족하거나 초과하는지 확인합니다. 동일한 패키지의 여러 버전을 설치할 수 없습니다. 잘못 만들어진 패키지는 설치 실패, 제거 실패 또는 DPKG 손상수리가 어려워지고 열렬한 백업 검색이 이루어 지거나 문제가 심각하면 재설치가 가능합니다.
    • apt가능한 경우 사용하는 것이 가장 좋습니다. 종속성은 자동으로 가져오고 설치되며 런치 패드에서 안정적인 빌드 서버 구성을 사용하여 패키지가 빌드되므로 오류가 최소화됩니다. 패키지는 aptitude다른 도구를 통해 검색 할 수 있으며 업데이트 관리자를 통해 쉽게 업데이트 할 수 있습니다. 종속성도에서 가져 오기 때문에 apt패키지는 종속성과 올바르게 상호 작용할 가능성이 높습니다. 패키지는 뎁과 마찬가지로 Lintian을 통해 테스트되지만 매우 안정적인 빌드 서버와 결합 된 테스트는 더욱 안정적인 패키지를 만듭니다. 패키지는 Ubuntu의 빌드 서버를 통과하므로 나머지 OS와 통합되도록 조정될 가능성이 높습니다. 같은 패키지의 여러 버전이 없습니다설치하십시오. Ubuntu의 빌드 서버는 PPA에 사용 apt되므로 자동 리니 팅으로 인해 중단되는 변경 사항이 줄어 듭니다.
  • 업데이트 중 :
    • tarball을 사용하면 프로그램에서 자체 확인하지 않는 한 업데이트가 제공되지 않습니다. 이를 통해 이러한 업데이트를 수동으로 설치해야하며 한 곳에 통합되지 않습니다. 컴파일 및 설치를 위해 야간 또는 현재 소스 코드를 tarball로 가져올 수 있습니다. 최첨단 코드가 필요한 경우 유용 할 수 있습니다.
    • 데비안에서는 패키지가있는 경우에만 패키지가 업데이트됩니다. 개발자는 데비안 패키지를 최첨단 소스보다 약간 비싸게 만들지 만 베타는 종종 deb를 온라인에서 찾을 수 있습니다.
    • 를 사용 apt하면 패키지가 매우 쉽게 업데이트됩니다. 업데이트는 한 곳에서 업데이트 관리자로 통합되며 자동 또는 반자동으로 수행됩니다. Ubuntu의 알파 또는 베타 버전이 아닌 경우 현재 업스트림 소스의 버전보다 두 배 뒤에서 잘 테스트 된 버전을 사용하게됩니다. 보안 업데이트는 상황이 더 나 빠지지 않도록 가볍게 테스트되는 즉시 푸시됩니다. 즉,시의 적절한 업데이트로 보안이 보호되지만 데이터 손실을 방지하기 위해 이러한 업데이트가 확인됩니다.
  • 보안:
    • 타르볼은 어떤 방식 으로든 디지털 서명되지 않았습니다. 악의적 인 제 3 자에 의해 엉망이되거나 수정 될 수 있습니다. 해시 섬 (Avoid MD5)을 수행하더라도 SHA- 또는 MD5 합계를 제공하므로 사이트 소유자와 패키지 작성자를 신뢰해야합니다.
    • 데비안 패키지는 서명되지 않았지만 데비안 패키지가 dpkg다른 파일을 덮어 쓸 수 없으므로 악의적 인 deb 가 덮어 init쓰여서 엉망이 될 수 없습니다 bash. 웹 사이트와 패키지 작성자를 항상 신뢰해야합니다.
    • apt리포지토리에 서명 된 키를 사용하므로 적기가 나타나지 않으면 엉망이 될 수 없습니다. PPA 업로드는 디지털로 서명되므로 PPA 소유자가 아닌 사람은 파손되거나 안전하지 않은 패키지를 넣을 수 없습니다. 다른 패키지의 파일에 대한 덮어 쓰기도 적용되지 않습니다. 물론 악성 코드가 포함 된 검사되지 않은 패키지가 실행될 때 PPA 또는 리포지토리 소유자를 신뢰해야합니다.

1
통합을 추가하는 것이 좋습니다. 우분투 및 업스트림 데비안 패키지 관리자는 대체 시스템 (웹 페이지를 열 수있는 X 프로그램이 있으며 기본 페이지가되고 싶습니다)과 같은 시스템 전체 기능에 패키지가 참여하도록합니다. 수동 타르볼 설치는 일반적으로 그렇게 작동하지 않습니다.
Warren P

@ WarrenP 실제로 추가했지만 명확하지 않을 수도 있습니다. 감사!
ζ--

"리포지토리의 패키지가 의존하는 소프트웨어를 설치하는 경우 dpkg에 등록 되지 않았기 때문에 해당 종속성을 충족시키지 못합니다 ." 첫 번째 글 머리 기호에서 통합 을 다루는 것 입니까?

1
@ vasa1 Apt와 dpkg가 패키지 설치 여부를 결정할 때 파일 시스템이 아닌 데이터베이스를 검사하기 때문에 tarball에 관한 것입니다. 항상 checkinstall그 문제를 해결하는 데 사용할 수 있습니다 .
ζ--

19

짧은 대답은 Ubuntu 소프트웨어 센터에서 설치하는 것이 다른 모든 방법보다 일반적으로 바람직 하다는 것입니다 . 그러나 다른 곳에서 프로그램을 설치하려는 경우가 있습니다.


소스에서 설치 :

  • 보안 관련 사항 : 소프트웨어 작성자와 다운로드를 호스팅하는 웹 사이트를 신뢰해야합니다. 또한 HTTPS를 통해 다운로드가 수행되는지 확인해야합니다. 그렇지 않으면 타사가 다운로드를 수정할 수 있습니다.

  • 업데이트 빈도 : 항상 최신 정보를 얻을 수 있습니다! 원본 작성자가 선택한대로 업데이트가 자주 이루어집니다. 그러나 수동으로 업데이트를 확인해야합니다.

  • 신뢰할 수 있음 : 소프트웨어가 덜 테스트를 거쳤으며 우분투, 다른 Linux 배포판에 대해서는 전혀 테스트되지 않았기 때문에 다른 방법만큼 신뢰할 수 없습니다.

  • 간편한 설치 및 제거 : 모든 옵션 중에서 가장 어렵습니다. 숙련 된 사용자도 관리하기 훨씬 쉬운 기본 데비안 패키지를 선호하기 때문에이 옵션을 사용하지 않아도됩니다.

에서 설치 .deb패키지 :

  • 보안 영향 : 소스에서 설치하는 것과 동일합니다.

  • 업데이트 빈도 : 소스에서 설치하는 것과 동일합니다.

  • 신뢰성 : 소스에서 설치하는 것보다 약간 더 좋습니다. 저자가.deb 패키지를 데비안이나 우분투에서 최소한의 테스트를 수행했을 것입니다.

  • 간편한 설치 및 제거 : 매우 쉽습니다. 두 번 클릭하고 "설치"를 클릭하십시오! 마찬가지로 제거가 쉽습니다.

우분투 소프트웨어 센터에서 설치 :

  • 보안 영향 : 소프트웨어 작성자와 Ubuntu 리포지토리 관리자를 신뢰해야합니다. 데비안 및 / 또는 우분투 관리자가 프로그램을 어느 정도 검토 했으므로 전체적으로 소스에서 직접 설치하는 것보다 보안이 더 좋습니다. 데비안 및 / 또는 우분투 관리자는 프로그램이 오픈 소스 인 경우 보안 결함을 수정하기 위해 프로그램을 패치 할 수도 있습니다.

  • 업데이트 빈도 : 데비안 및 / 또는 Ubuntu 관리자는 일부 소프트웨어 릴리스 만 선택합니다. 예를 들어 안정적인 업데이트 만 선택할 수 있습니다. 프로그램 릴리스와 데비안 및 / 또는 우분투 리포지토리에 포함 된 프로그램 사이에 지연이 있습니다. 가장 최신의 것을 원한다면 이것이 최선의 선택이 아닙니다. 검토 된 안정적인 업데이트를 원한다면 이것이 좋은 옵션입니다. 업데이트는 업데이트 관리자를 통해 자동으로 제안되며apt-get .

  • 신뢰성 : 프로그램이 Ubuntu에 대해 검토되고 조정되었으므로 소스에서 설치하는 것보다 훨씬 낫습니다.

  • 손쉬운 설치 및 제거 : 매우 쉽고 간단합니다.

PPA 또는 타사 저장소에서 설치 :

  • 보안 영향 : 소프트웨어 작성자 및 PPA를 유지 관리하는 사람을 신뢰해야합니다. 물론 누구나 PPA를 호스팅 할 수 있으므로 PPA가 Launchpad에 있다고 믿지 마십시오. 사용자가 게으르고 소프트웨어를 전혀 검토하지 않았을 수 있습니다.

  • 업데이트 빈도 : PPA에 따라 다릅니다. 업데이트 확인이 쉽습니다.

  • 신뢰성 : Ubuntu Software Center에서 설치하는 것보다 안정성이 떨어집니다. PPA는 아직 Ubuntu Software Center의 표준을 충족하지 않는 프로그램에 적합하므로 안정성이 떨어집니다.

  • 손쉬운 설치 및 제거 : 배우기가 어렵지 않으며 Ubuntu의 패키지 관리에 적합합니다.


1
USC는 apt-get어쨌든 프론트 엔드 입니다. 이것을 GUI 대 명령 행 토론으로 바꾸지 마십시오. 선택에 대해 논의 할 가치가 있다고 생각되면 다른 질문을 시작하십시오.
Flimm

2
@Flimm : USC도 .deb 패키지를 설치할 수 있으므로 USC를 apt-get 및 dpkg의 프론트 엔드라고 부르는 것이 더 적절합니다.
Lie Ryan

1
나는 "토론"을 말하는 것이 아니라, "사용자가 명확성을 얻기 위해 여기에 와서이 질문과이 답변이 문제를 명확하게하는 것 같지 않다"고 말하는 것입니다.
Warren P

1
@LieRyan : 동의했습니다.
Flimm December

1
@ WarrenP : 사용자가 여기에 오는 것에 동의하지 않습니다. 사용자는 여기에서 응용 프로그램을 다운로드하고 설치할 위치를 결정합니다. 질문에서 명확하지 않은 경우 편집 할 수 있습니다. 사용자에게 더 유용한 다른 질문이 있으면 새 질문 게시물을 작성하십시오.
Flimm December
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.