2010年4月1日 星期四

寫個掛載磁碟的script

因為常用隨身碟,又沒用自動掛載

所以覺的寫個掛在磁碟的script比較方便些
script的名為mount.bat

#/bin/sh
echo "Mount all devices..."
echo "The Program by Hrsen.Shen"

if [ "$1" == "" ]; then
echo "Not has device ..."
echo "Plese selection devices.."
echo "The Program ex: ./mount.bat device direct format "
echo "device: hda1,hdb1,hdc1,sda1,sdb1... can look /dev/"
echo "format: no any word is linux format,have word is 'win',use windows format "
exit 0;
fi

if [ "$3" == "win" ]; then
echo "Use Windows format.."
su -c "mount /dev/'$1' '$2' -o iocharset=utf8,uid=hrsenshen"
else
echo "Use Linux format.."
su -c "mount /dev/'$1' '$2'"
fi
echo "parameteris => $@"
echo "Mount device '$1' to direct '$2'"

這樣要掛啥碟就不用打太多文自哩

2009年9月1日 星期二

利用較新的主機來編譯核心給伺服器用

通常編核心都會在原本主機做,但若主機太慢不就等很久。雖然就現況看編核心比較少這樣做。不過咧,編譯一個精簡的核心給伺服器用是種最佳劃的方式。雖然現在主機設備比以往好太多。

準備個隨身碟,容量起碼可以放核心原始碼。在下準備個1G的隨身碟,然後格式化成ext3。
抓個kernel檔解壓到隨身碟中,然後編譯。以下是在較快的主機上頭做的部份。

mkfs.ext3 /dev/sda1
mount /dev/sda1 /usr/src
cd /usr/src
tar jxf linux-2.6.xx.tar.bz2
cd linux-2.6.xx
make menuconfig
make

編譯好後就可以把隨身碟裝到伺服器上再做以下部份

mount /dev/sda1 /usr/src
cd /usr/src/linux-2.6.xx
make;make install;make modules_install

如此僅需做編譯的最後步驟大約等待3分鐘(以在下的P3-800)就可以把核心裝好,這樣可以節約很多時間

2009年8月31日 星期一

為自己的Linux做備份順便做個整理

備份前準備個隨身硬碟,至少比系統碟大就行。

然後拿出可以光碟開機的LINUX系統。

利用LINUX光碟開機,開機後記得掛載(mount)系統碟跟隨身硬碟(註:有格式化成ext3檔案系統)
且利用CP命令如下所示:
cp -fpR /mnt/hd1 /mnt/hd2

若要顯示訊息請加v
之後等待漫長等待。

完成後可以順道把系統碟的資料全部刪除。
然後再做一次複製
cp -fpR /mnt/hd2 /mnt/hd1

這是相當於硬碟重整啦。

附帶:這個隨身硬碟帶到哪都可以複製成linux,只要記得帶開機光碟。畢竟有時遇到的主機並不支援usb開機

2009年6月24日 星期三

可以刪除一堆相同文字的script


#!/bin/sh
checkCode="E486:"
for x in `ls | gawk -F. '{print $1}'`
do
echo -n "Run...."
y=$x.html
runCode="`ex $y +/要刪的文字行-c q | gawk '/E486/{ print $1 }'`"
while [ "$checkCode" != "$runCode" ]
do
runCode="`ex $y +g/要刪的文字行/d -c wq | gawk '/E486/{ print $1 }'`"
echo -n "."
done
echo "Fin"
done
rm *.html~



說明:利用ex行編輯器來作修改文字動作
這是把所有在目錄下的檔案開起並將有所要刪的文字該行刪除,
首先找所要的文字:+g/要刪的文字行,前頭的g表是群組
然後就是動作設定:/d <--刪除
第二個動作就是存檔:-c wq
接下來利用串流把錯誤訊息過濾出來,這邊我用gawk
其錯誤字面段為 E486
gawk '/E486/{ print $1 }
然後比對是否發生錯誤,最後就完成檔案的修改

2009年5月9日 星期六

關於kqemu對上2.6.29的核心版本

在編譯kqemu發生缺少include檔
少了在linux kernel中的include/linux/bounds.h

很頭暈的思考,怎麼會少咧。正好手上還有舊版核心2.6.28.2,進去找了一下,居然有耶!

總之先複制到2.6.29下的include/linux先完成編譯再說。
幸好編譯總算成功

看來太新版的核心得自己想些辦法,複制舊核心的檔補缺檔或者改kqemu的源始碼

基本上自行編譯套件多少都會發生,只是第一次遇上核心剛好少了include檔。
這得好好的研究一下

2009年5月8日 星期五

自家的Samba Serve設定

在slackware 中設定檔是放在/etc/samba/smb.conf

[global]
# 定義工作群組
workgroup = MSHOME
# 定義給M$ 文字集的形式,一般使用繁體字都用cp950
dos charset = cp950
# 定義給UNIX的文字集形式,用utf8 字集只有方便啦
unix charset = utf8
# 設定netbios主機的別名
netbios aliases = 嘿嘿
server string = 嘿嘿
interfaces = 192.168.0.0/24
log file = /var/log/samba/samba.%m
max log size = 50
security = user
load printers = no
dns proxy = no
ldap ssl = no
hosts allow = 192.168.0.0/24,127.0.0.1
unix password sync = yes
passwd program = /usr/bin/passwd %u

[home]
read only = no
path = %H

[The DVD-ROM]
browsable = yes
read only = yes
path = /mnt/cdrom
root preexec = /sbin/mount -t iso9660 -o iocharset=utf8 /dev/hdc /mnt/cdrom
root preexec = /sbin/umount /dev/hdc /mnt/cdrom


方便好用的Samba就這麼設好了
把服務起動
先把/etc/rc.d/rc.samba改成執行裝態
然後執行/etc/rc.d/rc.samba start即可

剛換CPU於試用時發生CPU溫度問題

在下的工作機剛換成 P4 2.8G,於編譯套件的時後發生,正確來講是編譯qemu。

剛開始時CPU工作溫度算正常39度多,直到主機很熱情的告知( beep 的叫)時用sensors來查看,
恩到達60度,天啊就算在下仍延用P4 2.4G 的CPU風扇也不會差這麼多吧!?

還是qemu比較耗費CPU運算??因為編核心也才在48度上下,都是開在文字模式下跑的有差嗎?

等過陣子買cpu風扇來換試