1 / 34

소프트웨어 설치와 활용

2003 Fall. 소프트웨어 설치와 활용. 주 홍 택 컴퓨터공학과 계명대학교. 압축과 풀기. 파일의 크기를 줄이고 다시 복원하는 작업 적은 용량의 디바이스에 저장하거나 네트워크를 통하여 전달하기에 효율적으로 하기 위하여 소프트웨어 설치나 업그레이드시 기본적으로 필요한 작업 백업이나 이나 복사를 위해서 사용하기도 함. gzip 대표적인 옵션. bzip2 프로그램의 옵션 “ bzcat ” 명령어는 현재 압축된 파일의 내용을 볼 수 있도록 함. 파일 묶기 (tar).

gaenor
Download Presentation

소프트웨어 설치와 활용

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. 2003 Fall 소프트웨어 설치와 활용 주 홍 택 컴퓨터공학과 계명대학교

  2. 압축과 풀기 • 파일의 크기를 줄이고 다시 복원하는 작업 • 적은 용량의 디바이스에 저장하거나 네트워크를 통하여 전달하기에 효율적으로 하기 위하여 • 소프트웨어 설치나 업그레이드시 기본적으로 필요한 작업 • 백업이나 이나 복사를 위해서 사용하기도 함

  3. gzip 대표적인 옵션

  4. bzip2 프로그램의 옵션 • “bzcat”명령어는 현재 압축된 파일의 내용을 볼 수 있도록 함

  5. 파일 묶기 (tar) • 여러 개의 파일에 대하여 허가권이나 소유권을 유지하면서 하나의 파일로 묶는 아카이브(archive) 유틸리티 • 여러 개의 파일을 묶은 다음 압축하는 것이 일반적인 백업 및 프로그램 배포 형태임 • 명령의 형식은 Tar functionoptions archive-file target-files

  6. 파일 묶기 (tar) 옵션 • tar 가 제공하는 주요 옵션

  7. 파일 묶기 (tar) 사용예 • Source 디렉토리 전체를 묶기 tar cvf source.tar source • 묶은 파일을 압축하기 gzip source.tar • 압축을 해제하기 gunzip source.tar.gz • 묶은 파일에 담긴 파일 이름 보기 tar tvf source.tar • 묶은 파일에서 내용 풀기 tar xvf source.tar

  8. 파일 묶기 (tar)를 유용하게 사용하기 • gzip과 함께 사용하기 tar cvf – files | gzip –9 > tarfile.tar.gz • 묶을 결과를 표준 입출력을 사용하여 곧바로 압축할 수 있음 • 시간을 절약과 함께 중간 결과를 저장하기 위한 공간 불필요 gunzip –9c tarfile.tar.gz | tar xvf – • 물론 압축을 해제한 후 곧바로 풀기 실행 tar(gtar) cvzf tarfile.tar.gz files… • 링크 상태를 유지한 복사(cf: cp command) tar cf source | (cd ../juht; tar xvf - )

  9. 도스용 압축유틸리티(rar) • rar 유틸리티는 크게 명령어(Command)와 스위치(Switch) 로 구성 • 명령어는 압축, 풀림 등 기본적인 동작을 제어하고, 스위치는 여기에 세부적인 사항을 조정 • 압축시에는 “a”옵션을 사용 • 현재 파일의 내용과 이상 유무를 확인하기 위해서는 ”t”옵션을 사용 • 압축된 파일을 해제하기 위해서는 “x”옵션을 사용

  10. 기타 압축 유틸리티(compress) • 리눅스에서는 그다지 사용하지는 않지만 또 다른 압축 유틸리티인 compress을 제공 • 압축이 완료되면 기존 파일이 없어지면서 확장자가 “.Z"으로 생성된다. 압축된 파일의 용을 보기 위해서는 zcat 명령어를 사용 • 압축 파일을 풀기 위해서는 uncompress를 사용 • uncompress 명령도 단독으로는 별로 쓰이지 않고 위에서 배운 tar 명령어와 함께 대부분 사용

  11. 소프트웨어 패키지(배포판) • 바이너리 패키지 • 일반적으로 공유 라이브러리 사용 • 보안에 문제가 생길 수 있음 • 패키지 시스템 활용하여 설치 쉬움: RPM • 소스 패키지 • 개선을 위한 개발에 이용가능 • 자신의 환경에 적합한 컴파일 가능 (컴파일러, OS…) • 컴파일 환경을 설정해야하는 등 설치 어려움

  12. 소스 패키지 설치 방법 • 압축해제 및 묶음 풀기(gunzip and tar) • README 파일 읽기 • 설정 스크립트 ./configure 실행 • Makefile.in 이 입력으로 사용됨 • Makefile 점검 • config.h 점검 • Make를 실행 • make • make install (root 권한 필요) • make test • Boot sequence에 넣기 • 초기화 스크립트를 /etc/rc.d/init.d에 넣기 • /etc/rc.d/rc5.d 에서 소프트링크 연결 • /etc/profile에 패스 연결 및 환경 변수 설정

  13. RPM 이란? • RPM 패키지 혹은 프로그램이란 약어에서도 알 수 있듯이, RedHat Package Manager를 가르킴 • 어떤 특별한 의미가 있다기보다는 레드햇사에서 만들어낸 패키지 관리 툴이란 의미 • 현재 RPM은 www.rpm.org에서 GPL(GNU General Public License)하에서 자유롭게 공개, 개발되고 있음 • 이젠 레드햇 패키지 관리 툴이라고 하기보다는 RPM Package Manager의 RPM이라고 하는 것이 바람직할 것이다. RPM은 레드햇 리눅스에서 기본으로 사용되는 패키지 관리 툴이며, RPM과 소스 형태로 배포된다.

  14. RPM 홈페이지 • www.rpm.org

  15. RPM 실행 • 설치 파일과 설치 정보를 같이 가지고 있슴 • 설치될때 설치 정보를 시스템의 설치 데이타베이스에 갱신 • 의존성 추적으로 설치 요구조건 검증 및 제거시 사용 현황 파악 • rpmfind.net에 거의 모든 rpm 파일이 존재함

  16. RPM의 사용 • 패키지 자동설치 및 제거 • 업그레이드 기능 • 패키지 검증 • 패키지 정보 검색

  17. RPM 팩키지 파일명 - 팩키지 이름(Package name) 팩키지 이름을 나타내는 것으로 우리가 보통 말하는 실행 프로그램 명 - 버전(Version) 현재 팩키지의 버전을 나타냄. - 릴리즈(Release) 이것은 현재 패키지가 몇 번째로 만들어 졌는가를 나타내는 것으로 보통 패치 버젼을 나타냄. 예를 들어 릴리즈 번호가 10이면 10 번에 걸쳐 팩키징 했다는 뜻이며 숫자가 높을수록 최신 파일이고 그만큼 또 안정하다는 것을 나타내어 줌. - 사용되는 시스템의 아키텍쳐(Architecture)를 말함. 즉 어느 플랫폼에서 작동하는 가를 나타내어 줌. - 확장자 현재 팩키지가 RPM으로 만들어진 팩키지라는 것을 나타내어 줌.

  18. 팩키지 설치 및 제거 • RPM 패키지를 설치할 경우에는 -i 옵션을 사용 • 설치시 설치하는 과정을 보고 싶다면 -i 옵션과 함께 -v 옵션을 사용 • RPM 설치 시에도 설치경과 막대그래프를 보기 위해서는 -h 옵션을 사용 • RPM 팩키지를 설치할 때에는 -ivh 옵션을 같이 사용 • 에러에 대처하기 위한 방법에는 2가지 방법이 있는데 그 한가지는 --force 옵션 사용, 파일이 중복되는 경우에도 충돌이 일어날 수 있는데, 이때에는 --replacefiles 옵션을 사용 • 의존성을 무시하고 설치하려면 --nodeps를 사용 • 설치시와 마찬가지로 강제로 팩키지를 삭제하고자 할 때에는 --nodeps 옵션을 사용

  19. 업그레이드 • RPM 팩키지를 업그레이드하기 위해서는 앞에서 사용한 -i 옵션대신에 -U옵션을 사용 • 만약 업그레이드 할 때 설정 파일이 존재하면 그 파일을 백업파일인 .rpmsave로 저장하고 새로운 설정파일을 설치 • 한가지 설치 시 다른 점은 RPM이 자동적으로 구 버전의 팩키지를 제거한다는 점이다. 맨 처음 설치 할 때도 -U 선택사항을 써서 설치할 수도 있는데 이때에는 구 버전의 팩키지가 있으면 제거한 후 설치하고, 구 버전의 패키지가 없을 때에는 일반적인 설치를 하게 됨 • 사용자가 현재 설치된 버전보다 이전 버전의 패키지로 업그레이드를 시도하면 에러가 표시 • 만약 강제로 업그레이드를 하려고 하면 명령행에서 --oldpackages라는 옵션을 추가 • -F(Freshen) 옵션은 이미 설치된 패키지와 비교하여 오직 설치하고자 하는 패키지 버전이 높을 때에만 업그레이드를 수행

  20. 팩키지 정보 검색 • 팩키지 정보 관련 옵션

  21. 세부 제어 관련 옵션

  22. 팩키지 검증 • 팩키지 파일이 가지고 있는 파일들의 정보와 설치된 팩키지의 파일이 가진 정보를 이상이 없는지 비교해 보는 것을 말함 • 팩키지의 각각의 파일에 대해서 그룹, 소유자, 파일 형식, 허가권, MD5 체크섬, 크기를 비교하여 파일의 이상 여부를 검증할 수 있으며, 사용자가 실수로 삭제한 팩키지 파일이나 파일의 내용이 바뀌었을 때 이를 확인하여 출력해줌 • 사용형식

  23. 변경여부 판단

  24. RPM을 사용한 유용한 팁 • 어떤 파일이 어느 팩키지에 속해있는 가를 확인하기 위해서는 “-qf”명령어 사용 • 파일을 포함하고 있는 팩키지를 검증하고자 할 경우 “-Vf”명령어 사용 • 프로그램을 소유하고 있는 팩키지와 함께 매뉴얼이 있는 위치가 어딘지를 보여주는 “-qdf”명령어 사용 • RPM파일을 갖고 있는데 이 파일이 어떤 무슨 용도, 어떤 프로그램인지를 모를 때 “-qip”명령어사용 • 현재 설치하려는 RPM 파일의 목록을 확인하고자 하면 “–qlp”명령어 사용 • /var/lib/rpm 이 RPM의 데이터베이스임 • /usr/src/redhat/RPMS 에 RPM 파일을 모아 놓음

  25. 데비안 팩키지 관리(dpkg deb) • dpkg는 데비안 패키지을 관리하는 유틸리티로서 root의 권한으로 수행할 때, 그것은 패키지라고 불리는것들을 제거하거나 설치 할 수 있으며 개발자를 위하여 패키지를 만들수도 있음 • 일반사용자를 위해서 dpkg는 특별한 패키지의 정보, 어떤 특수한 패키지들의 내용, 시스템위에 설치된 패키지목록들을 알려줌 • dpkg 는 다음과 같은 과정을 거처 관리 된다. 자세한 사항은 데비안 홈페이지(http://www.debian.org)를 참고 - 사용하기 위한 접근 방법 선택 (Access) - 사용 가능한 패키지들의 목록 갱신 (Update) - 설치하고자 하는 패키지 요청 (Select) - 원하는 패키지의 설치/갱신 (Install) - 추가 설정이 필요한 패키지 설정 (Configure) - 원하지 않는 소프트웨어 제거 (Remove)

  26. 커널 업그레이드 • 시스템 관리자가 해야할 작업 중의 하나임 • 불필요한 드라이버 제거 (메모리 절약) • 버그나 보안을 위해서 필요한 경우 있음 • 특정 응용 프로그램은 커널 업그레이드 요구 • 현재 커널은 uname –a 명령어를 통해 확인 • # uname -a • Linux comnet 2.4.7-10 #1 Thu Sep 6 17:27:27 EDT 2001 i686 unknown • 커널의 버전 번호 • major.minor.patchlevel • 커널 소스 • /usr/src/linux-* 에 있다.

  27. 커널 업그레이드 실행 • 커널 소스 가져오기 • ftp.kernel.org • 압축 해제 및 묶음 풀기 • gunzip, tar 를 /usr/src에서 수행 • 패치 적용하기 • gunzip –c patchXX.gz | patch –p0 • 커널 컴파일하기

  28. 커널 컴파일하기 • 커널 설정 • Make config 또는 make menuconfig, make xconfig • 헤더 파일의존성 검사 • Make dep • 구버전의 컴파일 결과 삭제 • Make clean • 커널 이미지 만들기 • Make zImage • 부팅 설정하기 • LILO 설정이나 커널 이미지 변경으로

  29. 동적 커널 모듈 • 명령으로 커널의 장치 드라이버를 추가하거나 삭제 • 시스템 부팅시 스크립트로 적재 • 동적 모듈들은 /lib/modules에 들어 있다. • 커널에서 make modules, make modules_install 로 생성됨 • 관련 명령어들 • lnsmod modulefile • modprobe module • lsmod • rmmod module

  30. 공유 라이브러리 • 많은 프로그램들은 공유라이브러리를 사용함 • 프로그램이 실행될때 필요한 라이브러리 동적으로 연결하여 사용 • 프로그램 길이를 줄일 수 있고 저장공간을 절약 • 프로그램 수행이 라이브러리 존재 유무, 호환성과 연결되어 있음 • ldd 명령어를 통해서 사용하는 공유라이브러리를 확인할 수 있음

  31. 공유 라이브러리 업그레이드 • 공유 라이브러리와 정적인 라이브러리 분리 • 정적 라이브러리 • 일반적으로 /usr/lib에 있으며 libXXX.a 로 존재 • 컴파일시에 사용됨 • 동적 라이브러리 • /lib에 있으며 libXXX.so.version으로 되어 있음 • Version은 major.minor로 구성되어 있음 • Ld.so는 version에서 major 번호만 참조함 • 정적인 라이브러리는 복사로 완료 • 동적인 라이브러리는 소프트링크로 연결

  32. 파일시스템 백업 - cpio • cpio 명령어는 크게 3 가지 모드

  33. 파일을 백업 Example> [root@kugstone wongo_linux]# find . -name "name.txt"|cpio -ocv>/dev/fd0 ./07_jang/name.txt 1 block [root@kugstone wongo_linux]# • 보관되어 있는 파일의 내용을 확인 Example> [root@kugstone temp]# cpio -ictv </dev/fd0 -rwxr-xr-x 1 root root 186 Apr 3 13:57 07_jang/name.txt 1 block [root@kugstone temp]#

  34. 질의 및 토의

More Related