星期日, 12月 19, 2010

module blacklist /etc/modprobe.d/50-blacklist.conf 相關小記

隨著 floppy 的沒落, 現在一般的家用 PC 已經慢慢預設沒有內建 floppy

但是如果沒有在 BIOS 設定內 disable floppy

就會在開機的時候出現相關 log

kernel: [   31.784003] end_request: I/O error, dev fd0, sector 0

解決方式

1.  至 BIOS 設定 disable floppy

或是

2.  將 floppy 列入模組掛載的 blacklist ( 黑名單)

OS: openSUSE 11.3

#vi   /etc/modprobe.d/50-blacklist.conf

加入


blacklist   floppy



^___^

星期五, 12月 10, 2010

20101210 Java 學習小記

Notes
  • - System.out.println
    • 顯示文字並換行
  • - System.out.print
    • 顯示文字但是不換行,緊接下去顯示
  • - main() 方法
    • Java 以 main() 作為程式的主體
    • 在大括號{ } 所涵蓋的所有程式, 稱為程式區塊 (block), 又稱為main()方法 (main method)
    • 在Java程式中, 一個小的處理"工作"的單位,稱為敘述(statement), 以 ; 分號為結束. 會根據順序執行
  • - 縮排(indent)
    • 可以使用空白鍵或是Tab按鍵
    • 有助於程式的可讀性
  • - 註解
    • // 以後視為註解
      /* 到
      也是視為註解
      */
  • - 類別(class)
    • Java 程式當中, 最少必須有一個類別
    • 撰寫Java程式都會在程式的一開始加上class,作為程式區塊的開始
  • 字面值(literal)
    • 泛指字元,字串,數字等各種資料型態
    • 可以分為
      • 文字literal
        • 字元literal(character literal)
          • 由單一字母所構成
          • 使用單引號' ' 表示
        • 字串literal
          • 由2個或是2個以上字元連接所構成
          • 使用雙引號" " 表示
      • 數值literal
        • 整數literal(整數常數)
          • 除了使用10進制以外,也可以使用 8進制(在數字最前面加上0,或是16進制(在數字最前面加上0x))
        • 浮點literal(浮點數常數)
  • 單字(token)
    • Java語言由一個一個單字元件所構成
    • 具有特定意義的文字
    • 可以細分為
      • literal (字面值)
      • 關鍵字(keyword)
      • 識別字(identifier)
      • 運算子(operator)
      • 間隔字(例如逗點)
  • - 跳脫字元
    • 單一字元無法表示的特殊文字, 前面加上 \ 符號
    • 用來顯示特殊字元, 或是進行一些動作
    • \b backspace
    • \t  tab
    • \n  換行
    • \f  換頁
    • \r  歸位(return)
    • \'  單引號
    • \"  雙引號
    • \\  倒斜線
    • \uhhhh  以16進位hhhh所表示的文字碼(Unicode)
  • 字元碼(character code)
    • Java 採用Unicode
    • 如果是 Big5, 在Linux可以使用 iconv來轉碼. 例如 iconv -c -f Big5 -t utf-8 Sample6.java > Sample6utf8.java

星期三, 12月 08, 2010

動畫桌布xwinwrap with openSUSE 11.3

今天看到 zenix 在展示動畫桌布
覺得很有趣, 感覺上在推廣上面很有幫助, 就馬上跟他請教製作方式

zenix 也馬上在聚會結束後, 使用mail 教授大家方式

需求 compiz, xwinwrap, mplayer, zenity

安裝 xwinwrap  使用 OneClick Install

# OneClickInstallUI http://software.opensuse.org/ymp/home:malcolmlewis:Miscellanous/openSUSE_11.3/xwinwrap.ymp

檢查 zenity 是否安裝
# zypper search zenity
Loading repository data...
Reading installed packages...

S | Name                | Summary                           | Type  
--+---------------------+-----------------------------------+--------
  | octave-forge-zenity | ZEnity                            | package
i | zenity              | GNOME Command Line Dialog Utility | package
  | zenity-lang         | Languages for package zenity      | package

以一般使用者建立 script
>vi ~/.gnome2/nautilus-scripts/動畫桌布


