프로그램, 커널 설치 및 업그레이드 SPARCS 10 박준성 koolvibes.

Slides:



Advertisements
Similar presentations
ⓒ 2015 NHN Entertainment Corp. Django 로 만드는 초간단 블로그 시스템운영팀 김영태 개발환경 구축.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
다양한 종류의 문서를 언제든지 보고 바로 편집하세요. 여러 앱을 이용할 필요 없이 MS Office, HWP, PDF, TXT 의 문서를 한 곳에서 확인하고 어디서든 쉽게 편집해 보세요 ! *PDF 문서는 ‘ 보기 모드 ’ 만 지원합니다.
4장4장 AIX product offerings –AIX, LPPs(Licensed program products), AIX documentation, Expansion Pack, Bonus Pack Web, AIX Toolbox for Linux Packaging definitions.
Window media player 1. 윈도우 미디어 플레이어가 많이 끊길 때 윈도우 미디어 플레이어실행 > 도구 > 옵션 > 성능 > 연결 속도 > 연결 속도 선택 Lan(10Mbps) 선택 > 네트워크 버퍼링 버퍼 10 초 네트워크창 > 스트리밍 프로토콜 > UDP.
아이튠즈 계정 생성. 1. 인터넷을 통해 설치한 아이튠즈를 실행 한 후 그림의 순서대로 선택을 합니다. 1 2.
데이터 완전삭제프로그램 Perfect Delete 사용설명서  주의 이 프로그램을 이용하여 삭제된 데이터는 어떠한 방법으 로도 복구가 불가능합니다. 그러므로 실제 데이터 삭제시 신중을 기하기 바랍니다.
갤럭시S6 마시멜로 업데이트 및 루팅 안내 2016/05/10 SPIRE TECHNOLOGY INC.
2016 유성환 Hybrid MOBILE.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
Windows Function Windows XP Windows 7 Windows 8 FREE 조장 : 김동환 조원 : 전태우
컴퓨터와 인터넷.
Snort & Snorby.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
<<< 시스템등록정보 “하드웨어-장치관리자” 설정 >>>
Image & Video processing
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
Cross Compiler를이용한 커널 컴파일 및 포팅
Cross Compiler를이용한 커널 컴파일 및 포팅 1
MYSQL 설치.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
커널 컴파일 및 개발 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
Power Java 제2장 자바 개발 도구.
CUDA Setting : Install & Compile
J2ME Install 부산대학교 인공지능 연구실.
네트워크 프로그래밍 및 실습.
임베디드 프로그래밍 Lecture #
ANSYS17.2 Student 제품 무료 다운로드
Mysql Install on Azure
Ubiquitous Computing Practice - Part I (Installation) -
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Root Filesystem Porting
1. C++ 시작하기.
Root Filesystem Porting
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
부트로더와 Self Programming
Cross Compiler 설치.
Cross Compiler를이용한 커널 컴파일 및 포팅
TSRM 사용시 PC 기본환경설정 1. 로그인이 안되는 문제해결 1) Windows8 이상일때
솔라리스10 3장. 솔라리스 패키지 관리.
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
설치 환경 □ 운영체제 버전 : CentOS Linux 7.2 □ 리눅스 커널 버전 :
홀인원2.0 설치 메뉴얼.
IPython Notebook + Spark + TensorFlow on MacOS
영상처리 실습 인공지능연구실.
LIT-GenAppSetup ※ Texting+ 클라이언트 프로그램은 제품 인증을 받은 제품입니다.
툴 설치 가이드 PrimeTime SynopsysMentor.
툴 설치 가이드 Formality SynopsysMentor.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
Nessus 4 설치 정보보호응용 조용준.
스크린 샷 클릭가능 클릭시 영한사전 반영.
리눅스 커널 프로그래밍 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
PMIS 서버 설정 환경설정 작성자 : 배경환.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Kernel, Ramdisk, JFFS2 Porting
( Windows Service Application Debugging )
STS 에서 웹 서버 설치 방법.
OpenCV 설정 2.21 만든이 딩딩.
 파일 아카이브와 압축 명령 익히기.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
Docker Study 6~7.
펌웨어(S/W) Upgrade 방법 Samsung Kies3
CCISS 어레이 형식 centos7 설치방법
Presentation transcript:

프로그램, 커널 설치 및 업그레이드 SPARCS 10 박준성 koolvibes

그에 앞서.. wget [url] 파일 다운로드 tar [cxvzf] 파일 압축/풀기 tar.gz 압축하기 tar cvf filename.tar file1… gzip filename.tar tar.gz 한번에 압축하기 tar cvzf filename.tar file1… tar.gz 압축풀기 gunzip filename.tar.gz tar xvf filename.tar tar.gz 한번에 풀기 tar xvzf filename.tar.gz

