發表文章

目前顯示的是 2010的文章

小技巧: 設定MSN的自動掃毒 使用小紅傘

到官方網站 http://www.avira.com/en/support-download 抓這個scancl http://www.avira.com/en/support-download-avira-antivir-command-line-scanner-scancl 然後把壓縮包的東西解到avira的安裝目錄 接在MSN的"選項"=>"檔案傳輸" 勾選"使用下列軟體進行病毒掃描" 按"瀏覽"選取scancl的執行檔,並在最後加上%file%,範例如下 "C:\Program Files (x86)\Avira\AntiVir Desktop\scancl.exe" %file% 即可

CentOS5 安裝 bugzilla 筆記(2): LDAP 帳號認證設定

1  以管理者帳號登入,並進入"Administion->Parameters" 2  選擇「User Authentication」,修改下列參數: user_verify_class:LDAP,DB 此參數設定 Bugzilla 先以 LDAP 進行身份驗證,若驗證失敗則向 Bugzilla DB 進行身份驗證。 3 選擇「LDAP」,修改下列參數: LDAPserver:ldap://IPA.IPB.IPC.IPD/ <輸入 AD 主機的 IP> LDAPbinddn:cn=buguser,ou=Users,dc=company,dc=com:pass123 <輸入可搜尋 AD 資訊的使用者帳號密碼, 如果是匿名登入請保持這個欄位空白> LDAPBaseDN:ou=Users,dc=company,dc=com <輸入欲開始搜尋的根路徑, 依據LDAP server的資訊填入> 4 緊急狀況自救術 如果設定LDAP後發現資訊填錯導致完全無法登入Bugzilla 自然也無法進入後台設定 請修改這個檔案 "/var/lib/bugzilla/data/params" 搜尋 "user_verify_class"  然後把數值改成 'DB', 存檔離開後, 就可以再次登入Bugzilla了  延伸閱讀: CentOS5 安裝 bugzilla 筆記(1) http://riverhippo.blogspot.com/2010/09/centos5-bugzilla.html 架設 Bugzilla 與 AD 帳號整合(適用 Fedora Core 4 及 5 ) http://blog.yam.com/gavint/article/2676451 In Bugzilla, how can I change the password used for LDAP integration if I can’t login? http://rhyous.com/2010/04/19/in-bugzilla-how-can-i-change-the-password-used-for-ldap-integration-if-i-can

CentOS5 安裝 redmine 1.0.2 筆記

1 增加RubyWorks 的Repo, 把以下內容存成  /etc/yum.repos.d/rubyworks.repo # Link file for RubyWorks yum repository # Place this file in /etc/yum.repos.d [rubyworks] name=RubyWorks baseurl=http://rubyworks.rubyforge.org/redhat/$releasever/RPMS/$basearch enabled=1 gpgcheck=1 gpgkey=http://rubyworks.rubyforge.org/RubyWorks.GPG.key priority=1 2 安裝 Ruby on Rails yum install ruby ruby-devel ruby-libs ruby-irb ruby-rdoc ruby-mysql 3 下載 Ruby Gems 並安裝 wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz tar xvfz rubygems-1.3.7.tgz cd rubygems-1.3.7 ruby setup.rb 4 安裝 Rails gem update -–system gem install rails -v=2.3.5 5 下載 RedMine 主程式 wget http://rubyforge.org/frs/download.php/72627/redmine-1.0.2.tar.gz tar xvzf redmine-1.0.2.tar.gz 6 建立redmine使用者 useradd redmine passwd redmine 7 建立redmine資料庫 mysql -u root -p create database redmine character set utf8; create user 'redmine'@'localhost' identified by 'my_password'; grant all privileg

CentOS5 安裝 bugzilla 筆記

