Archive for the 'OS' Category

Debian 的 Backports

這幾天在 VirtualBox 內弄了一台 Debian lenny (x86) 起來玩,想要多熟悉 Debianbash 的風格…

不過 lenny (5.0.0) 從去年二月到現在也已經過了一年,雖然一直有在更新 (現在是 5.0.4),但為了穩定性,並不是所有的軟體都有更新。印象中有個計畫是專門解決這個問題的,可以讓你在 stable 使用新版,但不是整個系統都換到 testingunstable

在印象中跟 “backport” 這個關鍵字有關,翻了以後找到 Debian Backports,看起來就是我要的…

依照「instructions [Debian Backports]」操作,直接把 entry 加到 /etc/apt/sources.list 內,用 apt-get update 更新一次,這時候會出現不認得 public key,不管他直接 apt-get install debian-backports-keyring 就收工了。測過沒問題後,就在「Backports.org worldwide mirror sites」這邊找亞洲區的 mirror site,看起來只有日本有做,改過去再測一次 update,沒問題收工…

由於預設仍然會使用 lenny 內的套件,如果要裝 backport 內的東西,需要用 -t lenny-backports 讓 apt-get 或是 aptitude 知道。

另外,在「Diffs between lenny-backports and squeeze」這邊可以看到 lenny-backportssqueeze (目前的 testing) 的差距。

DRBD 進入 Linux 2.6.33 Kernel,以及 FreeBSD 的 HAST Project

Linux kernel 2.6.33 是在 DRBD 進入 Kernel Git tree 之後 (去年 12 月左右,參考「We’re in!」這篇文章) 的下一個正式的 release:「Linux 2.6.33 released, first kernel with DRBD included」。

DRBD 是一套以 block-level replication 為基礎提昇可靠度的軟體,有時候為了方便解釋,也被稱為 Network RAID1,常搭配 Heartbeat 或是其後繼的 Pacemaker 偵測節點是否還活著,並在必要時自動切換。

由於 DRBD 已經出來很久了,而且又是以 GPLv2 釋出,早期有不少文件介紹如何使用 DRBD 達到 HA,算是一種已經被摸熟的方案。

另外是 FreeBSDHAST Project 到一個階段,被 commit 到 -HEAD 了:「Please welcome HAST – Highly Avalable Storage.」,再加上 block-level replication 會需要 Filesystem 快速恢復的 SUJ (SU+J) 也在一月底放 source code 先讓自願者測試,一口氣補了 HA 領域兩塊重要的缺陷。

不過依照慣例,新東西都不太穩定… 玩玩還可以,如果是要跑 HA 的話等一兩個版本會比較好。

4K sector size

Slashdot 上看到硬碟已經開始往 4K sector size 走了:「HDD Manufacturers Moving To 4096-byte Sectors」。

會開始討論主要是因為 WD 開始販售 4K sector size 的硬碟,許多維護 Filesystem code 的開發人員也因此比較注意到這個問題。

前幾天在 FreeBSD 的 mailing list 上也看到類似的討論「File system blocks alignment」,以目前可以調整的參數觀察,如果 block size 沒有切齊,會使得效率降低不少 (猜測是因為 read-modify-write),其他作業系統的 Filesystem 也有類似的情況。

2010Q1 應該會看到更多使用 4K sector size 的硬碟。

FreeBSD UFS2 的 SU+J

FreeBSD 上主要是靠 Soft updates 維持當 Filesystem 不正常 umount 時的資料安全,在 Linux 上比較常見的方式則是 Journaling file system,兩個方式有不同的走向。

FreeBSD 最近也有 ZFS 了。ZFS 用的技巧類似 Journaling,不過也利用類似 Soft updates 的想法避免硬碟內的資料不一致。不過穩定性與效能沒辦法跟 UFS2 相比。

最近 Jeff Roberson 又活躍起來了 (之前弄 FreeBSD 7 的 SCHED_ULE 2 以及 FreeBSD 8 的 SCHED_SMP),在接受廠商的贊助後試著改善 UFS2 的 Soft updates,把 Journaling 的技巧引進 UFS2,希望再減少 fsck 的需求:「Journaling softupdates, SU+J」以及「What’s in a journal anyway?」。以目前所規劃的時程,看起來會在這兩個禮拜內看到 commit 進 HEAD (9.0-CURRENT)。沒意外的話跑一陣子後應該就會 MFC 回 8-STABLE,然後在 8.1-RELEASE 出現。

Mac OS X 的 ZFS Project 將收起來

OSNews 上看到 AppleMac OS XZFS Project 關閉了:「Apple Shuts Down Mac OS X ZFS Project」。

原因沒有正式的說明,不過一般推測,應該是 Apple 內部認為 license issue 會有問題,尤其是 SunNetApp 之間的官司。

IBM 開始在美國賣內含 Ubuntu 的桌機

Slashdot 上看到 IBM 也開始在美國本土販賣內含 Ubuntu 的桌機了:「IBM’s Answer To Windows 7 Is Ubuntu Linux」。

大約幾個禮拜前,IBM 與 Canonical 發表了合作計畫,預定往非洲推銷 Ubuntu,有人問 IBM 是否有計劃在美國本土販賣類似的產品,現在的回應就是答案。

除了 IBM 以外,Dell 在更早的時候就提供 Ubuntu 桌機與筆電:「Dell PCs Featuring Ubuntu」。

TI 工程計算機的 RSA private key 被破解

