1 / 26

압축 , 업그레이드 , aptitude

압축 , 업그레이드 , aptitude. 08 진 준호 _ Wheel Seminar. 파일 묶기 & 압축하기. 파일 묶기 : 이동이나 백업 작업 등의 편의를 위해 여러 파일을 하나로 만드는 작업 (tar) 압축하기 : 특정 혹은 여러 파일의 저장 공간을 줄이는 작업 ( compress, gzip ). gzip. 압축 속도가 빠르고 효율적 gzip garbage.txt -> garbage.gz 의 형태로 압축 내용 저장 !!

shilah
Download Presentation

압축 , 업그레이드 , aptitude

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 압축, 업그레이드, aptitude 08 진 준호 _ Wheel Seminar

  2. 파일 묶기 & 압축하기 • 파일 묶기 : 이동이나 백업 작업 등의 편의를 위해 여러 파일을 하나로 만드는 작업 (tar) • 압축하기 : 특정 혹은 여러 파일의 저장 공간을 줄이는 작업 ( compress, gzip)

  3. gzip • 압축 속도가 빠르고 효율적 • gzipgarbage.txt -> garbage.gz의 형태로 압축 내용 저장 !! (압축 성공 시 원본 파일 ㅂㅂ//) • gzip으로 압축할 파일 여러 개 지정 시 -> 각각 gz확장자를 가진 파일로 저장 !!

  4. gunzip • 원본 파일을 얻고 싶을 땐? -> gunzip (gzip –d) !! • gunzip으로 나온 파일은 원본 파일과 동일 (이번엔 압축 파일 ㅂㅂ//) • gunzip –N : 원래의 파일명으로 압축 파일 풀어줌 ex) gzipgarbage.txt mvgarbage.txt.gzrubbish.txt.gz gunzip –N rubbish.txt.gz -> garbage.txt !!

  5. gzip • gzip은 표준 입/출력으로 데이터를 압축/해제 가능 ex) ls –laR $HOME | gzip.filelist.gz ex) gunzip –c filelist.gz | more (gunzip –c : 압축된 파일 삭제 no, 내용 확인 가능) -> zcat

  6. gzip • -1 ~ -9 까지의 옵션 -1 : 빠르지만 비효율적 -9 : 느리지만 최고의 압축 효율 -6 : 기본값 -> 하지만 gunzip은 어떤 옵션으로 파일을 압축했는지 그런거 신경 안 씀 !!

  7. compress • Filename.Z • 좀 더 효율적인 알고리즘 • gzip은 .Z 포맷의 압축을 풀 수 있다 !!

  8. bzip2 • gzip보다 평균 10~20% 뛰어난 압축률 !! • 하지만 시간이 오래 걸린다 ...... ㅇ<-< • Filename.bz2 • gzip으로 압축한 것은 bunzip2로 풀 수 없다 !!!!! (그 반대도 마찬가지)

  9. tar • tar functionoptions files … • Function : 수행할 작업을 지시하는 단일 명령 -> 자주 쓰이는 것 c : 새로운아카이브의 생성 x :아카이브로부터 파일 추출 t : 아카이브에 담긴 내용 나열 -> 그 외 r : 아카이브의 마지막 부분에 파일 추가 u : 아카이브에 있는 기존 파일보다 새로운 파일 갱신 d : 아카이브에 있는 파일과 비교

  10. tar • Option : 기능에서처리할 기능(단일문자)의 목록 -> 자주 쓰이는 옵션 v : 파일을묶거나 풀 때 다양한 정보 출력 k : 기존의 파일 보존 (덮어쓰기 no) f filename : 읽거나기록할 tar 파일 정의 z : gzip으로 압축하도록 지시 j : bzip2로 압축하도록 지시 (구버전x) • Ex) tar cfmt.tarmt(* : 디렉토리 저장 x) • tar xvfmt.tar

  11. gip, bzip2& tar • tar cvf- files … | gzip -9 > tarfile.tar.gz • tar c(or x)vzftarfile.tar.gz files … • Bzip2를 사용하고 싶을 때 : 압축프로그램 지정 : tar cvftarfile.tar.bz2 –use-compress-program=bzip2 files … -> tar cvjftarfile.tar.bz2 files • bash : .bashrc파일에 다음 함수 포함시킨다 • tarc () { tar czvf $1.tar.gz $1 } • tarx () { tar xzvf $1 } • tart () { tar tzvf $1 }

  12. tar 트릭 • cd from-stuff tar cf - . | (cd ../to-stuff; tar xvf -) • From-stuff 디렉토리에서to-stuff디렉토리로미러 • 이 트릭을 사용, 한 머신의디렉토리트리를 다른 머신으로 전송 가능하다 !

  13. 소프트웨어 업그레이드 • 하루가 다르게 나오는 패치들 eee • 다받을 순 없다 ? 다 받을 필요가 없다 ! • When? : 중요한 버그 수정 or 해당 애플리케이션 업그레이드 등등…. • http://www.freshmeat.net or CD_ROM구독 !!

  14. 업그레이드 방법 ? • 라이브러리 업그레이드 • 공유 라이브러리 • 정적 라이브러리(디버깅 위해 라이브러리 루틴 복사본 갖도록 컴파일) <-> 동적 라이브러리 • 정적 라이브러리 교체 • library.a : 새로운 버전으로 복사 • 동적 라이브러리 교체 • Library.so.version 1. 우선 .a 파일 덮어쓰기 2. 새로운 이미지 파일을 /lib에 복사 3. 새로운 라이브러리 가리키도록 심볼릭 링크 갱신 : ln –sf /lib/libncurses.so.5.4 /lib/libncurses.so.5 -> 심볼릭 링크를 먼저 삭제하지 않도록 주의 ! or 패망

  15. 업그레이드 방법 ? • 컴파일러 업그레이드 : C 컴파일러와 관련 유틸리티 -> ftp://ftp.gnu.org/pub/Linux/GCC -> root 권한으로 몇 개의 tar 파일 풀고 기타 파일 삭제 -> gcc –v 로 현재 컴파일러 버전 확인 !

  16. 업그레이드 절차 • 다양한 방식 ~ RPM 패키지 시스템, 데비안 패키지 시스템, 수동으로 하기. • 패키지 • 장점 • 내려 받은 하나의 파일 안에 모든 것이 들어 있다 ! • 다른 패키지 건드리지 않고 한 패키지 완전 삭제 가능 ! • 의존성 데이터베이스 유지 및 자동 의존성 검사 ! • 단점 • 모든 것을 패키지를 통해 설치해야 한다 ! • 서로 다른 패키지 시스템 섞어 쓰는 것도 좋지 않다 ! -> 의존성 유지를 위해서…

  17. dpkg & apt • dpkg : 가장 널리 쓰이는 패키지 관리자 (.deb패키지 관리), 저수준인터페이스 • 대부분의 기능은 apt 통합 프로그램으로 처리

  18. dpkg • -i : 설치 (의존성에 문제 있다면 경고 메시지 띄움) • 패키지 설치 & 업그레이드 모두 i(install) 옵션 사용 !! • -r : 삭제 ** -P : 또한 삭제 ! 하지만 –r 은 설정파일을 남기는 반면, -P는 모두 지운다 !! • -l : 어떤 패키지들이 설치되어 있는지 확인 • --audit : 시스템에서 잘못된 점과 수정 방법 확인 • --search : 특정 파일이 속한 패키지 검색 • --status : 패키지 정보 표시 • --info : .deb에 대한 정보 표시 • --contents : .deb안에 있는 파일과 디렉토리 목록 나열

  19. apt • Advanced Package Tool • 가장 중요한 기능 : 의존성 해결 • 가장 유용한 명령 : apt-get • 사용 가능한 패키지 목록(패키지 캐시) 관리 • 의존성 문제 해결 • 패키지 설치 • apt-get update : 갱신 내용 알려 준다. • apt-get upgrade : 자동으로 업그레이드 • 하지만 자동으로 업그레이드가 안 된다면 ?????

  20. apt • apt-get install upgrade 실패한 패키지 이름 • 업그레이드 완료 및 의존성 문제 해결 ! • 또 다른 기능 apt-cache : 저장 공간에 들어 있는 패키지 정보를 찾을 수 있게 해주는 기능. • apt-cache search “~~~” : 키워드 검색 • apt-cache show : 더 자세히 보고 싶을 때 !

  21. 기타 소프트웨어 업그레이드 • 최신 배포판 필요 : 바이너리 배포판, 소스 배포판 • 1. 바이너리 배포판-> tar 파일을 풀어서 사용 ** 예전 버전의 파일과 지원 파일(새로운 tar 파일에 의해 덮어쓰기되지 않은 파일들)은 반드시 지워준다 !! or 예전 버전 실행 !! • 2. 소스 배포판 • 바이너리에 비해 더 쉽고 좋은 방법 : 코드 검사 가능

  22. 소스 배포판 • 바이너리에 비해서 귀찮다; 1. 소스를 별도 디렉토리에 푼다. 2. README, INSTALL 파일 읽거나 설치 지시 파일 읽는다. 3. 기본적인 프로그램 빌드 방법 - Makefile점검 (컴파일러를 제어하는 make에 대한 지시사항, 시스템에 맞게 일부 편집 필요) - 프로그램과 관련된 다른 파일 편집 - 설정 스크립트 실행 : Makefile없고 Makefile.in과 configure라는 파일이 있는 경우 -> autoconf시스템을 사용하여 빌드->./configure - make 실행 (man install : 컴파일후 시스템에 실행 파일과 지원 파일을 설치)

  23. Aptitude - 패키지 관리 명령

  24. Aptitude • aptitude install/remove : 패키지 설치/ 제거참고) aptitude purge: 패키지 제거(환경 설정 파일도 함께 삭제) • aptitude search : 로컬 apt 패키지 리스트 검색 • aptitude update : 로컬 apt 패키지 리스트 갱신 • aptitude upgrade : 설치된 모든 패키지 업그레이드 • aptitude clean : 패키지 캐쉬디렉토리에서기존에 다운로드한모든 패키지 파일들 삭제 • aptitude dist-upgrade : 설치된 모든 패키지 업그레이드(필요하다면 특정 패키지를 제거하거나 설치) • aptitude show : 패키지에 대한 자세한 정보 보여줌 • aptitude autoclean : 기존에 다운로드 받은 패키지 파일들 중 구식 패키지 파일들 삭제 • aptitude hold : 패키지를 현재의 버전으로 유지하며, 업그레이드 하지 않는다.

  25. Aptitude

More Related