2009年12月25日 星期五

Kickstart 操作

為了玩RHEL5 cluster方便安裝,順便玩了一下kickstart大量佈署方式安裝系統
參考文件:
1.鳥哥網站的網友分享篇裡面彥明大的幾篇文章
2.CentOS官網

設定方式如下:
1.DHCP server (如已有可跳過)
# cp /usr/share/doc/dhcp-3.0pl2/dhcpd.conf.sample /etc/dhcpd.conf
# more /etc/dhcpd.conf 內容如下根據自己需求更改
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.0.128 192.168.0.254;
default-lease-time 21600;
max-lease-time 43200;
#/etc/init.d/dhcpd restart
#chkconfig dhcpd on

2.準備install server (建議與DHCP server放一起,可以再建立yum)
可以使用httpftpnfs方式來作,我測試以ftp為主,可以設定帳密來登入:
#yum install vsftpd
#chkconfig vsftpd on
#/etc/init.d/vsftpd restart (預設有開匿名登入,可根據自己需求調整)
#mount -t iso9660 -o loop CentOS.iso /mnt (放光碟或mount ISO)
#mkdir /var/ftp/pub/CentOS (建立資料夾)
#cp -av /mnt/. /var/ftp/pub/CentOS (將安裝資料放到ftp)
#yum install system-config-kickstart (設定kickstart參數的gui)
#system-config-kickstart (設定安裝相關資料)
GUI畫面下設定完成後選file → save 可存成一個自動安奘的文字檔
我的設定如下
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Use graphical install
graphical
# Firewall configuration
firewall --enabled --ssh --trust=eth0
# Run the Setup Agent on first boot
#firstboot --enable
# System keyboard
keyboard us
# System language
lang zh_TW.UTF-8
#Language modules to install
langsupport en_US --default=zh_TW.UTF-8
# Installation logging level
logging --level=info
# Use network installation
url --url=ftp://10.101.20.244/pub/mnt
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Root password
rootpw --iscrypted $1$FZr8YqVs$W4ykp.eMFp97IIkE8xIvn.


# SELinux configuration
selinux --disabled
# System timezone
timezone Asia/Taipei
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig --defaultdesktop=GNOME --depth=8 --resolution=800x600 --startxonboot
# Disk partitioning information
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100
part swap --bytes-per-inode=4096 --fstype="swap" --size=2048
part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1


%packages
@chinese-support
@office
@editors
@text-internet
@gnome-desktop
@dialup
@core
@base
@games
@base-x
@graphics
@printing
@sound-and-video
@graphical-internet
device-mapper-multipath
xorg-x11-server-Xnest
libsane-hpaio
-sysreport
將此檔案跟開機光碟燒在一起,也可以放在ftp

3.安裝:
放入做好之開機光碟,開機
執行:
linux ks=/cdrom
or
(將檔案放在ftp)

這樣應該會自己安裝好嚕

kickstart檔案內容可參考:http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/sysadmin-guide/s1-kickstart2-file.html

2009年12月14日 星期一

Rsync Server建置

我最近幫部門的FTP Server搬家,也順便做了自動化備份,設定流程如下:

一、Server端設定:

1.確定xinet服務有安裝並開機有啟動
  #chkconfig xinet --list

如果找不到表示沒有安裝,則輸入
  #yum install xinet
開機啟用
  #chkconfig xinet on
  #chkconfig rsync on

2.自己建立rsync server config檔
  #vim /etc/rsyncd.conf
 
port = 873            #rsync server啟用的port
#max connections=3
log file = /var/log/rsyncd.log    #放log的位置
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock

[ftpbackup]           #module名稱,極重要,每個Client都有自己的module名稱
uid = root            #用哪個user啟用服務
gid = root
use chroot = no
path = /samba_win      #要跟本機哪個目錄作rsync
comment = BACKUP for FTP
#ignore errors
read only = no          #如果會寫入資料,則不可使用read only
#list = no
auth users = tedpc      #Client登入時帳號,可以非本機帳號
secrets file = /root/rsync.secrets    #帳號的密碼放置位置

3.建立密碼檔,位置可以隨自己放置,但必須與設定檔同一位置
  格式為:username1:password1 (可多組)
        
  #vim /root/rsync.secrets
 tedpc:1qaz2wsx

