#author("2021-05-09T16:08:44+00:00","default:sysosa","sysosa") [[シングルモードで起動>CentOS6/single]] [[gnome desktop>CentOS6/gnome]] [[Bonding>CentOS6/Bonding]] ***期限切れCentOS6の更新方法 [#i6d17867] 目下既にCentOS6のサポートは切れていて yum update も効かない. っが案件でどうしても検証として使うときがある. その際、yum updateで一応は最新型にしたく、その際は repo ファイルを弄る #code(nonumber){{ [root@centos6 ~]# vi /etc/yum.repos.d/CentOS-Base.repo [base] name=CentOS-$releasever - Base baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [updates] name=CentOS-$releasever - Updates baseurl=http://vault.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [root@centos6 ~]# }} 一応参照先を「vault.centos.org」にすればまだいけるみたい ***tmpwatch [#xc3a2525] CentOS6でのtmpwatchは cron の daily にて行われる(/etc/cron.daily/tmpwatch) #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] もしディスクトップ環境で使う場合、右クリックメニューで「端末」を出すためには yum -y install nautilus-open-terminal を行う。ただし、そのままだと右クリックした場所で「端末」が開く。 それを常にホームディレクトリにするためには、設定が必要。 yum install gconf-editor で設定アプリをインストールして、「アプリケーション」->「システムツール」->「設定エディタ」を開き &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で開いた文章の中を参照しながらコマンドを叩きたいとき、多少[いらっ]とするかも。 っで、それを阻止するには ~/.bachrc に alias less='less -X' を追加。関連してmanのPAGER変数もこれを加える export PAGER='less -X -i' これで完了 *vi終了時の画面クリアを阻止 [#f81f9b1f] 同様にvimでもありえる話で、下記のようにすればvi終了後の画面クリアが阻止される。 ~/.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 ~]$ }}