RPM 과 debdebRPMapt-get 명령을 사용하면 의존성이 있는 패키지가 자동으로 설치됨
① 패키지의 이름
② 오리지널 패키지의 버전
③ 오리지널 패키지 버전을 데비안에 적용한 리버전 번호
④ 오리지널 또는 데비안 패키지를 우분투에 적용한 리비전 번호
⑤ 사용하는 시스템 아키텍처로, all은 시스템의 종류와 상관없이 사용할 수 있는 것, amd64는 64비트 운영체제임을 의미
⑥ 확장자로 .deb를 사용
/etc/apt/sources.list.d/ubuntu.sources 파일에 저장되어 있는데 이 파일을 수정하면 저장소를 추가하거나 삭제할 수 있다
apt-cacheapt 캐시에 질의하여 여러가지 정보를 검색
기본형식 : apt-cache [옵션] 서브명령
옵션
-f: 검색 결과로 패키지에 대한 전체 기록을 출력
-h: 간단한 도움말을 출력
서브명령
stats : 캐시에 대한 통계 정보를 출력
dump : 현재 설치된 패키지를 업그레이드
search 키워드 : 캐시에서 키워드를 검색
showpkg 패키지명 : 패키지에 대한 의존성 정보와 역의존성 정보를 검색하여 출력
show 패키지명 : 패키지에 대한 간단한 정보를 출력
pkgnames : 사용 가능한 모든 패키지의 이름을 출력
apt-cache stats : apt 캐시 통계 정보 확인
apt-cache show vsftpd : vsftpd 패키지 간단한 정보 확인 (패키지가 있는지 확인할 때 사용)
apt-cache pkgnames : 사용가능한 패키지 이름 확인
apt-get 또는 apt패키지 저장소를 업데이트하고 패키지를 설치하거나 제거할 수 있음
기본 형식 : apt-get [옵션] 서브명령
옵션 :
-d : 패키지 내려받기
-f : 의존성이 깨진 패키지를 수정하려고 시도
-h : 도움말
서브명령
update : 패키지 저장소에서 새로운 패키지 정보를 가져옴
upgrade : 현재 설치된 패키지를 업그레이드
install 패키지명 : 패키지를 설치
remove 패키지명 : 패키지를 삭제
purge 패키지명 : 패키지를 삭제(설정파일도 삭제)
download 패키지명 : 패키지를 현재 디렉토리로 내려받기
autoclean : 불완전하게 내려받았거나 오래된 패키지를 삭제, 불필요한 패키지 자동정리
clean : /var/cache/apt/archives에 캐시되어 있는 모든 패키지를 삭제하여 디스크 공간을 확보
check : 의존성이 깨진 패키지를 확인
sudo apt install xterm : xterm 패키지 설치
sudo apt install xterm goaccess : 여러개 설치하고 싶을 때 (xterm, goaccess)
sudo apt install xterm --no-upgrade : 업그레이드를 하지 않고자 하는경우
sudo apt install xterm --only-upgrade : 업그레이드를 하고자 하는 경우
sudo apt remove xterm : xterm 패키지 삭제
sudo apt purge xterm : 패키지를 삭제할 때 설정 파일까지 같이 삭제
sudo apt --download-only source 패키지이름 : 소스코드를 다운로드 받기
sudo apt source 패키지이름 : 소스코드를 다운로드 받아서 압축을 푸는 경우
sudo apt --compile source 패키지이름 : 소스코드를 다운로드 받아서 압축을 풀고 컴파일까지 수행
python3-uno 패키지 설치
sudo apt install python3-uno설치된 패키지 정보 확인
sudo apt-cache show python3-unoyum이나 dnf 명령과 비슷하게 인터넷이 연결된 환경에서 패키지를 자동으로 설치하는 명령
fedora의 rpm과 같은 명령
apt 명령도 내부적으로는 dpkg 명령을 사용
일반적으로 패키지를 설치할 때 APT 명령을 사용하면 되지만 시스템의 특정 파일이 어느 패키지에 속했는 지를 확인하는 등 보다 세부적인 기능을 사용하려면 dpkg 명령이 필요
기본 형식 : dpkg [옵션] 파일명 또는 패키지이름
옵션:
-l : 설치된 패키지의 목록을 출력
-l 패키지명 : 패키지의 설치 상태를 출력
-s 패키지명 : 패키지의 상세 정보를 출력
-L 패키지명 : 패키지에서 설치된 파일의 목록을 출력
-c .deb 파일 : 지정한 .deb 파일의 내용을 출력
-i .deb 파일 : 해당 파일을 설치 (sudo)
-r 패키지명 : 해당 패키지를 삭제 (sudo)
-P 패키지명 : 해당 패키지와 설정 정보를 모두 삭제(sudo)
-x .deb 파일 디렉토리 : 해당 파일을 지정한 디렉토리에 풀어놓기
sudo apt download libutempter0 : 내려받기
ls
sudo dpkg -i libutempter0_1.2.1-3build1_amd64.deb : deb파일 설치
apt 명령처럼 패키지 관리를 자동화 하여 쉽게 작업할 수 있도록 도와줌apt-get 명령과 유사aptitude 명령의 또 다른 특징은 옵션이나 서브 명령 없이 실행할 경우 curses를 이용한 비주얼 모드로 동작한다는 것
기본형식 : aptitude [서브명령]
서브 명령:
단독 실행: curses 프로그램이 나타남
search 키워드 : 키워드를 검색하여 일치하는 패키지 목록을 출력
update : 패키지 저장소를 업데이트
upgrade : 모든 패키지를 최신 버전으로 업그레이드
show 패키지명 : 패키지에 대한 자세한 정보를 출력
download 패키지명 : 패키지를 내려받기
clean : 패키지 캐시 디렉토리에서 모든 패키지 파일을 삭제
install : 패키지를 설치
remove : 패키지를 삭제
purge : 패키지와 설정 파일을 모두 삭제
우분투 16.04버전에서 등장한 새로운 패키지 형식
샌드박스 형식 으로 만든 패키지 형식
공유 파일을 사용하지 않기 때문에 독립적으로 사용이 가능하고, 외부에서 받은 파일이 보호된 영역에서 실행되므로 외부 파일이 내부 시스템에 악영향을 주는 것을 방지하는 보안 기술
스마트폰은 전부 샌드박스 형태의 앱이 설치됨
장점
단점
기본형식 : snap [옵션] 명령
옵션:
-h : 도움말을 출력명령:
disable : 스냅 서비스와 실행 파일의 사용을 중지
download 스냅명 : 지정한 스냅 패키지 내려받기
enable : 스냅 서비스와 실행 파일의 사용을 시작
find 스냅명 : 지정한 스냅을 검색
info 스냅명 : 지정한 스냅의 상세 정보를 출력
install 스냅명 : 지정한 스냅을 설치
list : 설치한 스냅의 목록을 출력
remove 스냅명 : 지정한 스냅을 삭제
snap listsudo snap install hello-world
snap find hello-worldhello-world : Hello World! 출력하는 프로그램
ls /snap
snap info hello-world
sudo snap remove hello-worldsnap find game gog-galaxy-wine 이라는 게임 설치ls /snapsnap info gog-galaxy-winesudo snap remove gog-galaxy-wine기본 형식 : tar 기능 [옵션] [아카이브파일] [파일명]
기능 :
c : 새로운 tar 파일을 생성
t : tar 파일의 내용을 출력
x : tar 파일에서 원본 파일을 추출
r : 새로운 파일을 추가
u : 수정된 파일을 업데이트
옵션 :
f : 아카이브 파일 이름이나 테이프 장치를 지정하는데, 파일명을 - 으로 지정하면 tar 파일 대신 표준 입력에서 읽어들임
v : 처리하고 있는 파일의 정보를 출력
h : 심볼릭 링크의 원본 파일을 포함
p : 파일 복구 시 원래의 접근 권한을 유지
j : bzip2로 압축하거나 해제
z : gzip으로 압축하거나 해제
자주 사용하는 옵션 :
아카이브 생성하기: cvf 옵션
아카이브의 압축 해제: xvf 옵션
아카이브의 내용 확인하기: tvf 옵션
아카이브 업데이트하기: uvf 옵션
아카이브에 파일 추가하기: rvf 옵션
mkdir one two three four five six🔸 아카이브 생성
one 디렉토리를 sample1.tar로 아카이브
tar cvf sample1.tar one