#!/bin/bash
function XWINWRAP
{
   FILE_NAME=$1
   if [ -z $FILE_NAME ];
   then
       exit;
   else
       killall xwinwrap
       xwinwrap -ni -o 0.3 -fs -s -st -sp -b -nf -- mplayer -loop 0 -wid WID  -quiet "${FILE}" &
       # -nosound加在mplayer後可以關掉聲音
       # -- 後面為執行的指令, smplayer 不適用, 所以使用 mplayer來播放
       # -o 0.4是透明度,可以自己調 數字越小越透明
   fi
}
ZENITY=$(which zenity)
select_file="請選取影片檔"
error_nofiles="未選取檔案"

FILE=`$ZENITY --file-selection --title="$select_file" --file-filter="videos | *.wmv *.avi *.mkv *.flv *.mp4 *.rmvb"`
#只要是mplayer可以播的,都可以加進去這後面(我只加常用格式)

case $? in
   0)
       XWINWRAP $FILE
       ;;
   1)
       echo "$error_nofiles"
       killall xwinwrap
       ;;
   -1)
       echo "$error_nofiles"
       ;;
esac

給予適當的權限
> chmod a+x ~/.gnome2/nautilus-scripts/動畫桌布




之後只要按滑鼠右鍵
命令稿 --> 動畫桌布 ,選取影片檔案
就可以有動畫桌布

要停止影片
就再按滑鼠右鍵
命令稿 --> 動畫桌布 ,不選取影片檔案
點選取消

動畫桌布就會停止

感謝 zenix 大大



^^ enjoy it !!

星期二, 12月 07, 2010

Hadoop 閱讀小記 20101207

Hadoop
  • 起源
    • Google File System
    • Map-Reduce
  • Log
    • 2010/12/7
  • 實例
    • Rackspace 郵件部門用來分析哪些Data Center 需要增加 Mail Server
  • 相關資源
    • http://www.hadoopbook.com/
  • 主要框架
    • 文件系統 HDFS
    • 計算架構 MapReduce
      • 適合處理需要分析整個數據集的問題
      • 適合數據被一次寫入和多次讀取的應用
      • 對於非結構化或半結構化數據非常有效
        • 因為被設計為在處理時間內解釋數據
      • 數據本地化功能
        • 嘗試在計算節點儲存數據, 因此數據處理速度會因為他是本地數據而比較快
      • 以 鍵/值對函數的角度來考慮, 同時對數據流是隱含的
      • 檢測失敗的map 或者是 reduce任務, 在健康的機器重新安排任務
        • 可以作到這一點是因為無共享的架構.意味著每個任務彼此並不依賴
    • 結構化數據處理 HBase
  • Hint
    • 古時候, 人們用牛來拉重物, 當一頭牛拉不動一根圓木的時候, 他們不曾想過培育個更大的牛. 同樣, 我們也不需要嘗試更大的計算機, 而是應該開發更多的計算系統  --格蕾斯.霍柏
  • Notes
    • Chapter 1
      • 數據傳輸速度 100M/s, 但是 1TB 的儲存媒體已經是很普遍了, 光讀取出來就要花 2.5 小時
        • 作法:從多個磁碟讀取數據,這樣存取的時間會大大的降低
        • 需要解決的問題1: 硬體故障, 應對方式:複製資料 Replication
        • 需要解決的問題2: 合併資料如何保持正確性. Hadoop 使用Map Reduce 將資料組成為成對 鍵/值 的數據集
      • High Performance computing HPC
        • 使用MPI(Message Passing Interface)
        • 廣義上來說, 就是將作業分配給一個機器叢集, 然後存取Shared Storage. 適用於主計算密集型的作業
        • 但是如果節點需要處理大量的數據量,這個時候就會成為一個問題,因為網路的速度成為瓶頸,所以計算節點閒置下來. 這個也是MapReduce 開始發光的起點

星期一, 12月 06, 2010

PPStream on openSUSE 11.3

使用 One Click Install 方式

http://software.opensuse.org/search?q=PPStream&baseproject=openSUSE:11.3&lang=zh_TW

Notes:
在 32 位元版本, 需要使用 root 執行 ( 疑似權限問題 )
在討論區內
有提到

#mkdir  -p  /opt/pps/lib
#cp  /usr/lib/libems*   /opt/pps/lib

可以修正

參考文件
http://www.linuxsir.org/bbs/thread373639.html

另外一種方式是藉由 alien 套件將 .deb 套件轉為 rpm


