ディストリビューションをアップグレードせずにカーネルを最新のメインラインバージョンに更新する方法


146

現在、Linux-3.0を実行しています。http://www.kernel.orgで言及されているように、最新の安定したカーネルリリースであるLinux-3.3.1に更新したいと考えています。クラッシュのリスクなしでUbuntuで3.3.1に更新できますか?Update Managerが提供するようにカーネルを定期的に更新しています。現在、Linux -3.0.0.17があります。更新できますか?

注意:

ユーザーがUbuntuで使用することになっている最新のカーネルバージョンは、Update Managerを介して自動的に更新されるため、通常、ユーザーはカーネルのアップグレードに関してアクションを必要としません。質問の著者が言及しているのはメインラインカーネルです。「メインライン」カーネルにアップグレードする必要がありますか?を参照してください


回答:


121

私がカーネルのアップグレード/ダウングレードに常に使用した最も単純な一連の指示は、ubuntuforums.orgユーザーによるlykwydchykyn(この投稿のために私が変更したURL)という名前です。

  1. ここに移動:http : //kernel.ubuntu.com/~kernel-ppa/mainline/
  2. 3(おそらく4)debsをどこかにあるフォルダーにダウンロードします。

    linux-headers-VERSION-NUMBER_all.deb
    linux-headers-VERSION-NUMBER_amd64.deb
    linux-image-VERSION-NUMBER_amd64.deb
    linux-image-extra-VERSION-NUMBER_amd64.deb   # if available
    
  3. 使用するパッケージマネージャーフロントエンドでdebsをインストールするか(gdebiはまだありますか?)、または次のコマンドを使用します。

    cd /path/to/folder/where/you/put/the/debs
    sudo dpkg -i *.deb
    

ソース:


3
例えばここでは、各アーキテクチャのための2つのバージョンを見つける:lowlatencygeneric、取るためにどの?kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.1-trusty
rubo77

運がありません。標準レポの64ビットUtopic低遅延カーネル(3.16.0-31)から来ました。v3.16.7-ckt8(linux-image-3.16.7-031607-lowlatency_3.16.7-031607.201503111033_amd64.deb)にアップグレードしましたが、まだ実行されていますが、トラックパッドはありません。これは、Acer C710用です。
ウブンツーリスト

タッチパッドに問題がありました。私のデフォルトの略歴は、詳細モードに設定されていました。BIOSでは、ドライバーなしで拡張モードを使用すると問題が発生する可能性があるという。ただし、基本モードはubuntuではうまく機能します。残念ながら、基本モードはWindowsでひどく動作します!これが簡単に役立つことを願っています。
Bhikkhu Subhuti 16年

1
完全を期すために、@ Bucicの手順に加えて、(4)新しいgrubブートローダー(1番目のオプション)を受け入れます。これはおそらくほとんどの人が必要とするものです。変更内容を正確に確認したい場合は、チェックして比較しますが、Grubのconfファイルを新しいカーネル情報で書き換えるだけです。(5)再起動します。さらに、これははるかに安全なルートであり、Linuxバージョンもアップグレードしますsudo apt-get update && sudo apt-get dist-upgrade && sudo reboot。いずれのシナリオでも、再起動後に実行echo $(uname -r)して、新しいカーネルに正常に起動したことを確認します。
マヌエルJ.ディアス

1
@一般的な対lowlatency上rubo77:askubuntu.com/questions/126664/...
Noremac

70

いつでも次のことができます。

apt-cache search linux-image

必要なものを選択してから実行します。

sudo apt-get install linux-image-your_version_choice linux-headers-your_version_choice linux-image-extra-your_version_choice

4
それはメインラインカーネルを提供しません。むしろ、Ubuntuビルド(指定されたバージョン番号)を提供します。
エリアケイガン

14
ただし、ターゲットOS向けにマッサージされているため、メインラインを使用するよりもおそらく優れています
quickshiftin

Debian 8では魅力のように機能しました。ありがとうございます!
GTodorov

9
カーネルヘッダーもインストールすることを忘れないでください:sudo apt-get install linux-headers- [version] -generic。[バージョン]は、カーネルバージョンと同じでなければならない
unak mauek

1
このエントリを変更して、ユーザーにlinux-image-extraパッケージをインストールするように指示する必要があります。
wojci

24

