Linux」タグアーカイブ

[玄箱]GCCのインストール

GCCをインストールするが、3.4系とデフォルト(4.3系)の2バージョンをインストール

KURO-BOX:~# aptitude install gcc gcc-3.4

インストールが終わったら切り替えれるようにupdate-alternativesで設定
・・・とはいえ、下記のコマンドで確認してみる

KURO-BOX:~# update-alternatives --display gcc
No alternatives for gcc.

ないみたい。別の名前で存在してるかもと下記のコマンドで設定できるものすべてを設定してみる

KURO-BOX:~# update-alternatives --all

やっぱりないみたい。
なので、手動で追加(グループ名は”gcc”とした。)

KURO-BOX:~# update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 34 --slave /usr/bin/cpp cpp /usr/bin/cpp-3.4 --slave /usr/bin/gcov gcov /usr/bin/gcov-3.4
KURO-BOX:~# update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.3 43 --slave /usr/bin/cpp cpp /usr/bin/cpp-4.3 --slave /usr/bin/gcov gcov /usr/bin/gcov-4.3

デフォルトでgcc-3.4を使うように設定

KURO-BOX:~# update-alternatives --config gcc

There are 2 alternatives which provide `gcc'.

  Selection    Alternative
-----------------------------------------------
*         1    /usr/bin/gcc-3.4
 +        2    /usr/bin/gcc-4.3

Press enter to keep the default[*], or type selection number: 1
Using '/usr/bin/gcc-3.4' to provide 'gcc'.

Dynabook C7にLubuntu 11.04をinstall

Lubuntu-Lxlauncher


前回Ubuntu Netbook Edition 10.10をインストールしたけれど、動作も重く使い勝手に問題が出ていたので変更。
Lubuntu はUbuntuベースのデスクトップをGnomeからLXDEに変更したもの。
一昔のPCで使うには軽量で定評のあるLXDEなうえに、ネットブックに仕えるLauncherも入っていて古めのPCなのにスタイリッシュな一味違うPCに変貌します。

Lxlauncherが自動起動しなかったので下記のようにファイルを用意して、再起動。
/home/<username>/.config/autostart/lxlauncher.desktop

[Desktop Entry]
Encoding=UTF-8
Name=Lxlauncher
Comment=LXDE launcher
Exec=/usr/bin/lxlauncher
Terminal=false
Type=Application
Icon=
Categories=Application;System;

Dynabook C7にUbuntu Netbook Edition 10.10をinstall

前回Ubuntu Netbook Edition 10.04をインストールしたけれどそのあとWindowsXPに戻していたので再度Ubuntu Netbook Edition 10.10をインストールしてみて、画面設定を手動で行う必要があったのでメモ。

xorg.confの作成
対象となったのはTrident社製CyberALADDiN-Tのチップセット

  1. 端末からgedit を起動する
    $ gedit ~/xorg.conf
    
  2. 下記の内容をコピー&ペースト

    Section "Monitor"
        Identifier   "Generic Monitor"
        HorizSync    28-51
        VertRefresh  43-60
    EndSection
    
    Section "Screen"
        Identifier  "Default Screen"
        Monitor     "Generic Monitor"
        SubSection  "Display"
            Depth  24
            Modes  "1024x768"  "800x600"  "640x480"
        EndSubSection
    EndSection
    
  3. 保存し xorg.conf を /etc/X11 にコピー
    sudo cp ~/xorg.conf /etc/X11/
    

Ubuntu 10.04 でカーネル再構築

Ubuntu上でInfernoのカーネルをコンパイルするときに、

  1. /bin/sh: Argument list too long

というエラーでmkが完了しなかった。
xargsで分割できればいいんだけど、いまいち使い方がわからない。
というのもmkコマンドでmkfileを使うんだけど、その中身で
どうも、別ファイルを読み込んでその中をまた別のファイルに書かれてるスクリプトで
分割して、それを引数で渡してるみたいなんだけど、この場合どうやってxargsを使えばいいんだ?

仕方ないのでARG_MAX自体の値を増やすことにした。

カーネル再構築に必要なパッケージのインストール

  1. $sudo apt-get install build-essential
  2. $sudo apt-get install kernel-package libncurses5-dev libqt3-mt-dev

カーネルソースをインストールして展開

  1. $sudo apt-get install linux-source-2.6.32
  2. $cd /usr/src
  3. $sudo tar xvjf linux-source-2.6.32.tar.bz2

ソースの変更

  1. /usr/src/linux-source-2.6.32/include/linux/limits.hを開き、ARG_MAXを増やす

.config ファイルの作成

  1. $cd linux-source-2.6.32
  2. $sudo cp /boot/config-2.6.32-23-generic .config
  3. $sudo make oldconfig

パラメータの変更

  1. $sudo make menuconfig

Processor type and features ---> Processor familly ---> *Coer 2/newer Xeon
Timer frequency ---> *300 HZ
Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> *generic ATA/ATAPI disk support
Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> *ATA disk support

などを変更してSave Configuration to an Alternate Fileで変更を保存。
出来上がった .config ファイルの中を開いて、
以下のものが「M」ではなく「y」になっているか確認する。

  • CONFIG_IDE
  • CONFIG_SCSI
  • CONFIG_EXT3

並列コンパイル設定(CPUは4つなので最大5つまでという設定にする)

  1. $sudo export CONCURRENCY_LEVEL=5

カーネルリビルド

  1. $sudo make-kpkg clean
  2. $sudo make-kpkg –initrd –revision=20100710 kernel_image kernel_headers

.debができるのでdpkgでインストール

  1. $cd ../
  2. $sudo dpkg -i linux-image-2.6.32.*****20100710_i386.deb
  3. $sudo dpkg -i linux-headers-2.6.32.*****20100710_i386.deb

再起動

  1. $sudo shutdown -r now

起動しない・・・

Kernel Panic:VFS:***

というエラー、とりあえず、再起動後Shiftキーを押しっぱなしにしてGRUB2のメニュー入って、
正常に動いていたバージョンの起動設定と見比べてみるとinitrdの項が無いのが問題っぽい。
initrd作成

  1. $cd /boot/
  2. $sudo mkinitramfs -o initrd.img-2.6.32.***** 2.6.32

再起動後Shiftキーを押しっぱなしにして再度GRUB2のメニュー入って、
再構築したカーネルの項で”e”を押下で編集モードに入り末尾に

initrd /boot/initrd.img-2.6.32.*****

を追加して、Ctrl+xでなんとか起動できたっぽい。
GRUB2の変更は手動でやらないとだめなのかなぁ・・・。
そして、目的のARG_MAXの値を確認
$getconf ARG_MAX
で確認してみるも変わらない・・・。
カーネルが新しいのでもしかしてと重い
$sudo ulimit -Ss
を実行したところ、増えた。
結局、カーネルコンパイルしなくてよかったみたいなので、
今回作ったカーネルを削除して、今まで使ってたカーネルを利用。

増やしても、infernoのカーネルコンパイルエラーは発生する。
どうも作業してる方向がすでに間違っているようなので別の方法を探してみる。

VirtualBox in Ubuntuで共有フォルダ

共有フォルダ設定

  1. 拡張機能のインストール
    1. 仮想マシンウインドウのメニューの「デバイス」→「Guest Additions のインストール」でインストールCDをマウント
    2. $cd /media/VBOXADDITIONS_3.2.4_62467/
    3. $sudo sh VBoxLinuxAdditions-x86.run
  2. 共有フォルダの設定
    1. 仮想マシンウインドウのメニューの「デバイス」→「共有フォルダ…」で共有フォルダを設定
    2. $sudu mkdir /mnt/share
      (マウント先の作成)
    3. $sudo mount.vboxsf Share /mnt/share/
      (共有フォルダをマウント)

復旧に使えるLinuxツール

システムがさまざまな理由で起動しないときに使えるLinuxツールをメモ。

Trinity Rescue Kit
CUIベースだけれどとても優秀。

SystemRescueCd
GUIで操作可能でHDDのテストやFTPなども行える。

F-Secure Rescue CD
アプリケーションの整合性チェックやファイル修復など高機能。

safecopy
エラーが発生しているディスクからのコピーも行える。

いろいろなOS

とにかくいろんな種類のOSをいじってみたいが毎回調べて忘れての繰り返しなので期待してるOSをメモして、いろんなところに残しとこう・・・。

  • モノリシックカーネル
    • BSD
      • FreeBSD
        忘れちゃいけないBSDの大御所
      • OpenSolaris
        Solarisといえば
    • Linux
      • INSERT
        データ救出用Linux
      • PuppyLinux
        古いPCでも軽快に動くことを目的としたLinux
      • GentooLinux
        玄人向けのLinux
      • EcoLinux
        日本人の大学生ががんばってるLinix
      • Elive
        きれいで動きのあるGUIを提供するLinux
      • Chromium OS
        Googleの作っているLinuxベースのWebOS
      • Joli OS
        Jolicloudの作っているUbuntu LTSベースのネットブック用OS
      • Splashtop OS
        MicrosoftがDeviceVM社と組み、Linuxをベースとした軽量Webアクセス用OS
      • Damn Vulnerable Linux
        無防備極まるセキュリティ学習用Linux
      • BackTrack
        セキュリティチェック用Linux
    • Amiga
      • icaros desktop
        AmigaOS3.1 互換 AROSのディストリビューション
      • Syllable
        AtheOSの派生OS
    • MS-DOS
      • FreeDOS
        MS-DOS互換OS
  • マイクロカーネル
    • Minix
      UNIX風教育用OS
    • BeOS
      • Haiku
        今はなきBeOSの思想を引き継いだOS
    • L4
      マイクロカーネルらしさを追求した第二世代のマイクロカーネル
    • MonaOS
      2ちゃんねる発
    • MikeOS
      OSの勉強にもってこい
    • ナノカーネル
      • JNode
        ほとんどすべてをJavaで作ったOS
  • ハイブリッドカーネル
    • ReactOS
      WindowsNT互換OS
    • Plan9
      次世代Unixを志した分散OS

OS/2 や NetWareはないんだよなぁ・・・
まぁ、個人で使うことなんてないようなOSなんだけれど。