Gentoo Linux 1.4 install / tDiary 1.5.5 install / root 消してしまいました / インデックス / 開始時間と終了時間 / tDiary-mode に草稿保存の機能があると嬉しいかも

投稿日: 2003年11月12月

Gentoo Linux 1.4 install

Pentium3 用の CD イメージをダウンロード。LiveCD から起動

fdisk でパーティションを作成

/dev/hda1 83  Linux
/dev/hda2 82  Linux swap
/dev/hda3 83  Linux

インストール

# ファイルシステムの作成
mke2fs -j /dev/hda1
mkswap /dev/hda2
mkreiserfs /dev/hda3
badblocks - badblocks.txt -v /dev/hda1
badblocks - badblocks.txt -v /dev/hda2 
badblocks - badblocks.txt -v /dev/hda3 

# パーティションをマウントする
swapon /dev/hda2
mount /dev/hda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot
cd /mnt/gentoo
tar -xvjpf /mnt/cdrom/stages/stage1-*.tar.bz2

# chrootを使ってGentoo Linuxシステムに「入る」
 mount -t proc proc /mnt/gentoo/proc
cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile

# 最新のPortage ツリーを取得する(GRPを使用しない)
emerge sync


nano -w /etc/make.conf
CHOST="i686-pc-linux-gnu"
CFLAGS="-O3 -mcpu=pentium3 -funroll-loops -pipe"


# binutils、gcc、gettext、glibcを構築し、glibcが構築された後、gettextを再構築(ステップ1)
cd /usr/portage
scripts/bootstrap.sh


# 残りのシステムをインストール(ステップ2)
emerge system


# ステップ3 ならここから

ln -sf /usr/share/zoneinfo/Japan /etc/localtime

# カーネルソースをemerge
emerge -k sys-kernel/gentoo-sources
# genkernelをemerge
emerge -k genkernel
# genkernelを使ってカーネルを構築する 
genkernel
# hotplugをemergeし有効にする
emerge -k hotplug
rc-update add hotplug default


# システムロガーのインストール
emerge -k app-admin/sysklogd
rc-update add sysklogd default


# cron デーモン
emerge -k sys-apps/vcron
rc-update add vcron default


# ファイルシステムツールのemerge
emerge -k sys-fs/reiserfsprogs


nano -w /etc/fstab


/dev/hda1           /boot       ext3            noauto,noatime   1 2
/dev/hda3           /           reiserfs        noatime         0 1
/dev/hda2           none        swap            sw              0 0
/dev/cdroms/cdrom0  /mnt/cdrom  iso9660         noauto,ro       0 0
proc                /proc       proc            defaults        0 0


# root パスワードの設定
passwd


# 日常的に使うユーザの登録
useradd your_user -m -G users,wheel,audio -s /bin/bash
passwd your_user


# ホスト名を設定
echo inspiron > /etc/hostname
echo mylab.jp > /etc/dnsdomainname


echo 3c59x > /etc/modules.autoload


nano -w /etc/conf.d/net
rc-update add net.eth0 default


# 基本設定
nano -w /etc/rc.conf

CLOCK="local"
KEYMAP="jp106"


# GRUB
emerge -k grub
grub
grub> root (hd0,0)
grub> setup (hd0)

nano -w /boot/grub/grub.conf 


default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=My example Gentoo Linux (genkernel)
root (hd0,0)
kernel (hd0,0)/boot/kernel-2.4.20-gentoo-r8 root=/dev/hda3
initrd (hd0,0)/boot/initrd-2.4.20-gentoo-r8

無事起動

tDiary 1.5.5 install

root 消してしまいました

いつものように su - したら

root というユーザは存在しません

と言われる。

シングルユーザモードで起動して vipw してみると

oot:x:0:0:/root:/bin/bash

となってる。

昨日 vipw したときに最初の r を消してしまったらしい

かなり反省しつつ修正。無事元に戻りました。

インデックス

TIMESTAMP 型のフィールドにインデックスを作成したけど値が分散しすぎていてインデックスが効率よく使われない

時間だけで集計することもあるし DATE と TIME に分ける。

開始時間と終了時間

こうしたら先に書いたようにインデックスの意味がない

-- list1
CREATE TABLE event (
time1 TIMESTAMP, -- 開始日時
time2 TIMESTAMP  -- 終了日時
);

集計を考えるとこのほうがいい

-- list2
CREATE TABLE event (
-- 開始日時
date1 DATE,
time1 TIME, 
-- 終了日時
date2 DATE,
time2 TIME  
);

list2 を list1 の VIEW にする手もあるか

-- list3
CREATE VIEW event_view AS
SELECT
   ...略

どうせ VIEW 作るなら list1 の終了時間は期間でもいい

-- list1'
CREATE TABLE event (
time1 TIMESTAMP, -- 開始日時
intervals INTEGER  -- 期間(秒)
);

いずれにせよパフォーマンスの良いものを選択する

tDiary-mode に草稿保存の機能があると嬉しいかも

考えながら発行(保存)してるから間違いがいっぱい。


この記事へのコメント

※ このコメントは旧ブログシステム(tDiary)からの移行です。

いちえさんからのコメント(2003-11-17 13:40:31)

うちの姫が使ってる日記cgiにはその機能があるよ。

名前:宮内 はじめ

Code for Nagoya名誉代表

E2D3名古屋支部長

プログラマーです。GISやデータビズが好きです。このサイトは宮内の個人的なメモです。

プロフィール

お問い合わせ