Archive

‘Linux 進階操作技巧’ 分類過的Archive

Linux nForce Ethernet Drivers

2006年12月12日 尚無評論

最近入手一片使用nForce晶片的主機板,在上面安裝 Red Hat Enterprise Linux 3 Update 7,碰到了一個詭異的現象,該版本核心所使用的 nForce Ethernet 的模組似乎有bug,整個傳輸品質極差無比,從這台主機透過 ssh或是 rsh 連線到其它主機大約會停頓個3~4秒,從其它主機連進來這台主機上竟然會停頓超過30秒以上。原本以為是網路線或是 Switch 上的問題,經過檢測都是正常,後來才想到可能是模組有問題了。

解決的方式:
從NVIDIA官方網站下載最新版本的Linux nForce Drivers 的驅動程式來安裝,安裝方式可以參考官方網頁的描述。

檢查方式:
重新載入模組後,檢查一下所使用的模組版本是否已經改成新版的。
[root@server root]# ethtool -i eth0
driver: forcedethversion: 0.56
firmware-version:
bus-info: 00:08.0
[root@server root]#

Could not find enough machines for architecture LINUX

2006年11月28日 尚無評論

當你透過mpich在執行平行化程式時,如果出現 Could not find enough machines for architecture LINUX 這個錯誤訊息時,解決方法如下:

  1. 先確認一下所安裝的 mpich 程式路徑 /usr/local/mpich-xxx/share/machinefile.LINUX檔案的節點名稱命名為何。
  2. 使用 hostname 指令查詢一下節點的主機名稱是否和machinefile.LINUX檔案中的相同。

通常這個錯誤的引起多為主機命名和檔案中有所差異導致,因此,只要透過這兩個步驟便可以解決這個問題的發生。

Categories: Linux 進階操作技巧 Tags: ,

於 Linux X-Window 中使用 Virtual Screen

2006年10月9日 尚無評論

很多人應該會碰到螢幕解析度過小導致有些程式執行過程中顯示的問題,在Linux系統中其實我們可以將 X-Window 的 Vitrual Screen 功能啟動,讓系統呈現超越本身螢幕解析度的範圍,組態方式很容易,編輯 /etc/X11/XFree86 檔案:

Section “Screen”
Driver “accel”
Device “My Video Card”
Monitor “My Monitor”
DefaultColorDepth 16
Subsection “Display”
Depth 16
Virtual 2048 1024
Modes “800×600″
EndSubsection
EndSection

修改完畢後要重新啟動 X-Window,便可以順利使用 Virtual Screen 的功能啦

量子材料軟體 – OpenMX安裝心得

2006年9月4日 尚無評論

OpenMX (Open source package for Material eXplorer) is a program package for nano-scale material simulations, which is designed for the realization of large-scale ab initio calculations based on a density functional theory (DFT), norm-conserving pseudopotentials, and pseudo atomic localized basis functions. The distribution of this program package and the source codes, downloadable from http://staff.aist.go.jp/t-ozaki/, follow the practice of the GNU General Public Licence (GPL)

系統環境:RedHat Enterprise Linux 3 with PGI 6.0 Compiler

 

步驟:
編譯CLAPACK

  1. 下載CLAPACK
  2. 解壓縮:tar zxvf clapack.tgz
  3. 編譯:cd CLAPACK
  4. CLAPACK主要的設定檔案為make.inc,因為我不是使用預設的gcc編譯器,因此需要修改一下編譯器的路徑。
    大約在第19行左右
    CC = pgcc
    CFLAGS = -O2 -mcmodel=medium
    LOADER = pgcc
    LOADOPTS = -O2 -mcmodel=medium
    NOOPT = -O2 -mcmodel=medium
    DRVCFLAGS = $(CFLAGS)
    F2CCFLAGS = $(CFLAGS)
    如果你是使用其它的編譯器,記得要改變,尤其在OPTS的內容得參考你編譯器的手冊去修改。
  5. make f2clib
  6. make f2clib
  7. make blaslib
  8. 編譯完畢後,會再目錄下產生一個blas_XXXXX.a與clapack.h的檔案,把blas_XXXXX.a複製到/usr/local/lib/libblas.a,而clapack.h複製到/usr/local/include中即可。

