元ネットワークエンジニアのLinuxとの格闘の日々・・・

先週からLinuxを扱った業務に従事していますが、ほんと苦難の連続で泣きたくなる気持ちを抑えて日々の業務に勤しんでいます><。

本当にLinuxは難しいですね><。
これまでもLinuxに関わる業務には携わってきましたが、topやps等の監視コマンドを打ってロードアベレージを確認したり、CPU使用率の確認及び各種プロセスの稼働状況のチェックを行う程度でした^^;。
また、grepコマンドでデータを抽出したり、logrotateコマンドでlog管理を行うと言ったごく限られたものでした^^;。
設定関連を触ったこともありますが、cronの設定を書き換えるくらいものでしたからねw。

ですが、今回はLinuxOSのインストール作業にアップデート作業、カーネルやモジュールをビルドしたり、各種起動ファイルの設定を書き換えたり、カーネルソースの改修を行う等、殆ど構築エンジニアのような範疇にまで携わっています^^;。
ってか開発エンジニアかもしれんwww。
はっきり言って私のスキルを遥かに超えています><。

ほんと、スキルが激しく足りないので業務の大半が勉強を行いながらになっています^^;。
自身のスキル不足の為、関係者の方々に多大な迷惑を掛けているので、明らかに足を引っ張っています><。
もう少しちゃんと勉強しておけばよかったと後悔の念に駆られながら、日々難解な問題の解決に取り組んでおります><。

仕事の話になるので、出来る限り守秘義務に触れないようにしたいと考えておりますが、可能な範囲で現在私が抱えている問題について触れていきたいと考えております><。

もし、良い知恵をお持ちの方がおられましたらアドバイス頂ければ幸いに存じます><。
Linuxを恒常的に扱っておられる方にとっては初歩的な悩みかもしれませんが、今の私にとってはこれでも困難な事態なのですorz。


現在、とある業務を遂行する為に、各種ディストリビューションに客先より指定されたカーネルバージョンを導入し、カーネルバージョンを指定のものに上げた後、検証対象のスクリプトファイルのビルドを行っております。

しかし、大半のディストリビューションでスクリプトファイルのビルドが正常に行えず、ビルドに必要と思われる各種コマンドのインストールも行えない状況に陥っています><。

また、カーネルのバージョンアップ時にカーネル及びカーネルモジュールのビルドに失敗する等、思うようにいかない日々を過ごしております><。

確かに少しくらい試練がないと張り合いがありませんが、あまりに試練が多いと何もかも諦めたくなってきます(ちょwww)。


特にCentOSのカーネルバージョンアップ及びビルド作業が失敗の連続で、以下のような状況に陥っています><。


対象ディストリビューション:
CentOS6.4

対象カーネル:
kernel Ver3.10→3.10.11→3.10.20にバージョンアップ



作業内容:

$su -
パスワード:*********
su -でrootユーザになる

#cd /usr/local/src
カーネルソースをダウンロードするディレクトリに移動

#wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.11.tar.xz
カーネルソースのアーカイブをダウンロード

#ls
ディレクトリ内のリストを表示

#linux-3.10.11.tar.xz
アーカイブがダウンロードされたことを確認

#ls -l linux-3.10.11.tar.xz
アーカイブのアクセス権限を確認

#chmod +x linux-3.10.11.tar.xz
アーカイブの実行権限がないので、実行権限を付与

#tar Jxvf linux-3.10.11tar.xz
アーカイブを展開する

#ls
ディレクトリ内のリストを表示

#linux-3.10.11
linux-3.10.11ディレクトリが作成されていることを確認

#cd linux-3.10.11
linux-3.10.11ディレクトリに移動

#make olddefconfig
カーネルの設定ファイルである.configファイルが作成される

#make bzImage
新しいカーネルイメージを作成する(このコマンドが必要な理由が不明)
Webサイトを参考にして入力したので、コマンドの意味が理解出来ていない><。
makeではダメなのか?

#make modules
カーネルモジュールをビルドしコンパイルを行う

ここまではエラーなし。

#make modules_install
カーネルモジュールをインストールする
全てのカーネルモジュールでインストール失敗><。
カーネルモジュールが見つからずエラーが出る

#make install
カーネルのインストール中にエラー続出

#ls -l /boot
/bootディレクトリにkernel 3.10.11がインストールされていることを確認する
ここではインストールされていることを確認

#ls -l /lib/modules
/lib/modulesディレクトリにkernel 3.10.11のカーネルモジュールがインストールされていることを確認
ここでもインストールされていることを確認

インストールに失敗しているのになぜ表示されるのか?

ほんと、わからないことだらけです???

#view /etc/grub.conf
カーネルの起動設定ファイルにkernel3.10.11のエントリーが追加されているのを確認