更改密碼檔權限,最好只有root可以看,確保安全姓
  #chmod 600 /root/rsync.secrets

二、Client 設定
基本上Client只要能使用rsync指令來跑就ok嚕
1.Windows:
基本上可以安裝cwRsync,至於怎樣安裝及設定請自行研究

2.Linux:
基本上裝好應該都有嚕,沒有請打
  RH:
  #yum install rsync
  ubuntu:
  $sudo apt=get install rsync

裝好後請建立密碼檔,只要給密碼就可以嚕
#vim /root/rsync.secrets
1qaz2wsx

#rsync -av --password-file=/root/rsync.secrets /Data/ tedpc@IP::ftpbackup
這樣如果沒有錯誤即可將其配合crontab來使用

參考資料:http://samba.anu.edu.au/rsync/documentation.html

2009年10月9日 星期五

VirtualBox下Guest OS為Linux時分享資料夾使用

我因為使用Linux作為日常使用的OS,常會碰到某些沒有開發在Linux上的程式
只好使用Virtualbox作為變通,不過最近發現當Guest OS為Linux時
分享資料夾不知道要如何使用,後來找到資料說明:
參考:http://ubuntufish.blogspot.com/2008/04/virtualbox.html

* 客端作業系統為Windows時:當你在功能表列上選取裝置→安裝客端額外功能,
他就會開始安裝,直到結束。他就會將相關的虛擬驅動程式安裝完成,定打開主客
間很重要的資料夾分享的功能,可以直接使用網路磁碟機方式連接

* 客端作業系統為Linux時:在功能表列上選取和按下裝置→安裝客端額外功能後,
就會掛載上一個虛擬光碟,然後利用root的權限執行VBoxLinuxAdditions.run,
就會將額外的功能來開啟。而在主客間的資料夾分享功能,在使用手冊上說明
mount -t vboxsf [-o OPTIONS] sharename mountpoint
其中”sharename”是
你自訂分享資料夾的名字,”mountpoint”是在linux裡所要掛載對應的資料夾位置,
例如:
/mnt/share,而在/mnt下的”share”目錄夾,你可要用root的身份去自己建立
,所以你也可以自行去命名,所以自行可用如”sudo
mount -t vboxsf myz /mnt/zd“。

2009年8月20日 星期四

Oracle 11g install in linux

最近剛考過RHCE之後,下個目標便放在Oracle 的OCA嚕

那既然要考OCA,那第一件事便是練習安裝,畢竟有了環境才能練習


第一步先去官網下載檔案
Oracle Database 11g Release 1 (11.1.0.6.0) for Linux x86(需註冊登入)
http://download.oracle.com/otn/linux/oracle11g/linux_x86_11gR1_database.zip


下載好以後不知道要怎麼下手說~
這時只好在請出Google大神加持,在Google中找到下面這個網站說得很清楚

http://cenote.wordpress.com/2008/10/01/%E4%BD%9C%E6%A5%AD2install-oracle-11g-on-linuxfedora-9/

以下節錄上述網站資料





--待續--

2009年8月13日 星期四

讓ubuntu支援4g以上ram

2010/01/19更新 ubuntu9.10安裝好即為PAE版本,故不需在安裝Server版本

現在的ram真的超便宜,所以隨便也可以買到超過4g,可是在32bit的作業系統天生不支援超過3.2g
那要如何讓 Ubuntu OS 支援 4G 以上記憶體?有兩種選擇方式:

選擇一:

大膽前進開始使用 64bit 的 OS,但max試用了以後感覺9.04好像不是太穩....不知是我不會調還是怎的,
常常當機呀,或突然開機Xorg就有問題= =,所以放棄這想法

選擇二:

在ubuntu 32bit 下,可安裝有開啟 PAE ( Physical Address Extension ) 的 Kernel
一般 Linux Server 版本的 OS 都有支援,只介紹ubuntu的安裝方式,其安裝方式如下:

$ sudo apt-get update
$ sudo sudo apt-get install linux-headers-server linux-image-server linux-server
$ sudo reboot

Reference:

