AcerR5250 Server 安裝 CentOS4 重新開機後網卡會被關閉

家裡幾台 AcerR5250 安裝 CentOS4 使用預設的 Kernel
只要關機後網卡就會關閉導致開機後網卡無法使用
意思是說 Server 上網卡的 LED 就會熄滅
非得要拔掉電源 重新接上去 網卡才會活起來網卡的 LED 燈就會亮
如果使用自己編的 2.6.28 版本就不會

CentOS 4.7 , CentOS 4.8 都有遇到這個問題

廣告

[CentOS4] iSCSI Target 安裝與測試

下載地點 http://iscsitarget.sourceforge.net

目前最新版為 iscsitarget-1.4.19.tar.gz
iscsitarget 編譯時需要 kernel header,
透過 /lib/modules/[kernel 版本]/build 連結的地方找 kernel source
並進行 autopatch, RELEASE_NOTES 裡面會註明支援的 kennel 版本

我用 kernel 版本是 2.6.28.10

1. 開始安裝吧~
tar zxvf iscsitarget-1.4.19.tar.gz
cd iscsitarget-1.4.19
make && make install

2. 設定與啟動

vi /etc/iet/ietd.conf

User userid superpassword
Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
Lun 0 /dev/sdb1, Type=fileio
Alias lun0

/etc/init.d/iscsi-target start
chkconfig iscsi-target on

remove linux ati driver

Uninstalling the ATI Linux Proprietary Driver
Uninstalling the ATI Linux Proprietary Driver is dependent on the mode of the
initial installation.
Automatic or Custom Driver Installations
If the ATI Proprietary Linux Driver was installed using either the Automatic or
Custom options, then do the following:
1 Launch the Terminal Application/Window and navigate to the /usr/share/ati
folder
2 With superuser permissions, enter the command “sh ./fglrx-uninstall.sh"
You have now successfully uninstalled the ATI Linux Proprietary Driver.

快速 dd 的步驟 – 同時要 dd 很多顆

這是血淚的經驗累積…. 按這這樣做比較不會開不起來
有機會再詳述 什樣的情形會 dd 失敗
不過我現在都是改用 CloneZilla 了..

先假設你的 source 放在 sda, 其他要 dd 的放在 sdb,sdc,sdd…..

建議用 Ubuntu 這是最安全的方法 要不然就是 CentOS Rescuse 但你不可以使用 chroot mode

a. 直接 dd 整顆
dd if=/dev/sda of=/dev/sdb bs=10M &
dd if=/dev/sda
這種方法 不用 grub-install

b. 只 dd /dev/sda1

先把 sdb, sdc, sdd 等先 fdisk 成 sda 一樣的 partitions table

I. dd if=/dev/sda1 of=/dev/sdb1 bs=10M &
dd if=/dev/sda1 of=/dev/sdc1 bs=10M &
dd if=/dev/sda1 of=/dev/sdd1 bs=10M &

II. 建 SWAP (CentOS 的 SWAP lable 應該是 SWAP-sda2)
mkswap -L SWAP-sda2 /dev/sdb2
mkswap -L SWAP-sda2 /dev/sdc2
mkswap -L SWAP-sda2 /dev/sdd2

III. 建 Home
mk.ext3 -L /home /dev/sdb3
mk.ext3 -L /home /dev/sdc3
mk.ext3 -L /home /dev/sdd3

IV. grub-install
我通常是把 dd 好的接到第1顆(如果是 CentOS 開機片開機的 一樣要接)
grub-install /dev/sda

CentOS 4 To 5 無光碟機簡易升級法

一般升級通常用光碟片升級 但有時候機器並無光碟機或是覺得燒光碟片很不環保

但若用 YUM 線上升級方式 步驟繁雜、困難重重請且風險很高

最近研究一個比較簡單的方法 這個方法等同放入光碟片

注意: 要有一個 YUM Server 才能透過網路升級

1. 到 CentOS 的 FTP 網站目錄 isolinux 目錄
例如 CentOS5 i386 位置相當於 /Linux/CentOS/5/os/i386/isolinux/
抓 initrd.img vmlinuz 這兩個檔案 並放到 /boot

2. 修改 /etc/grub.conf
請加入

title upgradeany
root (hd0,0)
kernel /vmlinuz upgradeany
initrd /initrd.img

3. 重新開機 選 upgradeany 開機
就可以升級 CentOS 或是 重新安裝

利用 LFTP 建立 YUM Server

