AnNyung Official Homepage Home > Pkgadm [ Pkgkernel ]  

HOME
What is AnNyung
Documents
Packages System
  . Packages System ?
  . pkgsysupdate
  . pkgdistupdate
  . pkgdb
  . pkginfo
  . pkgadd
  . pkgdel
  . pkgchk
  . pkgkernel
  . pkgdeveltrans
White Paper
Download
Update
FAQ
Hardware
RoadMap
Gallery

  Go oops.org
  AnNyung banner 88x31

  AnNyung 1 banner 80x15
  AnNyung 2 banner 80x15
  AnNyung 3 banner 80x15
  AnNyung banner 80x15
  AnNyung banner 80x15



pkgkernel

이 문서는 안녕 리눅스 1.2 ~ 1.3에서 사용하는 Package 관리도구에 대한 설명 입니다. 안
녕리눅스 2 부터는 Yum Repository를 이용하여 package를 관리하므로, 안녕 리눅스 2 이상
의 사용자들은 이 문서를 참고할 필요가 없습니다.


pkgkernel 은 안녕 리눅스의 커널을 관리하는 프로그램입니다. 커널의 설치 및 업데이트와
삭제, 정보 출력등을 지원합니.

안녕의 커널은 다음과 같이 구성이 됩니다.

kernel           펜티엄 2 이상의 CPU 용 커널
kernel-PIII      펜티엄 3 CPU 용 커널
kernel-PIV       펜티엄 4 CPU 용 커널
kernel-bigmem    펜티엄 4 CPU 용 및 4G 이상의 메모리용 커널
kernel-headers   커널 헤더 파일
kernel-source    안녕 커널 소스

이 코드들은 pkgkernel 을 사용할 때 필요한 코드들이니 잘 인식을 하시고 있어야 합니다.

kernel-source 는 안녕의 커널을 재구성 하실때 외에는 필요가 없습니다. 커널 프로그래밍
시에는 kernel-headers 만 있으면 됩니다.

다음은 pkgkernel 의 사용 예 입니다.

    1. 기본 사용법
    2. 커널 정보 보기
    3. 커널 설치/업데이트 하기
    4. 커널 삭제 하기


 
1. 기본 사용법 

 Hanterm - pkgkernel --help


 [oops@main dir]$ pkgkernel --help
  PKGADM v.2.0.0 : 커널 관리 툴

  사용법: /usr/sbin/pkgkernel [옵션] [커널이름-버전-릴리즈]
  옵션:
      -v|--verbose        상세 출력
      -i|--info           현재 커널 정보 출력
      -r|--remove         커널 삭제
      -n|--noansi         안시 출력 사용 안함
      -f|--force          같은 버전이나 예전 버전을 강제로 설치
      -h|--help           도움말 (현재 메세지).

  예제:
      * 커널 리스트 보기
        /usr/sbin/pkgkernel -i
        /usr/sbin/pkgkernel -i kernel-PIV
      * 커널 삭제
        /usr/sbin/pkgkernel -r kernel-PIV
        /usr/sbin/pkgkernel -r kernel-PIV-2.4.20-20
      * 커널 설치
        version format => epoch:version-release
        /usr/sbin/pkgkernel kernel-PIV
        /usr/sbin/pkgkernel kernel-PIV-1:2.4.20-20

 [oops@main dir]$ 


 
