うつ病双極性感情障害を抱えたけんけんFedoraFreeBSD勉強日記。
Linux/Unixデスクトップ用途として使う秘訣お教えします。
 since 2006年2月16日(木)

高速化 or 軽量化

Linuxのfsckを使ってファイルシステムを高速化、最適化する方法。5

ブログネタ
Linuxに関する運用 に参加中!

はじめに


今回は、ファイルシステムの高速化最適化を紹介したいと想います。
PCを使っているとファイルシステムが断片化したり、HDDにバッドセクタが出来たりします。
特に、バッドセクタはシステムがクラッシュしたときなどに生じることが多いと思われます。
今回は、この断片化バッドセクタの修復法を紹介したいと思います。
(必ず最後まで読んでコマンドを実行してください。不用意にfsckすると
返ってファイルシステムが壊れる可能性があります。
もちろん、何があっても保証はしませんのでバックアップも忘れずに。またこの作業は長時間かかると思われますのでご注意を。)


断片化について


ではまずは、断片化についてちょっと触れると、
Linuxでは、ファイルシステムが優れているからデフラグは必要ないとよく言われます。

ですが、ディレクトリに限りどうやらデフラグ、圧縮してくれる機能がfsckに実は備わっているようです。
詳しいことは、

man fsck.ext4

を読んでもらうとして、どうやら、extなファイルシステムのfsckでは-Dオプションを使えば良いようです。

バッドセクタについて


つぎに、バッドセクタとは、バッドセクタ(不良セクタ)とは? - ハードディスクデータ復旧実績白書によると、I/Oエラーが検出されたセクタの総称のことらしいです。
で、要約するとHDD出荷時にもバッドセクタはあるらしいのですが、
OSインストール時にフォーマットする際に、バッドセクタは使わないように
ファイルシステムを構築するようです。

ですが、はじめにの節でも述べましたが、PCもしくはサーバーにシステム障害があって
HDDとの同期が取れずに終了するとバッドセクタができることがようです。
Linuxでは通常、システムを起動する際に簡易なファイルシステムチェックが行われるようにできており、
ファイルシステムが正常であれば、そのまま起動し、
異常があればファイルシステムのチェックを開始するような仕組みが搭載されています。
(もちろん、Windowsにもあります。)

ですが、起動時のfsckでは、簡易なチェックでしか行わないためファイルシステムが正常だと判断されると、
バッドセクタの修復(実際にはバッドセクタを使わないようにする)をしてくれないこともあるようです。
バッドセクタの修復をするには、fsckに-cオプションを使います。

実際の作業方法


では、実際にLinuxでデフラグとバッドセクタを修復する方法を紹介します。

まずは、システムが起動している場合は、再起動します。
電源を切っている場合はもちろん、ONにしましょう。

シングルユーザーモードで起動


まずは、シングルユーザーモードで起動します。
Linuxシステムが起動したら、grubの画面が出ると思います。
出たら、e(editを意味する。)を押してください。
↓キーでkernelの行に移動し、eを押します。
kernelの行の一番最後に移動するので、[スペース]キーを押し、sを入力、[Enter]キーを押し、
[Esc]キーで戻ってbを押し、ブートすればシングルユーザーモードで起動できます。
起動すると

#

とコマンドを受け付ける状態が表示されると思います。

アンマウント


通常システムが起動すると、ファイルシステムを全てマウントします。
ですが、このままfsckを実行するとファイルシステムが壊れてしまいます。
ですのでまずは、アンマウントしましょう。

umount -a


fsck


無事、アンマウント出来たらファイルシステムを修復、デフラグ、バッドセクタの修復をします。

fsck -fpcDv

とします。

  • -fはファイルシステムが正常でもチェックする。

  • -pは自動的にファイルシステムを修復する。

  • -Dはいわゆるデフラグをする。

  • -cはバッドセクタを修復する。

  • -vはfsckの状況を詳細に出力する。


を意味します。
全部、チェックし終わると
REBOOT LINUX
と表示されるので、
再起動してください。

これで、HDDへのアクセスがOSを再インストールをしたとき並に高速化最適化されると思います。

超軽量化!!低スペックでもキビキビ動くタブ型Window Managerのfluxboxのインストール方法とスクリーンショット #Fedora #Linux #F13 #Fedora13 #fluxbox

ブログネタ
Linuxに関する運用 に参加中!
fluxbox.org - screenshots