🔸 아카이브 내용 확인
tar tvf sample1.tar

🔸 아카이브에 압축 풀기
tar xvf sample1.tar
🔸 아카이브 one폴더 업데이트
1. touch one/data : 파일 생성
2. tar uvf sample1.tar one : 기존 파일에 업데이트

🔸아카이브에 two 파일추가
tar rvf sample1.tar two
🔸 아카이브 생성 시 gzip으로 압축하기
gz를 추가하는 경우가 많음tar czvf sample1.tar.gz one
🔸 아카이브 생성 시 bzip2으로 압축하기
tar cvjf two.tar.bz2 two
형식 : gzip [옵션] [파일경로]
옵션 :
-d : 파일 압축을 해제
-l : 압축된 파일의 정보를 출력
-r : 하위 디렉터리를 탐색하여 압축
-t : 압축 파일을 검사
-v : 압축 정보를 화면에 출력
-9 : 최대한 압축
1. test 폴더에 파일 만들기
cp /etc/services .
cp /etc/hosts .

2. 아카이브 용량 확인
tar cvf test.tar test
ls -l
services파일과 hosts 파일의 용량을 합친 것 보다 아카이브 용량이 더 크다

3. 아카이브를 gzip 해서 용량 확인
gzip test.tar
ls -l
아카이브일 때 용량 20480, gz용량 5706으로 사이즈가 많이 줄었다

4. 압축된 파일의 내용 보기
zcat test.tar.gz | more
압축된 파일의 내용을 볼 수 있다
5. 압축 풀기
# 1번방법
gzip -d test.tar.gz
# 2번방법
gunzip test.tar.gz

gzip에 비해 압축률이 좋지만 속도가 느림
형식 : bzip2 [옵션] [파일경로]
옵션 :
-d : 파일 압축을 해제
-l : 압축된 파일의 정보를 출력
-t : 압축 파일을 검사
-v : 압축 정보를 화면에 출력
--best : 최대한 압축
1. 아카이브를 bzip2 해서 용량 확인
bzip2 test.tar
ls -l
사이즈가 작기 때문에 많이는 차이나지 않지만 gzip을 했을 때 용량보다 bzip2를 했을 때 용량이 더 작다

5. 압축 풀기
# 1번방법
bzip2 -d test.tar.bz2
# 2번방법
bunzip2 test.tar.bz2