#shutdown -r now
CentOS6.4を再起動する

このままでは、kernel3.10で起動するので、以下の操作を行う

「Press any key・・・」が表示されるとすぐに「ESC」キーを押す。

grubのカーネル起動選択画面が表示されるので、「CentOS(3.10.11)」を選択して「Enter」キーを押す。

以上の操作で、kernel3.10.11でCentOS6.4が起動します。

ログイン後、念のため端末でカーネルバージョンを確認する

$su -
パスワード:*********
su -でrootユーザになる

#uname -r
カーネルバージョンを確認する

#3.10.11

デフォルトの起動をkernel3.10.11に設定する

#vi /etc/grub.conf
カーネルの起動設定ファイルを編集する

変更箇所:default=任意の数値をdefault=0に書き換える

#shutdown -r now
CentOS6.4を再起動する

再起動後、kernel3.10.11で起動するようになります。


【起動後の問題点】

1.ネットワークデバイスが認識されずネット接続不可

Firefoxでインターネット閲覧不可><。
pingでデフォルトゲートウェイ到達不能><。
DNSサーバにもアクセス不可><。

#ifconfig
インターフェイスを表示する→ネットワークインターフェイスの表示なし

#lsmod
ロードされているモジュールの一覧を表示する→ロードされているモジュールが一つもない><
モジュールが全部消えた?
ちょwww、マジカーwwwwww。

念のため、ネットワーク設定関連のファイルを確認

#cat /etc/resolv.conf
ネームサーバの設定を確認→記載あり

#cat /etc/sysconfig/network-scripts/ifcfg-eth0
ネットワークインターフェイスの設定情報→IPアドレス等の設定あり



う~ん、一体ナニがどうしてこうなった???

わけわかめwwwww。

この後同様の作業をkernel3.10.20へのバージョンアップ時に試行しましたが、同様の問題が起きました><。
現状で復旧方法が不明です><。

どなたかLinuxに詳しい方、良いお知恵をお願い致します><。

尚、参考までに業務で使用しているスクリプトファイルをビルドすると以下のようなエラーが出ます><。

CONFIG_COMPAT is not supported

カーネルでサポートされていないということだけど、このエラーが出るってことはカーネルソースの改修が必要になるということなのか・・・。

ほんとLinuxは難しいです・・・。


いつまでこのLinuxの日々は続くのか・・・。
ほんとLPICどころじゃないよね・・・この有様ではorz。

スポンサーリンク



Theme: Linux - Genre: コンピュータ

Comment

  • 2013/11/28 (Thu) 12:17
    shade #- - URL
    カーネル再構築ですか

    ゲッターさん、こんにちは。

    shadeです。

    どんな契約のもと、カーネル再構築やらされてるんですかw
    自分ですら、試験対策でしかやったことないですよ。
    ゲッターさんも、201ホルダーなので、勉強はしているのですよね。
    役に立たなさそうですが、コマンドの簡単な役割つきの自分が構築したときのメモがあったので、それ公開しますね。

    外部とは繋がってましたし、エラーもでなかったので、こんなやり方もあるのかな?くらいに見てもらえれば。

    もし、使えそうなところがあれば、
    知識のないときにやったものなので、(今もないけどw)
    動作保証はできないですので、検証はお願いします。

    帰りが、あまり遅くならなければ、今日の夜中にはアップします。

  • 2013/12/02 (Mon) 00:20
    資格ゲッター #JalddpaA - URL
    Re: カーネル再構築ですか

    shadeさん

    こんばんわ、レス遅れました^^;。

    >どんな契約のもと
    業務に含まれている範囲を遂行するという契約の下ですwww。
    ぶっちゃけ、Linuxの構築は現業務を行う為の準備作業に当たります(ちょw)。
    つまり環境構築の段階に当たるわけです^^;。
    もっとも、そのスタートラインもクリア出来ていないわけですがorz。

    >勉強はしている
    正確には勉強していた(笑)ですね(ヲィwww)。
    もうその大半をきれいサパーリ忘れたお(ダメダコイツwww)。

    >コマンドの簡単な役割つきの
    わかりやすいメモの公開有難うです^^。
    改めて自身の作業を振り返る良い契機となりましたw。

    >エラーもでなかった
    それが最も重要w。
    不具合がなく、安定稼動出来ることが一番大切なのデス(ダマレw)。

    >検証は
    make cleanを行った場合とそうでない場合の検証は必要そうですねw。
    私はそのコマンドの存在をすっかり忘れてました(だめぽw)。

    カーネルリビルド情報の公開感謝しますです(ぺこりw)。

Leave a Reply


管理者にだけ表示を許可する