1 安裝相關必須套件(可能有些是多餘的, 因為後面會自動處理?!): yum install gd gd-devel httpd mysqld gcc g++ make yum  install  perl-XML-Twig ImageMagick-perl mod_perl perl-HTML-Parser perl-Email-MIME-Attachment-Stripper perl-Chart perl-PatchReader perl-Net-LDAP yum install httpd mysql-server 2 安裝bugzilla套件 yum install bugzilla 3 建立 資料庫使用者 bugs useradd bugs passwd bugs 4 建立資料庫 4.1 建立server資料表 CREATE TABLE `servers` ( `Server_name` char(64) NOT NULL, `Host` char(64) NOT NULL, `Db` char(64) NOT NULL, `Username` char(64) NOT NULL, `Password` char(64) NOT NULL, `Port` int(4) DEFAULT NULL, `Socket` char(64) DEFAULT NULL, `Wrapper` char(64) NOT NULL, `Owner` char(64) NOT NULL, PRIMARY KEY (`Server_name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table'; 4.2 建立bugs 資料庫 # mysql -u root –p Enter password: mysql> create database bugs; mysql> use bugs; mysql>GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE, LOCK TABLES,DROP,REFERENCES ON bugs.* TO

Apache 虛擬目錄 小筆記

http://redhat.ecenter.idv.tw/bbs/showthread.php?postid=37885 ←設定網站的根目錄   Options Indexes FollowSymLinks ←設定此目錄的存取權限,允許server建檔案列表,並可以經由 symbolic link連結到其它目錄   AllowOverride None ←不接受.htaccess中的設定   order allow,deny   allow from all ←允許所有使用者存取   # allow from flag.com.tw ←只允許來自於flag.com.tw domain存取,但要先"deny from all"才能拒絕其它地方連進來   # deny from 203.74.205 ←拒絕來自於203.74.205    

GIT 小筆記

需要的套件: git-core: 最重要的核心套件 gitweb: 小巧的網頁版GIT瀏覽套件, 效果像是這樣: http://git.kernel.org/ gitk: 圖形版的GIT瀏覽套件 請按照套件安裝以上套件 GITWEB 設定方法: 1) 把Sever上的HTTP服務跑起來, 如apache或lighthttpd 2) 修改 /etc/gitweb.conf, 指定  $projectroot 到 自己的 git repository root 3) 如需權限管理, 可以修改 /etc/httpd/conf.d/ git.conf(CentOS), 加入WebDAV 相關敘述 4) 重新啟動HTTP service 以上是個人簡單筆記版,完整版請參考延伸閱讀: http://plog.longwin.com.tw/my_note-unix/2009/05/12/debian-linux-build-gitweb-2009 GIT的概念 GIT是一種原始碼管理軟體(SCM),跟其他SCM比較起來有相當多的優點(詳細比較在此 : http://zh-tw.whygitisbetterthanx.com/ ) 延伸閱讀: http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt ttp://josephjiang.com/entry.php?id=308

Fix X11 output problem

Problem: X only shows a empty desktop Cause: Main screen goes somewhere else Fix: 1) Add/Modify "/etc/X11/xorg.conf" to disable specific output https://wiki.ubuntu.com/X/Quirks Section "Device" Identifier "Configured Video Device" Option "monitor-LVDS" "LVDS" EndSection Section "Monitor" Identifier "LVDS" Option "Ignore" "True" EndSection Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" EndSection 2) Disable KMS in kernel boot command line by appending "nomodeset"

Regular Expression for C/C++

http://changyy.pixnet.net/blog/post/22760327 http://mij.oltrelinux.com/devel/unixprg/

Fix Ubuntu 10.04 KMS for Intel-gpu-based units && Simple Plymouth Howto

Intro: Ubuntu to introduces  Plymouth as boot splash solution to replace Usplash instead for more rich and complex boot visual effects. Also new linux kernel introduces KMS (Kernel Mode Switchig) to replace old UMS (User Mode Switching) to reduce flicker during whole boot process. However, some users may have bad experiences to Ubuntu new boot splash system.  Here is a solution for  Intel-gpu-based units. How to Confirm this issue: Run "dmesg | grep drm" and you should be able to see three message corresponds to three modules loading. If they are loaded in 3 sec, you are good and KMS is ready. You can skip the rest part. Otherwise, for example, if they are loaded after 10 sec, it means KMS is failed to start before Plymouth is up so you can see nothing while booting. Please go proceeding to the next step. Fix KMS in initramfs Refer Source:  https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/377875/comments/25 For Intel GPUs, you need to add three modules to ma

文摘:為何台灣不需要高速網路

那小弟先來剖析一下可能消毒的策略: 1.頻寬無用論:要那麼大的頻寬幹什麼? 2.網路使用無理論:這些一定都是在非法使用!上網只要56K就夠了。 3.雲端學理論:你知道什麼是雲端嗎?雲端不等於頻寬!當掉! 4.市場競爭論:唉....都怪其他廠商不爭氣,讓龍頭可以這麼囂張~ 5.政治黑暗論:我們龍頭也是受害者,都是政治惹的禍。 6.公司實務論:我們公司也用不到這些,你們都是在做什麼大事業? 7.移民論:你乾脆去當韓國人好了! 8.面向光明論:台灣的網路比很多國家來的好,要知足...想當初我在索馬利亞.... 引用自: http://www.mobile01.com/topicdetail.php?f=507&t=1693343&p=1#21508349

Suse 筆記

 套件管理Zypper http://hi.baidu.com/jrckkyy/blog/item/a91d2b2575d2bc6b35a80fb7.html Virtualbox Guest Add-On http://forums.opensuse.org/english/get-help-here/applications/434452-virtualbox-guest-additions-how-set-shared-folder-opensuse-11-2-guest.html

Linux 無線網路 WEP/WPA 手動設定 全集

Linux的Command Line一向令人敬畏,連朝夕跟他奮戰的軟體工程師如我也一樣。 問我有什麼更可怕的,我會跟你說在Command Line手動設定無線網路更可怕。 以前在這方面有很糟糕的經驗,所以一朝被蛇咬,如果有桌面下的設定程式可用,就不要自己來。 偏偏,躲的了一時,躲不了一世,工作上的需要也是責無旁貸,硬著頭皮還是要做下去。 經過七七四十九天的奮戰之後,總算搞懂WEP/WPA等得設定方法, 謝謝網路上的諸位大德無私分享,小弟在此也把整理出來的心得跟大家分享。 個人用的無線網路的加密大概可分以下幾種: OPEN/NONE 完全無加密,人人皆可用 OPEN/WEP 使用WEP靜態加密,防君子不防小人 SHARE/WEP 使用WEP靜態加密,防君子不防小人 WPA/TKIP, AES, or TKIP/AES 使用WPA加密,算是比較安全的方式 WPA2/TKIP, AES, or TKIP/AES WPA的升級版 WPAWPA2/TKIP, AES, or TKIP/AES 混合WPA/WPA2的相容模式 以下按設定的分為三種:無加密,WEP靜態加密跟WPA動態加密 無加密(OPEN/NONE) ifconfig ra0 up iwpriv ra0 set NetworkType=Infra iwpriv ra0 set AuthMode=OPEN iwpriv ra0 set EncrypType=NONE iwpriv ra0 set SSID="dht" dhclient ra0 WEP靜態加密 OPEN/WEP ifconfig ra0 up iwconfig ra0 essid "dht" iwconfig ra0 key open iwconfig ra0 key aabbccddee *注1 iwconfig ra0 mode managed SHARE/WEP killall wpa_supplicant ifconfig ra0 up iwconfig ra0 essid "dht" iwconfig ra0 key restricted iwconfig ra0 key aabbccddee

ALSA 相關筆記

基礎常識: http://blog.csdn.net/linweig/archive/2010/04/07/5459069.aspx 官網: http://www.alsa-project.org/main/index.php/Main_Page Download mirror: http://alsa.cybermirror.org/ 官方檢測程式: http://www.alsa-project.org/alsa-info.sh 音效測試: http://alsa.opensrc.org/index.php/Speaker-test 如何取消Pulseaudio: http://playubuntu.blogspot.com/2009/03/blog-post.html Ubuntu 自動升級腳本: http://ubuntuforums.org/showthread.php?p=6589810#post6589810

indent 程式設計師的好幫手

這個套件名如其人,就是幫你自動重新整理程式碼的。 Ubuntu下安裝很簡單,就是sudo apt-get install indent 然後,indent xxx.c就會自動完成排版 如果對於預設格式不滿意,也有也有很多參數可以設定調整,包君滿意

[筆記]Intel G45 Audio driver update for Ubuntu 10.04

原文出處: http://ubuntuforums.org/showthread.php?p=6589810#post6589810 參考此文,從頭跑到尾就可以把ALSA升級到1.0.23,讓g45的音效順利開啟,不過alsa的ftp在我下載時剛好不能抓,所以我做了另外一個patch,把網站重倒到"http://alsa.cybermirror.org"去 載點: http://sites.google.com/site/hipporepos/pan-duo-la/alsa_site.patch?attredirects=0&d=1

GTK/Glade 入門資源

GTK速查手冊: http://library.gnome.org/devel/gtk/unstable/index.html 官方教學文件(英文): http://library.gnome.org/devel/gtk-tutorial/stable/ 官方教學文件熱血鄉民中文版: http://job.achi.idv.tw/2008/02/18/gtk-20-tutorial/ GTK學習筆記: http://caterpillar.onlyfun.net/Gossip/GTKGossip/GTKGossip.html Glade官方教學: http://live.gnome.org/Glade/Tutorials

Linux Mount USB 最低要求

/etc/initramfs-tools/modules e1000e usbhid usb-storage fat vfat nls_cp437 nls_iso8859-1 參考資料: h ttp://www.linuxquestions.org/questions/linux-server-73/how-do-i-mount-a-usb-drive-at-boot-time-630115/

Flash video parser 一般守則

前言碎碎念: 經過四個小時的努力跟掙扎,冒著爆肝的危險,總算找出解析隱藏在Flash背後影片的方法。 學會此套方法之後,不管是YouTube、土豆或者優酷等線上視頻網站都可以迎刃而解。 所需工具: 瀏覽器:可以輕易獲得原始碼尤佳 HTTP 除錯工具:例如 Charles ( http://www.charlesproxy.com/ ),如果你要直接用WireShark也可以 :P Flash Decompiler: 例如 Sothink SWF Decompiler ( http://www.sothink.com/product/flashdecompiler/index.htm ) 一個不怕爆肝,BUG不解心不死的決心 步驟: 1) 開啟目標網頁 2) 觀看原始碼 3) 找出關鍵的SWF 3a) 如果不能直接找出來,或許要從JavaScript下手找出來 4) 使用HTTP 除錯工具獲得關鍵的Request跟Response 5) 使用Flash Decompiler,反組譯關鍵SWF 6) 找出關鍵程式碼,對比步驟4的Request跟Response,瞭解全部參數的意義 7) 舉一反三 8) Happy Hacking 延伸閱讀: sina tudou youku 在线视频下载地址获取原理 懶人用網頁: http://clipnabber.com/

HuaWei E660 on Linux 小筆記 (Supported since 2.6.18)

討論串: http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg49260.html LXR: http://lxr.linux.no/linux+v2.6.18/drivers/usb/serial/option.c 設定檢驗方法: DialupModemHowtoHuaweiE220

XBMC 家庭多媒體中心 之 藍光播放

接續上篇" XBMC 家庭多媒體中心 打造紀錄 ",這次要講的是如何播放藍光光碟。 在上次的延伸閱讀:" 總算可以讓 Ubuntu 9.10 XBMC 播放藍光(Blu-ray)碟片了 "文中有提到一點這部份,不過makemkv改版到1.5.6之後,懶人Script xci.sh變得有問題,在 原作者 修正之前,就來自力救濟一下吧! 完整的過程在 這個網站 (英文)講得蠻清楚的 這邊簡單翻譯一下, 1 安裝編譯Makemkv所需套件 sudo apt-get update sudo apt-get install build-essential libc6-dev libssl-dev libgl1-mesa-dev libqt4-dev 2編譯並安裝Makemkv sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential libc6-dev libssl-dev libgl1-mesa-dev libqt4-dev wget http://www.makemkv.com/download/makemkv_v1.5.4_beta_bin.tar.gz wget http://www.makemkv.com/download/makemkv_v1.5.4_beta_oss.tar.gz tar -xvf makemkv_v1.5.4_beta_bin.tar.gz tar -xvf makemkv_v1.5.4_beta_oss.tar.gz cd makemkv_v1.5.4_beta_oss sudo make -f makefile.linux sudo make -f makefile.linux install cd .. cd makemkv_v1.5.4_beta_bin sudo make -f makefile.linux sudo make -f makefile.linux install 3 下載並安裝最新版BluRay Plugin wget http://www.bultsblog.com/BluRay-plugin-v01a.zip unzip BluRay-plugin-v0

XBMC 家庭多媒體中心 打造紀錄

ATOM-ION 組合(含YouTube HD Script) 1 先按照以下文章完成最小Ubuntu 安裝 XBMC-Live Install script. For Minimal Unbuntu Install 就可以安裝出一個基本版本 2 再次執行 xci.sh,完成遙控器等設定,到這邊就可以開心使用了 3 再次執行 xci.sh,升級到SVN-PPA版本。新版的好處是可以跟scripts有最高相容性 4 中文顯示問題,可以參考以下文件安裝; XBMC中文顯示問題 5 到以下網站下載YouTube-3-4c.zip(或者更新的版本) 把檔案解壓縮到$home/.xbmc/scripts目錄下面,即可完成安裝 6 修改$home/.xbmc/scripts/YouTube/youtube.py sed -n 's/fmt=18/fmt=37/' $home/.xbmc/scripts/YouTube/youtube.py (37就是1080P,最高解析度,格式對照請看這裡: 一次搞懂十種YouTube格式 ) 7 大功告成,主選單第一項Scripts(腳本),進去之後就可以啟動YouTube,在Setting的地方,選擇High Quality就可以觀看高解析的影片了。如果遇到沒有切換的問題,請在設定裡面,多切換幾次,就可以了。 延伸閱讀: 總算可以讓 Ubuntu 9.10 XBMC 播放藍光(Blu-ray)碟片了

Linux 2.6 INITRAMFS 自訂筆記

Linux 在 Kernel 2.6之後提供了INITRD的新繼任者INITRAMFS,可以大大減少開機時記憶體的浪費,關於兩者的詳細比較,可以參考以下兩篇精彩的文章: initramfs 簡介,一個新的 initial RAM disks 的模型 深入理解 Linux 2.6 的 initramfs 機制 (上) 既然軟體有架構上的更改,製作方法也有不一樣的地方,從mkininitrd改成mkinitramfs。像是debian live helper一樣,mkinitramfs也提供很多hook,可以作到很細緻的完全自訂,主要的設定檔放在以下兩個目錄: /etc/initramfs /usr/share/initramfs-tools 以下以最近製作的一個基於initramfs的迷你系統作說明: Step 1: 修改 /etc/initramfs/initramfs.conf #將預載模組改為list,可以大大縮減initramfs的大小 MODULES=list #不要使用busybox,因為我會用到一些進階的功能,使用busybox會有力有未逮的情形 BUSYBOX=n Step 2: 修改/etc/initramfs/modules #加入必須的module e1000e usbhid Step 3:修改/usr/share/initramfs-tools/init 讓init做完maybe_break modules之後,就停在init裡面並且呼叫自己的程式 Step 4:在/usr/share/initramfs-tools/hooks目錄新增一個burnin檔案,負責在製作過程中,把自己外掛的檔案加到壓縮檔中 #! /bin/sh -e SOURCE=/opt/backtrack case $1 in prereqs) exit 0 ;; esac . /usr/share/initramfs-tools/hook-functions copy_exec $SOURCE/sbin/getty /sbin ... mkdir -p ${DESTDIR}/usr/bin copy_exec $SOURCE/usr/bin/netserver /usr/bin ... exit 0 Step 5:

A Patch of Customized Gparted Live CD Build Script

打從開始打算製作自己的Recovery CD時,在眾多的Embedded LiveCD中,單單對Clonezilla/Gparted心有獨衷,同為台灣國網中心開發的專案,一個是完整的硬碟備份系統,一個是具體而微、在100MB的ISO中放入XWindows的LiveCD,都是非常精細完成度也很高的好工具。 只是用起來好用是一回事,自己重作一個又是另外一回事,試圖按照官網(Create GParted live from scratch Gparted )的文件去做,但是總是遇到問題,幸好在國網中心Steve(也就是Gparted Live的原作者)的幫助下,總算確認了問題,也成功的找出解決方案。 一開始的問題是直接執行create-gparted-live時,live helper一直出狀況 >>>解決方案:在Live CD的根目錄,有個 GParted-Live-Version,實際上他就是一個文字檔,記載了當初製作Live CD的所有參數,照著其中的參數執行,就可以了 再來的問題時,應用GParted-Live-Version的參數去執行,還是會遇到一些套件遺失的訊息,導致製作過程中斷 >>>解決方案;以目前的Stable Release 0.5.2-1來說,會出現discover1套件遺失的問題,原因是sid在套件庫已經移除淘汰這個套件,所以直接在套件清單內把他移除就好,不會有什麼副作用,請執行以下命令: sed -n 's/discover1//g' /opt/drbl/sbin/create-gparted-live > /opt/drbl/sbin/create-gparted-live-sidfix 後執行新的執行檔即可

備份還原系統實做之Linux

目標:做出可以完整備份還原整個硬碟的程式,假設硬碟大小是一樣的(暫時不處理grub跟來源目的不一樣的情形) 備份步驟: Step 1: 備份分割表: dd if=/dev/sda of=mbr.bin bs=512 count=65 Step 2: 備份主分割區 fsarchiver savefs /dev/sda1 sda1.fsa Step 3: 備份位於/dev/sda2的延伸分割表 dd if=/dev/sda2 of=sda2.dd bs=512 count=1 Step 4: 紀錄SWAP的UUID blkid /dev/sda5 | awk '{print $2}' 還原步驟: Step 1:還原MBR dd if=mbr.bin of=/dev/sda bs=512 count=65 partprobe Step 2:還原延伸分割區 dd if=sda2.dd of=/dev/sda2 bs=512 count=1 partprobe Step 3:還原主分割區 fsarchiver restfs sda1.fsa id=0,dest=/dev/sda1 Step 4:重建SWAP並且還原舊的UUID . ./swap.uuid mkswap-uuid -U $UUID /dev/sda5 延伸閱讀: MBR詳解 wiki: GPT wiki: MBR wiki:EBR fsarchiver: quickstart

Recompile Partclone Note

1 Prepare a debian desktop 2 Grab DRBL GPG key: gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A gpg -a --export D7E8DF3A | apt-key add - 3 Add deb repository to /etc/apt/sources.list deb http://free.nchc.org.tw/drbl-core drbl stable deb-src http://free.nchc.org.tw/drbl-core drbl stable 4 Update apt cache apt-get update 5 Fetch Partclone source: apt-get source partclone 6 Install build dependencies : apt-get build-dep partclone 7 Install missing package "libvmfs": apt-get install libvmfs 8 Extract, configure and make the partclone from source cd partclone-0.2.X ./configure --enable-all make 9 Enjog hacking Readmore: Partclone Official Install Instruction , How to use the key of DRBL

從無到有做一個Clonezilla live ?

故事是這樣開始的, 國家高速網路與計算中心自由軟體實驗室 ,簡稱國網中心設計了一套非常簡便好用的備份軟體叫做Clonezilla,功用跟GHOST一樣強大,但是完全是採用Linux的開源軟體開發,完全免費加上高度的支援度跟自訂性,屢屢在國內外的軟體展中獲獎,堪稱當今最簡單好用的備份軟體。 但是原本貼心的簡便設計並不能滿足我的需要,於是動起歪腦筋,想要把它改上一改,在官方的Q&A問答集中也有提到 如何自己從頭打造一個Clonezilla Live ,但是按照他的步驟,就是一直出錯,遺失了某些軟體元件,經過一番努力之後才成功的做出來屬於我的Clonezilla,以下就是實做筆記: 1. 下載clonezilla live 1.2.0-25 (含)以後的版本 2. 用上述版本來開機之後選擇好語言與鍵盤後,選擇"Start_Clonezilla" -> "device-image",然後掛載一個空間夠的分割區(必須是Linux的檔案系統,例如ext3, reiserfs等,不可用FAT或是NTFS的分割區)成為/home/partimag目錄來當工作目錄,建議選用local_dev,因為NFS之類的網路磁碟目錄和aufs/squashfs等相容性有些問題,製作的時候可能會失敗. 3. 在選擇要備份硬碟/分割區或者還原的時候,選擇"exit",進入命令列 4. 執行"sudo su -" 5. 執行ocs-live-netcfg來設定網路,以便待會製作Debian Live程式需要. 5. cd /home/partimag/ 6. apt-get update; apt-get -y install live-helper cdebootstrap >>>以上都可以照做 7. 如果你要特別版本的核心,只要確認Debian套件庫中有的話,例如你要2.6.18-6或是2.6.24-etchnhalf.1的核心,就這樣執行: create-debian-live -l e -b unstable -k 2.6.18-6 -i customized 或是 create-debian-live -l e -b unstable -k 2.6.

OSS Digital Signage Install Note: Concerto Signage

圖片
Introduction 介紹 Concerto是一套OSS開放原始碼的Digital Signage Solution,同時也有考慮另外一套Xibo,同為OSS的軟體,不過Xibo需要以Windows為客戶端,因為這點就把注意力轉向Concerto,他還有提供以LiveCD為媒介的客戶端,比起來高下立見,只不過跟Xibo比起來,Concerto相關資源也少好很多,連包含網頁、資料庫、PHP的Server安裝都用幾行字帶過,這篇文章就是要補足原廠的不足,讓大家都可以開開心心安裝Concerto System Requirements 系統需求(摘自官網): http://www.concerto-signage.com/view/deploy Installing Concerto requires some basic server administration experience. You'll need to have installed and be familiar with the setup of: * A *nix OS * PHP 5.2+, along with the GD, MySQL, and Curl libraries * A web server with URL rewriting capabilities (such as mod_rewrite under Apache) * MySQL 4.1+ * Cron (and crontab access) Installation 安裝說明文件: http://sourceforge.net/apps/mediawiki/harmoni/index.php?title=Concerto_Installation 這份文件講的跟原廠有點出入,以下的安裝步驟是兩者的混合版 前置Sever準備工作: 1 安裝 Apache Web Server apt-get install apache2 1.1 確認 Apache 安裝: 用 Firefox 開啟 http://localhost/ 2 安裝 PHP apt-get install php5 libapache2-mod-php5 php5-gd php5-mysql

inetboot x httpfs 研究筆記

首先從名詞解釋開始... inetboot: http://openlab.ring.gr.jp/oscircular/inetboot/ 這是一個由日本實驗室主導的專案,目標在開發一套系統,可以直接利用http/ftp上面的ISO檔來開機,不需要傳統的下載、燒錄光碟、然後在透過光碟或者隨身碟開機的冗長程序,加上主流Linux Distribution都有提供LiveCD,兩個結合起來就是只要能夠上網的裝置,都可以直接利用網路的檔案開機。 不過inetboot已經在2008年9月停止更新,實驗主力轉往PS3 Linux的相關應用韌體與全球網路服務發展,這也促成這次研究的動機,因為想把最新的Ubuntu 9.10移植上去跑(目前只支援到Ubuntu 8.04) httpfs: http://httpfs.sourceforge.net/ 這是前項專案的核心技術httpfs,取代以往整個檔案下載的方式,變成按需要分部份下載,只要事先對ISO建立檔案索引,就可以很有效率的直接取用,基於 FUSE 的先進技術,只要核心有支援FUSE,不需重新編譯核心即可直接在user space創立httpfs buildroot: buildroot 一如其名稱,這是專門用來開發Embedded Linux Root Filesystem的"巨集",本身只是一堆設定檔跟連結,但是巧妙設計的設定系統,讓本來東拼西湊的Embedded Linux 系統開發變得很簡單,支援X86、ARM等主流硬體。 阿婆的裹腳布落落長的開發歷程... 1 首先是驗證inetboot的性能,但是透過WAN速度還是頗慢 2 所以自己架了Apache Web Server來提供下載服務,果然開機速度快多了 3 確認可行之後,就是拆解inetboot的光碟研究,就像很多Embedded Linux一樣,由三個部份組成bootloader、kernel與initrd 4 bootloader 預設是grub,不過要換成syslinux也可以 5 kernel,預設版本是2.6.24,夠新了,不過後來我癢又把它小改一下,開機更快了一點 6 initrd,也就是root fs,這是這次修改的重點 7 分析錯誤訊息並追蹤開機檔案linuxrc->casper

GNU Autotools 初探 & share library 的蠢事

圖片
說GNU Autotools 可能很多人不清楚那是什麼?但是編譯提到編譯套件三部曲"./configure ; make ; make install",就很清楚了,這就是Autotools的功勞,它大大簡化了編譯程式的移植跟相容性問題,只要三個步驟就可以把軟體裝到你的Linux上,*nix系統特點就是家族衍生繁雜,因此也凸顯出Autotools之於GNU / Linux 的重要性。 前情提要說完了,再來一點心得感想,其實一直覺得編譯套件三部曲"./configure ; make ; make install"很神奇,想知道後面的動作,如何能精確的檢查編譯需要的函式庫跟相依性,再進一步就是如何把自己的軟體改成一樣的形式,讓它們可以在各系統暢行無阻,這次因為buildroot強烈要求外掛軟體要遵循Autotools的規範,就開始這次的研究。 廢話交代完畢,進入實做細節,首先是整個Autotools的流程圖:(取自 http://en.wikipedia.org/wiki/GNU_build_syste m) 圖中的橢圓形指的是處理的程式,長方形就是相關的資料檔。 Step by Step教學可以在這裡找到; http://markuskimius.wikidot.com/programming:tut:autotools/ 按著步驟一步一步大概就知道要怎麼進行了,基本上要準備的就是configure.ac跟Makefile.am,前者可以由autoscan產生,後者就要自己寫了,但是configure.ac不是拿到就可以用的,autoscan產生的檔名是configure.scan,要自己手動更名為configure.ac,再來要小小修改一下內容,才能繼續後面的步驟,必須要加入的兩行是: AM_INIT_AUTOMAKE(httpfs2, 1.0) AM_PROG_CC_C_O 另外,一個完整的GNU套件需要有一些相關的文件,就是我們拿到套件會包含在內的NEWS、README、AUTHORS、ChangeLog等,上述四個檔案需要自己準備,可以用touch創造空檔案騙過檢查即可,其他的可以透過"automake --add-missing"自動補齊 再來談到Makefi

Linux 2.6 Network Performance Tunning Note

前情提要: 某PC-Based 4 Port Gigabit Router被客戶用SmartBit 測出效能低落的問題,PM請我複製問題,於是開始這次的艱困的實驗。 問題描述: 在Linux 2.4可以做出不錯得成績,但是換到Ubuntu 9.04客戶的標準測試系統時,效能只有Linux 2.4的一半,後來在其他Fedora跟Debian重測,效能一樣不好,所以首要目標就是要把Linux 2.6的Network Performance調校到最佳,至少要跟Linux 2.4一樣。 系統環境: Atom N270 + 82574L x 4 過程: Google->Make changes->SmartBit Test->Fail->Goto First.... 結論: 1 測試結果數字上上下下不穩定:請把cpufreq的模式設定成Performance,固定核心頻率 >>列出可用模式:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors >>強迫跑效能模式:echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors 2 Intel Driver可以Tune的參數很多,其中最重要的就是IntMode,預設是2,範圍0-2都可以換換看,有沒有不一樣,以我的例子,預設值只能跑出50%(對比於Linux 2.4),改成1,可以跑出75% 3 手動分配IRQ到不同的CPU,總算讓我搾出最後的25%,得到跟Linux 2.4一樣的好成績,方法如下 >>列出所有IRQ:cat /proc/interrupts >>修改APIC對應:echo 2 > /proc/irq/29/smp_affinity (把IRQ 29 Mapping到CPU 1) 4 網路上很多修改TCP buffer memory的文章,不過在此例沒有顯著的效果,因為Bottleneck在CPU處理IRQ的能力 5 以上方法其實都是事後補救,理論上應該是用預設值就應該是sett

Ubuntu 升級 2.6.33 Kernel 筆記

網路高手整理的作法: How To Compile A Kernel - The Ubuntu Wa y 不過照步驟做時,發現一個問題,錯誤的訊息如下: echo "The UTS Release version in include/linux/version.h"; echo " \"\" "; echo "does not match current version:"; echo " \"2.6.33-rc1-amd64\" "; echo "Please correct this."; exit 2 The UTS Release version in include/linux/version.h "" does not match current version: "2.6.33-rc1-amd64" 原因是UTS_RELEASE在2.6.32之後被換地方放了,修正方法如下: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561569 修改debian/ruleset/misc/version_vaer.mk檔案, 把 echo include/linux/version.h; 換成 echo include/generated/utsrelease.h; 即可 編譯完成之後就可以直接用dpkg安裝,重新開機就OKAY了

用C語言修改MBR的懶人包....

MBR資料結構篇: http://en.wikipedia.org/wiki/Master_boot_record BIOS INT 13解說篇: http://en.wikipedia.org/wiki/INT_13#INT_13h_AH.3D02h:_Read_Sectors_From_Drive INT 13更完整的解釋: http://www.answers.com/topic/int-13 不想看技術文章,重點在這裡,C sample code,不需修改,即可使用: http://www.p-dd.com/chapter9-page20.html

一個奇怪的問題:如何在本機任意兩個網卡間互丟封包

理論上ethernet是不允許loop這種情形的,所以要互傳資料最少要兩台裝置, 至於為何會有這個需求是來自網通產品生產燒機時,希望不要額外準備一台封包產生器, 而能夠用本機的eth互相送封包來實現網卡測試的功能 經過拜會股溝大師之後,大概找到幾種方法: 1) iptables:使用iptables的的先進路由功能,把封包在本機互丟 http://www.lslnet.com/linux/f/docs1/i01/big5111138.htm 2) patch kernel + iproute2: 這個方法需要修改並重新編譯核心,不過設定上比方法一iptables簡單一點 http://bellet.info/laptop/send-to-self.txt http://www.ssi.bg/~ja/ 3) pktgen:直接使用核心內建的封包產生器,使用方法最簡單,理論效率最高,但缺點是一個CPU僅能有一個thread,當要測試的資料流數多餘CPU數目時,就不適用了 LINK1 , SAMPLE1 , SAMPLE2

Virtualbox Linux Ubuntu USB share 設定筆記

1 設定好USB filter http://frank.heydlauf.de/jm2c/archive/80/virtualbox-on-os-x-host-howto-mount-an-external-usb-drive 2 把user 加入 vboxusers群組 http://news.softpedia.com/news/How-to-Fix-VirtualBox-USB-Support-111715.shtml 3 登出,再登入 4 all done

Linux NAT Server 安裝備忘

系統環境:Ubuntu 9.10 Karmic 網路卡設定 WAN<->eth0(x.x.x.x) [ NAT SERVER ] eth1(192.168.0.1) <-> LAN 步驟: 1 安裝輕量化DNS server DNSMASQ sudo apt-get install dnsmasq 2 設定/etc/dnsmasq.conf設定檔內容如下: interface=eth1 #僅支援對內的網卡 dhcp-range=192.168.0.50,192.168.0.150,12h #提供100個IP的POOL dhcp-option=1,255.255.255.0 #subnet mask dhcp-option=3,192.168.0.1 #default gateway dhcp-option=28,192.168.0.255 #broadcast 3 啟動kernel的 ip forward,修改/etc/sysctl.conf net.ipv4.ip_forward=1 4 開機自動載入iptable_nat模組,修改/etc/modules iptable_nat 5 開機自動設定網卡IP,修改/etc/network/interface auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.0.1 netmask 255.255.255.0 up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 6 注意最後一行,意思是啟動後直接NAT設定的步驟 7 之後只要下 sudo service dnsmasq start就可以開啟NAT功能 參考資料 防火牆軟件Netfilter之NAT技術 dnsmasq 輕型 dns/dhcpd 安裝設定 鳥哥的:Linux 防火牆與 NAT 主機

Linux RAID 安裝備忘

基本常識: RAID依功能跟磁碟組成方法可以分RAID0~7等,欲知各種組態請看最下面的基本說明。 RAID依控制方法可以分成三種,純硬體(Hardware RAID)、偽硬體(Fake RAID、SATA RAID、BIOS RAID)跟純軟體(Software RAID),差別在於純硬體RAID有專用晶片處理速度最快、系統負擔最輕,偽硬體RAID則是外表偽裝成硬體RAID,但是實際上沒有專用晶片處理,只是虛有其表,透過BIOS把RAID組成資訊記錄下來,然後透過在作業系統安裝額外的驅動程式來真正處理磁碟的IO動作,純軟體RAID則是全部由系統軟體模擬RAID動作。 以上三種組態價格依序遞減,效能亦然。 緣起: 這是有機會裝一台高檔機器,Core I7 920、8GB RAM、NV GT285還有4x1T的磁碟組,客戶指定要使用RAID0,順便學習RAID的安裝使用方法,平台當然是不用錢又好用的Linux。 經驗分享: 本來一知半解的時候,以為SATA RAID有多神,結果弄了半天才發現ISW是個花而不實的東西,容量超過2TB還不給開機,後來所幸直接做Software RAID,進度就順利得多。 指令速查: 這次使用的工具程式是mdadm,另外一套raidtools沒有用到就不多做介紹,請看參考資料的連結: * 安裝: sudo apt-get install mdadm * 創造: mdadm --create /dev/md0 --level=raid0 --raid-devices=3 /dev/sda4 /dev/sdb1 /dev/sdc1 * 查詢: cat /proc/mdstats mdadm --detail /dev/md0 參考資料: http://zh.wikipedia.org/wiki/RAID 關於RAID的基本說明 dmraid 介紹:Linux 上應用 ATA / SATA RAID 技術 安裝Fake RAID的寶典,從名詞解釋到詳細設定步驟還有實際螢幕的參考圖片一應俱全 http://ericbbs.blogspot.com/2009/05/mdadm-raid.html 中文的mdadm指令速查 http://www.linux.org/docs/ldp/howto/S