私の答えは、はい、できます。安定版リリースは3.4でしたが、このチュートリアルでは3.3.1を使用します。

Ubuntu(32ビット)汎用PAE:

次のコマンドを実行します。

mkdir kernel\ v3.3.1-precise && cd kernel\ v3.3.1-precise
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301-generic-pae_3.3.1-030301.201204021435_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301_3.3.1-030301.201204021435_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-image-3.3.1-030301-generic-pae_3.3.1-030301.201204021435_i386.deb
sudo dpkg -i linux-*.deb 
sudo update-grub
sudo reboot now

Ubuntu(64ビット):

次のコマンドを実行します。

mkdir kernel\ v3.3.1-precise && cd kernel\ v3.3.1-precise
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301-generic_3.3.1-030301.201204021435_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301_3.3.1-030301.201204021435_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-image-3.3.1-030301-generic_3.3.1-030301.201204021435_amd64.deb
sudo dpkg -i linux-*.deb 
sudo update-grub
sudo reboot now

楽しい!


Ubuntu 12.04で述べたように、カーネル3.8.5-raringをインストールします。しかし今、私のOSはダウンしており、CLIやGRUBメニューはありません。考えてただけ。
shgnInc

良いですが、更新する必要があります。バージョンを見つけてから、インストール方法をグーグル検索することをお勧めします。このようなものが見つかるまでページをクリックします。RC6のために私は、この発見yourownlinux.com/2016/03/...
僧須菩提

12

ここでのいくつかの回答に反して、Ubuntuはメインカーネルチームの1〜2日以内に新しいカーネルをリリースします。ここでの回答のいくつかが示唆するように、私は以前は難しい方法でアップグレードしていましたが、これが簡単な方法であることがわかりました。

カーネルを手動でインストールすることの意味

カーネルを手動でインストールするには、追加の作業が必要です。

最新のメインラインカーネルをインストールする理由はいくつかあります。

  • 最新のUbuntu LTSカーネルアップデートのバグであり、ダウングレードできません
  • 現在のUbuntu LTSカーネル更新ストリームまたはHWE更新でサポートされていない新しいハードウェアがあります
  • 最新のメインラインカーネルバージョンでのみ利用可能なセキュリティアップグレードまたは新機能が必要です。

2018年1月15日現在、最新の安定したメインラインカーネルは4.14.13です。これを書いている時点では、多くの人がMeltdownセキュリティホールからの保護のためにインストールすることに興味を持っています。手動でインストールする場合は、次のことを知っておく必要があります。

  • 古いLTSカーネルは、Ubuntuというタイトルのメインメニューの最初のオプションよりも大きくなるまで更新されません。
  • 手動でインストールされたカーネルは、通常のsudo apt auto-removeコマンドでは削除されません。これに従う必要があります:ブートメニューをクリーンアップするために古いカーネルバージョンを削除するにはどうすればよいですか?
  • 通常のLTSカーネル更新方法に戻りたいときのために、古いカーネルの開発を監視します。次に、前の箇条書きリンクの説明に従って、手動でインストールされたメインラインカーネルを削除します。
  • 最新のメインラインカーネルを手動で削除した後sudo update-grub、Ubuntuの最新のLTSカーネルがGrubのメインメニューのUbuntuと呼ばれる最初のオプションになります。

最新のカーネルを見つける

kernel.ubuntu.com-Kernel PPA Mainline)に移動して、Endキーを押します。

メインラインカーネル1

リンク4.9.8(または、これを読んだときに利用可能な場合は新しいリンク)をクリックすると、次のように表示されます。

メインラインカーネル2

黒いエアブラシマークのリンクに注意してください。これらは、IntelまたはAMDプロセッサーを使用してUbuntu 16.04 64ビット用にダウンロードする3つです。

ターミナルを使用したインストール

Ctrl+ Alt+でターミナルセッションを開き、次Tを使用します。

cd ~/Downloads # Change to your downloads directory
ll linux*.deb  # Check if any previous downloads still exist
rm linux*.deb  # Use this command if any previous downloads found

上記のダウンロード画面に戻り、3つの.debカーネルダウンロードすべてをシングルクリックします。ダウンロードが完了したら(ブラウザにステータスが表示されます)、ターミナルセッションに戻り、以下を使用します。

sudo dpkg -i linux*.deb
rm linux*.deb
sudo reboot

