[개발] 지식/리눅스

apt와 apt-get의 차이

하하미아 2022. 12. 9. 11:46

apt는 Advanced Packaging Tool의 약자로써 리눅스 배포판의 시초인 데비안의 패키지 시스템을 일컫습니다. 데비안 계열인 ubuntu나 Mint 등의 OS에서, apt를 준수하면서 패키지를 설치하고 제거하는 등의 용도로 만든게 apt-get, aptitude, apt-cache와 같은 툴입니다. 그런데 이렇게 툴들이 다양화해지고 이것저것 기능들과 옵션들이 추가되다 보니 오히려 사용이 복잡해지고 사용자에게 혼동을 주기 시작했습니다. 결국 apt-get이나 apt-cache 등에서 필요한 기능과 옵션들만 추출한 apt가 생겨나게 되었습니다. (apt는 우분투 16.04가 런칭된 2016년 부터 사람들에게 알려지기 시작했다고 합니다)

많이들 사용하시는 패키지 매니징 툴은 apt와 apt-get일텐데요, 결론적으로 말씀드리면 내부적인 동작 차이는 거의 없기 때문에 둘 다 사용하셔도 문제는 없습니다. 하지만 편의성 측면에서 약간의 차이는 있습니다.

apt

  • 더 예쁘게 출력되고, 추가적인 정보를 제공
  • 예를들면 패키지 설치시 프로그레스 라든지.. 등등 시각화 측면에서 더 우수
  • apt-get보다 더 적은 기능. 하지만 중요하고 꼭 필요한 기능은 모두 포함
$ apt --help
Most used commands:
  list - list packages based on package names
  search - search in package descriptions
  show - show package details
  install - install packages
  reinstall - reinstall packages
  remove - remove packages
  autoremove - Remove automatically all unused packages
  update - update list of available packages
  upgrade - upgrade the system by installing/upgrading packages
  full-upgrade - upgrade the system by removing/installing/upgrading packages
  edit-sources - edit the source information file
  satisfy - satisfy dependency strings

apt-get

  • 오래된 역사만큼 다양한 명령어와 옵션 제공
  • 오래되었기 때문에 더 안정적이고 호환성 우수
$ apt-get --help
Most used commands:
  update - Retrieve new lists of packages
  upgrade - Perform an upgrade
  install - Install new packages (pkg is libc6 not libc6.deb)
  reinstall - Reinstall packages (pkg is libc6 not libc6.deb)
  remove - Remove packages
  purge - Remove packages and config files
  autoremove - Remove automatically all unused packages
  dist-upgrade - Distribution upgrade, see apt-get(8)
  dselect-upgrade - Follow dselect selections
  build-dep - Configure build-dependencies for source packages
  satisfy - Satisfy dependency strings
  clean - Erase downloaded archive files
  autoclean - Erase old downloaded archive files
  check - Verify that there are no broken dependencies
  source - Download source archives
  download - Download the binary package into the current directory
  changelog - Download and display the changelog for the given package