initrd.img解壓縮
gunzip initrd.img.gz
mkdir initrd
mv initrd.img initrd
cd initrd
cpio -ivmd < initrd.img 解壓縮完就可以重新編譯了,完成後使用以下命令重新製作 find . | cpio -ocv > ../initrd.new.img
gzip ../initrd.new.img
如果你看了CP 的help 理論上加了 -f 就可以強制覆蓋了,但是你會發現加了還是詢問,可以先檢查一下 alias
#alias
會發現某些發行版本 會有 alias cp='cp –i'
這就是加了 -f 沒用的原因 , 二個解決方法
1. 用 unalias 暫時解除
#unalias cp
2.修改 .bashrc (ex:root)
#vi /root/.bashrc
將 alias cp='cp –i' 刪掉或註解掉 , 重登即可
參考來源 earth
環境:
Linux:
OS:cnetos 6.2 x64
hostname:adlinux
ip:192.168.1.151/24
getway:192.168.1.1
dns:192.168.1.253
AD:
OS:windows 2003 x86
ip:192.168.1.253
Domain:TEST.COM
1. 必要程式安裝
1 |
>yum install -y samba samba-common samba-winbind krb5-server krb5-workstation ntp |
2.確認HOSTNAME 設定
1 |
>hostname –f |
結果應該為 adlinux.test.com ,若無法正常查詢請先解決這個問題 , 我的解決方式是直接去修改/etc/hosts , 加入一行
1 |
192.168.1.151 adlinux.test.com adlinux |
3.校正時間 (一定要校正 , 除非你能確認誤差5分鐘內)
1 |
>ntpdate 192.168.1.253 |
4.開始設定AD認證
直接使用 setup tool ,這樣設定比較快 , 若無setup tool 請直接往下找各檔案的設定檔
1 |
>setup |
請依下例設定,內容請參考環境說明
上面這一步做完可以直接 join domian , (但是我從來沒成功過 ,原因我也查不出來,我想應該是DNS 設置上有點問題)不過我還是會做,完成後退出
5.測試連線(可略過)
$ kinit [email protected](注意大寫),輸入密碼無誤後,跳回提示字元
[Q1:] kinit(v5) : cannot find KDC for requested realm while getting initial credentials
[A1:] 網域名稱沒有大寫
[Q2:] kinit(v5) : clock skew too great while getting initial credentials
[A2:] samba與windows2003/2008系統時間相差不可超過5分鐘
[Q3:] kinit(v5) : preauthentication failed while getting initial credentials
[A3:] 密碼不對
6.join ad , 執行以下命,會要求你輸入密碼 ,若正常加入ad 會出現 joined 訊息,就可以加AD內看這這台PC
1 |
>net ads join -U administrator |
7.檢視DOMAIN USER
將sbm , winbind 重啟 ,利用 wbinfo 進行檢視
1 2 3 |
>service smb restart >service winbind restart >wbinfo -u |
8.setup 會影響4個檔案分別為 /etc/samba/smb.conf ,/etc/krb5.conf,/etc/nsswitch.conf,/etc/pam.d/system-auth ,但是只有 smb.conf 需要再修改一下
smb.conf :
1 2 3 4 5 6 7 8 9 |
workgroup = RODAN password server = 192.168.1.253 realm = RODAN.COM.TW security = ads idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 template shell = /bin/bash winbind use default domain = fase winbind offline logon = false |
但是我們可能要再加工一下
1 2 3 4 5 6 7 8 9 10 11 12 |
#這兩行改成 true winbind use default domain = true winbind offline logon = true #加入 以下 #編碼方式傳遞密碼 encrypt passwords = yes #指定winbind是否在系統上建立網域使用者(Users) winbind enum users = yes #指定winbind是否在系統上建立網域群組(Groups) winbind enum groups = yes #設定使用者家目錄,%D指Domain,%U指User template homedir = /home/%D/%U |
krb5.conf
1 2 3 4 5 6 7 8 9 |
[realms] TEST.COM = { kdc = 192.168.1.253 admin_server = 192.168.1.253 kdc = 192.168.1.253 } [domain_realm] test.com=TEST.COM .test.com=TEST.COM |
nsswitch.conf
1 2 3 4 |
#在 passwd,shadow,group 加入 winbind passwd: files winbind shadow: files winbind group: files winbind |
/etc/pam.d/system-auth
1 2 3 4 5 6 7 8 9 |
#系統登入認證加入 krb 及 winbind auth sufficient pam_krb5.so use_first_pass auth sufficient pam_winbind.so use_first_pass account [default=bad success=ok user_unknown=ignore] pam_krb5.so account [default=bad success=ok user_unknown=ignore] pam_winbind.so password sufficient pam_krb5.so use_authtok password sufficient pam_winbind.so use_authtok password sufficient pam_krb5.so use_authtok password sufficient pam_winbind.so use_authtok |
8.確認domain 帳號 是否寫入 passwd 檔
1 2 |
>servcie winbind restart >getent passwd |
9.建立 domain user 家目錄,帳號太多可利用 awk 來做, 以下為範例
1 |
>vi mkhome.awk |
內容如下
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/bin/awk BEGIN { FS=":" uidmin=16777216 uidmax=33554431 } { if ( $3 >= uidmin && $3 <= uidmax ) { print " make directory " $6 " chown " $3 "." $4 " " $6 system( "mkdir -p " $6 ";chown " $3 "." $4 " " $6 ) } } |
1 |
>getent passwd | awk -f mkhome.awk |
打完收工
今天要 CentOs 來跑 mailserver ,不知到為什麼一直裝不進去 , 一開始為RAID沒驅動的關係,後來該關的都關了,還是一樣,只好請示google 大神
錯誤訊息:
"Disk sda contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sda"
我試了二塊版子 , 分別是 sb710 跟 ich7 , 二片都一樣 , 查的結果應該是 fakeraid 的問題 , 也就是MB內建RIAD 的問題,並不是真正的RAID卡,解決方法也不難, 只要在安裝光碟的第一個畫面按下 TAB鍵 在啟動命令 輸入:
"linux nodmraid"
再 Enter 進行安裝就可以解決這個問題.
1.安裝 CentOS 5.5 (可以安裝最基本的,相關程後面手動安裝)
============================================
2. 安裝Web Server
yum -y install httpd mod_ssl
vi /etc/httpd/conf/httpd.conf
390行 DirectoryIndex index.html index.html.var 修改成--> DirectoryIndex index.html index.htm index.php index.html.var
730行 LanguagePriority zh-TW en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN
746行 AddDefaultCharset UTF-8 修改成--> #AddDefaultCharset UTF-8
最後加上 Alias /upfiles/ "/var/www/html/sfs3/data/"
<Directory "/var/www/html/sfs3/data">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
/etc/init.d/httpd start
chkconfig --levle 35 httpd on #開機啟動
=====================================================
3.PHP、MySQL
yum -y install php mysql mysql-server php-mysql php-gd php-mbstring
vi /etc/php.ini
312行 max_execution_time = 300
313行 max_input_time = 600
314行 memory_limit = 160M #加大一點,免得將來印成績單的時候無法列印全班
477行 post_max_size = 80M
582行 upload_max_filesize = 20M
vi /etc/httpd/conf.d/php.conf
18行 DirectoryIndex index.php 修改成--> #DirectoryIndex index.php
/etc/init.d/httpd restart #修改完php.ini後記得得重跑apache
/etc/init.d/mysqld start #起動 mysql
chkconfig --level 35 mysqld on
設定mysql 的root 密碼(用phpmyadmin 也可以)
>mysql -u root
mysql>use mysql;
mysql>UPDATE user SET password=password('AbCdEfG') WHERE user='root';
mysql>FLUSH PRIVILEGES; #完成後就可離開Mysql
========================================================
4.下載安裝sfs3主程式
cd /var/www/html
wget http://sfscvs.tcc.edu.tw/sfs_stable.tar.gz
tar -zxcf sfs_stabele.tar.gz
chmod a+x setup.sh
./setup.sh
#先用預設帳號 1001/demo登入 到學務統內晃一晃
========================================================
5.將/var/lib/mysql/sfs3/ 內的資料清空
將資料庫備份到新server
舊>mysqldump -u root -p -h localhost sfs3 --opt >sfs3.sql
#以上使用 --opt 指令是包含了 DROP 與 CREATE 指令,以確保之後的資料庫能夠完整的還原。
新>mysql -u root -p -h localhost sfs3 <sfs3.sql
#如果有錯誤訊息的話 , 先把sql檔裡 前幾行的版本資訊砍掉再試試
PS :
對時
yum -y install ntp
crontab -e
0 0-23 * * * root /usr/sbin/ntpdate watch.stdtime.gov.tw > /dev/null 2>&1
#老舊機器更需要這個,要當SERVER的話,時間的準確性很重要的。
=======================================================
自動更新SFS3
cd /
vi upsfs3.php
#!/usr/bin/php
<?php
//sfs3 安裝目錄
$SFS_INSTALL_PATH="/var/www/html/sfs3";
$SFS_TEMP_DIR="/tmp/sfs3_stable";
if (is_dir($SFS_TEMP_DIR)) {
exec("rm -rf ".$SFS_TEMP_DIR);
}
if (file_exists("/tmp/sfs_stable.tar.gz")) {
exec("rm -f /tmp/sfs_stable.tar.gz");
}
if (!is_dir($SFS_INSTALL_PATH)) {
echo "Oh! Error! .... File *** sfs3 *** not exists! ";
echo "Please run ./setup.sh first! ";
exit;
}
$SFS_TAR_FILE="http://sfscvs.tcc.edu.tw/sfs_stable.tar.gz";
exec("wget -q ".$SFS_TAR_FILE." --directory-prefix=/tmp");
exec("tar zxf /tmp/sfs_stable.tar.gz -C /tmp");
exec("cp -a ".$SFS_TEMP_DIR."/* ".$SFS_INSTALL_PATH);
include $SFS_INSTALL_PATH."/sfs-release.php";
echo "Update to ".$SFS_BUILD_DATE." ";
?>
chmod 700 upsfs3.php
寫入排程 >crontab -e
0 0-23 * * * root /upsfs3.php
===========================
系統語系
為了往後用putty進行遠端維護的方便,所以建議更改語系。
(預設為UTF-8,建議改成BIG-5)
/etc/sysconfig/i18n
LANG="zh_TW.UTF-8" => zh_TW.BIG5
================================
backup.sh
# vi sfs3_backup.sh
tar czvf /home/sfs3_backup/"sfs3_data_"date +%y-%m-%d
.tar.gz /var/lib/mysql/sfs3
tar czvf /home/sfs3_backup/"sfs3_www_"date +%y-%m-%d
.tar.gz /var/www/html/sfs3
mysqldump --default-character-set=latin1 -uroot -pxoxoxo sfs3 > /home/sfs3_backup/"sfs3_"date +%y-%m-%d
.sql
=========================================
結論 : 資料庫的部份搞了很久 因為 3.2 轉到 5.X版 直接CP 不行 , dump 沒有--opt 也有問題 , 這部份完成其他其實沒什麼大問題!
同一時間 發現在學校在跟我做一樣的事 , 過程也很詳細 =>http://163.17.90.135/plog/post/2/64
=========================================================
之前就聽過的 還原系統 , 但因為是開發在LINUX下的軟體 , 實在懶的研究 ...
因為最近在交一批PC , 沒還原卡 , 又得做大量派送 , 就把 DRBL 挖出來學習一下 !
關於DRBL企鵝龍
|
DRBL (Diskless Remote Boot in Linux)是一個自由軟體,由國家高速網路與計算中心所開發,主要功能是安裝了此軟體的Linux伺服器,就可以同時提供數十台電腦操作與使用。管理者所需要做得就是在伺服器上安裝好Linux之後,再裝好DRBL,用戶端電腦不需要有硬碟,不需安裝軟體,只要透過PXE網路開機,就可以直接使用了伺服器端提供的Linux了。DRBL的特色包含:
|
上官網剛看到 6月份有出 DRBL Live CD , 趕緊下來試用看看 ,
花了一點時間看說明 裡頭 DRBL ,Clonezilla SE(再生龍伺服器版) ,Clonezilla live(再生龍單機版),
使用方法請參照 推廣網站
測試結果 大量派送 在網路正常的情況下 可達到 1000MB/MIN , 實在是超乎我想像的快 ,
只是LINUX 比較難入門 , 但是 GHOST SERVER 要完整建立起來 , 也不會比這個輕鬆多少,有LIVE CD 就方便多了,
有興趣的人可以試試 , 有問題也可以討論一下 😀