2012年2月14日 星期二
Xen Guest如何進入single mode
1. Alter the 'OS Boot Parameters' entry in the 'General' tab of XenCenter to include the alphabet s.
e.g graphical utf8 [b]s[/b]
2. Reboot the host
3. You will be directly taken to the shell prompt of single user mode.
參考:
http://forums.citrix.com/thread.jspa?threadID=151166
手動釋放Linux記憶體
kernel:2.6.16+
OS:CentOS 4.7
透過 /proc/sys/vm/drop_caches這個檔案來釋放記憶體
以root來執行以下的指令
先將記憶體的暫存資料寫入disk
# sync;sync;sync
釋放linux記憶體
# echo 3 > /proc/sys/vm/drop_caches
再將 /proc/sys/vm/drop_caches的值設為0
# echo 0 > /proc/sys/vm/drop_caches
可以用 free 指令來看記憶體目前的狀態
參考:
http://huenlil.pixnet.net/blog/post/26822270-%5B%E8%BD%89%5D-%E9%87%8B%E6%94%BElinux%E8%A8%98%E6%86%B6%E9%AB%94
man drop_caches
ftp://ftp.alaska.edu/pub/sois/man/drop_caches.html
OS:CentOS 4.7
透過 /proc/sys/vm/drop_caches這個檔案來釋放記憶體
以root來執行以下的指令
先將記憶體的暫存資料寫入disk
# sync;sync;sync
釋放linux記憶體
# echo 3 > /proc/sys/vm/drop_caches
再將 /proc/sys/vm/drop_caches的值設為0
# echo 0 > /proc/sys/vm/drop_caches
可以用 free 指令來看記憶體目前的狀態
參考:
http://huenlil.pixnet.net/blog/post/26822270-%5B%E8%BD%89%5D-%E9%87%8B%E6%94%BElinux%E8%A8%98%E6%86%B6%E9%AB%94
man drop_caches
ftp://ftp.alaska.edu/pub/sois/man/drop_caches.html
2010年8月3日 星期二
linux 網路卡驅動
確認系統有沒有抓到硬體裝置
# lspci | grep Ethernet
03:07.0 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 01)
03:07.1 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 01)
確認有沒有上模組
# lsmod | grep e1000
e1000 120273 0
確認網路有沒有連接 (使用ethtool工具,必須由root身份執行)
# ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
查看網路卡驅動程式資料
# ethtool -i eth1
driver: e1000
version: 7.3.20-k2-NAPI
firmware-version: N/A
bus-info: 0000:03:07.1
# lspci | grep Ethernet
03:07.0 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 01)
03:07.1 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 01)
確認有沒有上模組
# lsmod | grep e1000
e1000 120273 0
確認網路有沒有連接 (使用ethtool工具,必須由root身份執行)
# ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
查看網路卡驅動程式資料
# ethtool -i eth1
driver: e1000
version: 7.3.20-k2-NAPI
firmware-version: N/A
bus-info: 0000:03:07.1
2010年7月26日 星期一
Linux Hostid
Linux hostid 的演算步驟:
1. 用 $HOSTNAME 反查,查看 /etc/hosts 的記錄,來得到 IP
2. IP 四個數字轉 Hex
3. 再做 2143 順位的轉換
範例:
在 /etc/hosts 內的第一行記錄是
127.0.0.1 hostname localhost.localdomain localhost
1. 用$HOSTNAME 反查得知 IP 為 127.0.0.1
2. 127.0.0.1 轉成 Hex 為 7F000001
3. 再做 2143 順位的轉換,得到 007F0100
說明:這也說明了,為什麼 linux 查到的 hostid 都是 7f0100 這個答案了 ^ ^
參考網址:
http://pank.org/blog/2005/10/linux-hostid.html
1. 用 $HOSTNAME 反查,查看 /etc/hosts 的記錄,來得到 IP
2. IP 四個數字轉 Hex
3. 再做 2143 順位的轉換
範例:
在 /etc/hosts 內的第一行記錄是
127.0.0.1 hostname localhost.localdomain localhost
1. 用$HOSTNAME 反查得知 IP 為 127.0.0.1
2. 127.0.0.1 轉成 Hex 為 7F000001
3. 再做 2143 順位的轉換,得到 007F0100
說明:這也說明了,為什麼 linux 查到的 hostid 都是 7f0100 這個答案了 ^ ^
參考網址:
http://pank.org/blog/2005/10/linux-hostid.html
2010年6月21日 星期一
查詢linux安裝的套件是32bit or 64bit ?
目前大都安裝64bit的linux OS,當然隨附的套件主要也是64bit,可是當你所使用的應用軟體需要使用到32bit的套件、library時,可以使用下列指令來查詢已安裝的套件是32bit or 64bit.
# rpm -q --queryformat '%{ARCH}\n' rpm_name
例如:
# rpm -q --queryformat '%{ARCH}\n' glibc
i686
x86_64
(代表安裝的 glibc 有 32bit及64bit)
# rpm -q --queryformat '%{ARCH}\n' rpm_name
例如:
# rpm -q --queryformat '%{ARCH}\n' glibc
i686
x86_64
(代表安裝的 glibc 有 32bit及64bit)
2010年5月27日 星期四
Find Host ID or Machine ID
有些軟體的license是與機器的hostid綁在一起的,以下整理在各個平台上,如何尋找Host ID (Machine ID):(主要還是要看軟體要取的是哪一種方式)
Windows
Option 1: Volume Serial Number
執行命令提示字元,執行下列指令
C:\> vol c:
會出現"DISK_SERIAL_NUM=1234-abcd"的字串,Host ID就是"1234abcd" (將dash "-" 去掉)
Option 2: Mac Address (Physical Address)
執行命令提示字元,執行下列指令
C:\> getmac
會列出本機上所有的網路卡實體位址
或者執行
C:\> ipconfig /all
"Physical Address"所列的就是網路卡實體位址 (例如:001122aabbcc,將dash去掉)
Solaris
Option 1: Mac Address
執行下列指令
# /usr/sbin/arp `hostname`
出現 00:11:22:aa:bb:cc 的網路卡實體位址 (記得要將colon ":"去掉)
Option 2: CPU Hostid
執行下列指令
# /bin/hostid
Linux
主要是以eth0這個網卡的MAC Address為主
執行下列指令
# /sbin/ifconfig eth0
"HWaddr"所列的就是網路卡實體位址 (例如:001122aabbcc,將colon去掉)
補充說明
如果有安裝FLEXnet tools,可以執行下列指令,查看在此平台上的hostid
#
參考資料來源:
http://www.mathworks.com/support/solutions/en/data/1-171PI/index.html
Windows
Option 1: Volume Serial Number
執行命令提示字元,執行下列指令
C:\> vol c:
會出現"DISK_SERIAL_NUM=1234-abcd"的字串,Host ID就是"1234abcd" (將dash "-" 去掉)
Option 2: Mac Address (Physical Address)
執行命令提示字元,執行下列指令
C:\> getmac
會列出本機上所有的網路卡實體位址
或者執行
C:\> ipconfig /all
"Physical Address"所列的就是網路卡實體位址 (例如:001122aabbcc,將dash去掉)
Solaris
Option 1: Mac Address
執行下列指令
# /usr/sbin/arp `hostname`
出現 00:11:22:aa:bb:cc 的網路卡實體位址 (記得要將colon ":"去掉)
Option 2: CPU Hostid
執行下列指令
# /bin/hostid
Linux
主要是以eth0這個網卡的MAC Address為主
執行下列指令
# /sbin/ifconfig eth0
"HWaddr"所列的就是網路卡實體位址 (例如:001122aabbcc,將colon去掉)
補充說明
如果有安裝FLEXnet tools,可以執行下列指令,查看在此平台上的hostid
#
lmutil lmhostid參考資料來源:
http://www.mathworks.com/support/solutions/en/data/1-171PI/index.html
2010年5月21日 星期五
以非root身份執行命令
在linux系統,如果要將程式設定開機自動啟動,將執行命令編輯到 /etc/rc.local檔案
若要以非root身份執行命令,如下:
su - username -c “command”
或者編輯username的crontab
# crontab -e -u username
加入
@reboot command
(詳細說明,可以 man 5 crontab)
若要以非root身份執行命令,如下:
su - username -c “command”
或者編輯username的crontab
# crontab -e -u username
加入
@reboot command
(詳細說明,可以 man 5 crontab)
2010年5月12日 星期三
Glibc升級
OS: RHEL 5.3 x86_64
Kernel: 2.6.18
需要rpm套件如下:
32bit
glibc-2.5-42.i386.rpm
glibc-common-2.5-42.i386.rpm
glibc-devel-2.5-42.i386.rpm
glibc-headers-2.5-42.i386.rpm
nscd-2.5-42.i386.rpm
64bit
glibc-2.5-42.x86_64.rpm
glibc-common-2.5-42.x86_64.rpm
glibc-devel-2.5-42.x86_64.rpm
glibc-headers-2.5-42.x86_64.rpm
nscd-2.5-42.x86_64.rpm
執行rpm升級指令
# rpm -Uvh glibc-2.5-42.i386.rpm glibc-2.5-42.x86_64.rpm glibc-common-2.5-42.i386.rpm glibc-common-2.5-42.x86_64.rpm glibc-devel-2.5-42.i386.rpm glibc-devel-2.5-42.x86_64.rpm glibc-headers-2.5-42.i386.rpm glibc-headers-2.5-42.x86_64.rpm nscd-2.5-42.i386.rpm nscd-2.5-42.x86_64.rpm
warning: glibc-2.5-42.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:glibc-common ########################################### [ 10%]
2:glibc-common ########################################### [ 20%]
3:glibc ########################################### [ 30%]
4:nscd ########################################### [ 40%]
5:glibc-headers ########################################### [ 50%]
6:glibc-devel ########################################### [ 60%]
7:glibc-headers ########################################### [ 70%]
8:glibc ########################################### [ 80%]
9:glibc-devel ########################################### [ 90%]
10:nscd ########################################### [100%]
#
Kernel: 2.6.18
需要rpm套件如下:
32bit
glibc-2.5-42.i386.rpm
glibc-common-2.5-42.i386.rpm
glibc-devel-2.5-42.i386.rpm
glibc-headers-2.5-42.i386.rpm
nscd-2.5-42.i386.rpm
64bit
glibc-2.5-42.x86_64.rpm
glibc-common-2.5-42.x86_64.rpm
glibc-devel-2.5-42.x86_64.rpm
glibc-headers-2.5-42.x86_64.rpm
nscd-2.5-42.x86_64.rpm
執行rpm升級指令
# rpm -Uvh glibc-2.5-42.i386.rpm glibc-2.5-42.x86_64.rpm glibc-common-2.5-42.i386.rpm glibc-common-2.5-42.x86_64.rpm glibc-devel-2.5-42.i386.rpm glibc-devel-2.5-42.x86_64.rpm glibc-headers-2.5-42.i386.rpm glibc-headers-2.5-42.x86_64.rpm nscd-2.5-42.i386.rpm nscd-2.5-42.x86_64.rpm
warning: glibc-2.5-42.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:glibc-common ########################################### [ 10%]
2:glibc-common ########################################### [ 20%]
3:glibc ########################################### [ 30%]
4:nscd ########################################### [ 40%]
5:glibc-headers ########################################### [ 50%]
6:glibc-devel ########################################### [ 60%]
7:glibc-headers ########################################### [ 70%]
8:glibc ########################################### [ 80%]
9:glibc-devel ########################################### [ 90%]
10:nscd ########################################### [100%]
#
2010年4月23日 星期五
2010年3月31日 星期三
解決CentOS 5.3安裝Acroread時,出現libGLU.so.1的問題
安裝套件
rpm -ivh mesa-libGLU-6.5.1-7.7.el5.i386.rpm
rpm套件下載網址
http://rpm.pbone.net/
rpm -ivh mesa-libGLU-6.5.1-7.7.el5.i386.rpm
rpm套件下載網址
http://rpm.pbone.net/
解決CentOS出現方塊字的問題
安裝中文字型
rpm套件下載網址
http://rpm.pbone.net/
rpm -ivh fonts-chinese-3.02-9.6.e15.noarch.rpm
rpm套件下載網址
http://rpm.pbone.net/
2010年3月30日 星期二
CentOS中文顯示
修改檔案:
/etc/sysconfig/i18n
內容換成:
LANG="zh_TW.Big5"
SUPPORTED="zh_TW.Big5:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
登出重新連線
文章出處:
http://lincf0315.blogspot.com/2007/04/centos.html
/etc/sysconfig/i18n
內容換成:
LANG="zh_TW.Big5"
SUPPORTED="zh_TW.Big5:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
登出重新連線
文章出處:
http://lincf0315.blogspot.com/2007/04/centos.html
2010年3月8日 星期一
在linux上安裝nawk -用連結方式
linux 環境 : kernel 2.6.9-34
目前linux預設安裝的 awk 工具為 gawk (GNU)
可以在安裝路徑下看到 awk以連結方式連結到gawk:
# ls -la /bin | grep awk
lrwxrwxrwx 1 root root 4 Dec 1 2008 awk -> gawk
-rwxr-xr-x 1 root root 252380 Nov 5 2004 gawk
如果有nawk的需求,也可以用soft link方法,連結到gawk
# ln -s gawk nawk
# ls -la /bin | grep awk
lrwxrwxrwx 1 root root 4 Dec 1 2008 awk -> gawk
-rwxr-xr-x 1 root root 252380 Nov 5 2004 gawk
lrwxrwxrwx 1 root root 4 Mar 8 15:19 nawk -> gawk
目前linux預設安裝的 awk 工具為 gawk (GNU)
可以在安裝路徑下看到 awk以連結方式連結到gawk:
# ls -la /bin | grep awk
lrwxrwxrwx 1 root root 4 Dec 1 2008 awk -> gawk
-rwxr-xr-x 1 root root 252380 Nov 5 2004 gawk
如果有nawk的需求,也可以用soft link方法,連結到gawk
# ln -s gawk nawk
# ls -la /bin | grep awk
lrwxrwxrwx 1 root root 4 Dec 1 2008 awk -> gawk
-rwxr-xr-x 1 root root 252380 Nov 5 2004 gawk
lrwxrwxrwx 1 root root 4 Mar 8 15:19 nawk -> gawk
2008年8月12日 星期二
執行shell script,出現error
當執行一個 Shell Script可執行檔時,出現無法執行的情況時,可以採用下列方法解決。
必須先確認此Script是可執行的
# chmod 755 filename
一般在 Shell Script的第一行會寫由哪一個 Shell來執行,如下列所示
#!/bin/sh
....
[狀況一]:
執行 ./filename 時,出現 "bad interpreter:No such file or directory"等訊息時
[Solution]:確認 Script是什麼格式 ( dos、unix、mac)
1. vi filename,再執行命令
:set ff?
可以看到 fileformat是dos 或 unix的字樣,如果是dos格式,使用 :set fileformat=unix,強制成為 unix格式,存檔退出,再執行試試看。
2. 用 od -t x1 filename
如果看到 " 0d 0a"的字串,這個檔案為 dos格式,只有 0a而沒有0d,則是unix格式。
3. 除了用 vi 的命令變更檔案格式,也可以使用 unix2dos 或 dos2unix這兩個程式
# dos2unix filename <--變更為unix格式
[狀況二]:
執行 Script時,出現 "permission denied"的訊息
[Solution]:查看 Script 的所在目錄,mount table是否有加入 "noexec"的option
# cat /etc/fstab
必須先確認此Script是可執行的
# chmod 755 filename
一般在 Shell Script的第一行會寫由哪一個 Shell來執行,如下列所示
#!/bin/sh
....
[狀況一]:
執行 ./filename 時,出現 "bad interpreter:No such file or directory"等訊息時
[Solution]:確認 Script是什麼格式 ( dos、unix、mac)
1. vi filename,再執行命令
:set ff?
可以看到 fileformat是dos 或 unix的字樣,如果是dos格式,使用 :set fileformat=unix,強制成為 unix格式,存檔退出,再執行試試看。
2. 用 od -t x1 filename
如果看到 " 0d 0a"的字串,這個檔案為 dos格式,只有 0a而沒有0d,則是unix格式。
3. 除了用 vi 的命令變更檔案格式,也可以使用 unix2dos 或 dos2unix這兩個程式
# dos2unix filename <--變更為unix格式
[狀況二]:
執行 Script時,出現 "permission denied"的訊息
[Solution]:查看 Script 的所在目錄,mount table是否有加入 "noexec"的option
# cat /etc/fstab
/dev/hda5 /ftp ext3 noexec,user_xattr 0 2
/dev/hda7 /home ext3 defaults 0 2
/dev/hda9 /tmp ext3 defaults 0 2
2008年2月26日 星期二
popd & pushd 切換目錄
用 cd 指令來切換目錄
回到家目錄
$ cd
回到上一個使用的目錄
$ cd -
切換多個目錄,可以用pushd及popd,排列方式為
堆疊(stack)的型式
例子:
cora@host[/home/cora]>#pushd /etc
/etc ~
cora@host[/etc]>#pushd /var/log
/var/log /etc ~
cora@host[/var/log]>#pushd /tmp
/tmp /var/log /etc ~
cora@host[/tmp]>#popd
/var/log /etc ~
cora@host[/var/log]>#popd
/etc ~
cora@host[/etc]>#
cora@host[/var/log]>#dirs
/var/log /tmp /usr/bin /etc ~
cora@host[/var/log]>#pushd +2
/usr/bin /etc ~ /var/log /tmp
cora@host[/usr/bin]>#pushd +3
/var/log /tmp /usr/bin /etc ~
cora@host[/var/log]>#
cora@host[/var/log]>#dirs
/var/log /tmp /usr/bin /etc ~
cora@host[/var/log]>#popd +2
/var/log /tmp /etc ~
cora@host[/var/log]>#popd +3
/var/log /tmp /etc
cora@host[/var/log]>#popd +1
/var/log /etc
cora@host[/var/log]>#
2008年2月25日 星期一
Swap space
Linux:
->新增 swap 分割區
# mkswap /dev/hda5
啟用 swap 分割區
# swapon /dev/hda5
編輯 /etc/fstab,加入下列這一行:
/dev/hdb2 swap swap defaults 0 0
->移除 swap 分割區
停用 swap 分割區
# swapoff /dev/hda5
刪除 /etc/fstab 內的記錄
更改 分割表 的記錄
# fdisk /dev/hda5
->新增 swap 檔案
決定swap檔案的大小,然後乘以 1024 以取得磁碟區
塊(block)的大小,例如 64MB 之 swap 檔案的區塊
大小為65536。
# dd if=/dev/zero of=/swapfile bs=1024
count=65536
設定 swap 檔案
# mkswap /swapfile
啟用 swap 檔案
# swapon /swapfile
編輯 /etc/fstab,加入下列這一行:
/swapfile swap swap defaults 0 0
->移除 swap 檔案
停用 swap 檔案
# swapoff /swapfile
刪除 /etc/fstab 內的記錄
移除 swap 檔案
# rm /swapfile
Solaris:
增加swap space
# mkfile 20m /export/data/swapfile
# swap -a /export/data/swapfile
# swap -l
# swap -s
刪除swap space
# swap -d /export/data/swapfile
# rm /export/data/swapfile
# swap -l
# swap -s
寫入/etc/vfstab
# vi /etc/vfstab
(/export/data/swapfile - - swap - no -)
參考:
/dev/null:為一輸出裝置(可以視為一個黑洞檔案),
輸出到 /dev/null 的資料會消失無蹤。
/dev/zero:為一輸入裝置(可以視為一個只會不斷輸
出 0 的鍵盤),對 /dev/zero 的讀取要
求都只能讀到 Null (0)。
2008年2月22日 星期五
stdin、stdout、stderr
stdin:標準輸入;代碼為 0;使用的方式為 <>
stderr:錯誤輸出;代碼為 2;使用的方式為 2>
例子:
[原式]
$cat y
This is y.
$cat x y
Cat: x: No such file or directory
This is y.
[將stdout重導入file1,stderr重導入file2]
$cat x y 1>file1 2>file2
$cat file1
This is y.
$cat file2
Cat: x: No such file or directory
[將stdout及stderr重導入file1]
$cat x y 1>file1 2>&1
$cat file1
Cat: x: No such file or directory
This is y.
訂閱:
文章 (Atom)