看過很多人用不同的方法來架 YUM Server 各有利弊
在經過一番的選擇後 後來我是選擇使用 LFTP 來架 YUM Server
原因是他的彈性語法簡單易懂 可以搭配 exclude 或 include 來指定要下載的 rpms
例如 openoffice 很少用就可以用 exclude 來排除,
或是 centosplus 你只需要更新 kernel-xxx-centos.plus ,可以 include 只下載需要的部份。

以下是 CentOS 5.X 的範例,為了避免字數過長,將 rpm 放到 /centos 目錄
另外 httpd 的設定,相信大家都會,就不再贅述。

mkdir /centos
cd /centos
wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
mkdir -p /centos/5/os/i386

ps. key 要放在 /centos 主目錄,此行亦可以放在 lftp config 裡面

vi centos5-lftp.config
ps. 可以用 -x openoffice 表示不下載 openoffice
以下範例視個人需要,把註解拿掉。若只需要抓一次,建議抓完後註解掉,節省 LFTP 檢查的時間。
寫好後執行

lftp -f centos5-lftp.config

若沒有問題,可以放到 crontab 每星期更新一次就好了 每天更新也沒用
因為 CentOS 更新頻率約一星期一次,而且通常是假日

以下為 centos5-lftp.config 內容
#以下有三個 FTP 站台供選擇

open http://ftp.cs.pu.edu.tw
#open ftp.tcc.edu.tw
#open http://ftp.twaren.net
# only need to get repodata, headers, rpms
#
# For OS, 第一次才需要,抓完後可以註解掉
mirror -e –delete /Linux/CentOS/5/os/i386/repodata /centos/5/os/i386/repodata
mirror -e –delete /Linux/CentOS/5/os/i386/CentOS /centos/5/os/i386/CentOS
#For boot server ,抓完後可以註解掉
mirror -e –delete /Linux/CentOS/5/os/i386/images /centos/5/os/i386/images
mirror -e –delete /Linux/CentOS/5/os/i386/isolinux /centos/5/os/i386/isolinux
#以上四行亦可換成下面一行
#mirror -e –delete /Linux/CentOS/5/os/i386 /centos/5/os/i386
#For update
mirror -e –delete /Linux/CentOS/5/updates/i386/repodata /centos/5/updates/i386/repodata
mirror -e –delete -x openoffice /Linux/CentOS/5/updates/i386/RPMS /centos/5/updates/i386/RPMS
#For extra
#mirror -e –delete /Linux/CentOS/5/extras/i386/repodata /centos/5/extras/i386/repodata
#mirror -e –delete /Linux/CentOS/5/extras/i386/RPMS /centos/5/extrass/i386/RPMS
#For centosplus
mirror -e –delete /Linux/CentOS/5/centosplus/i386/repodata /centos/5/centosplus/i386/repodata
mirror -e –delete /Linux/CentOS/5/centosplus/i386/RPMS /centos/5/centosplus/i386/RPMS

然後就可以將 /etc/yum.repos.d/CentOS-Base.repo
每一行 baseurl 改成你目前的主機 並將 mirrorlist 註解掉
baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
改成 baseurl=http://you.server.com/centos/$releasever/updates/$basearch/

如下。只列出 base, update, exteas, centosplus

[base]
name=CentOS-$releasever – Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://10.254.1.1/pub/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://10.254.1.1/pub/centos/RPM-GPG-KEY-CentOS-5

#released updates
[update]
name=CentOS-$releasever – Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://10.254.1.1/pub/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://10.254.1.1/pub/centos/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever – Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://10.254.1.1/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://10.254.1.1/pub/centos/RPM-GPG-KEY-CentOS-5
enabled=0

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever – Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=http://10.254.1.1/pub/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://10.254.1.1/pub/centos/RPM-GPG-KEY-CentOS-5

如果是 CentOS 4.X ,則要多 mirror 一個 headers 的目錄,簡單的範例如下
cat centos4-ftp.config
#以下有三個 FTP 站台供選擇
open http://ftp.cs.pu.edu.tw
#open ftp.tcc.edu.tw
#open http://ftp.twaren.net
# only need to get repodata, headers, rpms
#
# For OS, 第一次才需要,抓完後可以註解掉
mirror -e –delete /Linux/CentOS/4/os/i386 /centos/4/os/i386
# For Update
mirror -e –delete /Linux/CentOS/4/updates/i386/repodata /centos/4/updates/i386/repodata
mirror -e –delete /Linux/CentOS/4/updates/i386/headers /centos/4/updates/i386/headers
mirror -e –delete -x office /Linux/CentOS/4/updates/i386/RPMS /centos/4/updates/i386/RPMS

CentOS Guest OS 首次安裝後的 關閉不需要的服務(未完)