2. 커널 정보 보기 

  커널 정보는 -i 옵션으로 볼 수가 있습니다. -i 옵션은 현재 Packages System 에서 제공
  하는 current 커널 정보와 현재 시스템에 설치 되어 있는 정보를 제공합니다.

  만약 자신의 CPU 가 Pentium4 라면 pkgkernel -i kerne-PIV 명령을 실행하여 kernel-PIV
  용으로 제공하는 모든 버전을 확인할 수 있습니다.

 Hanterm - pkgkernel -i


 [oops@main dir]$ pkgkernel -i
  * 커널 데이터베이스 정보

  kernel          => 3:2.4.22-2
  kernel-PIII     => 3:2.4.22-2
  kernel-PIV      => 3:2.4.22-2
  kernel-bigmem   => 3:2.4.22-2
  kernel-BOOT     => 3:2.4.22-2
  kernel-headers  => 3:2.4.22-2
  kernel-source   => 3:2.4.22-2

  주의  : pkgkernel -i 커널패키지이름 명령을 이용하면
          지원 가능한 커널 버전을 확인할 수 있습니다

  * 현재 설치되어 있는 커널 정보

  kernel-PIV      => 1:2.4.20-20
                     2:2.4.22-1 boot
  kernel-headers  => 2:2.4.22-1
  kernel-source   => 1:2.4.20-20

 [oops@main dir]$ 
 [oops@main dir]$ pkgkernel -i kernel-PIV
  * 커널 데이터베이스 정보

  kernel-PIV      => 1:2.4.20-21
                     3:2.4.22-2 *
                     1:2.4.20-20
                   

  * 현재 설치되어 있는 커널 정보

  kernel-PIV      => 1:2.4.20-20
                     2:2.4.22-2 boot

 [oops@main dir]$ 


  커널 데이터베이스 정보에서 * 는 Packages System 의 current kernel 을 의미하며 설치
  되어 있는 정보에서 boot 는 현재 부팅되어 있는 커널을 의미합니다. 커널은 기본적으로
  중복 설치로 관리를 합니다.

 
3. 커널 설치/업데이트 하기 

  커널은 중복 설치로 관리가 되기 때문에 실제로 설치 모드나 업데이트 모드의 차이가 없
  습니다.

  단 주의할 것은, 커널을 설치하면, /boot 에서 링크로 처리되어 있는 것들이 새로 설치한
  커널의 것으로 교체가 되기 때문에, 새로 설치한 커널로 부팅할 것이 아니라면 이 링크를
  수작업으로 복구해 주셔야 합니다. 대상 링크들은

    /boot/System.map
    /boot/kernel.h
    /boot/vmlinuz

  입니다. 이 파일들은 항상 가장 마지막에 설치한 커널의 정보로 향하고 있기 때문입니다.

 Hanterm - pkgkernel kernel-PIV


 [oops@main dir]$ pkgkernel kernel-PIV
  kernel-PIV      : 성공

 [oops@main dir]$ 
 [oops@main dir]$ pkgkernel -i kernel-PIV
  * 커널 데이터베이스 정보

  kernel          => 3:2.4.22-2
  kernel-PIII     => 3:2.4.22-2
  kernel-PIV      => 3:2.4.22-2
  kernel-bigmem   => 3:2.4.22-2
  kernel-BOOT     => 3:2.4.22-2
  kernel-headers  => 3:2.4.22-2
  kernel-source   => 3:2.4.22-2

  주의  : pkgkernel -i 커널패키지이름 명령을 이용하면
          지원 가능한 커널 버전을 확인할 수 있습니다

  * 현재 설치되어 있는 커널 정보

  kernel-PIV      => 1:2.4.20-20
                     2:2.4.22-1 boot
                     3:2.4.22-2
  kernel-headers  => 3:2.4.22-2
  kernel-source   => 1:2.4.20-20

 [oops@main dir]$ 


  만약, current 버전이 아닌 상외 버전이나 하위 버전을 설치할 경우에는, 버전을 명기해
  줍니다. 버전 포맷은 pkgadd 에서와 비슷합니다. Epoch:Version-Release 로 사용합니다.
  이 정보는 -i 옵션에서 확인할 수 있습니다.

 Hanterm - pkgkernel kernel-PIV


 [oops@main dir]$ pkgkernel kernel-PIV-1:2.4.20-21
  kernel-PIV      : 성공

 [oops@main dir]$ 


  설치를 한 커널로 부팅을 하실 것이라면 다음의 과정을 수행 하셔야 합니다. 먼저

  /boot/System.map
  /boot/kernel.h
  /boot/vmlinuz

  파일들의 링크가 새로 설치한 커널의 파일로 되어 있는지 확인 하여야 합니다.  다음 과
  정은 아래의 예제를 참고 합니다. 아래의 예제는 현재 2.4.22-1PIV 로 부팅이 되어 있고
  2.4.22-2PIV 를 설치한 후에 리부팅을 하기 위한 과정입니다.

 Hanterm - lilo -R 2.4.22-2PIV


 [oops@main dir]$ lilo
  Added 2.4.22-2PIV
  Added 2.4.22-1PIV *
  Added 2.4.20-20PIV
 [oops@main dir]$ 
 [oops@main dir]$ lilo -R 2.4.22-2PIV
 [oops@main dir]$ 
 [oops@main dir]$ reboot

 [oops@main dir]$ 


  위이 과정은 커널 설치 후에, lilo 를 실행하여, /etc/lilo.conf 에 새로 등록된 커널의
  정보를 MBR 에 기록하게 합니다. 이 상태는 새로운 커널정보를 MBR 에 기록만 하지 실제
  부팅은 여전히 현재 부팅이 되어 있는 2.4.22-1PIV 로 하게 됩니다.

  두번째, lilo -R 작업은 디폴트 부팅 커널은 그대로 유지한 채, 다음 한 번만 지정한 커
  널로 부팅을 하게 하는 옵션입니다.  커널이라는 것이 부팅한다고 무조건 올라온다는 보
  장이 없기 때문에 이런 식으로 부팅을 한후에, 부팅에 실패하면, 그냥 cool 부팅을 다시
  하면 이전 커널로 올라오게 하는 방법입니다. 안녕의 부트로더가 grub 를 사용하지 않고
  lilo 를 사용하는 가장 큰 이유가 여기에 있습니다.

  이 과정 후, 새로운 커널이 정상적으로 올라오면 /etc/lilo.conf 의 default= 옵션의 값
  을 새로운 커널의 label 로 지정하시고 다시 lilo 를 실행하여 부팅 커널을 변경해 주시
  면 됩니다.  역시 이 과정에서도 /boot 에 있는 3개의 symlink 파일의 목적지를 잘 체크
  해야 합니다.

 