프로그램을 이루는 정보들을 적재적소에 배치하는 과정 프로그램 설치 프로그램을 이루는 정보들을 적재적소에 배치하는 과정

의존성 (dependency) 각 프로그램들은 의존성을 가진다. shared library dependency 설치 시 이미 일부 라이브러리가 깔려 있어 깔리지 않거나 삭제 시 라이브러리가 삭제되어 다른 프로그램이 동작하지 않는 경우가 있다. 프로그램의 설치와 삭제에서 생기는 수많은 문제들은 dependency 때문이므로 주의하도록 한다.

ldd를 사용하여 프로그램들의 dependency 관계를 알 수 있다.

프로그램 설치하기 소스 이용 패키지 이용 코드를 다운로드 하여 설치 redhat debian 기타 패키지 RPM, yum, apt-get debian Dpkg, dselect, apt-get, aptitude 기타 패키지 pip, easy_install, rvm

소스 코드 이용 코드를 다운로드 한다.(보통 압축파일) 압축을 푼다. Configuration을 한다. Compile을 한다. 설치를 한다.

소스 코드 이용 Configure make make install 여러가지 설정 Makefile 파일 설정 실행 가능한 바이너리 생성 make configure 시스템에 어떤 어떤 라이브러리들이 설치되어있는지를 검사하여 소스코드로부터의 컴파일이 가능하다고 생각되는지를 체크하는 과정입니다. 어떤 라이브러리가 굳이 설치되어 있지 않더라도 해당 프로그램의 설치 자체는 가능한 경우가 많기 때문에, 이에 따라 유동적으로 "무엇을 어떻게 컴파일할지" 를 정하는 단계 이렇게 만들어진 Makefile 에 적혀 있는 순서대로, 소스코드로부터 "실행 가능한 바이너리" 를 만들어내는 과정이 make 입니다. make 가 끝난 뒤 바이너리 파일들을 시스템에서 바로 명령행에서 실행가능하거나 shared library 목록에 추가하거나 하는 등의 작업을 시행하도록 하는 과정이 make install make install 바이너리 파일들 시스템의 적재적소에 비치

소스 코드 사용 $ wget [URL] $ tar –zxvf [filename.tar.gz] $ ./configure 설정 파일이 생김 $ make 생긴 설정 파일로 인스톨러 생성 # make install 만든 인스톨러 파일로 시스템에 설치 파일 다운로드 후 패키지 압축과 아카이브 품. configure. 설치 파일 컴파일 인스톨. 경우에 따라서는 configure 전에 bootstrap 단계가 필요한 경우도 있고, make 하는 과정에서 오류가 발생하여 (의존관계에 있는 다른 라이브러리가 아직 설치되어 있지 않은 경우 종종 발생) 순리대로 할 수 없는 때가 많습니다. 소스코드에 의해 설치하는 과정을 설명하고자 할 때에는 반드시 이 점 (진리의 Case-by-Case) 을 명시하여야 합니다.

실습 – python 설치 소스 코드를 다운받아 Python을 인스톨 해 보자. http://www.python.org/download/

실습 – 프로그램의 위치 python, ls 등의 프로그램들이 어디에 깔려있는지 알아 보세요 which

패키지 사용 redhat debian 기타 패키지 RPM, yum, apt-get Dpkg, dselect, apt-get, aptitude 기타 패키지 pip, easy_install, rvm

Redhat-RPM 커널을 포함한 라이브러리, 응용프로그램이 모두 rpm으로 제공. ex) foobar-1.0-1.i386.rpm 컴파일할 필요가 없음 foobar – 이름, 1.0 – 버전, 1 – 패치 버전, i386 – 시스템 종류

Redhat-RPM # rpm -q 패키지이름 # rpm -Uvh 파일이름.rpm # rpm -ivh 파일이름.rpm # rpm –e 패키지이름 # rpm –i ftp://[source] 좋은 참고 자료 : http://wiki.kldp.org/wiki.php/LinuxdocSgml/Rpm-Usage-KLDP 현재 깔려 있는지 확인 업데이트 설치 지우기 V, h는 정보들을 화면에 띄워주는 것 소스에서 컴파일 하는 방법도 있음. --nodeps - 다른 패키지에 영향을 받지 않고 강제로 설치.

Redhat-yum RPM의 프론트 엔드 패키지 의존성 문제를 해결 list 기능 사용 의존성이 있다고 패키지에 기록되어 있는 다른 패키지들을 알아서 추가로 다운로드 하여 설치