低スペックなPCを使うしかないような環境にいる方に朗報です。軽量化ですね。

fluxboxというウィンドウマネージャーであれば、
メモリが256MBしかないという方にお勧めです。

fluxbox-firefox


インストールするには、

su
(パスワード入力、●や※印は出ません)
yum install fluxbox xterm


を打てばインストールできます。
ネットワークにつながっている状態である必要があるので、
注意してください。


インストール出来たら、
一度GNOMEデスクトップからログアウトし、
ログイン名を選んだ後に
→下の欄にGNOMEというボタンがあるので、
それをfluxboxに変更します。

無事fluxboxが起動したら、
一度ログアウトし、
fluxboxの自動起動アプリ

をリンク先を右クリックしてダウンロードし、
.fluxbox/startupにコピーしてください。

これでとりあえず、右クリックしてFirefoxとxtermが起動するようになります。
また、ファイル操作アプリがないので、
必要な場合は、

nautilus &

としてください。

一度nautilusが起動するとfluxboxの右クリックが聞かなくなるので、
[Ctrl]+[Alt]+[F2]でブラック画面のテキストモードに移行し、
ユーザーログインし、

killall nautilus

とすれば、fluxboxの右クリックメニューが現れログアウト出来ます。

こんなややこしいことは嫌だと言う方は、すべてのアプリを
保存、閉じた後
[Ctrl]+[Alt]+[Backspace]を押せばログアウトできます。


それでは、再び入院の外泊から病院の入院へと
足を進めます。

それではみなさん、またいつか。

新The UNIX Super Text 上 改訂増補版
新The UNIX Super Text 下 改訂増補版

[高速化]、[軽量化]Linuxカーネルkernelの再構築 on Fedora 12 13 14

Linuxでデバイスが動かなくて困った。
といった経験ないでしょうか?

また、
高速化したい。軽量化したい。
というご要望ありませんか?

そんな要望に答える最終手段。
カーネルの再構築に挑戦しましょう。

カーネルソースのダウンロード


まずは、Linuxカーネルのソースをダウンロードしましょう。
The Linux Kernel Archives
から右上のLatest Stable Kernel:の下のバージョン番号を
クリックしてダウンロードしてください。
2010年 2月 9日 火曜日 時点では、2.6.32.7がStableバージョンです。

ファイルの展開



cd ~/Downloads/
tar xvjf linux-2.6.32.7.tar.bz2

