[[シングルモードで起動>CentOS6/single]]
[[gnome desktop>CentOS6/gnome]]
[[Bonding>CentOS6/Bonding]]

***tmpwatch [#xc3a2525]
CentOS6でのtmpwatchは cron の daily にて行われる(/etc/cron.daily/tmpwatch)
#code(nonumber)
#code(nonumber){{
#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
        -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
        -X '/tmp/hsperfdata_*' -X '/tmp/.hdb*lock' -X '/tmp/.sapstartsrv*.log' \
        -X '/tmp/pymp-*' 10d /tmp
/usr/sbin/tmpwatch "$flags" 30d /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
    if [ -d "$d" ]; then
        /usr/sbin/tmpwatch "$flags" -f 30d "$d"
    fi
done
}}
どうやら「/tmp」「/var/tmp」「/var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}」に対して
それぞれ削除方針が定義されているみたい。
引数の小文字「-x」はディレクトリ指定で削除を逃れ、大文字「-X」はそのパターンで除外される
仮に「/tmp/capture*」で定義されるファイルを逃れさせるには
「-X '/tmp/capture*'」を入れる




*centos6仮想マシン作成 [#v5460dbe]
基本的には1CPU、8GB HDDの構成で作成している。OSは 下記URL で取得した最小構成「Minimal」ISOファイルを利用している。
取得先: ftp://ftp.riken.jp/Linux/centos/6.5/isos/x86_64
取得ファイル: &color(green){CentOS-6.5-x86_64-minimal.iso(398 MB)};
&color(red){*};仮想マシンのHDDレイアウト(8GB)は、先頭のパーティション(sda1)を/boot(512MB)として、次のsda2はswap(1024MB)、残りは必要に応じて細分割するかsda3をルート(/)として全量割り当てている。

インストール完了後、必要に応じで追加や機能の削除を行う。
-selinuxの無効化
#code(nonumber){{
[root@c131 ~]# vi /boot/grub/grub.conf
(中略)
title CentOS (2.6.32-431.el6.x86_64)                     *「kernel」行末に「selinux=0」を追加
        root (hd0,0)
        kernel /vmlinuz-2.6.32-431.el6.x86_64 ro (中略) rd_NO_LVM rd_NO_DM rhgb quiet selinux=0
(中略)
[root@c131 ~]#
}}
&color(red){*};&size(10){/etc/sysconfig/selinuxで「SELINUX=disabled」としても可};
&color(red){*};&size(10){selinux=0はyum updateでkernelが更新されても引き継がれます};
-不要なサービスての停止とパッケージアンインストールと更新
#code(nonumber){{

[root@c131 ~]# \
yum -y groupremove \
"E-mail server" "Scalable Filesystems" "Storage Availability Tools" \ "iSCSI Storage Client" \
&& chkconfig auditd   off && chkconfig blk-availability off &&  chkconfig ip6tables off \
&& chkconfig iptables off && chkconfig lvm2-monitor     off &&  chkconfig mdmonitor off \
&& chkconfig netfs    off \
&& yum -y install ntp && yum -y update \
&& reboot

[root@c131 ~]# chkconfig --list|grep "3:on"

network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off
[root@c131 ~]#

[root@c131 ~]# df
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/sda3        3611360 791284   2636628  24% /
tmpfs             510144      0    510144   0% /dev/shm
/dev/sda1         516040  60632    429196  13% /boot
[root@c131 ~]#
}}
として完成。


qemuの仮想マシンならvirshからのshutdownを受け入れるために&color(red){acpid};をインストールする。
#code(nonumber){{
[root@qemu ~]# yum -y install acpid
}}

もし追加で環境を整備したいのなら &color(green){yum grouplist};から
#code(nonumber){{
[root@c ~]# env LANG=C yum grouplist
*整備したい項目を選ぶのがいいかと

*開発環境の整備なら
[root@c ~]# env LANG=C yum groupinstall "Development tools"
}}
ディスクトップ環境が欲しいなら
#code(nonumber){{
[root@c ~]# yum groupinstall Desktop "X Window System"

*追加で日本語環境が必要なら
[root@c ~]# yum -y groupinstall "Japanese Support"

*日本語環境確認として
[root@c ~]# cat /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
[root@c ~]# cat /etc/sysconfig/keyboard
KEYTABLE="jp106"
MODEL="jp106"
LAYOUT="jp"
KEYBOARDTYPE="pc"
[root@c ~]#
}}