編譯FFTW3

  1. 下載FFTW3
  2. 解壓縮:tar zxvf fftw-3.1.2.tar.gz
  3. 編譯:cd fftw-3.1.2
  4. ./configure –prefix=/usr/local CC=pgcc CFLAGS=-O2
  5. make
  6. make install
  7. 檢查一下在/usr/local/lib會出現libfftw3.a、libfftw3.la,而/usr/local/include會有fftw3.f、fftw3.h

安裝OpenMX 3.0

  1. 下載OpenMX 3.0
  2. 解壓縮:tar zxvf openmx3.0.tar.gz
  3. 編譯:cd openmx3.0/source
  4. 修改makefile
    CC = /opt/mpich-1.2.7-pgi/bin/mpicc -tp=k8-64 -pgf90libs -fast -mcmodel=medium -I/usr/local/include
    LIB = -L/usr/local/lib -llapack -lblas -lg2c -lI77 -lfftw3
  5. make install
    如果你是使用不同的編譯器,CC與LIB這部份要跟據你使用的編譯器調整

Linux下的撥接工具 – minicom 使用方式

2006年8月4日 尚無評論

大多數從事網管工作的朋友,應該都有使用過撥接的方式來連線遠端主機經驗,隨著現在網際網路的快速發展,越來越少人會再用這種比較慢速的連線方式進 行運作,不過,再部份網路環境下,為了讓整體主機安全性更高,也有不少人還是透過數據機的方式再進行連線。接著,我們來看一下在LINUX底下如何透過撥 接工具進行連線。

環境確認:先檢查一下系統上是否有安裝了數據機(卡),你可以透過 pppd 這個指令來確認資訊。

這時候你應該會收到一堆亂碼組成的回應訊息,例如下面:

~}#?}!}!} }4}”}&} } } } }%}&+N+}’}”}(}”?~~}#?}!}!}}4}”}&} } } } }%}&+N +}’}”}(}”?~~}#?}!}!} }4}”}&} } } }}%}&+N+}’}”}(}”?~

等待一段時間,這個訊息會自動結束。
所需要的套件:minicom

 

[figaro@hcserver figaro] $ rpm -q minicom
minicom-2.00.0-17.1
如果沒安裝的話,就從光碟或是網路上找到這個套件進行安裝就可以啦 ^^”

操作方式:minicom -m8 -c on
這樣我們就會擁有一個有顏色的minicom環境拉,這時會畫面會出現OK的字眼。

OK
ATZ <– 輸入此字串是於使用前先將數據機RESET一下。
OK
AT DT XX-XXXXX <– XX-XXXXX為你的撥接電話,DT是 Dial Tone的意思,如果對方是使用舊的脈衝式電話要把T改成P。

順利的話,這時候就會出現一下Login:的畫面啦 ^^

Wrong glibc with pgf90 , 使用PGI 6.1

2006年8月1日 尚無評論

這幾天在編譯程式的時候,碰到了一個問題,使用PGI 6.1編譯器編譯會出現下列的錯誤訊息:

/home/figaro/program1:
/opt/pgi/linux86-64/6.1/lib/libpthread.so.0: version `GLIBC_2.3.3′ not found (required by /lib64/tls/librt.so.1)

可是當我用ldd去查詢相關連結時,並沒發現任何問題:
[root@op64d2 figaro]# ldd -v /lib64/tls/librt.so.1
libc.so.6 => /lib64/tls/libc.so.6 (0×0000002a95794000)
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0×0000002a959d8000)
/lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0×0000002a95670000)

閱讀全文…

如何在RHEL 4設定multiple luns

2006年8月1日 尚無評論

在RHEL 3以前的系統中如果要設定multiple luns,要去修改/etc/modules.conf。在新的RHEL 4版本中則改到/etc/modprobe.conf內。底下是兩個版本設定上的差異:

RHEL 3

/etc/modules.conf
scsi_mod max_scsi_luns=xxx

重開機

RHEL 4
/etc/modprobe.conf
options scsi_mod_luns=xxx
(xxx為LUNS的數目)

建立Ramdisk image
mkinitrd -f /boot/image-2.6.xxx-new 2.6.xxx
(2.6.xxx 為使用核心版本)

重開機

debugfiles.list: No such file or directory

2006年7月4日 尚無評論

如果有從 2.4 核心中透過make rpm要製作RPM安裝檔的朋友應該都曾經碰到過,編譯到後來會出現下列的錯誤訊息。

Processing files: kernel-2.4.21-3
Provides: kernel-2.4.21
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: kernel-debuginfo-2.4.21-3
error: Could not open %files
file /usr/src/redhat/BUILD/kernel-2.4.21/debugfiles.list: No such file or directory
RPM build errors: Could not open %files
make: *** [rpm] Error 1

解決方式如下:
在 /usr/src/linux-2.4/script/mkspec檔案中第39行下面加上一行描述及可以解決 echo “%define debug_package %{nil}”

Red Hat Enterprise Linux 3 Update 7 Kernel Sources Bug Fix

2006年5月23日 尚無評論

今天拿到 Update 7的光碟,進行安裝後,照例看看Kernel又Patch了那些新玩意,然後再Patch上工作上會需要使用的修正。正當一切順利進行中,想說準備泡個咖 啡來等待時,卻發現make menuconfig中,無法選擇Gigabit的網路介面,會出現下列錯誤訊息:

Menuconfig has encountered a possible error in one of the kernel’s configuration files and is unable to continue.
Here is the error report: Q> scripts/Menuconfig : line 832 : MCmenu36: command not found ……..

檢查了一下 scripts/Menuconfig中的設定,乖乖,沒有錯誤 !!

後來只好去確認位於 ~/linux-2.4.21-40/drivers/net/ 底細的 Config.in 檔案,發現問題出在於 Gigabit這個mainmenu_options沒有對應的endmenu,於是只要在277行的地方補上一個 endmenu,就可以解決這個問題了 ~

The certificate for xxx.xxx.xxx will expire in 29 days

2006年4月20日 尚無評論

今天早上收到由 certwatch 程式所發出來的系統通知信件,主要在說明我的 Certificate Key 太久沒更新了,通知網管需要更新一下。

更新的方式如下:
[ root@hcserver root] # cd /etc/httpd/conf
[ root@hcserver conf] # rm ssl.key/server.key 刪除掉舊的 server.key
[ root@hcserver conf] # rm ssl.crt/server.crt 刪除掉舊的 server.crt

 

接著準備產生新的金鑰方式如下:
[ root@hcserver conf] # cd /usr/share/ssl/certs
[ root@hcserver certs] # make genkey
umask 77 ; \ /usr/bin/openssl genrsa -des3 1024 >/etc/httpd/conf/ssl.key/server.key Generating RSA private key, 1024 bitlong modulus
…….++++++
……………………………………………………….++++++
e is 65537 (0×10001)
Enter PEM pass phrase: –> 輸入通行密碼,最少輸入8個字元以上比較安全

接著在建立對應的金鑰檔案:
[ root@hcserver root] # /usr/bin/openssl genrsa 1024 > /etc/httpd/conf/ssl.key/server.key

確認一下檔案的權限是否正確:

[ root@hcserver root] # chmod go-rwx /etc/httpd/conf/ssl.key/server.key

Categories: Linux 進階操作技巧 Tags: , ,