Redhat-yum 패키지 찾기 # yum list available : 설치가 가능한 패키지 목록 # yum list installed : 이미 설치된 list 패키지 목록 # yum list extras : 일반 저장소에서 설치되지 않는 패키지 목록 # yum list *gcc* : 'gcc'타이틀이 있는 패키지 목록 # yum list updates : 업데이트 가능한 패키지 목록 # yum info wordpress : wordpress패키지에 대한 설명 # yum info gcc* : gcc로 시작되는 패키지 설명 # yum search gcc : gcc문자열을 포함한 패키지의 검색 패키지 설치 # yum install gcc :gcc 패키지 다운로드 인스톨 # yum groundinstall gcc : gcc 데스크톱 패키지의 전체 세트를 다운로드 인스톨 yum update – 모두 업데이트 기타 –version, info package name

Redhat-yum 패키지 업데이트 # yum check-update : 업데이트가 준비된 모든 패키지를 리스트한다. # yum list update gcc* : gcc*이름으로 이용 가능한 업데이트를 찾는다. # yum update gcc* : 모든 gcc 패키지를 업데이트 한다. # yum update 업데이트가 준비된 모든 패키지를 업데이트한다. # yum groupupdate 파일명 그룹의 모든 패키지를 업데이트한다. 패키지 제거하기 # yum remove gcc : gcc 패키지를 제거한다. # yum remove gcc* : gcc로 시작되고 있는 패키지를 제거한다. # yum groupremove gcc : gcc 그룹에서 모든 패키지를 제거한다. 패키지 지우기 # yum clean packages : cache에서 패키지를 지운다. # yum clean metadata : cache에서 metadata를 지운다. # yum clean headers : cache에서 header를 지운다. # yum clean all : cache에서 metadata, header, package를 지운다.

Debian-dpkg Debian Package Management System. .deb 파일로 된 패키지로 설치 rpm과 유사

Debian-dpkg dpkg -i <file name.deb> dpkg –r <file name.deb> remove 제거 dpkg -P <package name> purge dpkg –l 설치된 패키지 리스트 

Debian-dselect dpkg의 프론트엔드 dpkg 의 명령어들을 backend method로 사용

dpkg와 dselect 의 문제점 Dependency를 알아서 고려해야 함.

apt Advanced Package Tool apt-get, apt-cache, apt-cdrom… Handling “Dependency” Can deal with complex package relation.

apt-get, apt-cache – package 설치/제거 패키지 찾기 #apt-cache search <패키지 이름> 패키지 설치 #apt-get install < 패키지 이름 > 패키지 재설치 #apt-get reinstall <패키지 이름> 패키지 제거 #apt-get remove < 패키지 이름 > #apt-get purge < 패키지 이름 > 참고) apt-get install 명령어로 받은 deb 파일의 저장 위치 /var/cache/apt/archive/ 위 폴더에 .deb 패키지 파일로 저장됩니다. #apt-get clean Package 목록을 업데이트 packagename 의 package를 설치 Package 삭제. 업그레이드 Package 삭제, Configuration file 까지 제거. * 업데이트 후 업그레이드를 해야 한다.

apt-get, apt-cache - package 관리 #apt-get update 패키지 인덱스 인덱스 정보를 업데이트 : apt-get은 인덱스를 가지고 있는데 이 인덱스는/etc/apt/sources.list에 있다. 이곳에 저장된 저장소에서 사용할 패키지의 정보를 얻는다. #apt-get upgrade 설치된 패키지 업그레이드 : 설치되어 있는 패키지를 모두 새 버전으로 업그레이드 합니다 *apt는 최신 패키지를 다운로드 하여 설치하게 되는데 upgrade 하기전에 update 해서 source.list 를 갱신 # apt-get dist-upgrade 의존성검사하며 설치하기 # apt-cache show <패키지명> 패키지 정보보기 apt를 이용해서 설치된 deb패키지는 /var/cache/apt/archive/ 에 설치가 됩니다 Package 목록을 업데이트 packagename 의 package를 설치 Package 삭제. 업그레이드 Package 삭제, Configuration file 까지 제거. * 업데이트 후 업그레이드를 해야 한다.

실습 – sl 기차 # apt-get install wget # apt-get install sl $sl /usr/games/ # apt-get remove sl

apt-[etc] #apt-cdrom add #apt-config [옵션] (shell or dump)  apt의 sources.list 파일에 CDROM을 추가하는 간단한 명령 – 인터넷이 연결되지 않았을 때나 소프트웨어가 CD에 있을 때 config – apt 의 설정