http://www.cyberciti.biz/faq/ubuntu-linux-4gb-ram-limitation-solution/

2009年8月6日 星期四

Linux 常用指令

1.find:
<1.>find /etc -type d
#找出/etc底下所有的子目錄
<2.>find /etc/ -type d -exec chmod 664 {} \;
#找出後丟給後面指令處理
<3.>find /etc -name marcus
#在/etc找出名為marcus的檔案

2.rsync:
<1.>rsync -av /etc/passwd .
#基本用法與cp一樣,也可以目錄對拷,差別在於rsync會檢查兩個目錄檔案有無一樣,一致的話就不做拷貝
<2.>rsync -av marcus@192.168.1.1:/tmp/. .
#將遠端主機/tmp下的所有檔案copy到現在目錄

3.cut:
<1.>ifconfig -a | grep A1 eth0 | cut -d ' ' -f 1,3
#將ifconfig中與eth0相關資訊(兩行)秀出,並以空格為條件分隔後秀出第一與第三欄

4.tr:
<1.>tr -d '\n'
#將兩行文字合併為同一行
<2.>tr -s ' '
#將多個'空格'合併為一個




待續

2009年7月10日 星期五

Linux 不重開機抓lun的方式

由於工作的關係,max常會碰到san環境的linux主機,而且會有san boot 的狀況,所以如何不中斷服務或不重起

主機的狀況下,如何添加新磁碟空間,就變得非常重要。

而在我努力google後終於找到方法

1>用別人寫好的script: rescan-scsi-bus.sh

2>自己用指令下

cat /proc/scsi/scsi 可以得到:

Attached devices:

Host: scsi0 Channel: 00 Id: 00 Lun: 00

Vendor: ATA Model: ST9250320AS Rev: 0303

Type: Direct-Access ANSI SCSI revision: 05

Host: scsi1 Channel: 00 Id: 00 Lun: 00

Vendor: TSSTcorp Model: CDDVDW TS-L633A Rev: AS00

Type: CD-ROM ANSI SCSI revision: 05

表示我有兩個scsi裝置在運作,要加入新的可以打

echo "scsi add-single-device w x y z" > /proc/scsi/scsi

為使該命令正常運行,必須指定正確的參數值 w、x、y 和 z,如下所示:

w 是主機適配器標識,第一個適配器為零(0)即:scsi0 or 1

x 是主機適配器上的 SCSI 通道,第一個通道為零(0)即:channel

y 是設備的 SCSI 標識 即:ID

z 是 LUN 號,第一個 LUN 為零(0)

即要加一個新的lun,可以打:

echo "scsi add-single-device 0 00 00 01" > /proc/scsi/scsi


另外如果要看HBA卡的wwn的話

#cat /sys/class/scsi_host/host2/device/fc_host\:host2/node_name

其中host2可能因為不同環境有所不同

2009年5月14日 星期四

ubuntu-yum,rpm,chkconfig

一直以來很習慣使用RH系列的yum,rpm,chkconfig...等等好用工具,

但在ubuntu上卻找不到這些套件,不過ubuntu也有自己的相關套件呦!!

1.dpkg <--> rpm

2.yum <--> apt-get

3.chkconfig <--> sysv-rc-conf



裡面的1跟2使用方法差不多就不在贅述了,也就針對3來作說明

參考網誌:http://blog.ntut.idv.tw/2008/09/los-chkconfig-for-ubuntu-sysv-rc-conf.html

1.安裝sysv-rc-conf

$sudo apt-get install -y sysv-rc-conf

2.執行

$sudo sysv-rc-conf

畫面如下


其中"X"表示此runlevel會啟動," "表示不啟動


3.$sysv-rc-conf --list | grep ssh # 查看 ssh run level

ssh 1:off 2:off 3:off 4:off 5:off

4.$sudo sysv-rc-conf --level 35 ssh off # 關閉 ssh 3 及 5 的 run level

$sysv-rc-conf --list | grep ssh

ssh 3:off 5:off

5.$sudo sysv-rc-conf atd off # 關閉 atd run level

6.$sysv-rc-conf --list | grep atd # 查看 atd run level

atd 1:off 2:off 3:off 4:off 5:off

7.$ sudo sysv-rc-conf atd on # 開啟 atd run level


