[개발] 지식/리눅스
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