出来上がり!-grubブートメニューの最初のオプションが選択されている場合、最新のカーネルを実行しています。古いバージョンのカーネルは、grubの[ 詳細オプション ]メニューで引き続き使用できます。

最新のカーネルを数十回インストールした後、「古いバージョンのカーネルを削除するにはどうすればよいですか?」という質問が表示されます。これらの回答は、Ask Ubuntuで確認できます。


「あなたの人生を複雑にしないでください」と言ってこれに答えるべきです。
ファビー

9

遅くても新しい答え。

私の答えにさらに情報を追加します。今、私の古いカーネルは次のとおりlinux-headers-4.8.0-53です。どのカーネルをuname -rターミナルに入力したかを調べるには、このコマンドを入力して利用可能なカーネルのリストを取得します。

apt-cache search linux-image

これにより、非常に大きな出力が得られます。インストールしたいものの1つを選択し、コマンドに従ってインストールしてください(これらのコマンドを入力しないで、kernal_versionの語をインストールしたいカーネルバージョンに置き換えてください)

sudo apt-get install linux-image-kernal_version
sudo apt-get install linux-image-extra-kernal_version
sudo apt-get install linux-headers-kernal_version

今、私の場合linux-image-4.10.0-22-generic、コマンドを次のように選択します

sudo apt-get install linux-image-4.10.0-22-generic 
sudo apt-get install linux-image-extra-4.10.0-22-generic
sudo apt-get install linux-headers-4.10.0-22-generic

最後にコマンドで古いカーネルを削除します

sudo apt-get autoremove

今、私が最初にそれをやったとき、私は知ってはいけない、それは私のハードウェアの問題であるため、または古いカーネルを削除するのが、私のラップトップは私に私のラップトップはどうなるの黒い画面を示し時々の私は、それはバッテリーの取り外し.Thusして、コマンドを再起動し、入力しましたまた、ブラックスクリーンの問題に悩まされることもありません。

uname -r

そしてそれは私に与えます

linux-image-4.10.0-22-generic

これは、カーネルが更新されることを意味します。


3
黒い画面の問題は、使用中のカーネルを削除したことが原因である可能性があります。新しいカーネルをインストールした後、再起動する必要があります。次に、古いカーネルを削除します。
レイブ

素晴らしい答え。状況は少し変わりlinux-image-extraましlinux-modules-extra4.18.0-22-genericが、この機能を使用するにはバージョンを変更する必要がありました。
deerchao

7

これを行うはるかに簡単な方法があり、それは私が使用する方法です。Ubuntu Mainline Kernel Updaterスクリプトをダウンロードして、ターミナルから実行するだけです。.debがダウンロードされ、新しいカーネルがインストールされ、オプションで古いカーネルが削除され(推奨されません)、オプションで再起動されます。

出力例(私の端末からコピー):

evilsupahfly@the-black-beast:~$ sudo KernelUpdateChecker -no-rc -r utopic
Run this command to install the new kernel
/tmp/kernel-update
root@the-black-beast:~# /tmp/kernel-update
Config Notes:
Rejecting Release Candidates
Accepting Latest Kernel
Accepting kernels compiled for utopic
Accepting kernels with a version higher than 3.15.0-031500-lowlatency

Information:
Origin: 
    http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15.1-utopic
Kernel Version:
    3.15.1-031501
Release Date:
    2014/06/16 @ 18:41 (YYYY/MM/DD @ HH:MM)

Care to look at the change log? (y=Yes, n=No) (n)

(download output skipped)    

Greetings root
    I (the-black-beast) am now self aware and a sentient being, have a nice day.
    Oh and by the way SKYNET is now active.

Installing Linux 3.15.1-031501:

(installer output skipped)

The New Kernel looks to have been installed

WARNING: If the new kernel does not boot you may regret saying yes here.
Would you like to remove the current one? (y=Yes, n=No) (n): n

Are you ready to Reboot? (y=Yes, n=No) (n): n

ほぼ完全に自動化され、完全に問題がありません。


6

スクリプトを作成しましたが、常に最新の状態になります。

ukupgrade:Ubuntu Kernel Upgrade

  • お気に入りのターミナルを開き、次のコマンドを実行します
  • ファイルに実行許可を与える

    chmod +x ./ukupgrade

  • スクリプトを呼び出す

    ./ukupgrade