apt 의 소스 /etc/apt/sources.list 에 있다. apt-get 하면 어디서 불러오는가

Debian-Aptitude apt의 프론트 엔드 – ncurses 기반 ncurses – text 기반 gui 제공하는 라이브러리

Debian-Aptitude CLI도 제공. Ex) #aptitude install <filename>

Python – easy-install python module bundled with setuptools that lets you automatically download, build, install, and manage Python packages http://pypi.python.org/pypi/setuptools 에서 setuptools를 설치  easy-install 사용 가능 support url source, .egg file #easy_install SQLObject http://peak.telecommunity.com/DevCenter/EasyInstall

Python – easy-install python module automatically download, build, install, and manage Python packages support url source, .egg file #easy_install SQLObject http://peak.telecommunity.com/DevCenter/EasyInstall http://packages.python.org/distribute/easy_install.html

Python - pip easy_install을 향상시킨 버전 #pip install [pkgname] #pip uninstall [pkgname] http://www.pip-installer.org

커널 업데이트 Linux의 진화를 따라가기

Kernel 컴퓨터 시스템을 제어하는 일 메모리를 관리하고, 디스크에 데이터를 읽고 쓰고, 프로그램을 실행시키고, 하드웨어 장치를 관리하는 일 http://sharkynara.egloos.com/1102607 운영체제는 컴퓨터를 운용하는 특별한 종류의 프로그램이다. 이 운영체제는 핵심이라고 할 수 있는 부분이 있는데, 이것을 커널이라고 한다. 커널은 컴퓨터 시스템을 제어하는 일, 그러니까 메모리를 관리하고, 디스크에 데이터를 읽고쓰고, 프로그램을 실행시키고, 네트워크 카드, 사운드카드, 그래픽카드등의 하드웨어 장치를 관리하는 일을 한다.  학문적인 관점에서 보자면 운영체제란 바로 이 커널을 가리키는 것이다. 예를 들어 리눅스 운영체제는 리눅스 커널을 의미한다. 하지만 커널만을 가지고 할 수 있는 일은 그렇게 많지 않다. 커널위에 shell, 운영자 관리도구와 같은 필수적인 다른 프로그램이 있어야 비로서 컴퓨터를 제어할만한 환경이 갖추어진다. 이런이유로 일반적인 관점에서 커널 + 필수 프로그램까지를 운영체제라고 부르고 있다. 다음 그림은 컴퓨터 시스템 과 커널, 프로그램의 관계를 보여주고 있다.

커널 설치 프로그램 소스로 설치와 유사 루트 계정으로 설치 소스는 /usr/src 로 다운로드 -> 세팅 -> 빌드 -> 설치 -> grub 세팅 ->재부팅 -> 동작 확인 루트 계정으로 설치 소스는 /usr/src 로 커스텀한 커널을 사용함으로서 메모리를 줄일 수 있다. 리눅스의 장점

커널 설치 개발툴이 필요하다. (ex : gcc) #apt-get install gcc $make menuconfig $make xconfig $make gconfig 개발툴은 빌드 하기 위해 필요함. 아래는 gcc환경 설정

커널 구하기 Kernel.org 에 가면 있다. 버전 형식 : Major.minor.patchlevel 2.6.35.13-> 커널 2.6 버전의 패치 레벨 35, 서브버전 13

커널 다운로드 $ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-x.y.z.tar.bz2 # tar -xjvf linux-2.6.25.tar.bz2 -C /usr/src # cd /usr/src

커널 설정 make config .config 파일 생성 y: 기능사용 n: 사용안함 m: 모듈로 사용 ?: 도움말 표시       ?: 도움말 표시 .config 파일 생성 make config - y make config 같은 것은 파일을 고치는 수준이므로 루트 권한이 필요하지 않다. 모듈로 설치할 것을 선택하는 것 등등이 나온다.

커널 컴파일 $ make $ make module # make modules_install # make install

부팅 설정 # cd /boot/grub # vi menu.lst

모듈 - 참고 동적으로 모듈 로딩 가능 insmod, rmmod 드라이버와 같은 것을 컴퓨터를 끄지 않고 로딩 가능 시스템 자원을 효율적으로 관리 가능 커스텀한 커널을 사용함으로서 메모리를 줄일 수 있다. insmod – 모듈 로드 rmmod – 모듈 릴리즈 리눅스의 장점

좋은 자료(?) http://wiki.kldp.org/wiki.php/LinuxdocSgml/Kernel-HOWTO http://wiki.kldp.org/wiki.php/LinuxdocSgml/2.4Kernel_Compile-KLDP