如果 CentOS 是當作 VMWare, XEN 或是其他虛擬機器的 Guest OS,有一些服務在虛擬化的環境是沒有意義的,是不需要啟動的,

請先參照這一篇
CentOS Server 首次安裝後的 關閉不需要的服務
http://actychen.blogspot.com/2008/03/centos-server.html

service smartd stop
chkconfig smartd off

服務說明:
smartd 檢查硬碟故障
虛擬的硬碟是無法用這個服務來檢查,只對實體的裝置才有用。

CentOS Server 首次安裝後的 關閉不需要的服務

CentOS 安裝完後,總是開啟一些不需要的服務,於是這是這次筆記的理由。以後裝完系統,我就直接把這下面的指令直接 copy 到 terminal / console 就好了。
下面有註解的如 ISDN 及 Sendmail 目前我是沒有開,如果有需要啟動的,就不要執行關閉。有些服務系統可能沒有安裝,如果沒看到就不需理他。

1. 停止服務
service apmd stop
service autofs stop
service bluetooth stop
service cups stop
service ip6table stop
service iptable stop
#service isdn stop
service hidd stop
service pcscd stop
service pcmcia off
#service sendmail stop
service yum-updatesd stop

2. 設定不啟動
chkconfig apmd off
chkconfig autofs off
chkconfig bluetooth off
chkconfig cups off
chkconfig ip6table off
chkconfig iptable off
#chkconfig idsn off
chkconfig hidd off
chkconfig pcscd off
service pcmcia off
#chkconfig sendmail off
chkconfig yum-updatesd off

服務說明:
apmd 電源管理
沒有 UPS 或是沒有電池的電腦 這是沒用的

autofs 自動掛載服務
通常 server 所需要掛載都是固定的,除非是特殊的目的,否則用處不大。

bluetooth 藍芽
Server 應該是不太需要用藍芽

cups 列印
如果列印需求的機器才需要打開

iptable6,iptable
建議交由防火牆來管理連線, Server 專注服務即可

isdn
如果有需要建立 ISDN 的環境,才需要使用

hidd
一些藍芽的輸入裝置,如鍵盤滑鼠等。 Server 應該不太會用到這些裝置,有點太高檔的感覺!

pcscd
給 smart card 用的, 目前手上沒有這種機器,所以都是關掉的。

pcmcia
給 pcmcia 用的,目前 Server 很少用到 pcmcia ,關掉。

yum-updatesd
yum 自動升級程式, CentOS 5 預設會安裝,不過有時候自動安裝會造成一些不必要的困擾,目前大部分的人建議是不要啟用,尤其是已經上線的主機。

順便找一篇別人寫的文章:
Minimal Services on CentOS 4.4 Mini-HowTo
http://anchorite.org/blog/2006/11/13/minimal-services-on-centos-44-mini-howto/

Redhat Enterprise Linux啟動服務詳解(已非原稿)
http://www.qcode.org/linux/Linux-edition/fedora/2007112443344.html

CentOS 線上升級疑難概論

不管是從 Fedora 升到 CentOS, 或是 CentOS 低版升到高版過程中,遇到的問題其實是差不多。

1. centos-release 第一個重要的主角
升級完可以考慮作一次 rpm –rebuild

重建完 rpm db 有助於在做 yum upgrade 時正確檢查相依性

2. glibc 三劍客 glibc , glibc-common, glibc-devel
glibc 是系統最重要的 Library, 如果 glibc 有問題系統將運作不正常,這三個套件最好要同時裝 保證萬無一失。但不管任何時刻,千萬不要移除 glibc ,移除了系統就馬上不能動了。
rpm -Uvh glibc* –nodeps –force

3. 可能的不訴之客 yum 及 rpm
這個兩有時候要先升級有時候又不用,一旦遇到免不了相依一番。

通常是下 yum 時,才發現指令無法執行,只好用 rpm 指令升級 yum 程式。有時候不幸的是 rpm -ivh yum* 也發生問題,可能是因為 rpmdb 毀損或是 rpm 的 lib 版本不對。
rpmdb 毀損用 rpm –rebuild 重建,rpm lib 版本不對 就只好從別台同等級作業系統 copy 過來了

如果要升級 rpm 及 yum 套件 先用 rpm -ivh 檢查相依性,確定所有套件都找齊了,放在同一個目錄才能用 rpm -Uvh * –nodeps 安裝,如果裝不進去,加個 –force 強迫安裝。

記得:若升級 rpm 表示 rpmdb 格式可能會變動喔,一定要做 rpm –rebuild 喔

4. 完整升級
先 vi 一個 /etc/yum-upgrade.conf 用這個設定檔來升級
原來系統的 /etc/yum.repo.d/CentOS-Base.repo 就不要動他
這樣升級完後就不用改回來