(2.6.32.7は現在のダウンロードしたバージョンに置き換えて下さい。
linux-まで入力したら[tab]キーで補完すれば間違いないでしょう。

必要なパッケージのインストール


開発ツールのインストール



カーネルをコンパイルするために開発ツールをインストールします。

su
(パスワード入力)
yum groupinstall 開発ツール



mkinitrdのインストール



カーネルのRAMディスクを作るために
mkinitrdパッケージをインストールします。

yum install mkinitrd


dracutがRAMディスクを作成してくれます。

ncurses-develのインストール



カーネルのパラメータ等を設定するメニューを
表示させられるようにncurses-develをインストールします。

yum install ncurses-devel


root権限からログアウト



無事必要なパッケージをインストール出来たら、

exit

して、root権限からログアウトします。


カーネルパラメータの設定



make oldconfig


カーネルパラメータ等を設定します。

cd linux-2.6.32.7
cp /boot/config-2.6.31.12-174.2.3.fc12.i686.PAE .
make oldconfig

すると、config-2.6.31.12-174.2.3.fc12.i686.PAEの
設定が読み込まれます。
さらに、Linuxカーネルは日々進歩しているので、
2.6.31.12カーネルから変化したカーネルパラメータについての
ON、OFF、モジュールかするかどうかについて質問されます。
DEBUGはn
m、もしくはMにできるもの(モジュールに出来るもの)は、
それぞれ、mMを選択。
それ以外は、yを選べば問題ないと思われます。

make menuconfig




make menuconfig

して、カーネルパラメータの設定をします。
CPUタイプの設定をするだけでかなり高速化されます。
また、KVMやXenやVMwareなどの仮想化を使わないならば、
VirtualizationをOFFにしてしまいましょう。

コンパイル



カーネル、カーネルモジュールをコンパイルするには、

make

と入力するだけです。
数時間かかるので寝る前にでも実行しましょう。


インストール



コンパイルしたカーネル、カーネルモジュールをインストールするには、

su -c "make modules_install install ; mkinitrd -f initramfs-2.6.32.7.img 2.6.32.7"
(パスワード入力)

2.6.32.7の所はダウンロード、コンパイルしたカーネルバージョンに
置き換えること。

grub.confの設定



make installしたことで、
/etc/grub.confに新しいカーネルが登録されます。
しかし、デフォルトで起動する設定に変更されていない。
そのまま再起動したままだと、
以前(Fedoraもしくはディストリビュータ)が
用意したカーネルが起動してしまうので、
新しく再構築したカーネルを起動させるために

default=1

となっている箇所を

default=0

としておく。
(環境によっては、
default=の後の数字が1意外になっているかもしれない。)


再起動



システムを再起動してください。
新しいカーネルで起動できたら、

uname -r

を実行して、

2.6.32.7

など自分がコンパイルしたカーネルのバージョンとして
表示しているか確認してください。

もし、nvidiaなどのグラフィックカードのドライバを
インストールする必要がある場合は、
新しいカーネルで起動した後、
make、make installなどして
ドライバをコンパイルし、
modprobeでモジュールを読み込んでください。


起動できない、
コンパイルできない!!といった場合は、コメントもしくは、
Twitterへ。

Firefoxのデータベースを最適化して高速化!! on Fedora Linux

Firefoxを使っていると徐々に重くなっていきます。

その理由は、内部で試用しているSQLiteが肥大している事が原因です。

そこでこのSQLiteを最適化する、SQLite OptimizerというAdd-onを
導入しましょう。

SQLite Optimizer:: Add-ons for FirefoxからAdd-onをダウンロード、
インストールします。

Screenshot-Firefox-SQLite-Optimizer

このサイトからのAdd-onのインストールをするために許可をクリックします。

Screenshot-Firefox-SQLite-Optimizer-kyoka

インストールをクリックしてSQLite Optimizerをインストールします。

Screenshot-Firefox-SQLite-Optimizer-Install


Screenshot-Firefox-SQLite-Optimizer-reboot

Firefoxを再起動します。

Firefoxを再起動したら、
[ツール]→[アドオン]→[SQLite Optimizer]→[設定]
[レ]Firefox 終了時に sqlite データベースの REINDEX を実行する
[レ]VACUUM 後に REINDEX を実行する
閉じるをクリックしてFirefoxを再起動します。
Screenshot-Firefox-SQLite-Optimizer-jikkou

すると、軽くなっていると思いますよ。

Fedoraが不安定なときに安定させる方法。on Fedora 12

Fedora 12になって、
色々と不安定な事が多くなりました。
特に私の環境では、
ndiswrapperというNDISというMicrosoft社が定めたネットワークドライバ
をLinuxで扱うためのモジュールを組み込んでいます。
このような場合、
従来の方法ではモジュールをインストールするだけで
安定して高速に無線LANの接続ができました。
しかし、Fedora 12での無線LANの接続が異常に遅くなりました。

ですが、initramfsをdracutを用いることで安定に、
そして高速に無線LANを接続することが可能になりました。

ndiswrapperだけでなくnvidiaのドライバモジュール
kmod-nvidiaを使った場合にも恐らく有効でしょう。

また、何故かcompiz-fusionも安定して動作するようになりました。

とりあえず、なんだか不安定だなと思ったら以下のコマンドを
実行してみてください。


$ su
(パスワード)
# cd /boot
# cp initramfs-2.6.31.9-174.fc12.i686.PAE.img initramfs-2.6.31.9-174.fc12.i686.PAE.img.orig
# dracut --force initramfs-2.6.31.9-174.fc12.i686.PAE.img 2.6.31.9-174.fc12.i686.PAE
# reboot


上記のようにコマンドを実行してください。

概要としては、/bootディレクトリに移動して、
initramfsをdracutで作り直したときに起動しなくなっては困るので、
initramfsの元ファイルをコピーします。
そして、dracut--forceオプションを付けて実行します。
ただし、ファイル名は、お使いのバージョンに合わせてください。
ファイル名の入力を間違わないようにするために、
initramfsまで入力したら、
[tab]キーを何回か押しながら、ファイル名の補完をすると間違いの確率が
減るでしょう。
ブログ内の検索
Google

WWW を検索
このblog内を検索
最新コメント
コンピューター オススメ
Linuxオススメ本
コマンド本
アクセスカウンター

    はてブリスト - 現在
    • ライブドアブログ