1. ホーム
  2. オペレーティングシステム
  3. フェドラ

Fedoraシステムカーネルのインストールと古いカーネルの削除のチュートリアル

2022-01-20 12:25:46

カーネルソースコードのインストール
開発の長い時間後にFedoraカーネルのソースコードは、Fedora 12の多くのユーザーは非常によく理解され、ここで私は個人的な理解を公開し、あなたが議論を議論する。現在、REDHAT(レッドハット)、レッドフラグLinuxなど、Linuxの中国語版もあります。国では完全にユーザーによって肯定されている、主にそのセキュリティと安定性で、それはUnixと多くの類似点を持っています。しかし、現在ではオペレーティングシステムのこの種は、現在、主に中間およびハイグレードのサーバーで使用されるようになります。
カーネルヘッダのインストール
本パッケージは、カーネルヘッダと、カーネルパッケージ内のモジュールのコンパイルに対処するのに十分な makefile を提供します。ドライバがカーネルソースコードを必要とする場合、おそらく Kernel Headers をインストールすれば十分でしょう。Kernel Headers は kernel-devel RPM パッケージをインストールすることで利用できます。このパッケージは Fedora によって自動的にインストールされないかもしれません。このパッケージは Fedora DVD から、または FTP と YUM を使ってオンラインでインストールすることができます。Fedora レポジトリとオンラインの Update レポジトリを、uname コマンドを使用して、あなたのシステムにマッチすることを確認しながら見てください。例
[wisfern@Wisfern ~]$ uname -rm
2.6.32.11-99.fc12.i686.PAE i686
すでにカーネルを(yum を使って)アップグレードしている場合は、yum を使ってこのパッケージをインストールすることが推奨されます。
[wisfern@Wisfern ~]$ sudo yum install kernel-PAE-devel
カーネルソースのインストール (kernel source)
一般的に言って、カーネルソースコードを再コンパイルする特別な理由がない限り、カーネルソースをインストールする必要はありません。カーネルヘッダーはいずれにせよ必要です。
Kernel Sourcedeのインストールをめぐる基本的な手順は3つです。
1. 関連する環境を準備する
2. 2. 必要なカーネルのソースコードをダウンロードする(必要であれば現在のカーネルと一致させる)
3. SRC.RPM パッケージをインストールする
4. 4. rpmbuild を使って、ソースコードを使える状態に変換する。
注:以下の手順は、少なくとも400MBのディスクスペースを消費します
関連する環境を準備する
インストールを開始する前に、必要な2つのパッケージ、rpmdevtoolsとyum-utilsをインストールする必要があり、これらは以下のコマンドでインストールすることができます。

コピーコード
コードは以下の通りです。

su -c 'yum install yum-utils rpmdevtools'

先ほど選択してダウンロードしたkernel.src.rpmをインストールします。この作業はユーザールートで行うことはできません
ディレクトリを設定する
コピーコード
コードは以下の通りです。

rpmdev-setuptree

このコマンドは、現在のユーザーディレクトリにrpmbuildディレクトリを生成します。
カーネルソースコードのダウンロード
カーネルソースコードを 'yum' で入手する(最新の Fedora カーネルソースコードの場合)
yumツールは、最新のカーネルソースコードをダウンロードすることができます。それが見つからない場合、ここには(まだ)アップデートがないため、デフォルトのFedoraカーネルソースコードが使用されます。
コピーコード
コードは以下の通りです。

[wisfern@Wisfern Desktop]# yumdownloader -source kernel
           (sourceオプションの前には、2つの-が付きます)
カーネルソースコードのインストール
依存ソフトウェアのインストール
コピーコード
コードは以下の通りです。

su -c 'yum-builddep kernel-<version>.src.rpm'

*.src.rpm パッケージをインストールします。
コピーコード
コードは以下の通りです。

[wisfern@Wisfern Desktop]#sudo rpm -ivh kernel-2.6.32.11-99.fc12.src.rpm

  
インストール中、以下のエラーが発生した場合。
警告: ユーザー mockbuild が存在しません - root を使用します。
警告: グループ mockbuild が存在しません - root を使用します。
新しいグループとアカウントを作成するだけです。
コピーコード
コードは以下の通りです。

#gourpadd mockbuild
#useradd mockbuild -g mockbuild

その後、再インストール
カーネルのソースコードを用意する
ソースコードを使用可能な状態に変換する。 
SPECSディレクトリに移動します。
コピーコード
コードは以下の通りです。

cd ~/rpmbuild/SPECS

次のコマンドを実行します。
コピーコード
コードは以下の通りです。

rpmbuild -bp -target=$(uname -m) kernel.spec
            (ターゲット・オプションの前には、2つの-が付きます)
ソースファイルは ~/rpmbuild/BUILD/kernel-2.6.32 ディレクトリにあります。ここには、2つの有用なディレクトリがあります。
1.linux-2.6.32.i686/arch
ここには、Fedora のパッチとアップデートを含む標準の kernel.org カーネルソースコードがあります。システムアーキテクチャは uname -m の出力と一致しており、一般に i686 です。また、必要であれば -target= オプションで noarch パラメータを使用することができます。
2. バニラ-2.6.32/.
ここには、kernel.orgの標準カーネルのみが含まれています(パッチやアップデートはありません)。
注:Fedora 用のカーネルソースコードをコンパイルし設定するための詳細なプロセスは Fedora Wiki で見ることができます。

古いカーネルを削除する
Fedoraは非常に頻繁に更新されるので、以下のように古いカーネルを削除することが非常に重要です。

1. 現在システムにインストールされているカーネル関連パッケージを確認します。

コピーコード
コードは以下の通りです。

[[email protected] ~]# rpm -qa | grep kernel

kernel-headers-2.6.32.12-115.fc12.i686
kernel-firmware-2.6.32.12-115.fc12.noarch
kernel-PAE-devel-2.6.32.11-99.fc12.i686
kernel-devel-2.6.32.12-115.fc12.i686
kernel-PAE-2.6.32.11-99.fc12.i686
kernel-PAE-devel-2.6.32.12-115.fc12.i686
kernel-PAE-2.6.32.12-115.fc12.i686
kernel-devel-2.6.32.11-99.fc12.i686
abrt-addon-kerneloops-1.0.9-2.fc12.i686

2. 現在使用しているカーネルを表示する。

コピーコード
コードは以下の通りです。

[[email protected] ~]# uname -r

2.6.32.12-115.fc12.i686.PAE

3. 削除するカーネルを特定します。
ここにあります: kernel-PAE-2.6.32.11-99.fc12.i686[/code].

4. カーネルを削除します。

コピーコード
コードは以下の通りです。

[[email protected] ~]# yum remove kernel-PAE-2.6.32.11-99.fc12.i686

説明
ウェブ上でコピーしまくり、: rpm -e でカーネルパッケージの削除をするのではなく、yum remove で削除することをお勧めします。
なぜなら、yum remove は自動的に /boot/grub/menu.lst から関連するブートアイテムを削除してくれるからです。