# zypper search alien
Loading repository data...
Reading installed packages...

S | Name            | Summary                           | Type     
--+-----------------+-----------------------------------+-----------
  | alien           | A Perl Script to Convert Packages | package  
  | alien           | A Perl Script to Convert Packages | srcpackage
  | ladspa-alienwah | Alienwah LADSPA plugin            | package  
  | ladspa-alienwah | Alienwah LADSPA plugin            | srcpackage


# zypper install alien
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW packages are going to be installed:
  alien deb html2text

3 new packages to install.
Overall download size: 1.2 MiB. After the operation, additional 4.0 MiB will be
used.
Continue? [y/n/?] (y): y

下載 PPStream Deb 套件

# wget http://download.ppstream.com/ppstream_1.0.0-1_i386.deb

# alien  --to-rpm   ppstream_1.0.0-1_i386.deb

# ls
PPStream-1.0.0-2.i386.rpm  ppstream_1.0.0-1_i386.deb

# rpm -ivh PPStream-1.0.0-2.i386.rpm

# cp /opt/pps/lib/libems*  /usr/lib

此時就可以使用 root 來觀看

一般使用者要動到 sudoers 所以我就沒有修改他

參考文件
http://www.linuxsir.org/bbs/thread373554.html


來試試看 64 位元有沒有這個問題

^^

使用 k3b 燒錄音樂CD 小記 - k3b-codecs

今天在 Linux 下啟動 K3b 的時候
出現一個錯誤訊息

*******************************************************************
找不到 MP3 音效解碼器外掛程式。
K3b 無法載入或找不到 MP3 解碼器外掛程式。這意味著您將無法由 MP3 檔案建立音效 CD。由於法律上的考量,許多 Linux 發行版沒有納入 MP3 的支援。
解決方法: 要啟用 MP3 支援,請安裝 MAD MP3 解碼函式庫與 K3b MAD MP3 解碼器外掛程式 (後者可能已經安裝好了,但是由於 libmad 尚未安裝所以無法運作)。某些發行版可以透過線上更新工具來安裝 MP3 支援。

*******************************************************************

是的, 這樣K3b 是沒有辦法燒錄 音樂CD的

因為沒有 MP3 的支援, 所以就啟用 YaST 來安裝相關套件
首先安裝 libmad 套件
但是還是沒有辦法啟用 MP3 支援
所以還要安裝 k3b-codecs 套件 (這邊我是使用 PacMan 套件庫)

果然安裝之後就可以支援 MP3

先記下來

^0^

星期日, 11月 28, 2010

Migrate Samba Server from Fedora 7 to openSUSE Notes

今年 4 月底轉換 Server 的小記

預計工作項目

  • 系統更新
  • /etc/passwd 修改
  • /etc/shadow 修改
  • /etc/group 修改
  • /etc/login.defs ( 修改character class)
  • rsync /home and /image/benesse
  • /etc/samba/*
  • Firewall 調整
  • 資料編碼轉換



已經進行

  • openSUSE 11.2 安裝
  • openSUSE 11.2 升級( 套件庫改為 http://ftp.waren.net)
  • 安裝convmv 套件以利編碼轉換
  • 修改 /etc/passwd /etc/shadow /etc/group
  • 利用 iconv  -c -f big5 -t utf-8 smb.conf  > smb.conf.utf8 來將內容從Big5 轉為 utf-8
  • 使用 yast2 samba-server 啟動 samba
  • 使用  rsync -a /media/裝置/home/*   /home
  • 使用  rsync -a /media/裝置/image   /
  • samba 要注意目前應該是沒有 smbpasswd 這個option 而是使用 passdb backend = smbpasswd: /etc/samba/smbpasswd 的方式, 若是兩個都並存會有衝突( 應該說是舊的smbpasswd已經沒有使用)
  • 修改 /etc/login.defs 內的 CHARACTER CLASS 讓 useradd 可以使用數字開頭
  • convmv -f big5 -t utf-8 -r --notest  *  轉換檔名 ( 竟然會有 書籤的 url 會超過 255 字元 with filename)

星期四, 11月 25, 2010

open webmail 2.53 with SLES 11

首先要讓 SLES 支援 one click install 必須安裝 yast2-metapackage-handler 這個套件

yast2-metapackage-handler | YaST2 - Easy Installation of Add--> | 套件
設定啟動 apache2 並預設開機啟動

#rcapache2  status
#rcapache2  start
#rcapache2  status

#chkconfig    apache2  --list
#chkconfig    apache2  on
#chkconfig    apache2  --list


安裝之前搜尋一下相關套件

# zypper  search  perl-MIME
正在載入儲存庫資料...
正在讀取已安裝的套件...

S | 名稱            | 摘要                                          | 類型      
--+-----------------+-----------------------------------------------+-----------
 | perl-MIME-tools | modules for parsing (and creating!) MIME en-> | 套件      
 | perl-MIME-tools | modules for parsing (and creating!) MIME en-> | srcpackage


# zypper   install   perl-MIME-tools

正在載入儲存庫資料...
正在讀取已安裝的套件...
正在解析套件相依性...

將會安裝下列新的套件:
 perl-IO-stringy perl-MailTools perl-MIME-tools

全部下載大小:396.0 K。 完成操作後,將使用額外的 837.0 K。
要繼續嗎? [是/否]:  y

使用 one Click Install 安裝 perl-Text-Iconv
# OneClickInstallUI   http://software.opensuse.org/ymp/home:computersalat:OpenXPKI/SLE_11/perl-Text-Iconv.ymp


下載 open webmail 套件 可以到 ( http://www.openwebmail.org/openwebmail/download/release/ 尋找最新的版本)

#wget  http://www.openwebmail.org/openwebmail/download/release/2.53/openwebmail-2.53.tar.gz
解開前先觀察 /srv/www 目錄
# ls   /srv/www/
cgi-bin  htdocs

解壓縮套件, 會解出 cgi-bin and data 目錄   
  • -C  指定目錄  (  放在 /srv/www 可以直接覆蓋 cgi-bin )
# tar  zxvf  openwebmail-2.53.tar.gz   -C   /srv/www/


# ls /srv/www/
cgi-bin  data  htdocs

移動 openwebmail 目錄到網站根目錄下
# mv   /srv/www/data/openwebmail/    /srv/www/htdocs/


修改 openwebmail.conf  對應到 相對路徑

# vi   /srv/www/cgi-bin/openwebmail/etc/openwebmail.conf
domainnames             auto
auth_module             auth_unix.pl
mailspooldir            /var/mail
ow_cgidir               /usr/local/www/cgi-bin/openwebmail
ow_cgiurl               /cgi-bin/openwebmail
ow_htmldir              /usr/local/www/data/openwebmail
ow_htmlurl              /openwebmail
logfile                 /var/log/openwebmail.log

改為
domainnames             auto
auth_module             auth_unix.pl
mailspooldir            /var/mail
ow_cgidir               /srv/www/cgi-bin/openwebmail
ow_cgiurl               /cgi-bin/openwebmail
ow_htmldir              /srv/www/htdocs/openwebmail
ow_htmlurl              /openwebmail
logfile                 /var/log/openwebmail.log


修改 dbm.conf 相關設定

# vi   /srv/www/cgi-bin/openwebmail/etc/defaults/dbm.conf
dbm_ext                 .db
dbmopen_ext             none
dbmopen_haslock         no

改為

dbm_ext                 .pag
dbmopen_ext             none
dbmopen_haslock         no

複製相關檔案
# cp  /srv/www/cgi-bin/openwebmail/etc/defaults/dbm.conf   /srv/www/cgi-bin/openwebmail/etc/


修改 auth_unix.conf 相關設定
# vi  /srv/www/cgi-bin/openwebmail/etc/defaults/auth_unix.conf
passwdfile_plaintext    /etc/passwd
passwdfile_encrypted    /etc/master.passwd
passwdmkdb              /usr/sbin/pwd_mkdb
check_expire            no
check_nologin           no
check_shell             no
check_cobaltuser        no
change_smbpasswd        no

改為

passwdfile_plaintext    /etc/passwd
passwdfile_encrypted    /etc/shadow
passwdmkdb              none
check_expire            no
check_nologin           no
check_shell             no
check_cobaltuser        no
change_smbpasswd        no

複製相關檔案
# cp   /srv/www/cgi-bin/openwebmail/etc/defaults/auth_unix.conf    /srv/www/cgi-bin/openwebmail/etc/

修改相關權限

# chmod  4555   /usr/bin/suidperl 
# chmod  4555   /srv/www/cgi-bin/openwebmail/openwebmail*.pl
# chown  root.mail   /srv/www/cgi-bin/openwebmail/openwebmail*.pl

建立 openwebmail_path.conf
# vi   /etc/openwebmail_path.conf

 /srv/www/cgi-bin/openwebmail

進行初始化
# /srv/www/cgi-bin/openwebmail/openwebmail-tool.pl   --init



連線測試

http://網站名稱/cgi-bin/openwebmail/openwebmail.pl



發現 openwebmail 的domain name 沒有抓到正確的 domain name

# vi /srv/www/cgi-bin/openwebmail/etc/openwebmail.conf

 #domainnames            auto
改成
 domainnames             mail.benesse.com.tw


透過 web 傳送信件 產生錯誤 訊息如下

Software error:

Wide character in subroutine entry at /srv/www/cgi-bin/openwebmail/modules/tool.pl line 160.

For help, please send mail to the webmaster ([no address given]), giving this error message and the time and date of the error.


解決方式

檢查版本

# perl -e 'use CGI; print "$CGI::VERSION\n";'
3.29

安裝 locate 套件

# zypper install findutils-locate

# find / -name CGI.pm
/usr/lib/perl5/5.10.0/CGI.pm

# vi /usr/lib/perl5/5.10.0/CGI.pm

#    my $utf8    = $charset eq 'utf-8';
改成
   my $utf8    = 0;

修正成功


參考資料



星期一, 11月 22, 2010

Linux 下 Flickr 的上傳工具

在 Linux 內的 flickr 上傳軟體, 大家都用那一個呢?

目前 有看到

1. GNOME postr

http://projects.gnome.org/postr/

但是我的 openSUSE 11.3 x86_64 裝不起來
因為 libgnome-desktop-2 無法被滿足 ---- 他要 2-11 的版本

---------------------------------------------------------------------------------------------

我現在是使用 firefox 的擴充套件

2. Universal Uploader (fireuploader) for Firefox

https://addons.mozilla.org/zh-TW/firefox/addon/4724/


---------------------------------------------------------------------------------------------


我也有試過

3.Nautilus Flickr Uploader  但是也是失敗

http://www.usebox.net/jjm/nautilus-flickr-uploader/


---------------------------------------------------------------------------------------------

4. jUploadr   在 我的 openSUSE 11.3 x86_64 執行有點問題

http://juploadr.org/

---------------------------------------------------------------------------------------------

5. flickr upload for gnome's nautilus  ( 這個我還沒有試過 )

http://nozell.com/blog/2004/09/04/flickr-upload-for-gnomes-nautilus/

screenkey ~~ 教學 Demo 的好工具

在廣播教學的時候, 之前用的都是 gromit 螢幕畫筆來Demo
今天 moskey 在上 python 3 的時候有使用 screenkey 這個工具
看到覺得不錯就把他記下來了

相關網站

https://launchpad.net/screenkey

software.opensuse.org 搜尋的結果
http://software.opensuse.org/search?q=screenkey&baseproject=openSUSE:11.3&lang=zh_TW

可以利用 one click install 來安裝

screenkey 執行的時候需要 root 權限

執行畫面如下



enjoy it ~

星期六, 11月 20, 2010

qrencode 建立 QR Code 的方便套件

現在手機使用 QR Code 越來越方便
有些資訊也不想直接放在網路上面, 或是信件當中

所以這個時候就可以使用 qrencode 這個套件, 將文字轉成 QR Code 的 PNG檔

官方網站
http://fukuchi.org/works/qrencode/manual/index.html

如果以往,  在 openSUSE 可以藉由 one click install 來安裝
以 openSUSE 11.3 為例

可以搜尋 qrencode
http://software.opensuse.org/search?q=qrencode&baseproject=openSUSE:11.3&lang=zh_TW

安裝完成之後

可以使用 qrencode 將檔案轉乘 PNG檔案

首先觀察檔案的內容

> cat   text.txt
http://sakananote2.blogspot.com
Max 的學習筆記

使用 qrencode 指令轉成 PNG 檔案
> cat   text.txt   |  qrencode   -s   10   -o   output.png
  • -s  大小
  • -o 輸出檔案名稱


輸出檔案如下


enjoy it ~~