1
これが最高でした。
アリ

ジェネリック〜を尋ねると、低レイテンシーのバージョンをインストールし続ける
user2413

私はこのツールについて知らなかったので、汎用/低遅延フレーバーの選択もサポートする同様のツールも作成しました。ここで見つけることができます:github.com/cristim/kernel-update
Cristian Măgherușan-Stanciu

6

次のターミナルコマンドを実行して、新しいUbuntuメインラインカーネルをインストールします

sudo apt-get update
sudo apt-get install python-bs4 python-apt
cd /tmp
rm -rf medigeek-kmp*
wget https://github.com/medigeek/kmp-downloader/tarball/master -O kmpd.tar.gz
tar xzf kmpd.tar.gz
cd medigeek-*
python kmpd.py -d

スクリプトはGithubでホストされています。EnterPythonスクリプトの特定の質問にこだわった場合は、数字の代わりにを押してください。


3
私はそのスクリプトの著者です。修正しました。バグレポートを提出してください。ほとんどの場合、プログラマは誰かがレポートを提出するまでバグの存在を知りません。:)
サヴァスラデビッチ

debここでのベストアンサーで説明されているように、パッケージのインストールを行うだけでスクリプトの利点は何ですか?
rubo77 14

aptが依存関係をインストールしなかったためクラッシュしたので、このタイプのツールを考えていました。aptはすべて依存関係に関するものだと思うでしょう。違う。スクリプトは最新リリースに合わせて更新するか、検索してユーザーに選択させることができます。すべての私は再び私のシステムを立ち上げた場合、私はRC6のターミナルコマンド見つかったことから、私が直接行きます、と述べている
僧須菩提を

@SavvasRadevicImportError: No module named apt_pkg
ヤヒヤ

1
@SavvasRadevic私はすでにやったが、あなたのリクエストに応じて報告しています。
ヤヒヤ

5

手間をかけずにカーネルを手動でアップグレードしたくない場合は、UUKUを試すことができます。エレメンタリー、ミントなどのUbuntu派生物でも正常に動作します。

古いハードウェアでは新しいハードウェアが検出されない場合があるため、WiFiの問題を修正するために使用しました。ハードウェアドライバーの更新以外は、カーネルをアップグレードする必要はありません。新しいカーネルにはセキュリティとわずかなパフォーマンスアップグレードがありますが、VMのようなものを壊す傾向もあります。

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu
ukuu-gtk

ソース:

http://www.makeuseof.com/tag/upgrade-kernel-ukuu-ubuntu/

http://www.teejeetech.in/2016/07/ukuu-v167.html?m=1


3

もう1つのオプションは、Ubuntu用のこのi3 / i5 / i7最適化3.2.1カーネルなど、カスタマイズおよび最適化されたビルドを試すことです。

DuoPetalFlower、Linuxでの実験-3.2.1カーネル

彼はまた、Intelの原子最適化ビルドを持っています。これは、ネットブックから最後の1オンスのパフォーマンスをすべて圧縮しようとする場合に非常にうまく機能します。

Liquorixのような他のカーネルは、デスクトップのパフォーマンスに対してより最適化されていると主張しています。

一部では推奨されていませんが、多くの場合、問題なくUbuntuの新しいバージョンから公式のカーネルを実行できます。私は現在、oneiricで3.3.3の正確なカーネルを実行していますが、私のマシンはこれまで以上にうまく機能します。温度は数度下がりましたが、パフォーマンスとバッテリー寿命は増加しました。スタンバイから再開したときに黒い画面が表示されるという問題もなくなりました。個人的には新しいカーネルを使用しても問題はありませんでしたが、これを行うことに強く反対する人を見つけるでしょう。


2

これまで見てきたように、UbuntuはLinuxカーネルのバージョンを提供しますが、アップストリームでリリースされるのと同じ速度であるとは限りません。3.3.1カーネルはいつでも自分でコンパイルできます。そうでない場合は、検索してみてください。このチュートリアルのようなチュートリアルが見つかるはずです。(カーネルは危険な獣であるため、慎重に注意してください)


2

上記の回答のいずれも、カーネルを最新の安定バージョンに手動で更新するという私の問題を満足させませんでした。(私の現在のラップトップはRC、Dell XPS 9365に非常に敏感です)。

