FreeBSD 的 kernel source…

今天在灌機器的時候想說source大概不會用到就沒選了

結果從ports安裝htop的時候…

===> Staging for htop-1.0.2
===> htop-1.0.2 depends on executable: lsof - not found
===> Verifying install for lsof in /usr/ports/sysutils/lsof
===> lsof-4.88.g,8 requires kernel sources.
*** [install] Error code 1

Stop in /usr/ports/sysutils/lsof.
*** [run-depends] Error code 1

Stop in /usr/ports/sysutils/htop.

原來lsof需要kernel source這玩意兒…

解法: 從安裝光碟/隨身碟抓source tarball出來,剛好主機在學術網路上我就用網路抓了…
(ftp.tw.freebsd.org這台主機目前在交大資工)

#wget http://ftp.tw.freebsd.org/pub/FreeBSD/releases/amd64/9.2-RELEASE/src.txz
#tar -C / -xf src.txz

按照主機所安裝的版本以及架構不同,amd64可能會需要替換為i386等,9.2-RELEASE也應該對應到該主機的系統版本

接下來的安裝就很順利,看來以後安裝都不要省src免得不時之需還要手動解,現在的硬碟空間根本不差那一點啊…

OpenSSL 的嚴重漏洞 CVE-2014-0160(Heartbleed)

OpenSSL CVE-2014-0160 Heartbleed 嚴重漏洞 | DEVCORE 戴夫寇爾

OpenSSL 今天公告了一個極度嚴重的漏洞(CVE-2014-0160),被稱為「Heartbleed」,而他確實也如同心臟噴出血般嚴重。這個漏洞能讓攻擊者從伺服器記憶體中讀取 64 KB 的資料,利用傳送 heartbeat 的封包給伺服器,在封包中控制變數導致 memcpy 函數複製錯誤的記憶體資料,因而擷取記憶體中可能存在的機敏資料。記憶體中最嚴重可能包含 ssl private key、session cookie、使用者密碼等,因此可能因為這樣的漏洞導致伺服器遭到入侵或取得使用者帳號。

有點可怕啊 … 影響範圍為openssl 1.0.1 至 1.0.1f / 1.0.2-beta版 ,已經修復此問題的版本:1.0.1g / 1.0.2-beta1

目前已知受影響的系統:

  • Debian Wheezy (stable), OpenSSL 1.0.1e-2+deb7u4
  • Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11
  • CentOS 6.5, OpenSSL 1.0.1e-15
  • Fedora 18, OpenSSL 1.0.1e-4
  • OpenBSD 5.3 (OpenSSL 1.0.1c 10 May 2012) and 5.4 (OpenSSL 1.0.1c 10 May 2012)
  • FreeBSD 8.4 (OpenSSL 1.0.1e) and 9.1 (OpenSSL 1.0.1c)
  • NetBSD 5.0.2 (OpenSSL 1.0.1e)
  • OpenSUSE 12.2 (OpenSSL 1.0.1c)

然後這邊有測試工具: Heartbleed test,程式是丟在Github上,有興趣/時間的話可以來看看 … domain打進去就可以幫忙測試了,不過有些網站只有特定頁面才能https的話好像沒辦法測

檢測出來本站未受影響,不過手上在管的其他網站就有暴露風險了,另外有沒檢測到風險的幾台系統,不過因為openssl都有做更新,也一並更新上去

然後Debian更新完後是建議要直接重開機器,因為怕有些需用到openssl服務的應用重啟時被遺漏或有其他狀況,所以 … 我就乖乖重開了(反正沒跑什麼太重要的東西 :P )

重開之後就發現另一個好玩的故事了,寫在下一篇XD

把 FreeBSD 9.1 的套件管理機制從 pkg 轉到 pkgng

pkgng 是 FreeBSD 10.0 開始才有的套件管理機制

有鑑於 FreeBSD 9.1 上的 “pkg_install EOL is scheduled for 2014-09-01” 訊息不斷跳出來提醒 …

終於決定開始著手轉換至新的套件管理機制

方法參照:5.4. Using pkgng for Binary Package Management

FreeBSD 8.4 以後的版本可以直接執行(更早的版本需手動安裝ports-mgmt/pkg):
/usr/sbin/pkg

然後會出現:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]:

當然就回答 y 繼續
閱讀全文

透過 notepad++ 將程式原始碼上色

notepad++ 是一套在 Windows 平台上非常好用且強大的純文字編輯編輯軟體 (透過 Wine 在 Linux 底下跑也是OK的!),基本上我已經用它來取代內建的記事本很久了,編碼或是換行符號的轉換以及效能上的表現都非常優異 (如果你用內建記事本就知道大一點的文字檔案肯定CPU吃滿然後當掉…),而且支援上色(highlight) 的程式語言種類非常多,根據維基百科以及官網上的作者頁面,開發者侯今吾前輩是台灣之光無誤。

回到正題 … 今天才發現原來 notepad++ 有內建一個叫做 NppExport 的外掛(英文為plugin,插件是對岸的用法),這個外掛可以支援把已經經過 notepad++ 上色過的程式碼輸出成 RTF 或 HTML,甚至是直接輸出到剪貼簿!如此一來,即便要在 Powerpoint 、 Word 或是網路論壇等等沒有支援程式碼上色的地方中貼程式碼,也可以擁有漂亮的顏色了,主要是可讀性較佳,而透過這個功能、從此不必再手動幫程式碼上色了

使用方法很簡單,在文件上面按右鍵,選擇 “Plugin commands” -> “Copy Text with Syntax Highlighting”,就會把整份文件上色的結果複製到剪貼簿了,在到其他支援顏色的編輯器貼上即可,也可以只選擇特定一段程式碼,反白之後在做同樣的動作,就只會轉換跟複製那一段程式碼,另外RTF跟HTML的轉換功能在上方選單”外掛模組” -> “NppExport” 裡面,目前使用的v6.5.5這部分選項都還是英文的,不知道未來會不會進行中文化 (外掛本身的選項可能要靠外掛的作者, 不知道 notepad++ 有沒有支援外掛的多國語系功能就是了),反正不影響使用,抓幾張圖記錄一下:

notepad++

word_with_highlight
太讚啦!