Ubuntu

Ubuntu에서 구 Kernel 을 지우려면...

다락별 2014. 10. 9. 19:30


Ubuntu에서 Linux Kernel이 업데이트 될 때 구 버전의 커널을 덮어씌우는 것이 아니라 따로 남겨둔다.
내가 설치한 프로그램들과의 Kernel Version 에 따른 호환성 충돌 문제 때문이다.

 

그래서 부팅하면 GRUB 메뉴에도 구 Kernel 의 이름이 그대로 나오게 된다.

 

내가 사용중인 프로그램들과 호환성 문제가 없고,
구 Kernel이 더 이상 필요가 없어서 지우고 싶다면 아래와 같이 해준다.

 

아래의 모든 과정은 Root (관리자) 권한으로 해야한다.

 

우선 내 PC에 설치되어 있는 Linux Kernel 들을 알아보자.

 

커널은 /boot 디렉토리에 자리잡고 있다.
Terminal 에서 아래와 같이 입력한다.

 

        $ ls -a /boot

 

커널 관련 파일들은 이름이 대체로 아래와 같이 시작되고 버전을 나타내는 숫자들이 따라온다.

 

        - abi......
        - config......
        - initramfs......
        - initrd......
        - initrd.img......
        - symvers......
        - System.map......
        - vmlinuz......

 

파일이기 때문에 "rm" 명령으로 지워지면 좋겠지만
배포본에 따라서는 안되는 경우도 있다.

 

그리고 /boot에서 커널 관련 파일들을 다 지운다고 해도
어떤 명령을 수행하면
내가 분명히 지워버린 커널에 대한 무엇인가가 남아 있는 것이 발견 될 때가 있다.

 

/boot 디렉토리외에 다른 디렉토리에 남아있는 무엇인가가 더 있는 것 같다.

 

따라서
"rm" 명령으로 /boot에 있는 커널 및 관련 파일을 지우고
Grub 설정을 수정하는 것으로 완전하다고 할 수 없다.

 

 

1. 설치 가능한 커널의 목록을 알아본다.

 

    Ubuntu 에서  Kernel도 결국 "apt-get install" 명령으로 설치되는 것이므로
    Terminal 에서 아래와 같이 입력해서 설치 가능한 Kernel의 목록을 살펴본다.

 

    왜냐하면 "apt-get remove" 명령으로 Linux Kernel을 지우게 되는데
    /boot 디렉토리에 설치되어 있는 Linux Kernel 이름과 목록의 이름이 다를 수 있기 때문이다

 

        $  dpkg --list | grep linux-image
            ** 관리자 권한일 필요는 없다.

 

   다시 한 번 말하지만
   위 명령으로 나타나는 Kernel Image 의 이름은
   내 PC에 설치되어 있는 Linux Kernel 을 보여주는 것이 아니라
   "apt-get install" 명령으로 설치 가능한 목록을 보여주는 것이다.

 

   *** 내가 현재 부팅한 Linux Kernel의 버전을 알고 싶다면
         Terminal 에서 아래와 같이 입력한다.

 

               $ uname -r
              또는
               $ sysctl -n kernel.osrelease
              또는
               $ cat /proc/version

 

 

 

2. 이제 구 Linux Kernel을 지워보자.
    Terminal 에서 위 01. 과정에서 확인했던 목록의 이름 그대로 입력한다.

 

        $ apt-get remove linux-image-3.5.0-17-generic

 

        $ apt-get remove linux-image-extra-3.5.0-17-generic
                  ** 이 파일은 /boot 디렉토리에는 보이지 않지만 설치되어 있으므로 같이 지운다.

 

 

 

3. GRUB2 설정 파일도 수정되도록 Terminal 에서 아래와 같이 입력한다.

 

        $ grub-mkconfig

 

        $ update-grub

 

        ** 위 두 단계를 합쳐서 아래처럼 해야할 수도 있다.
                $ grub2-mkconfig -o /boot/grub2/grub.cfg

 

 

   -- Grub 즉 Grub1 이 설치되어 있다면
        /boot/grub/grub.conf 나 /boot/grub/menu.lst 를 열어서
        방금 지운 커널에 해당하는 부분을 지우고 저장하면 된다.

 

 

   리부팅 해보면 Grub 목록에서 구 커널은 보이지 않는다.

 

 

 

4. 리부팅하면서 GRUB2 메뉴를 확인해 본다.

 

    나오는 항목중에서

 

    "Advanced Options For Ubuntu" 

 

    를 화살표키를 이용하여 선택하고 [ Enter ] 키를 누르면
    구체적인 Linux Kernel Version 별 선택 항목이 다시 나타난다.


'Ubuntu' 카테고리의 다른 글

Dash 창에 보이는 최근 항목 지우기.  (0) 2014.11.06
Login 화면 해상도 Resolution 설정  (0) 2014.10.09