下面是 yum-upgrade.conf 請依照本身的狀態去改
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
installonlypkgs=kernel kernel-smp
tolerant=1
exactarch=1

[upgrade]
name=Centos upgrade
baseurl=http://mirror.centos.org/centos/4/os/$basearch/
exclude=mysql*

[update]
name=CentOS-$releasever – Updates
baseurl=http://mirror.centos.org/centos/4/updates/$basearch/

執行 yum -c /etc/yum-upgrade.conf upgrade 升級
如果過程遇到無法解決的相依性程式 就先 rpm -e xxx -nodeps

5. 開機前的檢查
請檢查 /etc/grub/grub.conf 指定 kernel 是否存在於 /boot 下
否則開不了機 那就功虧一簣了

6. 清理圾垃
先看看系統有哪些沒升級完成的套件
rpm -qa | grep FC
rpm -qa | grep fc
rpm -qa | grep legacy

然後用 rpm -e xxx 或是 rpm -e –justdb 刪掉
然後再用 rpm -ivh xxx 安裝

另外一個非常非常重要的事

升級只能前進不能後退,一旦決定升級只能去完成他。升級到一半的系統,裡面新舊程式混雜,是非常不穩定隨時都可能有問題的。就算是倒退,倒退程序絕對比繼續完成還要複雜,如果沒有保握,請先虛擬一個環境測試。

Fedora Core 3 to CentOS4.X

基本上 Fedora Core3 與 CentOS4 是同一代的,就如同 Fedora Core6 與 CentOS5 ,他們 kernel 的版本,以及 package 幾乎都是使用同樣的版本。

有一點要注意的是,如果你有使用 Fedora Legacy 可能會導致某些套件比 CentOS 4 還要新,如果嫌清理舊套件麻煩的話,我是蠻建議考慮再做一次升級,升級到 CentOS5。

以下是我的步驟,過程比別人複雜點,但是比較安全。

1. rpm –import RPM-GPG-KEY-centos4

2. rpm -Uvh –force centos-release-4-0.1.i386.rpm
版本大於4 即可, 如果要升到最新版 就從 CentOS4 目錄抓最新版來用

3. rpm -Uvh –force centos-yumconf-4-2.noarch.rpm
這可不裝 比較後面的 CentOS 4 沒有 centos-yumconf 套件

4. 安裝新的 kernel
rpm -ivh –force –nodeps kernel-2.6.9-5.0.3.EL.i686.rpm

5. 安裝 glibc
rpm -ivh –force –nodeps glibc*

6. rpm –rebuilddb
在升級前, 這已經是標準動作, 先重建 rpm db

7. 設定好 yum-upgrade.conf, 然後執行
yum -c /etc/yum-upgrade.conf upgrade

[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
installonlypkgs=kernel kernel-smp kernel-hugemem kernel-enterprise kernel-debug kernel-unsupported kernel-smp-unsupported kernel-hugemem-unsupported
tolerant=1
exactarch=1

[upgrade]
name=Centos upgrade
baseurl=http://mirror.centos.org/centos/4/os/$basearch/

[update]
name=CentOS-$releasever – Updates
baseurl=http://mirror.centos.org/centos/4/updates/$basearch/

8. 如果沒問題, 再安裝一次 kernel
rpm -ivh –force –nodeps kernel-2.6.9-5.0.3.EL.i686.rpm
先前安裝 kernel 並非完整安裝, 此次讓他再重新安裝一次

9. rpm –rebuilddb
升級完重新開機前 再作一次

10. yum update 看看有沒有其他的要更新.
建議開完再做啦 以免發生變數

11. 更改 /boot/grub/menu.lst 指定用新的 kernel 開機
有時候 kernel 安裝後可能會因為一些問題沒有更新到 grub.conf 如果沒有就要手動加入
順便要檢查一下 kernel , initrd 檔名正不正確

12. 重開機看看. (可能會移除一些舊的 driver, 加上一些新的 driver)

參考文章
http://www.harald-hoyer.de/linux/Switching-from-FC3-to-CentOS4.3
# rpm -Uvh
centos-release-4-3.2.i386.rpm
yum-2.4.2-2.centos4.noarch.rpm
python-elementtree-1.2.6-4.i386.rpm
python-sqlite-1.1.6-1.i386.rpm
sqlite-3.2.2-1.i386.rpm
centos-yumconf-4-4.5.noarch.rpm
lynx-2.8.5-18.2.i386.rpm
indexhtml-4-2.centos4.noarch.rpm
python-urlgrabber-2.9.6-2.noarch.rpm