8.$ sysv-rc-conf --list | grep atd # 查看 atd run level

atd 1:off 2:on 3:on 4:on 5:on

2009年4月15日 星期三

在linux上使用windows常用字型

Max在使用ubuntu前用了很久的windowsXP,所以還蠻習慣上面的字型,

而且在上網時常有字型無法顯示變成一堆方塊,所以這時就要把windows上使用的字型匯入

步驟如下:

1.先準備一台windowsXP,然後進到C:\windows\fonts\* 找出想要的檔案複製



2.在ubuntu裏面建立目錄

路徑:sudo mkdir /usr/share/fonts/truetype/ttf-win #名稱自取



3.把檔案cp過去



4.執行指令建立字型快取

sudo fc-cache -f -v #這樣會自動去把字型檔匯入



搞定收工

另外在Flash裡面中文也常會有問題,修改以下設定檔:
1.vim /etc/fonts/conf.d/69-language-selector-zh-tw.conf

2.將 sans-serif 下的 binding="strong" 拿掉

       <edit name="family" mode="prepend" binding="strong">
      
改成
      
<edit name="family" mode="prepend">

2009年4月7日 星期二

讓linux可以抓到ntfs的硬碟

雖然現在很多版本的linux都可以抓到NTFS的硬碟,ex.fedora,ubuntu

可是還是有很多版本不行,尤其是server版。可是又一定要用怎辦,

還好有ntfs-3g這個好東西。在做之前要先把compile的環境建置好,

不然會失敗。

1. yum install -y kernel-devel

2. yum install -y '*gcc*'



然後在安裝ntfs-3g前要先裝fuse,流程如下



安裝Fuse,先到http://fuse.sourceforge.net/下載,我抓的是

fuse-2.7.4.tar.gz這個版本

1. tar zxvf fuse-2.7.4.tar.gz #把檔案解壓縮

2. cd fuse-2.7.4 #解壓縮後應該會產生資料夾

3. ./configure

4. make

5. make install #有名的三步驟

6. modprobe fuse #載入fuse 模組

7. lsmod |grep fuse #檢查有沒正常啟動



再來就是安裝ntfs-3g,先到http://www.ntfs-3g.org/下載,

我抓的是ntfs-3g-2009.4.4.tgz這版

1. tar xzvf ntfs-3g-2009.4.4.tgz

2. cd ntfs-3g-2009.4.4

3. ./configure

4. make

5. make install



這樣就安裝完成,測試一下

1. fdisk -l

2. mount -t ntfs-3g/dev/sda1 /mnt

應該要正常抓到呦



其實看似簡單,但在compile過程中相當容易出問題,

一但有了問題就要去花很多時間跟精神去處理嚕。

2009年3月24日 星期二

在linux上安裝虛機跑otherOS

改用ubuntu已經有幾個月了,使用上確實相當順手,可是總是有些軟體只有微軟版

雖然在linux中可以用wine來處理,可是

1>我不太會configuration這玩意

2>他畢竟只是模擬類似xp的環境,而不是真的xp,所以也不是啥軟體都能跑

雖然想用VMware這套軟體,可是大家都知道max是很窮的買不起VMware,

這時候Sun 出的免費VirtualBox就派上用場嚕。



VirtualBox 安裝非常簡單,而且支援多種Platform

安裝步驟:

1.到官網下載:

http://www.virtualbox.org/wiki/Downloads

#注意別安裝OSE版本



2.可以用圖形介面安裝或用CMD安裝:

ubuntu 用dpkg

Redhat 用rpm



3.安裝好就可以使用



使用 VirtualBox 時常用的快速鍵:

右 Ctrl 鍵按 2 下:從虛擬系統中切換成原桌面系統

右 Ctrl 鍵 + F 鍵:切換成「全螢幕」,再按一次則恢復原來大小

右 Ctrl 鍵 + Delete 鍵:在虛擬系統中摸擬「Ctrl + Alt + Del」

右 Ctrl 鍵 + Backspace 鍵:在虛擬系統中摸擬「Ctrl + Alt + Backspace」



如果guest OS 為Redhat or Fedora 安裝guest additions需先執行安裝套件:

yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel



================分隔線^.^=====================

設定好之後進入os會發現無法使用usb

這是因為vb無法使用usb的資源,所以還要修正以下部份:

1.sudo groupadd usbfs #名字可以自己取,主要用在辨識

#重點在gid要記住

2.sudo gedit /etc/fstab #修改fstab

加入:none /proc/bus/usb usbfs devgid=1001,devmode=664 0 0

#修改好要重開機讓ubuntu讀取一次fstab

3.sudo usermod -G usbfs -a marcus #將user加入usbfs群組

這樣應該就ok嚕

================2010/7/3更新^.^=====================
新版本已經不需要更改fstab了,所以紀錄一下
兩個方式作設定:
1.GUI: 系統->管理->使用者與群組
開啟後點選管理群組,找到vboxusers群組,將需要usb功能的user加入即可
2.CLI:指令
$sudo usermod -G vboxusers -a username

重開機就可以嚕

2009年3月17日 星期二

ubuntu 安裝ssh server

在以往連線到別台電腦時,大家都習慣使用telnet。

但由於telnet傳遞資料是使用明碼,萬一被有心人竊聽封包就糟了。

所以後來就出現了ssh這個好東西,可是ubuntu預設只安裝ssh client,

所以無法由遠端使用ssh連線到本機。這時就必須安裝ssh server。



1.更新套件庫:

$sudo apt-get update



2.安裝ssh server

$sudo apt-get install openssh-server



3.觀察ssh有無啟動daemon

$ps ax |grep ssh



4.configuration

$vi /etc/ssh/sshd_config

修改:

PermitRootLogin Yes --> PermitRootLogin No #拒絕遠端使用root登入

#What ports, IPs and protocols we listen for

port 22 #使用哪個port號登入,可改為系統未使用的



5.限制可登入之ip

$sudo vim /etc/hosts.allow

加入:

sshd:xxx.xxx.xxx.xxx :allow # xxx.xxx.xxx.xxx 輸入ip



6.拒絕未設定之ip登入

$sudo vim /etc/host.deny

加入:

sshd:all:deny #拒絕所有ip登入



7.重起daemon

$sudo /etc/init.d/ssh stop

$sudo /etc/init.d/ssh start



使用方式:

1.ssh 帳號@host

2.ssh 帳號@host CMD #ssh過去後執行CMD就回來,結果顯示在本地

3.ssh -p 22 帳號@host #連線時用指定的port


在用了ssh這麼好用的東西後,開始有了更進階的需求,

像是想把本機端的資料丟過去或想把在那邊執行的程式或資料抓回來,

在以前這種需求就要靠ftp之類的資料傳輸方式,可是為了要傳送一時的資料,

又要裝東裝西調整防火牆實在太麻煩,這時依附在ssh上的scp就很好用了


實作如下:

1.scp 來源檔案 目的地 #其中遠端的電腦要加上: 如-192.168.1.1:

#預設不打路徑放在登入帳號的home

2009年1月21日 星期三

alias用法

在linux中因為常用到cmd模式,且常打一些很長的指令,

在在都考驗著沒記性跟沒耐性的我呀。所以這時就要善用alias這個指令呀

基本用法:

1.$alias

用來查看這個user有哪些設好的命令別名



2.$alias 『別名』='指令 參數'

例如:alias ll='ls -al'



3.$unalias 『別名』

移除不要的別名



但話又說回來了,難不成每次開機都要利用alias來些定義好這麼一長串嘛...當然是不可能呀。

在linux的架構中,在使用這者的 /home 目錄下,都隱藏了一個 bash 的record,

檔名為 .bashrc,因為是隱藏檔,所以必須用ls -a 的方式才會看的到

2009年1月20日 星期二

linux製作iso檔的方法

在linux中製作iso檔非常方便,在終端機中輸入:

1.CD 製作成iso:

$dd if=source of=file.iso



不用懷疑,就是這麼簡單

不過要注意的是在if=""中要給予正確的devices



2.檔案製作成iso:

$mkisofs -J -r -o /name.iso /source



其中-J-r才不會出現亂碼



3.mount ISO 也很簡單

$mount -o loop /name.iso /mnt

把name.iso mount 在/mnt