Dork's port

Linux Kernel Header Version Mismatch error 본문

Linux

Linux Kernel Header Version Mismatch error

Dork94 2017. 11. 15. 21:37

안녕하세요.


오늘은 리눅스 커널버전이 맞지 않는 경우에 대해서 다뤄볼까 합니다.


필자의 경우 Mac OS에서 Kali Linux를 듀얼 부팅할 때에, Kali Linux에서 기존의 키보드와 트랙패드가 사용되지 않아 git에서 해당 드라이버 설치 스크립트를 실행하던 도중 오류가 발생하여 해당 오류에 대해 말씀드리고 해결 방법을 알려드리려고 합니다.


우선 해당 오류는 제목에서 보시는 바와 같이 Linux 에 실제 설치되어있는 Kernel Header의 Version과 실제로 아래 명령어로 확인한 명령어가 같지 않을때 발생한 오류 였습니다.


# uname -r



스크립트가 실행 될때 해당 명령어를 통해 현재 커널 버전을 Parsing하여 설치를 진행 하는데 위의 명령어의 결과와 실제로 사용중인 헤더의 버전이 상이한 경우 오류가 발생했습니다.


그러면 해결 방법에 대해 알아보도록 하겠습니다.


# update-grub

# reboot


# apt-get update

# apt-get upgrade

# apt-get dist-upgrade

# reboot


위의 명령어로 현재 설치된 커널의 버전으로 업데이트 적용을 할 수 있습니다.


필자의 경우 보통 apt-get update 및 apt-get upgrade 명령어를 통해 업데이트를 하곤 했는데, 아마 apt-get dist-upgrade 설치를 해주지 않은 것 때문이라고 문제의 원인을 추측해봅니다.


upgrade 와 dist-upgrade의 차이점은 아래와 같습니다.


upgrade
    upgrade is used to install the newest versions of all packages
    currently installed on the system from the sources enumerated in
    /etc/apt/sources.list. Packages currently installed with new
    versions available are retrieved and upgraded; under no
    circumstances are currently installed packages removed, or packages
    not already installed retrieved and installed. New versions of
    currently installed packages that cannot be upgraded without
    changing the install status of another package will be left at
    their current version. An update must be performed first so that
    apt-get knows that new versions of packages are available.

dist-upgrade
    dist-upgrade in addition to performing the function of upgrade,
    also intelligently handles changing dependencies with new versions
    of packages; apt-get has a "smart" conflict resolution system, and
    it will attempt to upgrade the most important packages at the
    expense of less important ones if necessary. So, dist-upgrade
    command may remove some packages. The /etc/apt/sources.list file
    contains a list of locations from which to retrieve desired package
    files. See also apt_preferences(5) for a mechanism for overriding
    the general settings for individual packages.



쉽게말해 upgrade는 기존의 패키지를 최신버전으로 업데이트하는 개념이고, dist-upgrade는 의존성 검사를해 새로운 패키지를 설치 및 업데이트 하는 개념인 것 같습니다. 혹시 틀린 부분이 있다면 지적 부탁드립니다.


감사합니다.


참고 : https://askubuntu.com/questions/194651/why-use-apt-get-upgrade-instead-of-apt-get-dist-upgrade

Comments