사용자 도구

사이트 도구


linux:apt

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
linux:apt [2021/03/31 22:24]
kwon37xi
linux:apt [2022/12/05 21:16]
kwon37xi [Linux apt (Advanced Packaging Tool) 및 Debian 계열 패키지 관리]
줄 4: 줄 4:
   * [[linux:ubuntu:package_management|Ubuntu 패키지 관리]]   * [[linux:ubuntu:package_management|Ubuntu 패키지 관리]]
   * [[linux:apt_offline|apt-offline]]   * [[linux:apt_offline|apt-offline]]
 +  * [[linux:deb_get|deb-get]]
 +  * [[linux:aptitude|aptitude]]
 +  * [[linux:nala|nala]]
 +  * [[linux:debian:makedeb_mpm|makedeb / mpm]]
 +
 +===== 설치 =====
 +<code sh>
 +sudo apt install <packagename>
 +
 +sudo apt install <packagename>=<version>
 +# apt-mark hold 로 버전 고정
 +</code>
  
 ===== 검색 ===== ===== 검색 =====
줄 29: 줄 41:
 ===== cache clean ===== ===== cache clean =====
 <code sh> <code sh>
-sudo apt-get clean+# 캐시 삭제 
 +sudo apt clean --dry-run # 일단 확인만 
 +sudo apt clean 
 + 
 + 
 +# 새 버전이 존재하는 패키지는 cache에서 지운다. 
 +sudo apt autoclean --dry-run # 일단 확인만 
 +sudo apt autoclean
 </code> </code>
  
줄 43: 줄 62:
  
 ===== 특정 패키지의 저장소 정보 ===== ===== 특정 패키지의 저장소 정보 =====
 +  * 존재하는 모든 버전과 해당 저장소 목록을 볼 수 있다.
 <code sh> <code sh>
 apt-cache policy [package-name] apt-cache policy [package-name]
줄 63: 줄 83:
  
 ===== apt-mark ===== ===== apt-mark =====
-  * 특정 버전으로 고정+  * 특정 버전으로 고정. 업그레이드를 망지한다.
  
 <code sh> <code sh>
-# 현재 설치 버전으ㄹ 고정+# 현재 설치 버전으로 고정
 sudo apt-mark hold jenkins sudo apt-mark hold jenkins
  
 # 고정 풀기 # 고정 풀기
-sudo apt-mark unhold jenkins+sudo apt-mark unhold jenkins 
 + 
 +# 고정 목록 
 +sudo apt-mark showhold
 </code> </code>
 +  * 기타 방법 - [[https://askubuntu.com/questions/18654/how-to-prevent-updating-of-a-specific-package|updates - How to prevent updating of a specific package? - Ask Ubuntu]]
 +  * ''synaptic''에서 **Package -> Lock Version** 메뉴로도 가능.
 +<code sh>
 +# dpkg
 +echo "<package-name> hold" | sudo dpkg --set-selections # hold
 +echo "<package-name> install" | sudo dpkg --set-selections # unhold
 +dpkg --get-selections # 상태 조회
 +dpkg --get-selections <package-name> # 특정 패키지 상태조회
 +dpkg --get-selections | grep "\<hold$" # hold 목록
  
 +# aptitude
 +sudo aptitude hold <package-name>
 +sudo aptitude unhold <package-name>
 +</code>
 ===== Aptik ===== ===== Aptik =====
   * http://www.teejeetech.in/2014/09/aptik-v16.html   * http://www.teejeetech.in/2014/09/aptik-v16.html
줄 78: 줄 114:
 ===== Pinning ===== ===== Pinning =====
   * [[https://help.ubuntu.com/community/PinningHowto|Pinning HowTo]]   * [[https://help.ubuntu.com/community/PinningHowto|Pinning HowTo]]
 +
 +===== apt-key =====
 +<code sh>
 +man apt-key 8
 +</code>
 +  * ''apt-key'' 명령은 deprecated 상태라고 보면 된다. 아래와 같은 명령을 사용한다면 후자로 변경해줘야 한다.
 +<code sh>
 +wget -qO- https://myrepo.example/myrepo.asc | sudo apt-key add -
 +wget -qO- https://myrepo.example/myrepo.asc | sudo tee /etc/apt/trusted.gpg.d/myrepo.asc
 +</code>
 +  * 명시적 ''signed-by'' 키의 경우 **''/etc/apt/keyrings/''** 아래에 저장하고 repository source 파일에 ''deb [signed-by=/usr/share/keyrings/filename.gpg] ...'' 처럼 지정해준다.
 +  * ASCII armored 파일의 경우 파일 확장자가 **''.asc''** 여야 한다.
 +  * Open PGP 바이너리의 경우(''%%gpg --dearmor%%'' 로 저장했거나) **''.gpg''** 확장자로 저장해야 한다.
  
 ===== CheatSheet ===== ===== CheatSheet =====
줄 88: 줄 137:
   * [[http://www.hackgnar.com/2016/01/creating-remote-apt-package.html|hackgnar: Creating Remote APT Package Repositories on Github]]   * [[http://www.hackgnar.com/2016/01/creating-remote-apt-package.html|hackgnar: Creating Remote APT Package Repositories on Github]]
   * [[https://pmateusz.github.io/linux/2017/06/30/linux-secure-apt-repository.html|Personal DEB Package Repository using GitHub Pages | Building Pyramids]]   * [[https://pmateusz.github.io/linux/2017/06/30/linux-secure-apt-repository.html|Personal DEB Package Repository using GitHub Pages | Building Pyramids]]
 +
 +===== 가장 빠른 미러 찾기 =====
 +  * [[https://linuxconfig.org/how-to-select-the-fastest-apt-mirror-on-ubuntu-linux|How to select the fastest apt mirror on Ubuntu Linux - Linux Tutorials - Learn Linux Configuration]]
  
 ===== 참조 ===== ===== 참조 =====
줄 93: 줄 145:
   * [[https://askubuntu.com/questions/1093451/how-to-switch-apt-mirror-from-the-commandline|command line - How to switch APT mirror from the commandline? - Ask Ubuntu]]   * [[https://askubuntu.com/questions/1093451/how-to-switch-apt-mirror-from-the-commandline|command line - How to switch APT mirror from the commandline? - Ask Ubuntu]]
   * https://wiki.debian.org/PackageManagement   * https://wiki.debian.org/PackageManagement
 +  * [[https://www.ubuntupit.com/how-to-remove-broken-packages-in-ubuntu-linux/|How to Remove Broken Packages in Ubuntu Linux]]
linux/apt.txt · 마지막으로 수정됨: 2023/02/19 16:31 저자 kwon37xi