[Linux&FreeBSD] 解决 umount時出現的 “Device is busy”

在 Linux 系列 OS 安裝好之後,都會有支援一個 fuser 這一個指令,那有時候在 linux 底下 mount 隨身碟,或者是其他硬體的時候,有時候沒辦法讓您移除,會出現:『Device is busy』,那這個訊息是在保護確保你的資料有儲存到該裝置,有時候如果沒有正確移除,會造成資料遺失,或者是資料不完整,那基本上裝上任何一套 Linux 作業系統,都會有支援了,所以不必在另外安裝,那 FreeBSD 那就要在安裝 /usr/ports/sysutils/fuser 這一個 tool 這樣才會有喔 安裝:『FreeBSD』

cd /usr/ports/sysutils/fuser
make install clean
那使用方法: for FreeBSD
# fuser -m /var/log/maillog
/var/log/maillog:   513wa
# 加上 -u 參數
# fuser -mu /var/log/maillog
/var/log/maillog:   513wa(root)

2008.11.28 update 另外解法: 可以使用 fstat -f /home 來觀看有哪些 process access /home

[Read More]

[Ubuntu & java] java JDBC and MySQL

最近開始要摸 java 了,目前大概先實做 java with JDBC 連接 MySQL,所以在 JavaWorld@TW 這裡找了一些相關的文件,目前我在 Linux 底下實做,還沒找到一套很適合的 IDE Tool 來撰寫程式碼,大家好像都很推 netbeanseclipse,不過我目前還是使用 PSPad 來撰寫 java 程式碼,然後透過 FTP 的方式編輯,這不是重點,重點是要透過 jdbc 來連接 MySQL,目前是在 Ubuntu 7.04 這一版本上面實做,底下是實做方法: 1. 首先先安裝 deb 檔案:透過 apt-get 的方式

#
# 首先尋找 java lib with mysql
apt-get install libmysql-java
2. 安裝好之後尋找 jar 檔案,加入到 class path 裡面
#
# 首先 echo $CLASSPAT
#
# java mysql jar 檔案如下
/usr/share/java/mysql.jar
# 加入 CLASSPATH,修改 /etc/bash.bashrc
export CLASSPATH=$CLASSPATH:/usr/share/java/mysql.jar
# 然後在
source /etc/bash.bashrc
[Read More]

[FreeBSD]安裝 apache2 (worker) + PHP5.2.6 + mod_fastcgi + php5-fcgi

今天把 FreeBSD web 改成了 apache worker 其實之前就已經這麼做了,只是今天加上 mod_fastcgi 我是參考 DarkKiller 大神 apache22 (worker) + mod_fastcgi + php5-fcgi,之前就把 Server 換成了 php5-fcgi,只不過我是搭配 Lighttpd,效能方面還不錯,可以參考這篇:[FreeBSD] Lighttpd + PHP + mod_proxy + FastCGI,那因為用 lighttpd 的外掛模組真的太少,不像 apache 支援這麼多 module,重點是還缺少了 .htaccess 這個功能,所以大大降低大家使用 lighttpd,近期內會把全部 server 換成 apache2 搭配 mod_fastcgi,那底下寫一下作法了:

[Read More]

[Linux筆記]如何製作多重開機 grub

昨天晚上原本要看 paper 的,可是幫同學處理安裝好 Fedora 7 的時候出現底下問題:

Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename grub> 其實我自己也不知道安裝好為啥會出現這個,電腦裡面三顆硬碟,兩顆 SATA 一顆 IDE,然後用光碟開機的時候分別是 sda sdb sdc 三顆,所以安裝好之後通常會把 sda mbr 寫入開機訊息,照道理說這樣就可以開機了,可是目前看來是不行,後來是重新安裝了 mbr 我把她安裝到 IDE 那顆硬碟,底下先轉貼開機 mbr 磁區介紹:

在硬碟最最最開始的磁區叫MBR(Master Boot Record),這是MicroSoft的正式稱呼! 有些人叫它Pre-Boot磁區或Pre-Load磁區. MBR (512 bytes)can be divided into 3 parts: (1) 前面446bytes為開機程式(即Pre-Boot程式),實際只用約200bytes (2) 接著的64bytes就是partition table,每16bytes代表一個logical HD (3) 最後2bytes一定是 55 AA (十六進位) FDISK/MBR 就是把前面446 bytes 換成乾淨的Pre-Boot 程式! 它絕不會動後面的66bytes!!! mbr位於硬碟第0軌,長度為512位元組內含偵測active partition的程式及 長64位元組的partition table(16 bytes * 4 partition records) 每一partition record紀錄partition的起始位置,是否active及os type 從這裡決定要用哪一個partition開機(active partition) 文章轉錄自: http://www.pczone.com.tw/vbb3/archive/t-20579.html

[Read More]
grub  Linux  MBR 

[FreeBSD & Linux Ubuntu] Proftpd 支援 UTF-8 + MYSQL 虛擬帳號 + Quota 限制

今天突然想到要玩一下 Proftpd 的 MYSQL 虛擬帳號認證部份,我是用 FreeBSD 7.0 Release 下去安裝的,剛剛去看了一下官方網站,從 1.3.1rc1 版開始,支援 UTF-8 傳送跟接收了,請看 RELEASE_NOTES-1.3.1rc1,所以1.2.10版本之前的都不支援 UTF-8 不過台灣有人 patch 出來可以支援 Big5,現在都不用了,裡面有一段簡介

