Home » Computer » Software » OS » Archive by category "Linux" (Page 19)

MySQL 在 FreeBSD 與 Linux 上的效率

之前在 FreeBSD 的 ULE 2.0 提到要拿 測試 的 ULE 2.0,初步的測試結果出爐了:Benchmarking with sysbench.

綠色的是 FreeBSD 7-current CVS 版本,而紅色的是 Fedora Core 6 (沒有說明 kernel 版本),跑的是 MySQL 5.0.x (也沒有講真正的版本),所以這份數據... 先看過就好,要有詳細的測試環境資訊才能決定要不要催眠色 far 把 換掉...。(對 Fedora Core 比較熟的人可以說明一下 Fedora Core 6 的 default kernel 是 2.4 還是 2.6?)

QEMU

最近在 mipsel 平台上面發展一些東西,不過 cross-compile 的問題多到爆炸,決定用 搞個純 mipsel 的環境出來 compile,省得 cross-compile 有一堆問題要解決,於是就找到這篇蠻新的文章:Debian on an emulated MIPS(EL) machine

當時 裡的版本是 11/02 cvs,雖然已經蠻新的 (比起七月的 0.8.2),不過 QEMU mips/mipsel 在十一月月初的版本仍然是跑不起來的,因為月中的時候才大修 mips/mipsel code 把開機的部份搞定。這幾天 maintainer 更新了 ports,趕緊裝起來測試,果然可以用,把一些簡單的軟體 compile 後的 static binary 丟到測試機上果然沒問題 :D

接下來可以來測試很多東西了... :p

Recompile Linux Kernel in Debian

應該還不是「正確」的方法 (因為 apt-cache search linux-source 時還看到 linux-patch-debian-2.6.18 與 linux-tree-2.6.18 這兩個套件),不過先記下來好了:

$ apt-get install linux-source-2.6.18
$ apt-get install kernel-patch-grsecurity2 (這是 patch)
$ cd /usr/src
$ tar yxf linux-source-2.6.18.tar.bz2
$ cd linux-source-2.6.18
$ zcat ../kernel-patches/diffs/grsecurity2/grsecurity-2.1.9-2.6.18.1.patch.gz | sudo patch -p1
$ sudo make menuconfig
$ sudo make all (其中 all = vmlinux modules bzImage,參考 make help 的說明)
$ sudo make install
$ sudo modules_install
$ cd /boot
$ sudo mkinitrd -o initrd.img-2.6.18-grsec 2.6.18-grsec
$ sudo update-grub
$ cd grub
$ vim menu.lst (把 initrd 的部分補上去)

Update:yjchou 說 linux-source-2.6.18 這是已經經過 Debian 處理過的版本了,在網頁說明上也有提到:

This package provides source code for the Linux kernel version 2.6.18. This source closely tracks official Linux kernel releases. Debian's modifications to that source consist of security fixes, bug fixes, and features that have already been (or we believe will be) accepted by the upstream maintainers.

我沒有炸掉純粹是運氣好選對了 @_@

Recompile Linux Kernel

每次要更新都要跑 找一堆指令的順序,剛剛找到篇 11/22 才寫的文章,已經被 收起來了:How To Compile A Kernel

不過剛剛開起來就 panic 跟我說找不到 root,再去研究看看好了... :p

Update:補充一下,在解開 kernel 的目錄下 make help 可以看到可用指令的說明。

Debian 3.1

由於幹活需要,晚上十一點多回到家就裝了台 起來,透過 apt 的幫忙 (以及 大神相助),弄到三點多的時候就差不多把需要的東西都弄好了,有個 PPPoE 的問題在網路上沒找到解答,記錄下來問問看...

用 pppoeconf 設定好後可以生出 ppp0,也可以用 pon 撥上去,但是撥上後卻沒有設定 default routing。用 找發現要設定 "defaultroute" (有些文件有提到當已經存在 default route 的時候還要設 "replacedefaultroute"),但看了一下 /etc/ppp/options 發現沒有這兩個指令 (暗示著系統不認得這兩個指令),於是只好自己寫個 script 到 /etc/ppp/if-up.d/ 下,在連線建立後設定 default route。不過這樣感覺怪怪的,有什麼建議嗎?

lighttpd 的 async I/O 支援

lighty 1.5.0 and linux-aio 這篇告訴大家 開始支援 async I/O 了。

async I/O 將 read request 丟給 kernel 後先去做其他事情,等到 kernel 處理完以後再用 callback routine 告訴 已經完成讀取。這使得 kernel 可以最佳化讀取的順序以達成 I/O 效率的提升,另外一方面 也可以趁機去做其他的事情。依照作者自己的測試,這使得 throughput 提升了 80%。而在作者在 Blog 上炫耀 上的 performance 大幅提升後,也有人 上丟出 patch,接下來就是等待了... :p

FreeBSD 與 Linux 的一些安全性設定

很久前聽 kenduest 講過在 上有某些加強安全性的 kernel patch 可以用,當時年紀小不懂事沒記下來...

這陣子系上被破整排 的機器 (Update:現在懷疑是 false alarm),除了重新安裝確定系統是乾淨的以外,利用當年的記憶搜尋一些關鍵字,終於找出來當初 kenduest 講的東西了:

除了對 Buffer Overflow 稍做抵抗的 Heap/Stack Protection 外, 讓我想起之前在 上看不到別人 process,按 w 看不到別人,以及 Last PID 會故意亂跳的情況。

上了 後我就想要在 上也炮製一番,透過 大神的幫忙下把這幾個對應的功能都找到了。其中看不到別人的 process 這點是透過 security.bsd.see_other_uids=0,而 Random PID 則是透過 kern.randompid=99999 (實際上會被縮成 99899)。

打開以後看一看似乎不錯,也許跑一陣子看看情況 :p

Bug/Problem Report 的技巧

不知道寫在這裡當事人看不看的到 XD

剛剛在 上看到了一個新的 PR,不是自己人 (計中助教) 生出來的,很興奮的跑去看是什麼:Problem Report linux/183: 無法寫入磁碟

看了看 PR,不知道到底是哪台主機: 有十九台 工作站可以登入使用,您說的是哪台啊 +_+ 只好一台一台登入進去看 wtmp 紀錄 (還好平常就有丟 ssh key),發現送 pr 的人是使用 linux8 這台主機,用 vi (vim) 測了一下也沒發現問題,只好放著讓 linuxadm 處理了 XD

在填寫 PR 時,如果能把問題寫的更詳細,或是能提供重複的步驟,這樣對於想幫忙的人會比較快解決問題,尤其這段時間大家都在期末考 o_O

Lenovo 以後不再支援 Linux

如同標題所說的,在 上看到 宣佈未來的產品線將完全不支援 ,包括搭載的作業系統,以及售後服務:Lenovo To Shun Linux

雖然說在商言商,但像 這樣大膽直接宣佈要舔 的 ... (消音) 的,好像還不多...

Update:在 看到聯想跳出來澄清:Lenovo denies ditching Linux。星期一的時候 的 Marc Godin (vice president of marketing for Lenovo's notebooks) 說他們會繼續提供 支援,先前的報導是 Frank Kardonski (Lenovo's worldwide product manager for its 3000 series) 提供給記者錯誤的資訊。

Archives