Linux From Scratch:仮想マシンにハードディスクを追加

いまVMwareのUbuntuには/dev/sda1が1つだけある。
LFS用のパテーションを追加するためにハードディスクを仮想的に追加する。
そのためにまずは仮想マシンをパワーオフにする。
Ubuntuのメニューから、システム>終了>シャットダウン

次にVMware Playerのメニューから、仮想マシンの設定>ハードウェアで
追加ボタンを押す。


ハードウェアの種類:ハードディスク
次へボタンを押す。
仮想ディスクの新規作成
ディスク:仮想ディスクの新規作成
次へボタンを押す。
仮想ディスクタイプ:SCSI(推奨)
仮想ディスクタイプ:SCSI(推奨)
次へボタンを押す。
ディスクの最大サイズを指定
ディスク最大サイズ:10.0GB
次へボタンを押す。
ディスクファイル名を入力
ディスク ファイル:LFS.vmdk
完了ボタンを押す。
追加されたハードディスク
ハードディスクが追加された。

仮想マシンを起動し、SCSIハードディスクが追加されていることを確認する。

$ ls /dev/ds*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda5 /dev/sdb

※追加されたハードディスクは/dev/sdbである。

Linux From Scratch:LFSビルド環境の構築

LFSビルド環境の構築
LFSを構築するには既存ディストリビューションのビルド環境を利用する。
今回の実験で、全ての作業はVMマシン上で行うので、簡単に環境構築するためにUbuntu Japanese Teamのサイトから日本語設定されたUbuntuのVMWareイメージを取ってくる。

http://www.ubuntulinux.jp/products/JA-Localized

「日本語 Remix VirtualBox用仮想マシンのダウンロード」リンクをクリック
VMWare Playerでこのイメージを起動する。
VMWare ゲストOSの設定

起動後に表示されるシステム設定で、言語、時間帯、キーボードレイアウト、ユーザ名、パスワードを入力しする

設定内容

言語:日本語
時間帯:Asia/Tokyo
キーボードレイアウト:Japan
ユーザ名とパスワード:任意

回、VMware Toolは必要ないのでインストールしない。

VMWare:VMWareレジュームスクリプトのエラー

Ubuntu Japanese Teamのサイトで配布されているUbuntu 日本語RemixのVMWareイメージをVMPlayerで起動すると

この仮想マシンで VMware Tools レジュームスクリプトが正常に実行できませんでした。

というエラーがでる。

これを出ないようにするにはスクリプトのエラーを訂正しなければならないのだろうけど、その方法が分からない。

仕方が無いので、単にスクリプトを使わないようにしてエラーを回避する方法。

ターミナルからVMware Tools Propertiesを開く。

sudo toolbox

ScriptsタブのUse Scriptのチェックをはずす。
Ecript Eventのプルダウンに表示されている全部のイベントスクリプトでUse Scriptのチェックをはずした。
1回1回Applyボタンを押さないといけないので注意。

Linux From Scratch:はじめに

Linux From Scratchとはゼロから構築したLinuxのこと。

Linux環境の学習のためにゼロからLinuxを構築してみようと思い、ここにその工程を残します。

Linux From Scratchの学習書であるLFS-BOOKに沿って構築作業をすすめます。

LFS-BOOKのダウンロード
http://www.linuxfromscratch.org/lfs/downloads/stable/

日本語訳
http://www.linux.or.jp/JF/JFdocs/LFS-BOOK/index.html

目標はLFS-BOOKの完走です。

VMWare用のOSイメージを取得できるサイト

いつもドメイン名を忘れるのでココにメモ。

VMWare用のOSイメージを取得できるサイトです。

http://www.vmware.com/appliances/directory/

LinuxのOSイメージもたくさんあります。

動作検証などのために各種ディストリビューションの環境を作成したいときに便利。

mysql:configure: error: Cannot find libmysqlclient under /usr

mysql5のconfigureで以下のようなメッセージが出るとき、

configure: error: Cannot find libmysqlclient under /usr/local.
Note that the MySQL client library is not bundled anymore!

かつ、アーキテクチャが64のときは./configure オプションに
–with-mysql=/usr/bin/ –with-libdir=lib64
が足りない。

アーキテクチャの確認方法は

uname -r

Ubuntu:日本語入力で「め」のキーを押したとき・(中点)を入力する