UseUTF8 Disables use of UTF8 encoding for file paths. If the –enable-nls configure option is used, then UTF8 encoding support will be enabled by default. 如果你的 server 是用此版本,或者是更高,請在編譯的時候加入 –enable-nls

–enable-nls This configure option enables handling of translated message catalogs for response messages, and also enables handling of UTF8 paths in client commands.

[Read More]

[SSHFS] 好用的 SSH Filesystem fusefs-sshfs in FreeBSD or Linux

今天在 ptt Linux 連線版文章看到有人問說,如何傳一檔案到其他的 linux 機器,有人推了一個軟體,我覺得相當不錯,就拿來玩看看了,這軟體就是 sshfs 這是一套可以直接掛載遠端機器目錄的軟體,走 ssh 協定,剛剛安裝了一下,發覺還蠻好用的,我在 LinuxFreeBSD 上面都安裝好了,來紀錄一下步驟。 首先是安裝步驟 For FreeBSD,直接利用 ports 安裝即可:

#
# ports 安裝
#
# Port:   fusefs-sshfs-1.8
# Path:   /usr/ports/sysutils/fusefs-sshfs
# Info:   Mount remote directories over ssh
# Maint:  amistry@am-productions.biz
# pkg-config-0.22_1
# WWW:    http://sourceforge.net/projects/fuse/

cd /usr/ports/sysutils/fusefs-sshfs; make install clean
[Read More]

[Ubuntu&Fedora] 開機 網路卡 MAC 變動亂跳 [解決方法]

最近在幫 lab 同學處理他安裝好的 ubuntu linux,結果發現一個問題,就是只要重新開機,網路卡的 mac 就會改變,還真是奇怪,後來在 google 找到一篇文章:Ubuntu的MAC一直亂跳嗎? 或者是ubuntu官方論壇:解決方法,才終於解決這個問題。 在主機板 GA-M56S-S3 這個系列板子都會有這種問題,至少我測試過兩張主機板都會這樣,所以看了那些解決方法,可以解決 ubuntu 的問題,但是不能解決 fedora core 的問題,我解決 fedora 的方法,其實很簡單,只要你會利用文字介面設定網路,就可以了 fedora 解法:前提是你不會讓機器開機亂跳動 ethx,所以你要按照上面的解法,解決前半部份 先在 root 底下新增一個檔案 ifcfg-eth0,然後寫入

# Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express
DEVICE=eth0
BOOTPROTO=none
BROADCAST=140.123.107.255
HWADDR=00:15:F2:A7:37:42
IPADDR=140.123.107.*
IPV6_AUTOCONF=yes
NETMASK=255.255.255.0
NETWORK=140.123.107.0
ONBOOT=yes
GATEWAY=140.123.107.249
TYPE=Ethernet
[Read More]

[Ubuntu] 快速修復開機選單,雙作業系統

我想這應該是最基本的問題,在學linux之前,大家都會遇到的問題,比如說要先安裝linux,才安裝windows,或者是相反,當然初學者我是建議先裝 Windows 再來安裝 linux 系列,因為這樣 linux 系統會幫忙製作開機選單,當然如果之後重新安裝 linux 之後,自己就要去修復開機選單了,其實也難啦,先準備一片 ubuntu desktop cd 即可 放入光碟機,開機到桌面之後,先打開 terminal,作法如下

#
# 切換到 root 權限
#
sudo su -

#
# 輸入 grub
#
grub
它就會切到 grub> 底下了
#
# 輸入"find /boot/grub/stage1"。會出現如同"(hd0)"樣的結果,在我的電腦上是"(hd1,4)"
#
find /boot/grub/stage1
#
#輸入"root (hd1,4)"。
#
root (hd1,4)
#
#輸入"setup (hd1,4)",這是直接輸入到 Linux 的分割區,如果要輸入到 MBR 的話,那就是 setup (hd1)
#
setup (hd1)
然後重開機取出光碟片,重新開機就好了

[Proftpd] 如何讓 /bin/false 跟 /sbin/nologin 連上 Proftpd

昨天遇到這個問題,不過其實之前就有解決過這問題,只是忘記怎麼解決,之前是利用 MySQL 的方式建立帳號,因為相當方便,請參考這篇 [Linux] Ubuntu 6.06 Proftpd + Mysql 安裝方式,支援 /bin/false 跟 /sbin/nologin 也相當簡單 只要在 proftpd.conf 加上

RequireValidShell on
官網寫的

config_ref_RequireValidShell 然後在編輯 /etc/shells 加上

/sbin/nologin

[ubuntu] Mplayer 中文字幕設定

先安裝 w32codecs

apt-get install w32codecs Ubuntu 的 Mplayer 中文字幕設定,這是我一直搞不定的東西,後來上網找了一下文章發現用以下解法就ok了 用管理者權限編輯以下檔案

/etc/mplayer/mplayer.conf 加入以下內容

subcp=cp950 font=/usr/share/fonts/truetype/arphic/ukai.ttf subfont-text-scale=3 結束。字型可以換成自己想要的字型,打開就可以看中文字幕阿。 註:影片檔跟字幕檔要同檔名 不過還有一點,就是你原本就有對mplayer設定一些東西,麻煩先刪除

rm -rf ~/.mplayer/ 這樣才不會影響 Mplayer 設定