OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 우분투 패키지 설치 - APT명령(2)(apt-get) - update, upgrade, install, remove, autoremove, clean, download, source

주누다 2015. 4. 21. 00:03
반응형

apt-get 명령

- 'apt-get' 명령을 사용하여 패키지 저장소를 업데이트하고 패키지를 설치하거나 제거할 수도 있음


apt-get

- 기능 : 패키지를 관리

- 형식 : apt-get [옵션] 서브 명령

- 옵션 :

 * '-d' : 패키지를 내려받기만 함

 * '-f' : 의존성이 깨진 패키지를 수정하려고 시도함

 * '-h' : 간단한 도움말을 출력함

- 서브 명령 :

 * 'update' : 패키지 저장소에서 새로운 패키지 정보를 가져옴

 * 'upgrade' : 현재 설치되어 있는 패키지를 업그레이드 함

 * 'install 패키지명' : 패키지를 설치함

 * 'remove 패키지명' : 패키지를 삭제함

 * 'download 패키지명' : 패키지를 현재 디렉터리에 내려받음

 * 'autoclean' : 불완전하게 내려받았거나 오래된 패키지를 삭제함

 * 'clean' : '/var/cache/apt/archives' 에 캐시되어 있는 모든 패키지를 삭제하여 디스크 공간을 확보함

 * 'check' : 의존성이 깨진 패키지를 확인함

- 사용 예 : apt-get update, apt-get install vsftpd, apt-get clean

1) 패키지 정보 업데이트 하기 : update

- 'update' 서브 명령은 '/etc/apt/sources.list' 에 명시한 저장소에서 패키지 정보를 읽어 동기화

- 쉽게 말해 새로운 패키지 정보를 가져와 APT 캐시를 수정하는 것

- '/etc/apt/sources.list' 파일을 수정했다면 => 'sudo apt-get update' 명령을 반드시 실행해야함

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get udpate

====================================================================



2) 패키지 업그레이드하기 : upgrade

- 현재 설치되어 있는 모든 패키지 중에서

  새로운 버전이 있는 패키지를 모두 업그레이드하려면 'upgrade' 서브 명령을 사용

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get upgrade
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
업그레이드를 계산하는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
다음 패키지를 업그레이드할 것입니다:
  gvfs gvfs-backends gvfs-bin gvfs-common gvfs-daemons gvfs-fuse gvfs-libs
7개 업그레이드, 0개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
681 k바이트 아카이브를 받아야 합니다.
이 작업 후 28.7 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n]

====================================================================



3) 특정 패키지 설치 또는 업그레이드 하기 : install

- 하나 이상의 패키지를 설치하거나 업그레이드할 때는 install 서브 명령을 사용

- 패키지는 패키지 저장소에서 내려받아 설치

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get install netcat
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
다음 패키지를 더 설치할 것입니다:
  netcat-traditional
다음 새 패키지를 설치할 것입니다:
  netcat netcat-traditional
0개 업그레이드, 2개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
68.4 k바이트 아카이브를 받아야 합니다.
이 작업 후 191 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n]

====================================================================


- 여러 패키지를 한 번세 설치하려면 패키지 이름을 나열하면 됨

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get install nethogs goaccess
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
다음 새 패키지를 설치할 것입니다:
  goaccess nethogs
0개 업그레이드, 2개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
78.3 k바이트 아카이브를 받아야 합니다.
이 작업 후 265 k바이트의 디스크 공간을 더 사용하게 됩니다.
받기:1 http://kr.archive.ubuntu.com/ubuntu/ trusty/universe nethogs amd64 0.8.0-1 [28.3 kB]
받기:2 http://kr.archive.ubuntu.com/ubuntu/ trusty/universe goaccess amd64 1:0.6-1 [50.0 kB]
내려받기 78.3 k바이트, 소요시간 0초 (367 k바이트/초)
Selecting previously unselected package nethogs.
(데이터베이스 읽는중 ...현재 235600개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../nethogs_0.8.0-1_amd64.deb ...
Unpacking nethogs (0.8.0-1) ...
Selecting previously unselected package goaccess.
Preparing to unpack .../goaccess_1%3a0.6-1_amd64.deb ...
Unpacking goaccess (1:0.6-1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
nethogs (0.8.0-1) 설정하는 중입니다 ...
goaccess (1:0.6-1) 설정하는 중입니다 ...
sjw-lenovo@sjwlenovo-Lenovo-U310:~$

====================================================================


- 패키지를 설치할 때 업그레이드를 하지 않으려면 '--no-upgrade' 옵션을 사용

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get install netcat --no-upgrade
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
netcat을(를) 건너 뜁니다. 이미 설치되어 있으며 업그레이드를 선택하지 않았습니다.
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
0개 업그레이드, 0개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
sjw-lenovo@sjwlenovo-Lenovo-U310:~$
====================================================================


-  반대로 새로운 패키지를 설치하지 않고 업그레이드만 할 때는 '--only-upgrade' 옵션을 사용

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get install netcat --only-upgrade
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
netcat 패키지는 이미 최신 버전입니다.
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
0개 업그레이드, 0개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
sjw-lenovo@sjwlenovo-Lenovo-U310:~$ 

====================================================================



4) 패키지 삭제하기 : remove

- 설치되어 있는 패키지를 삭제할 때는 'remove' 서브 명령을 사용

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get remove netcat
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
  netcat-traditional
Use 'apt-get autoremove' to remove them.
다음 패키지를 지울 것입니다:
  netcat
0개 업그레이드, 0개 새로 설치, 1개 제거 및 0개 업그레이드 안 함.
이 작업 후 30.7 k바이트의 디스크 공간이 비워집니다.
계속 하시겠습니까? [Y/n] y
(데이터베이스 읽는중 ...현재 235612개의 파일과 디렉터리가 설치되어 있습니다.)
Removing netcat (1.10-40) ...
sjw-lenovo@sjwlenovo-Lenovo-U310:~$
====================================================================


- 'remove' 서브 명령은 패키지를 삭제할 때 해당 패키지의 설정 파일을 남겨둠.

- 나중에 같은 패키지를 설치할 때 재활용하기 위함

- 만약 설정 파일을 포함하여 패키지를 삭제하려면 'purge' 서브 명령을 사용

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get purge netcat
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
Package 'netcat' is not installed, so not removed
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
  netcat-traditional
Use 'apt-get autoremove' to remove them.
0개 업그레이드, 0개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
sjw-lenovo@sjwlenovo-Lenovo-U310:~$ 

====================================================================



5) 패키지 자동 정리 및 삭제하기 : autoremove