日本語入力で「め」のキーを押したとき・(中点)を入力する。
sudo vi /usr/share/ibus-anthy/engine/tables.py
274行目を編集する
# u”/” : u”/”,
u”/” : u”・”,

linux:ls –colorの色設定を変える

ls の結果を色つきで表示するオプションが –color。
~/.bashrcに以下のように設定するといつでも色つきで表示できる。
grepでも同じオプションが使える。

~/.bashrc
# aliasでカラーオプションを有効にしたコマンドを追記
alias ls=’ls –color’
alias grep=’grep –color’

設定を反映するには

source ~/.bashrc

これでlsが色つきで教示されるようになるが、私の環境ではディレクトリが濃い青色で表示される。
この色が黒色背景のターミナルでとても見難いのでカラー設定を変更する。

.dir_colorsファイルをユーザフォルダに作成する。

dircolors -p > .dir_colors

設定を反映するには

source /etc/profile

作成された.dir_colorsファイルを編集してさらにカスタマイズすることも可能。

dircolorsのUsage

Usage: dircolors [OPTION]... [FILE]
環境変数 LS_COLORS の定義するためのコマンドを出力します。

出力フォーマットの決定:
  -b, --sh, --bourne-shell    Bourne シェル形式で LS_COLORS を出力する
  -c, --csh, --c-shell        C シェル形式で LS_COLORS を出力する
  -p, --print-database        デフォルト値を標準出力に表示する
      --help     この使い方を表示して終了
      --version  バージョン情報を表示して終了

linux:ターミナルを落とさないで再ログインする

ログイン時に読み込む設定を変更したとき、それがどのシェルで読み込まれているか解っていればsourceコマンドで反映できる

source ~/.bashrc

解らないときは/etc/profileを実行すれば、bash起動時の処理が行われる。
再ログインが必要な設定は大抵これでいけるはず。

source /etc/profile

mysql: mysql5.1.41をソースからインストール

mysqlをソースからインストールする。
pluginは全部有効にする。

cd /usr/local/src
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.41.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/
tar zxfv mysql-5.1.41.tar.gz
cd mysql-5.1.41
./configure –prefix=/usr/local/mysql
–with-charset=utf8
–with-extra-charsets=all
–with-mysqld-user=mysql
–with-plugins=max
–enable-local-infile
make
make install

以上でインストールは完了。
※この段階でエラーが出る場合は後述のエラーがでるときを参照

次に初期設定をおこなう。
ソースの雛形からmy.cnf を作成する。

cp support-files/my-medium.cnf /etc/my.cnf

作成したmy.cnf に文字コードの設定を追加する。
mysqld、mysqldump、mysql セクションにそれぞれ以下の設定を追加する。

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8

mysqlを起動する前に、mysql 用のユーザを追加する。

groupadd mysql
useradd -g mysql mysql

mysql のインストールフォルダのオーナーをmysql ユーザに変更する。

chown -R mysql:mysql /usr/local/mysql

次に、データベースを初期化を行う。

cd /usr/local/mysql
bin/mysql_install_db –user=mysql

MySQL サーバーを起動する。

./bin/mysqld_safe –user=mysql &

※mysql起動後はrootユーザログインできるようになる。
初期状態ではrootにパスワードが設定されていないので、必ずrootユーザのパスワードを設定すること。

mysqlのconfigure,makeでエラーがでるとき

もし./configureでこんなエラーがでたら

checking for termcap functions library... configure: error: No curses/termcap library found

ncurses-develというものをインストールすればconfigureできるようになる。

yum install ncurses-devel

もしmakeでこんなエラーがでたら

../depcomp: line 571: exec: g++: not found
make[1]: *** [my_new.o] エラー 127
make[1]: ディレクトリ `/usr/local/src/mysql-5.1.41/mysys' から出ます™
make:

gcc-c++をインストールする。

yum install gcc-c++

このままmakeすると、以下のようなエラーになるので、

licit-templates -fno-exceptions -fno-rtti -c -o my_new.o my_new.cc
../include/my_global.h:1099: error: redeclaration of C++ built-in type '˜bool'

make cleanしてconfigureからやりなおすこと。

make clean
./configure –prefix=/usr/local/mysql
–with-charset=utf8
–with-extra-charsets=all
–with-mysqld-user=mysql
–with-plugins=max
–enable-local-infile

make

make install