最新のカーネルバージョンを検索し、インストールするオプションとして表示するシェルスクリプトを作成しました。試してみてください。githubにあります。必ずREADMEを読んでください。


2

http://kernel.ubuntu.com/~kernel-ppa/mainlinekernel-upgrade.shから選択したカーネルをダウンロードしてインストールするこのスクリプトを作成しました。

TMP=/var/tmp/kernel
mkdir -p "$TMP" && cd "$TMP"
rm -f "$TMP"/*
F=v4.16-rc6
V=4.16.0-041600rc6
R=$(wget -qO - "http://kernel.ubuntu.com/~kernel-ppa/mainline/$F/0005-debian-changelog.patch" | sed -ne '/^+linux/{s/.*\.\([0-9]\+\)).*/\1/p;q}')
B="$V.$R"
URL=http://kernel.ubuntu.com/~kernel-ppa/mainline
set -x
wget "$URL/$F/linux-headers-$V-generic_${B}_amd64.deb" \
    "$URL/$F/linux-headers-${V}_${B}_all.deb" \
    "$URL/$F/linux-image-$V-generic_${B}_amd64.deb"
sudo dpkg -i "linux-headers-$V-generic_${B}_amd64.deb" \
    "linux-headers-${V}_${B}_all.deb linux-image-$V-generic_${B}_amd64.deb"
# now enter: sudo reboot now

Ubuntuが新しいカーネルで起動しない場合、grubメニューで「高度な設定」を選択し、そこで最後に実行されているカーネルを起動することを選択できます。


注: 4.15-rc7以降、カーネルにはメルトダウン攻撃に対するKPTI修正あり、4.15.1以降では "Spectre Variant 2、Mitigation 2"(http://github.com/speed47/spectre-meltdown-checker/で確認)


このスクリプトを実行するのに少し苦労しています。BIOS、2。1.障害者のセキュアブートがにスクリプトを保存した:私は私のステップであるので、ここでは、何か間違ったことをやってすることができるkernel-upgrade.sh、とchmod 777 kernel-upgrade.sh。それから私はそれを実行しましたsudo ./kernel-upgrade.sh。その後、エラーが表示されますrm: cannot remove '/var/tmp/kernel/*': No such file or directory。それから++ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.16...<truncating url> `kernel.ubuntu.com(kernel.ubuntu.com)| 91.189.94.216 |:80 ...に接続しています。HTTP要求が送信され、応答を待っています... 404 Not Found` 404が3回発生します
サラダ

による最初の警告rmは無視できます(今追加しましたrm -f)。残りは明確ではありません、問題は何ですか。ここでURLを切り捨てても問題を解決できません。出力をpastebin.comに投稿して、結果のURLを確認できますか?
rubo77

確かに、ここに貼り付けます pastebin.com/KcdVdKQr
残りのサラダ

それが重要な場合にも、私はUbuntuの17.10を実行しています
売れ残りサラダ

これは間違ったパスだと言いました:kernel.ubuntu.com/~kernel-ppa/mainline/v4.16-rc6/…正しいパスを確認してください:kernel.ubuntu.com/~kernel-ppa/mainline/v4。 16-rc6
rubo77

2

最新のカーネルをインストールするにはUbuntu Kernel Update Utilityをインストールします

$ sudo add-apt-repository ppa:teejee2008/ppa

$ sudo apt-get install ukuu

次のコマンドでアクセス制御を無効にします。

$ sudo xhost +

ukuuでインストールする

$ sudo ukuu

$ sudo ukuu --install-latest

その後、安全に実行する

$ sudo xhost -

そして再起動

$ sudo reboot

すべてのカーネルバージョンのリストを表示するには、「sudo ukuu --list」を使用します。
Vitaliy LiBrus

ukuuタイプの他のオプション「ukuu --help」を表示する場合
Vitaliy LiBrus

sudo xhost -終わったらやるべきではありませんか?(比較:github.com/teejee2008/ukuu/issues/25#issuecomment-341501666
学生

@学生、はい、ありがとう!手順のリストに追加しました
Vitaliy LiBrus

0

カーネルバージョンを確認する $ uname -sr

32ビットのカーネルv5をダウンロードする

$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-image-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-modules-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb

64ビットのカーネルv5をダウンロードする

$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-image-unsigned-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-modules-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb

インストールする

$ sudo dpkg -i *.deb

その後再起動

sudo reboot

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.