時計合わせ(ntpサーバが192.168.0.3なら)
#code(nonumber){{
[root@c131 ~]# yum install ntp
[root@c131 ~]# cat << _EOT_ >/etc/ntp.conf
driftfile /var/lib/ntp/drift
server 192.168.0.3
_EOT_
[root@c131 ~]# echo "192.168.0.3" >> /etc/ntp/step-tickers
[root@c131 ~]# chkconfig ntpd on && chkconfig ntpdate on
[root@c131 ~]# /etc/init.d/ntpdate start && /etc/init.d/ntpd start

}}
*realtekなNICカード [#k19dcd34]
マシンに組み込まれているNICは lspci で調べることができる。下記はとあるマシンのlspci結果
#code(nonumber){{
[root@c3 ~]# yum -y install pciutils
[root@c3 ~]# lspci
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 671MX
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] AGP Port (virtual PCI-to-PCI bridge)
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS968 [MuTIOL Media IO] (rev 01)
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 IDE Controller (rev 01)
00:03.0 USB controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
00:03.1 USB controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f)
00:03.3 USB controller: Silicon Integrated Systems [SiS] USB 2.0 Controller
00:05.0 IDE interface: Silicon Integrated Systems [SiS] SATA Controller / IDE mode (rev 03)
00:06.0 PCI bridge: Silicon Integrated Systems [SiS] PCI-to-PCI bridge
00:0f.0 Audio device: Silicon Integrated Systems [SiS] Azalia Audio Controller
00:1f.0 PCI bridge: Silicon Integrated Systems [SiS] PCI-to-PCI bridge
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 771/671 PCIE VGA Display Adapter (rev 10)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 (途中折り返し)
PCI Express Gigabit Ethernet Controller (rev 03)
[root@c3 ~]#
}}
最後の行に「Realtek Semiconductor Co., Ltd. RTL8111/8168/8411」とある。
こちらでは発生していないのだが、問題が発生するとの報告がある。dmesgには
#code(nonumber){{
r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
}}
とあり、モジュールとして r8169 が取り込まれている。
#code(nonumber){{
[root@c3 ~]# lsmod |grep r8169
r8169                  59831  0
mii                     5376  1 r8169
[root@c3 ~]#
}}
このモジュールをメーカー提供のドライバーに代えてみる。
取得先は [[ここ>http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false]] でブラウザ画面的には下記を辿る
&ref(2014y06m29d_013458616.png,nolink);
取得したファイル(&color(gree){r8168-8.038.00.tar.bz2};)を展開して、中のスクリプトを実行して終わりみたい。
#code(nonumber){{
[root@c3 ~]# bzip2 -cd r8168-8.038.00.tar.bz2 | tar xf -
[root@c3 ~]# cd r8168-8.038.00
[root@c3 ~]# ./autorun.sh
}}
以上で完了。
&color(red){*};&size(10){kernel-3.16向けの対処法はここ https://code.google.com/p/r8168/issues/detail?id=19 };



*Fedora18 [#v0a7f598]
ここからisoファイルを取得 ftp://ftp.riken.jp/Linux/fedora/releases/18/Fedora/x86_64/iso/
&color(green){Fedora-18-x86_64-netinst.iso};
っで、ESXiにて仮想マシンを構築。
っが、インストールにあたって画面の解像度が低くてインストール設定パネルが見切れている...
っで、対応方法としては、インストール時のメニューに表示される[Troubleshooting]で&color(green){vnc};を使って構築を進めることにします。
&ref(2013y04m13d_182040948.png,nolink);
次の選択画面で[Install Fedora in basic graphics mode]を選択。
&ref(2013y04m13d_182359597.png,nolink);
っで、しばらくすると&color(green){VNC};が使えるよと言われる。っで、これを選択。
&ref(2013y04m13d_182750831.png,nolink);
vncを使うに当たってパスワードを定義します。rootのパスワードとかではありません。
&ref(2013y04m13d_182919173.png,nolink);
っで、Fedoraのvncサーバがどのipアドレスと画面番号で動いているよと示してくれます。dhcp環境だと自動的にipを取得して提示しているみたい。
&ref(2013y04m13d_183114508.png,nolink);
そして、ここでvncビューアの登場。示しているipアドレスと画面番号、ならびに定義したパスワードを入力してvnc画面を表示させます。
&ref(2013y04m13d_183444484.png,nolink);&ref(2013y04m13d_183457204.png,nolink);
っで、認証に成功すると、下記のような画面になります。
&ref(2013y04m13d_183740964.png,nolink);

それでようやくインストールが開始される。


インストール時のメモ:
&ref(2013y04m13d_173832771.png,nolink);
の画面にて、
-[日付と時刻]
&color(green){Asia/Tokyo タイムゾーン};を選択
-[キーボード]
&color(green){Japanese(Japanese)};を選択
-[ソフトウエア]
--[インストールソース]
http://ftp.riken.jp/Linux/fedora/releases/18/Fedora/x86_64/os/
&color(red){*};プロキシの設定は行わない
--[ネットワーク設定]
&color(red){*};vncで繋がっているので今は代えない。
--[ソフトウエアの選択]
&color(green){GENOMEディスクトップ};を使用環境として、使用アドオンはNULL。
-[ストレージ]
パーティションスキーマを&color(green){Btrfs};を選択して、カスタマイズを有効

っで、これらの定義が済むとインストールが開始されます。
っで途中rootのパスワードの定義がはいりますがね。

以上でFerora18のインストールは完了。
後にipアドレスの修正とかがありますけどね。


*何日前のファイルを削除する [#g2c5e7db]
バックアップとしてcronでデータを保持するのはいいが、限度というものがある。
1年前より昔のファイルとか、一ヶ月より古いファイルと限定しての削除したいとする。
ここでいつも迷うのが find コマンドのフラグ。cだったか、mだったか、aだったか。
statコマンドとあわせて明記する。statコマンドを使用すると
#code(nonumber){{
# stat www-130125.tar.gz
  File: `www-130125.tar.gz'
  Size: 51414648        Blocks: 100424     IO Block: 4096   通常ファイル
Device: 10300h/66304d   Inode: 78643202    Links: 1
Access: (0664/-rw-rw-r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2013-01-25 16:03:03.892033047 +0900
Modify: 2013-01-25 16:03:07.721195557 +0900
Change: 2013-01-31 10:45:52.095970683 +0900
}}
と表記される。
-Accessは、lsとかで表示された事ではなく、tarコマンドらで実際に中身にアクセスがあった際、更新される。findコマンドでは&color(green){''a''};xxx
-Modifyは、ファイルの中身に変更が加われば更新される。作成日・更新日と見ていもいいかも。findコマンドでは&color(green){''m''};xxx
-Changeは、chmodとかchownとかのファイル属性に変更があった際、更新される。findコマンドでは&color(green){''c''};xxx

っで、「一ヶ月よりも前のファイルを削除」とした場合、定義が問題で変更が加わらないファイルを標的にするのなら
#code(nonumber){{
find . -mtime +30 -exec rm -rf {} \;
}}
となるのかな。他のAccess(atime)とかChange(ctime)とかでもその用件に応じては使われるのでしょう。っがした事はないですな。

*16TB以上のHDDを扱う [#y2bbc552]
基本ext4であれば、1EiBまでのボリューム(シングルパーティションかな?)と16TBのファイルを扱えるようです。
最近3TBのHDDを複数使って35TBのシングルボリュームを扱うことになった。とは言ってもRAIDパックな訳なのだが。
CentOS-PCに接続して起動。35TBが認識され、partedでシングルパーティションを作り、ext4でフォーマットの際、問題が発覚。
#code(nonumber){{
# mkfs.ext4 -m 0 /dev/sdb1
mkfs.ext4: Size of device /dev/sdb1 too big to be expressed in 32 bit susing a blocksize of 4096.
}}
とエラーが返された。どうやら現行では無理でe2fsprogsを最新版に換えてみた
#code(nonumber){{
# wget http://ftp.riken.jp/Linux/kernel.org/linux/kernel/people/tytso/e2fsprogs/v1.42.6/e2fsprogs-1.42.6.tar.xz
# xz -cd e2fsprogs-1.42.6.tar.xz | tar xf -
# cd e2fsprogs-1.42.6
# ./configure; make; make install
}}
そして/etc/mke2fs.confに細工を加える
#code(nonumber){{
[fs_types]
  ext3 = {
     features = has_journal
  }
  ext4 = {
     features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
     inode_size = 256
     auto_64-bit_support = 1             *これを追加
  }
}}
其の上で
 # mkfs.ext4 -m 0 /dev/sdb1 
とext4でフォーマットを行う。これで35TBの1ボリュームが完了。/etc/fstabは今までどおりでOK
tune2fs -l /dev/sdb1でUUIDを取得して/etc/fstabに定義しても構わない。

&color(red){*};最新版にしなくとも/etc/mke2fs.confの修正だけでよかったのかもしれないが、確かめていない。

*scp [#lb8c80b5]
クライアントからscp経由でファイルを転送しようとしても
 bash: scp: コマンドが見つかりません
 lost connection
と言われる。っが、ssh接続はできている。故openssh-clientsは当然入っている。
送り先のサーバのselinuxは切って、iptablesも切っているのに....
っで送り先サーバに openssh-clients を入れたら動いた。
サーバにはsshdのみあればいいだろうと思っていたのだが、scpの場合は違うのかな?


*rsync [#nbc4f1c3]
usb-hddにバックアップを取ろうかと考えた。cpでもいいのだが、まぁーrsyncで。

#code{{
rsync [オプション] コピー元 コピー先
}}
オプション:-arv  アーカイブモード(ユーザ権限はそのままで)、ディレクトリー配下も、言葉多め
#code{{
cd /mnt/d1
rsync -arv --delete /home /opt /etc /Appl /export /root /var /usr .
}}
/homeはまぁー当然。/optはsambaとかbindとかあるから。/etcもまぁー当然。/Applはxray関係で。/exportはsambaの共有なので。/rootはまぁーそう。/varはweb関係だから。/usrはついでに。っな感じで。

*VNC経由でログインするとrootのパスワードが求められる [#a7d7f979]
具体的には下記パネルが表示されて、パスワード入力を求められる。[キャンセル]ボタンを押して回避可能なのですが、
毎回画面が表示されるのでできれば非表示にしたいもの。
&ref(2012y10m05d_124941015.png,nolink);
回避方法としては2つある
-ユーザ操作
メニュー[システム]->[設定]->[自動起動するアプリ]を立ち上げて、
&color(green){「PackageKit更新アプレット」};のフラグを消して[閉じる]ボタンを押す
&ref(2012y10m05d_125539171.png,nolink);
-システム操作
OS側で対処する方法です。
 # cd  /etc/xdg/autostart
 # echo "X-GNOME-Autostart-enabled=false" >> gpk-update-icon.desktop
 もしくは
 # echo "X-GNOME-Autostart-enabled=false" >> polkit-gnome-authentication-agent-1.desktop

これで先ほどのパスワードを求められることはなくなります。

*右クリックメニュー [#o4214565]
もしディスクトップ環境で使う場合、右クリックメニューで「端末」を出すためには
&nbsp;&nbsp;yum -y install nautilus-open-terminal
を行う。ただし、そのままだと右クリックした場所で「端末」が開く。
それを常にホームディレクトリにするためには、設定が必要。
&nbsp;&nbsp;yum install gconf-editor
で設定アプリをインストールして、「アプリケーション」->「システムツール」->「設定エディタ」を開き
&nbsp;&nbsp;&color(green){/->apps->nautilus-open-terminalで、desktop_opens_home_dir};
を有効にします。すると、右クリックで開かれる「端末」は常にホームディレクトリーとなります。

*上部メニューバー [#t2502a9d]
上部メニューバーの修正は alacarte にて調整可能
yum install alacarte

*ディスクトップ環境でログイン画面をリストに変更 [#m02d781b]
内部ユーザが分かってしまうのでリストにしたい場合、
「アプリケーション」->「システムツール」->「設定エディタ」を開き、
「ファイル」->「新しいデフォルトの設定」を選択して新たなパネル「設定エディタ(デフォルトの設定)」を立ち上げます。
そのパネルの左メニューを
 「/」->「apps」->「gdm」->「simple-greeter」
を展開して、右設定欄の「&color(blue){disable_user_lit};」にチェックを入れてアプリケーションを閉じます。
ユーザのログアウト後、ログイン画面はアカウントをキーボードで入力する方式に替わります。
&ref(2012y09m06d_103724015.png,nolink,noborder);⇒&ref(2012y09m06d_103820015.png,nolink,noborder);

*電源を勝手に落とさせないには [#q964d803]
古い人間だからだろうか、マシンの電源は管理者のみが落とせて、一般ユーザは関わらないもの。
っと思っていたのだが、最近だと一般ユーザでも容易に落とせてしまう。
・ログイン前の画面から
  &ref(2012y09m07d_231417775.png,nolink,noborder);
・ログイン後の[システム]->[シャットダウン]から
  &ref(2012y09m07d_231634945.png,nolink,noborder);
・ログイン後の[Ctl]+[Alt]+[Del]でシャットダウンから
  &ref(2012y09m09d_143713105.png,nolink);


これをなんとかしたい。対処としては、「設定エディタ」にて行います。
「アプリケーション」->「システムツール」->「設定エディタ」を開き、
「ファイル」->「新しいデフォルトの設定」を選択して新たなパネル「設定エディタ(デフォルトの設定)」を立ち上げます。
左メニューの「/」->「apps」->「gdm」->「simple-greeter」を開いて、右側の「disable_restart_buttons」を
有効にします。これで、ログイン前の画面から電源ボタンが消えます。
こんな感じです。
  &ref(2012y09m07d_232052047.png,nolink);
&color(red){っが、ログイン後の[システム]->[シャットダウン]を消すのが良くわからない};
これが正解かどうか不明なのだが、解決策としては
''/var/lib/polkit-1/localauthority/50-local.d'' フォルダに
 # vi disable-shutdown-reboot-suspend-hibernate.pkla
 [Disable suspend hibernate]
 Identity=unix-group:*
 Action=org.freedesktop.devicekit.power.*
 ResultAny=no
 ResultInactive=no
 ResultActive=no
 
 [Disable shutdown reboot]
 Identity=unix-group:*
 Action=org.freedesktop.consolekit.system.*
 ResultAny=no
 ResultInactive=no
 ResultActive=no
を用意してOS再起動すれば消えるようだ。しかしrootにも適用されてしまうのだが....
  &ref(2012y09m08d_203826628.png,nolink);
&color(red){*};ほかにもっとエレガントな方法があると思うのだが...いまはここまで。

そして、ログイン後の[Ctl]+[Alt]+[Del]対応だが、これは
 vi /etc/init/control-alt-delete.conf
 exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
 ↓
 #exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
として無効化すればいいみたい。っが、画面はそのまま表示され、カウントダウンも始まりますが、
再起動ではなく、ログアウトになってます。

*less終了時の画面クリアを阻止 [#h8d90372]
lessで確認して、いざ作業しようとしてlessを閉じるとclearされて、真っ白な画面に...
lessで開いた文章の中を参照しながらコマンドを叩きたいとき、多少[いらっ]とするかも。
っで、それを阻止するには
&nbsp;~/.bachrc に
 alias less='less -X'
を追加。関連してmanのPAGER変数もこれを加える
 export PAGER='less -X -i'
これで完了

*vi終了時の画面クリアを阻止 [#f81f9b1f]
同様にvimでもありえる話で、下記のようにすればvi終了後の画面クリアが阻止される。
&nbsp;~/.vimrc に
 set t_ti= t_te=
を加えます

*VNCサーバを使う [#n44b5450]
XDMCP経由でX環境を提示する他に、vncを使ってX画面を飛ばす方法もある。
ただ、vncだと特定ユーザのX画面が飛ぶイメージで、XDMCP経由は誰でもOKってな雰囲気かな。
Xmingを使った際、途中で落ちるものがあった。っで、vnc。
まずはサーバをインストール
 # yum install tigervnc-server
これで準備は完了。

ここでは、とあるユーザ(foo)がwindowsからvncクライアントを使う場合を想定します。&color(red){tigervnc-serverはインストール済みとして};
まず、
-ネット経由でサーバにアクセス&color(white,blue){(windows側)};
TeraTermで画面を持って来たいサーバにアクセス
-(初回のみ)vnc接続用パスワードを定義&color(white,red){(Linux側)};
 $ vncpasswd
最低6文字。'123456'とかでも可みたい。複雑性要求はないみたい。
-vnc サーバ起動&color(white,red){(Linux側)};
自分で勝手にvncサーバを起動させます。
 $ vncserver -geometry 1400x1050 :1
&color(red){*};数字は画面番号で、既に使われているとエラーになります。その際は別の番号を与えます。
&color(red){*};firewallに注意。:1は5901番、:2なら5902番が使われるそうな。
-windowsにあるvnc-viewerで接続&color(white,blue){(windows側)};
vnc-viewerはここから取得可能 https://www.realvnc.com/download/viewer
名前、IPアドレスでも構わない。最後の:1とかをお忘れなく。
&ref(2012y09m06d_130629453.png,nolink);
で、「OK」ボタン後、先ほどvncpasswdで定義したパスワードを入力します。
&ref(2012y09m06d_130826718.png,nolink);
これでLinux側の画面が表示されるかと。
-終了操作&color(white,blue){(windows側)};
画面を閉じる。ログアウト操作してもしなくても可。
-vncサーバを停止&color(white,red){(Linux側)};
ネット経由で接続して
 $ vncserver -kill :1
と実行します。これで完了。

必要なときのランタイム的な意味合いなvnc。多ユーザ向けのデーモンなXDMCPかな。

*uekを試してみる [#tbea0d3c]
wget http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/x86_64/kernel-uek-2.6.39-100.7.1.el6uek.x86_64.rpm
wget http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/x86_64/kernel-uek-firmware-2.6.39-100.7.1.el6uek.noarch.rpm
yum localinstall kernel-uek-2.6.39-100.7.1.el6uek.x86_64.rpm kernel-uek-firmware-2.6.39-100.7.1.el6uek.noarch.rpm


*Ubuntu [#x550d778]
使い勝手を考えればこちらの方がいいのかな?MATLABの動作環境リストにも載っている。
これでccp4/coot/pymol環境を作らねば。。。


*debian [#f80b5a2e]
ふとしたことでdebianをインストールする羽目に。
基本としてネットワーク経由でインストールの場合
-netinstイメージ  debian-6.0.5-[&color(green){uname};]-netinst.iso
-businesscardイメージ(netinstよりもよりコンパクト)  debian-6.0.5-[&color(green){uname};]-businesscard.iso 

の2つのネットワーク経由インストール用isoファイルがある。これらのうちどちらかをcdromに焼いてブートさせる。

*centos5 [#ybbdecda]
インストールするソフトウエアの様式は何も選びません。既定で選択されている[Desktop - Gnome]のチェックを外します。
&ref(2013y01m01d_014329645.png,nolink);
そして、画面下部のカスタマイズ時期を[今すぐカスタマイズする]にチェックします。
&ref(2013y01m01d_014552436.png,nolink);
次の画面の詳細選択画面では、左メニューの[アプリケーション]で選択されていた[エディタ]と[テキストベースのインターネット]の選択を外します。
&ref(2013y01m01d_014814197.png,nolink);
加え、左メニューの[ベースシステム]で選択されていた[ダイアルアップネットワークサポート]と[ベース]の選択を外します。
&ref(2013y01m01d_015134044.png,nolink);
これですべてのインストールオプションの選択がなくなり、最小限のみのインストールとなります。
このあと[次へ]ボタンを押してOSのインストールを進め、再起動後に
/boot/grub/grub.confで&color(magenta){selinux=0};を加える。
#code(nonumber){{
[root@client5 ~]# vi /boot/grub/grub.conf
        kernel /vmlinuz-2.6.18-371.el5 ro root=LABEL=/ selinux=0
[root@client5 ~]#
}}
そして、
#code(nonumber){{
[root@client5 ~]# chkconfig ip6tables off && chkconfig iptables off && \
chkconfig haldaemon off  && \
chkconfig iscsi off && chkconfig iscsid off && \
chkconfig kudzu off && \
chkconfig lvm2-monitor off && \
chkconfig mcstrans off && \
chkconfig messagebus off && \
chkconfig rawdevices off && \
chkconfig restorecond off && \
chkconfig xfs off && \
yum -y update && reboot

[root@client5 ~]# chkconfig --list|grep "3:on"
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@client5 ~]#
}}
を行う
&color(red){''注意''};
CentOS5.9で上記手法の最小構成で構築したらsshdやyumがインストールされなくなっていた。
代わりにhyper-vが最小限選択に選ばれていた。。
なので、[ベース]を選択を有効にするか、[ベース]の中の[ssh-client][ssh-server][yum]らのみは有効にします。
そうしないと外部からログインができなく、プログラムの更新もまともにできない。


***パスワードをより簡単にするには [#f98e6454]
時代に逆行してますが、、、簡単なパスワードを付与するにはどうしたらいいか。
LinuxではPAMにおいて''pam_cracklib.so''が安易なパスワードの登録を防いでます。
#code(nonumber){{
[root@client ~]# vi /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=              >>>これが。。。。
password    sufficient    pam_unix.so shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
}}
パスワードを更新する際、辞書を参照します。cracklibによって作られた辞書で/usr/share/cracklib/pw_dict.pwdがそれに該当する。
っで、この辞書にパスワードと同じ文字があると撥ねられる。っで、この辞書を簡単な辞書に作り変える
#code(nonumber){{
[root@client ~]# echo 1 > /usr/share/dict/words.1
[root@client ~]# create-cracklib-dict /usr/share/dict/words.1
[root@client ~]# ls -l /usr/share/cracklib/pw_dict.*
-rw-r--r--. 1 root root 1024  9月 28 12:26 2014 /usr/share/cracklib/pw_dict.hwm
-rw-r--r--. 1 root root   17  9月 28 12:26 2014 /usr/share/cracklib/pw_dict.pwd
-rw-r--r--. 1 root root   16  9月 28 12:26 2014 /usr/share/cracklib/pw_dict.pwi
[root@client ~]#
}}
これで文字が「1」しか登録されていないパスワードチェック用の辞書が作られる。
元の辞書に戻したければ、
#code(nonumber){{
[root@client ~]# yum install words
[root@client ~]# ls -l /usr/share/dict/linux.words
-rw-r--r-- 1 root root 4953699  8月 21 10:35 2010 /usr/share/dict/linux.words
[root@client ~]# wc -l /usr/share/dict/linux.words
479829 /usr/share/dict/linux.words                             *英単語が479,829 語入ってます
[root@client ~]#
[root@client ~]# create-cracklib-dict /usr/share/dict/linux.words
454696 454696
[root@client ~]# ls -l /usr/share/cracklib/pw_dict.*
-rw-r--r--. 1 root root    1024  9月 28 12:42 2014 /usr/share/cracklib/pw_dict.hwm
-rw-r--r--. 1 root root 2364828  9月 28 12:42 2014 /usr/share/cracklib/pw_dict.pwd
-rw-r--r--. 1 root root  113688  9月 28 12:42 2014 /usr/share/cracklib/pw_dict.pwi
[root@client ~]#
}}
とします。
辞書を簡単にしてもpam_cracklib.soの制約でパスワードを更新しても大文字を、数字を、とか言われる。
っで、これを回避するには/etc/pam.d/system-authを調整して、
#code(nonumber){{
password    requisite     pam_cracklib.so try_first_pass retry=3 type= minlen=1 dcredit=0 ucredit=0 lcredit=0 ocredit=0
}}
とする。
minlen=1と最低限1文字のパスワード可能にしてますが、どうやら最低6文字は必須のようで、pam_cracklibにハードコーディングされているそうな。
ともあれ、これで最低6文字なら行けるみたい。だけど数字だけ6文字は無理みたい。なんかいろいろ制限があるみたいだけど。
#code(nonumber){{
[foo@client ~]$ echo 123456 | cracklib-check
123456: 単純/系統的すぎます
[foo@client ~]$ echo 12345a | cracklib-check
12345a: 単純/系統的すぎます
[foo@client ~]$ echo 1234aa | cracklib-check
1234aa: OK
[foo@client ~]$ echo aa1234 | cracklib-check
aa1234: OK
[foo@client ~]$ echo a12345 | cracklib-check
a12345: 単純/系統的すぎます
[foo@client ~]$ echo 1a2345 | cracklib-check
1a2345: OK
[foo@client ~]$ echo 1234a5 | cracklib-check
1234a5: OK
[foo@client ~]$ echo passwd | cracklib-check
passwd: OK
[foo@client ~]$ echo root00 | cracklib-check
root00: 異なる文字が十分に含まれていません
[foo@client ~]$ echo root01 | cracklib-check
root01: OK
[foo@client ~]$ echo test | cracklib-check
test: 短かすぎます
[foo@client ~]$ echo test00 | cracklib-check
test00: 異なる文字が十分に含まれていません
[foo@client ~]$ echo test01 | cracklib-check
test01: OK
[foo@client ~]$
}}

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS