'apt-get'은 더 이상 사용되지 않습니까?


54

최근에 많은 사람들이 사용하는 것을 보았습니다

sudo apt

대신에

sudo apt-get

또한 우분투는 계속해서 설치를 지시합니다. sudo apt

The program 'foo' is currently not installed. You can install it by typing:
sudo apt install foo

(foo는 앱이 아닌 자리 표시 자입니다.)

따라서 커뮤니티 apt대신에 대신 사용 하는 것에 대한 인기가 높아지면 apt-getapt-get이 더 이상 사용되지 않으며 더 이상 내 bash 프로그램에서 사용할 수 없다고 생각하기 시작했습니다.

내 배쉬 프로그램에서

  • 모든 apt-get명령을 로 바꿔야 apt합니까?
  • apt-get위험?
  • 내 프로그램이 계속 작동합니까?

7
이 관련 게시물을 참조하십시오 : askubuntu.com/q/445384/295286
Sergiy Kolodyazhnyy

Apt는 apt-get보다 더 예쁘다
WinEunuuchs2Unix

2
나 자신과 같은 일부 사용자 apt가 사용 하는 이유는보다 짧기 때문 apt-get입니다. 키 입력 횟수가 줄어들고 시간도 절약됩니다. 그래도 apt-get같은 것에 사용 합니다 check.
Gallifreyan

답변:


36

apt-get낮은 수준이며 이전 버전과 호환됩니다. apt최종 사용자에게 더 좋으며에있는 추가 기능이 필요하지 않거나 포함되어 있지 않습니다 apt-get.

둘 다 완벽합니다. apt-get더 이상 사용되지 않지만 15.10 설치는 :)

편집 : apt (8)의 맨 페이지에서

apt 명령은 최종 사용자에게 적합하며 apt-get (8)과 역 호환 될 필요는 없습니다.

Edit2 :의 apt일부 기본 종속성 결함을 수정하도록 설계되었습니다 apt-get. 래퍼 apt이므로 높은 수준이며 이전 버전과의 호환성 및 스크립팅 기능도 손실됩니다.


19
apt-get이 아닌 어떤 기능이 apt가 아닌가? 그리고 최종 사용자에게 어떻게 apt가 더 낫습니까?
Anwar

4
다시 말하지만, apt-get은 apt보다 낮은 레벨이 아닙니다. 이것은 잘못된 정보입니다. apt는 apt-get과 같은 레벨에 있으며 apt는 apt-get과 apt-cache를 둘러싼 래퍼
Anwar

@Anwar : 차이점이 있습니다. 한 예 : apt upgradeapt-get upgrade, 전자는 새 패키지를 설치하지만 후자는 그렇지 않습니다.
Gunnar Hjalmarsson 2016 년

26
@Anwar 만약 apt래퍼 (wrapper) 방식이라면 apt-get확실히 높은 수준입니다.
Tavian Barnes

2
@Anwar 실제로 "높은 수준"또는 "낮은 수준"의 정의입니다. apt는 apt-get을 래핑 하기 때문에 더 높은 수준 입니다. 일종의 테스트는 apt가 손상 되어도 apt-get은 여전히 ​​작동하지만 그 반대로는 작동하지 않는다는 것입니다.
Robert

47

아니요, apt-get더 이상 사용되지 않습니다. 의 맨 페이지 apt에는 aptvs. apt-get(and apt-cache) 에 대해 다음 과 같이 말합니다 .

다른 APT 도구의 스크립트 사용법 및 차이점

apt (8) 명령 줄은 최종 사용자 도구로 설계되었으며 버전간에 동작이 변경 될 수 있습니다. 이전 버전과의 호환성을 유지하려고 시도하지 않지만 대화식 사용에 변경 사항이 도움이되는 경우에도 보장되지 않습니다.

apt (8)의 모든 기능은 apt-get (8) 및 apt-cache (8)와 같은 전용 APT 도구에서도 사용할 수 있습니다. apt (8)은 일부 옵션의 기본값 만 변경합니다 (apt.conf (5) 및 특히 이진 범위 참조). 따라서 가능한 한 이전 버전과의 호환성을 유지하므로 스크립트에서 이러한 명령을 사용하는 것이 좋습니다 (일부 추가 옵션이 활성화 된 경우).

apt 또한 경고를 알려줍니다

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

파이프가 감지되면. 예를 들면 다음과 같습니다.

$ apt show python | grep Package

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Package: python
APT-Sources: http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

당신의 질문에 관해서는

모든 apt-get 명령을 apt? 로 바꿔야 합니까?

아니, 당신은 교체하지 않아도 apt-get함께 apt. 대신 스크립트에서 사용하는 경우 apt-getCLI API가 안정적이며 이전 버전과의 호환성을 보장 하기 때문에 고수해야합니다 .

apt-get위험?

apt뿐만 위험 apt-get만 신뢰할 수있는 소스에서 소프트웨어를 설치해야합니다.

aptUbuntu 15.10에서 사용할 수 있습니까?

그래, 할 수있어 여기서 문제는 여전히 지원되지 않는 Ubuntu 15.10을 사용하고 있다는 것입니다! LTS 버전 인 16.04로 업그레이드하십시오.

내 프로그램이 계속 작동합니까?

프로그램에서는 스크립트를 의미한다고 가정합니다. 예, apt-get더 이상 사용되지 않으므로 계속 작동 합니다. 사실, 당신은 맨 페이지에서 apt-get제안한대로 이전 버전과의 호환성을 위해 스크립트 에서 사용하는 것을 선호해야합니다 apt.


7

apt그리고 apt-get그들이 할 것은 동일합니다, 기본적으로 같은 패키지 관리자입니다.

차이점은 apt예를 들어 기능을 포함 apt-cache하고 더보기 좋은 출력을 가지고 있다는 것입니다.

그러나 apt아직 개발 중이며 출력 형식이 여전히 변경 될 수 있으므로 출력을 구문 분석하려는 경우 스크립트에서 아직 사용하지 않아야합니다. Bash의 탭 자동 완성 기능은 아직 많은 apt명령으로 작동하지 않습니다 .

당신이 선호하는 둘 다 사용할 수 있습니다.


apt는 지연이 추가 된 apt-cache 기능을 제공합니다! apt 검색 패키지 및 apt-cache 검색 패키지를 사용해보십시오. 정책을 사용하는 것과 동일
Anwar

@Anwar을 사용하면 아무런 차이가 없습니다 apt(-cache) policy. 를 사용하면 apt(-cache) search속도에 차이가 있지만 출력 apt은 정렬되어 멋지게 형식화됩니다.
바이트 커맨더

-1

다른 답변에서 볼 수 있듯이 apt또는을 사용할 수 있습니다 apt-get. 내가 추가하고 싶은 apt것은 몇 년 전에 시도했을 때 충돌과 다른 방식으로 충돌을 해결한다는 것을 알았습니다 apt-get. 상황이 까다로울 때 (일부 패키지를 특정 버전으로 고정하거나, 패키지를 다운 그레이드하거나 다른 릴리스의 패키지를 혼합하여 사용 했음) apt일반적으로 많은 패키지를 제거하거나 해결 할 수 없었습니다. 충돌.

때문에 apt-get이러한 상황에서 훨씬 더이었다 그것이 어떤 단점을 가지고 있지 않았다, 나는 일어에 준 apt하고 사용 유지 apt-get하는 대신. 이것은 몇 년 전 이었으므로 변경되었을 수도 있지만 비슷한 상황이 발생하면 두 가지를 모두 시도하고 어느 것이 충돌을 더 잘 해결할 수 있는지 확인할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.