TI 工程機算機的 OS firmware 需要 sign 過才能用,但其中使用的 RSA key 的有效長度只有 512bits,所以被暴力法搞定:「Texas Instruments Signing Keys Broken」。

查了 Wikipedia 上的「RSA Factoring Challenge」,早在 1994 與 1996 年左右,RSA-129 (426bits) 與 RSA-130 (430bits) 就已經被分解成功了,當時比較安全的 RSA 保護會是 1024bits (現在一般都建議 2048bits 了)。

在「Comparison of Texas Instruments graphing calculators」可以看到很多被破解出來的型號是在這之後 (甚至在 21 世紀推出的型號) 所推出的版本,於是在 2009 的電腦,透過 BOINC,一個禮拜內就把這些 private key 算出來:「All TI Signing Keys Factored」。

TI 用 DMCA 要求下架,不過在很多美國境外的網站上都找得到這些 private key 了,我猜這幾台會熱賣起來… (因為可以自己刷 OS 韌體)

FreeBSD 8.0-RC1 釋出

在「FreeBSD 8.0-RC1 available」這邊提到 8.0-RC1 出來了,看起來是第一個 kernel 沒有一堆 debug info 的版本,要測效能這時候跳下去測會比 8.0-BETA4 準確,順便把之前一直在測試的 8.0-BETA4 升級到 8.0-RC1… (測 NFS 的穩定度)

用台灣的前兩個 mirror site 安裝,發現慢到爆炸 (ftp.tw.freebsd.org 與 ftp2.tw.freebsd.org,分別是交大國高),實在沒時間找原因,暫時先跑去 ftp.jp.freebsd.org 抓…

事後看了 traceroute 與一些紀錄,交大的部份大概沒救,應該是奇怪的 filter 或是 routing 亂跑之類問題造成。國高因為只能看單邊 (TFN 端),看不出原因。

再來就是文章的這段,看了讓人笑得蠻開心的:

How many RC’s we have will depend on how well 8.0-RC1 does. At the moment only one more RC is on the schedule but odds are fairly high we will wind up inserting at least one more RC. Between BETA4 and RC1 a lot of work has gone into IPv6 issues as well as many other issues that have been brought up from the public testing. And a patch set was committed by the people who handle porting ZFS to FreeBSD that they felt makes ZFS production-ready.

我的解讀是:

這之後到底還會出多少 RC,要看這次 release 的 8.0-RC1 表現的如何。照表操課最少還有一次 RC,不過因為從 8.0-BETA4 到 8.0-RC1 我們又翻動太多東西 (IPv6 與 ZFS),沒有意外的話應該會有東西爛掉,所以應該還會再多一個 RC。

至於 8.0 的 ZFSv13 是否 stable,我還是很懷疑… 備份時跑大量的 rsync 時,有一些 rsync process 會卡死 (process 砍不掉)。另外有 kernel level memory leak,不過這點可以用每天重開機來解決… (順便解決前面的卡死問題)

FreeBSD 8.0-BETA1 初步使用感想

雖然在裝之前就已經知道,但還是得再提一次,FreeBSD 8.0-BETA1 不是給 production 用的 XD

首先是安裝的部份,裝起來不太順,今天早上國內的伺服器速度不太快,而且偶而會遇到 error,之後還是跑去日本的 ftp.jp.freebsd.org 抓才正常多了。

列出我自己遇到的已知問題:

  • 使用 disklabel 時會認為 c 應該從 0 開始 (ad4s1″c”),但新裝好的系統是從 32 開始,會無法修改…

另外一些小問題:(BETA 特有的,RC 與正式版的時候應該都會解掉)

  • FreeBSD PortsINDEX-8 還沒建出來,目前無法使用 pkg_version-I,以及其他需要使用這個檔案的程式。
  • library 都還沒 bump,除了從 8.0-BETA1 到 8.0-RELEASE 會大爆走外,還要注意軟體會爛光。
  • debug code 使得 performance 只有 7.2-RELEASE 的 2/3 左右。

Installer 改了不少東西,裝的時候其實發現很不順手 (像是 boot loader 的地方,Standard 與 BootMgr 對調,結果一直選錯)。另外 doc 的部份是以 package 裝入系統,不屬於 base system,不小心誤裝後可以用 pkg_delete 移除。

依照 schedule,應該是今明兩天就會出 8.0-BETA2 吧?再來看看情況。

FreeBSD 8.0-BETA1

FreeBSD 8.0-BETA1 出了,也已經可以用 freebsd-update 更新。(不過就 freebsd-update maintainer 的說法,因為他不是 Release Engineer (re@),對 8.0 並不比一般人更熟悉,想要利用 freebsd-update 升級到 BETA1 可能會有問題)

在「What’s cooking for FreeBSD 8?」列出了 FreeBSD 8.0 會有的新功能或是改善。

對一般使用者比較重要的有「Xen dom-U support」,表示終於有可能在 Amazon EC2 上跑 FreeBSD。

另外一個是 amd64 平台的 Kernel memory limit 比之前大 (這個修正已經 merge 回 7-STABLE),以及 ZFS 更新到 v13,這使得 ZFS 的效能以及可用性大幅提昇。

NFS 的改寫也是重點,包括 NFS locking 與 NFSv4。FreeBSD 之前的 NFS client 在高負載時的效能與穩定性都不好,這次改寫後打算灌台機器來測試看看 8.0-BETA1 的效果如何。