520 likes | 638 Views
SPARCS 10 Rohjoon Myung Rohjoon@gmail.com. How to install a program and kernel in linux ??. Using Source Code. 코드를 다운로드 한다 .( 보통 압축파일 ) 압축을 푼다 . Configuratoin 을 한다 . Compile 을 한다 . 설치를 한다 . Ex. Thrift 를 설치해봅시다 . Thrift ??? 서로 다른 언어들의 소통을 도와주는 프로그램 현 아라 ( 웹아라 ) 의 핵심 프로그램 중 하나 . wget.
E N D
SPARCS 10 RohjoonMyung Rohjoon@gmail.com How to install a program and kernel in linux??
Using Source Code • 코드를 다운로드 한다.(보통 압축파일) • 압축을 푼다. • Configuratoin을 한다. • Compile을 한다. • 설치를 한다.
Ex. Thrift 를 설치해봅시다. • Thrift ??? • 서로 다른 언어들의 소통을 도와주는 프로그램 • 현 아라(웹아라)의 핵심 프로그램 중 하나.
wget • Url을 이용하여 파일을 다운로드 • $wget <url> • url을 현재 폴더에 다운로드해준다.
압축풀기 • tar.gz tar –zxvf [filename] • tar.bz2 tar –jxvf [filename] • tar.zip unzip [filename]
3. Configuration • Requirement testing • Makefile생성. • Makefile?? • Utility가 source를 어떻게 compile하는지에 대한 정보가 저장되어있는 파일. • 일종의 설계도라고 보면 됨.
Compile • $make • Makefile파일을 읽으면서 comple을 하기 시작.
Install • #make install • 무조건 root권한으로.
Package를 이용 • @redhat • RPM, yum, apt-get • @debian • Dpkg, dselect, apt-get, aptitude
@Redhat • RPM • Yum • Apt-get
RPM • 별도의 compile 과정이 필요 없다. • .rpm
RPM • #rpm –i <filename.rpm> • install • #rpm –e <package> • Erase
RPM • Ex. • #rpm –i mysoftware-1.0.2-i386.rpm • #rpm –e mysoftware • More… • http://www.rpm.org/
yum • Rpm’s front-end program • help user to download a program and install it.
yum • #yum list update • #yum update • #yum list installed • #yum list installed <filename> • #yum update <filename> • #yum list <filename> • #yum install <filename> • #yum remove <filename>
@debian • DPKG • apt-get • aptitude
dpkg @debian • Debian Package Management System. • Used to install, remove, and provide information about .deb packages. • .deb
dpkg @debian • #dpkg –i|--install <filename.deb> • #dpkg –unpack <filename.deb> • #dpkg –r|--remove <filename.deb>
dselect @debian • Dpkg’s front-end program • dpkg의 명령어들을 backend method로 사용 • OLDEST • Aptitude 등 의 원조.
dpkg와 dselect의 문제점 • Dependency를 알아서 고려해야 함. • Ex. A라는 프로그램은 B라는 프로그램이 무조건 필요할 때, A를 설치해서 실행시키면 B라는 프로그램이 없으므로 실행이 안된다고 뜸. • 이 때 A는 B에 dependency가 걸려있다고 말함.
Apt-get @debian • APT • Advanced Package Tool • Apt-get, apt-cache, apt-cdrom… • Handling “Dependency” • Can deal with complex package relation.
Apt-get @debian • #apt-get update • Package 목록을 업데이트 • #apt-get install <packagename> • packagename의 package를 설치 • #apt-get remove <packagename> • Package 삭제. • #apt-get purge <pkgname> • Package 삭제, Configuration file 까지 제거.
Apt-get @debian
Aptitude @debian • APT’s front-end program • Based on ncurses computer terminal library • CLI(command line interface)
Aptitude @debian
Aptitude @debian
Aptitude @debian
Aptitude @debian • CLI도 제공. • Ex. #aptitude install <filename>
Download a program • Source • Package
Source • $ wget <URL> • $ tar –zxvf <filename.tar.gz> • $ ./configure • $ make • # make install
Package • #rpm –i <filename.rpm> • #yum install <filename> • #dpkg –i <filename.deb> • #dselect • #apt-get install <filename> • #aptitude
Install kernel • Kernel source code를 다운받는다. • 설치한다.
Install Kernel (download) • $ wgethttp://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
Install Kernel(configuration) • Need Development Tool(ex. gcc) • #Apt-get install gcc • $make menuconfig • $make xconfig • $make gconfig
Install Kernel(compile&install) • $make • Create a compressed kernel image • $make module • Compiling to kernel module • #make modules_install • Install kernel module • #make install • Install kernel itself.
Install Kernel(setting) • #cd /boot • #mkinitrd -o initrd.img-2.6.25 2.6.25 • # vi /boot/grub/menu.lst • Open files. • Modify Grub configuration file.