linux – initrd.img 解壓及重新製作

initrd.img解壓縮

 
cp /boot/initrd-***.img initrd.img.gz
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

Linux cp 強制覆蓋檔案方法

如果你看了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' 刪掉或註解掉 , 重登即可

CentOS6.2(linux) 加入 AD網域實作

參考來源 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. 必要程式安裝

2.確認HOSTNAME 設定

結果應該為 adlinux.test.com ,若無法正常查詢請先解決這個問題 , 我的解決方式是直接去修改/etc/hosts , 加入一行

 

3.校正時間 (一定要校正 , 除非你能確認誤差5分鐘內)

4.開始設定AD認證

直接使用 setup tool ,這樣設定比較快 , 若無setup tool 請直接往下找各檔案的設定檔

請依下例設定,內容請參考環境說明

image

image

image

image

上面這一步做完可以直接 join domian , (但是我從來沒成功過 ,原因我也查不出來,我想應該是DNS 設置上有點問題)不過我還是會做,完成後退出

image

 

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

 

image

7.檢視DOMAIN USER

將sbm , winbind 重啟 ,利用 wbinfo 進行檢視

 

8.setup 會影響4個檔案分別為 /etc/samba/smb.conf ,/etc/krb5.conf,/etc/nsswitch.conf,/etc/pam.d/system-auth ,但是只有 smb.conf 需要再修改一下


smb.conf :

但是我們可能要再加工一下


krb5.conf


nsswitch.conf


/etc/pam.d/system-auth


 

8.確認domain 帳號 是否寫入 passwd 檔

 

9.建立 domain user 家目錄,帳號太多可利用 awk 來做, 以下為範例

內容如下

 

 

打完收工

內建RAID主機版再造無法安裝LINUX 問題

今天要 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 進行安裝就可以解決這個問題.

sfs3 主機遷移 ,mysql 3.23 to 5.x

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

=========================================================

DRBL 企鵝龍 !! 網路還原的新玩意 !!

之前就聽過的 還原系統 , 但因為是開發在LINUX下的軟體 , 實在懶的研究 ... 

因為最近在交一批PC , 沒還原卡 , 又得做大量派送 , 就把 DRBL 挖出來學習一下 !

關於DRBL企鵝龍
DRBL (Diskless Remote Boot in Linux)是一個自由軟體,由國家高速網路與計算中心所開發,主要功能是安裝了此軟體的Linux伺服器,就可以同時提供數十台電腦操作與使用。管理者所需要做得就是在伺服器上安裝好Linux之後,再裝好DRBL,用戶端電腦不需要有硬碟,不需安裝軟體,只要透過PXE網路開機,就可以直接使用了伺服器端提供的Linux了。DRBL的特色包含:

  • 支援多元化的資訊教育,與現有系統共存,電腦教室可以很方便與快速的切換作業系統
  • 用戶端電腦可以不需要有硬碟,有硬碟DRBL也可以充分利用
  • 集中管理,安裝1台就等於安裝多台(~40台),下一個指令就可以對多台電腦做動作
  • 內建回復系統,可以同時複製或是還原多台(~40台)用戶端電腦硬碟裡的作業系統(Linux, MS Windows 9X/2K/XP皆可)
  • 上官網剛看到 6月份有出 DRBL Live CD , 趕緊下來試用看看 ,

    DRBL1 

     

    花了一點時間看說明 裡頭 DRBL ,Clonezilla SE(再生龍伺服器版) ,Clonezilla live(再生龍單機版),

    DRBL2 

    使用方法請參照 推廣網站

    測試結果 大量派送 在網路正常的情況下 可達到 1000MB/MIN  , 實在是超乎我想像的快 ,

    只是LINUX 比較難入門 , 但是 GHOST SERVER 要完整建立起來 , 也不會比這個輕鬆多少,有LIVE CD 就方便多了,

    有興趣的人可以試試 , 有問題也可以討論一下 😀