- 4)번을 보면 더 이상 필요 없는 netcat-traditional 패키지가 있다는 메시지가 출력

- 이처럼 자동으로 설치되었으나 필요 없는 패키지는 'autoremove'  서브 명령으로 정리 가능

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get autoremove
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
다음 패키지를 지울 것입니다:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
  netcat-traditional
0개 업그레이드, 0개 새로 설치, 5개 제거 및 0개 업그레이드 안 함.
이 작업 후 271 M바이트의 디스크 공간이 비워집니다.
계속 하시겠습니까? [Y/n] y
(데이터베이스 읽는중 ...현재 235609개의 파일과 디렉터리가 설치되어 있습니다.)
Removing linux-headers-3.13.0-32-generic (3.13.0-32.57) ...
Removing linux-headers-3.13.0-32 (3.13.0-32.57) ...
Removing linux-image-extra-3.13.0-32-generic (3.13.0-32.57) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-32-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-49-generic
Found initrd image: /boot/initrd.img-3.13.0-49-generic
Found linux image: /boot/vmlinuz-3.13.0-48-generic
Found initrd image: /boot/initrd.img-3.13.0-48-generic
Found linux image: /boot/vmlinuz-3.13.0-32-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
  No volume groups found
done
The link /initrd.img.old is a damaged link
Removing symbolic link initrd.img.old
 you may need to re-run your boot loader[grub]
Removing linux-image-3.13.0-32-generic (3.13.0-32.57) ...
Examining /etc/kernel/prerm.d.
run-parts: executing /etc/kernel/prerm.d/dkms 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-32-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-49-generic
Found initrd image: /boot/initrd.img-3.13.0-49-generic
Found linux image: /boot/vmlinuz-3.13.0-48-generic
Found initrd image: /boot/initrd.img-3.13.0-48-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
  No volume groups found
done
The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old
 you may need to re-run your boot loader[grub]
Removing netcat-traditional (1.10-40) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
sjw-lenovo@sjwlenovo-Lenovo-U310:~$
====================================================================



6) 디스크 공간 정리하기 : clean

- 검색했거나 내려받은 패키지 파일들을 삭제하고 디스크 공간을 정리

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get clean
sjw-lenovo@sjwlenovo-Lenovo-U310:~$
====================================================================



7) 패키지 내려받기 : download

- 패키지를 설치하지 않고 내려받기만 하려면 'download' 서브 명령을 사용

====================================================================

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get download netcat
받기:1 http://kr.archive.ubuntu.com/ubuntu/ trusty/universe netcat all 1.10-40 [3,340 B]
내려받기 3,340 바이트, 소요시간 0초 (33.9 k바이트/초)
sjw-lenovo@sjwlenovo-Lenovo-U310:~$

====================================================================



8) 패키지의 소스 관련 서브 명령 : source

- 보통의 경우 바이너리 패키지를 설치

- 때에 따라서는 패키지의 소스코드로 작업해야하는 경우가 있음


- 특정 패키지의 소스코드를 내려받기만 하는 경우

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get --download-only source 패키지명


- 특정 패키지의 소스코드를 내려받고 압축을 푸는 경우

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get source 패키지명

- 특정 패키지의 소스코드를 내려받아 압축을 풀고 컴파일하는 경우

sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo apt-get -compile source 패키지명




반응형