2008/03/17

[軟體] Inkscape 0.46 釋出了

Inkscape是很好用的向量繪圖軟體,最近釋出了新版。不過官網上面也丟出了翻釋文件的統計:

zh_CN: 90%
zh_TW: 65%

真糟,等回來要再去幫忙一下才對~
--
附上連結:
autopackage
svn:
svn co https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk inkscape

[Linux] Grub 跳到另外一個 grub 開機

這篇很簡單,可是我不會,所以做個記號一下:
我們通常是把 grub 放在 MBR 底下的,不過像是 LiveUSB 那種東西,或有其它的需求的話:
#Entry for Linux 2 bootloader
title Linux 2 on /dev/sda4
root (hd0,3)
chainloader +1


--
* 註1: 原網址:
RobMLee 提到的:
如何製作帶著走的ubuntu 7.04,需參考以下兩篇文章(兩篇都要看完):

(1) 如何把ubuntu 7.04(完整Linux系統,非Live CD)裝入隨身碟中(傻瓜必勝版)
URL: http://www.wretch.cc/blog/billypan101&article_id=8891814

(2) 把我們的 Ubuntu 7.04 USB 隨身作業系統改造成任何電腦都能開機
URL: http://www.wretch.cc/blog/billypan101&article_id=8962479

[Linux] Linux 上面的檔案救援

最近在處理檔案救援(undelete)的工作,所以找了不少軟體(R-Studio, recuvia) 來處理,不過說真的,也不知道這些軟體在做些什麼事情,所以做起來格外的心虛,畢竟是 windows 的軟體。所以最後還是去看了一下,在 Linux 底下手工的技巧:
(以下都是摘要人家的內容)

1. 先 mount -o remount,ro /dev/sda1
2. 再來 debugfs /dev/sda1
# lsdel
debugfs:lsdel
debugfs: 2692 deleted inodes found.
Inode Owner Mode Size Blocks Time deleted
164821 0 100600 8192 1/ 1 Sun May 13 19:22:46 2001
# dump /tmp/xxx.sav


或用 mi 來處理
debugfs:mi
# 把deletion time改成0(未删除),Link count改成1。改好後退出(quit)
# 再下 fsck /dev/sda1 就會跑到 lost+found/ 底下了。


一個檔案在 ext3 底下的分布情況如下:
filefrag -v icon.png
Checking icon.png
Filesystem type is: ef53
Filesystem cylinder groups is approximately 85
Blocksize of file icon.png is 4096
File size of icon.png is 25311 (7 blocks)
First block: 1003570
Last block: 1007890
Discontinuity: Block 1 is at 1003574 (was 1003570)
Discontinuity: Block 5 is at 1007882 (was 1003577)
Discontinuity: Block 6 is at 1007890 (was 1007882)


* 每一個檔案配置(至少)一個 inode 來記錄它裡面存放的資料(metadata)和 block index。小於 12 個 block 的文件,只配一個 inode ,大於的,就直接在 inode 後面再串接下一個 inode 的位置。(註~ 看不大懂,回去翻書)

換句話說,我們也可以用 dd 也可以反刪除救回檔案:
確認 block size :
tune2fs -l /dev/sda1 |grep -i 'block size'
Block size: 4096

dd if=/dev/sda1 of=xxx.sav.1 bs=4096 count=1 skip=103570
1+0 records in
1+0 records out

dd if=/dev/sda1 of=xxx.sav.2 bs=4096 count=1 skip=103574
1+0 records in
1+0 records out
... # block 數量愈多,愈麻煩...


vfat 上面的處理 (對記憶卡/flash 也有用)
dosfsck sdc1 -v -r -u filename

--
參考連結:
ext3 的檔案系統介紹
大陸的論壇討論 ext2/3 的部份
ext3的反刪除動作: 用 dd 就可以回復了
--
與本篇無關的附記:
* Ext3 的特點
日誌系統
(效能慢,但風險小)原資料和檔案內容都在提交到主檔案系統前寫入。這樣將提高穩定性但性能上有所損失,因為所有的資料都要寫入2次。這個動作是為了防止像 kernel panic 或突然斷電的情況發生時,會讓系統上的資料與索引(metadata)發生不一致的情況。

反刪除
和ext2不同,ext3將把被刪除檔案的i節點(inode)中的塊指標(block index)清除。這樣做,在(unclean)載入檔案系統後,重放日誌時,可以簡化對檔案系統的訪問。但這造成了檔案在反刪除上的難度。用戶唯一的補救是在硬碟中grep資料,並且要知道檔案的起始和結束信號。這提供了比ext2在刪除檔案上稍微高一些的安全性,或許這中安全既是優點也是缺點。

Ext3在寫入日誌時,並不做校驗比對(checksum)。如果barrier=1沒有作為載入時的參數(在檔案/etc/fstab 上的參數,或 mount 時的選項),且硬體又是無次序的寫入 buffer ,在系統 crash 時會嚴重損壞檔案系統(該選項在大多數流行的Linux發行版中都沒有被啟用,所以大多數發行版的處境都很危險。)

2008/03/13

[Linux][bash] 在 Shell 底下抓亂數的方式

rand () {
ANS=`dd if=/dev/random bs=2 count=1 2>/dev/null|hexdump -d|awk '{print $2}'`
}

rand
ANS=`expr $ANS \% 100`

這樣好像蠻直接的,不過應該沒有什麼問題。

2008/03/11

[軟體] Firefox 3.0 beta 4 釋出特點記錄

Firefox 3.0 Beta 4 包括了之前的 900 個改進點,像是在效能上的改進﹑記憶體使用量上的改善﹑當然也改善了穩定性﹑平台上的版本改善﹑操作介面更友善等等改進點,這些都會加入這次的 Beta 4 釋出裡面。

以下列出 Beta 3 ->Beta 4 的改進點:
# 新的 download manager
# 整頁縮放
# 和 Vista 的整合
# 和 Mac 的整合
# 和 Linux 的整合
(就是使用原生的布景主題,這樣看起來不會再那麼突兀)
# Location Bar 跟 Toolbar 上面的改善,現在是依據你訪問這個頁面的頻率來做自動完成的部份。(加入自動學習的功能)
# Javascript 變快。
[Improved in Beta 4!] Speed: improvements to our JavaScript engine as well as profile guided optimizations have resulted in significant improvements in performance. Compared to Firefox 2, web applications like Google Mail and Zoho Office run twice as fast in Firefox 3 Beta 4, and the popular SunSpider test from Apple shows improvements over previous releases.

# 記憶體使用量減少
[Improved in Beta 4!] Memory usage: Several new technologies work together to reduce the amount of memory used by Firefox 3 Beta 4 over a web browsing session. Memory cycles are broken and collected by an automated cycle collector, a new memory allocator reduces fragmentation, hundreds of leaks have been fixed, and caching strategies have been tuned.


這邊直接從官方下載

2008/03/10

[軟體] Gnome-terminal 跟 rxvt-unicode 哪一個比較「好」?

最近看到這篇文章 "rxvt-unicode快速上手",雖然自已以前就寫過 [Linux] URxvt 的設定不過一些疑問其實沒有仔細去追查過。 特別是 2006 年到現在,自已偏好的 term 從 rxvt 也跟著 因為使用 ubuntu 的關係,所以變成使用 gnome-terminal 。

我的問題在兩個重點:
1. rxvt-unicode 跟 gnome-terminal 誰比較快? (kconsole 不用比了,在不是 kde 的環境底下, kconsole 一定慢很多的)
我作的測試如下~
版本:
ii rxvt-unicode 8.3-1
ii gnome-terminal 2.18.2-0ubuntu1

顯示效能測試:
time cat /home/backup/Community/UNLiu/trunk/UNLiu.cin
這樣就知道 term 上面顯示完這個 cin 檔需要消耗多少時間。








 rxvt-unicodegnome-terminal
第一次real 0m9.510s user 0m0.008s sys 0m0.072s real 0m10.393s user 0m0.000s sys 0m0.064s
第二次real 0m3.084s user 0m0.004s sys 0m0.072s real 0m3.425s user 0m0.000s sys 0m0.080s
第三次real 0m2.961s user 0m0.004s sys 0m0.124s real 0m1.740s user 0m0.008s sys 0m0.100s
第四次real 0m2.512s user 0m0.008s sys 0m0.088sreal 0m3.241s user 0m0.004s sys 0m0.080s
第五次real 0m3.122s user 0m0.000s sys 0m0.052sreal 0m2.984s user 0m0.000s sys 0m0.072s


再來,要比較系統資源上的損耗,我們下一個指令就可以:
$ ps -aux|egrep "gnome-terminal|rxvt"|grep -v grep
anton 4159 0.0 9.2 186496 46824 tty1 Sl Mar07 4:07 gnome-terminal
anton 4773 1.3 1.2 11004 6104 pts/1 S 13:43 0:00 rxvt-unicode


這樣,應該可以下一個結論是:
rxvt-unicode 在系統資源上面占用比較少, gnome-terminal 在顯示上面其實跟 rxvt-unicode 差不多ㄟ.....

2008/03/07

[Programming] Pidgin 的架構

最近翻 pidgin 的新聞公告的時候才發現,原來之前還有發過 pidgin 的簡略架構圖:


If you're a developer, even a new or inexperienced developer, and you'd like to help out Open Source Software or the Pidgin project but aren't sure where to start, picking a corner of the Pidgin architecture and documenting it (with the help of the Pidgin developers!) would be a great place to get your feet wet. As a bonus, when you're done you'll have the knowledge to start writing that feature you've always wanted!

如果你是開發者,(不管是有沒有經驗的開發人員),如果你想提供一些協助給開源軟體社群,或 pidgin 專案,不過不知道怎麼開始的話,你可以在 pidgin 的架構文件上面提供幫助。這裡還有很多需要你可以幫忙的空間。當你做完的時候,你會明白,只有當你做過了,想要的 know-how 才會真的成為你所擁有的一部份。

[Windows] git-bash 底下的工具

因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...