4. 커널 삭제하기 

  커널 삭제는 -r 옵션을 사용합니다만,  중요한 것은 커널은 중복 설치이기 때문에 꼭 버
  전을 사용해야 한다는 것입니다.

  삭제를 할 경우는 버전 형식이 다르니 주의 하셔야 합니다. 삭제시의 버전 형식은 Epoch
  를 제외한 Version-Release 입니다.

 Hanterm - pkgkernel -r


 [oops@main dir]$ pkgkernel -r kernel-PIV-2.4.20-20
  kernel-PIV      : 2.4.20-20 삭제 성공

 [oops@main dir]$ 
 [oops@main dir]$ ls -l /boot/System.map /boot/kernel.h /boot/vmlinuz
  lrwxrwxrwx  1 root  root   22 11월 17 20:33 System.map -> System.map-2.4.22-2PIV
  lrwxrwxrwx  1 root  root   20 11월 17 20:33 kernel.h -> kernel.h-2.4.22-2PIV
  lrwxrwxrwx  1 root  root   19 11월 17 20:33 vmlinuz -> vmlinuz-2.4.22-2PIV

 [oops@main dir]$ 


  삭제 후에는 꼭 /boot 에 있는 3개의 링크들의 방향을 확인하셔야 합니다. 부팅을 할 커
  널을 향해 있도록 수정을 해 주셔야 합니다.


    



 Home > Pkgadm [ Pkgkernel ]

Copyright 2017 OOPS Development Organization 
LAST MODIFIED: 2016/04/26