2005年1月31日 星期一

關於 perl 後來的解決方式

perl 真討厭 一文中提到,我們的 perl 在編譯上一直出現問題,網路上出現的解也都不能用。我甚至祭出絕招 pkg_delete *,全部重來也還是不行。


我後來的解決方式是,先用 package 安裝 perl 5.8.5,這樣裝起來的 perl 一樣是不能用的,但至少裝起來了。

然後使用 perl 的 src tarball,安裝 5.8.6 (比 ports 的還新,是目前 perl 的最新 stable 版本),裝起來之後,會把 5.8.5 的版本覆蓋過去,大部分的 ports 還是會去找 5.8.2,我是直接用 symbol link 連結 /usr/local/bin/perl 和 /usr/local/bin/perl.5.8.2 都連結到 /usr/local/bin/perl.5.8.6。

目前看起來都還蠻正常的...

libintl.c not found

Student 主機我已經重新建立好 Mail Server (SMTP) 了,其他的東西正一點一點重建當中。
Apache2 安裝的時候出現問題,是因為 gettext 的 libintl 找不到。

網路上的解是這樣:

[[MORE]]

安装 ports 出现 Shared object libintl.so.X not found 的错误讯息

Shared object "libintl.so.4" 或 (libc.so.4) not found

問題敘述:
近來的FreeBSD版本,常常在安裝某些軟體時,會出現類似的失敗畫面
並且告訴你缺乏 libintl.so.4或是 libc.so.4 這個函式.

Shared object "libc.so.4" not found
如下圖:是近來版本安裝某些程式問題時常見的問題,缺少 libc.so.4 函式.


問題分析:
提到libc.so函式 首先想到的是與 linux 程式相關共享函式庫.
FreeBSD在讀取相關函式前,首先會在 /compat/linux 資料夾中尋找;
然後若找不到則會嘗試搜尋 /lib 資料夾.

以 libc.so 函式為例,會先尋找/compat/linux/lib/libc.so ;
其次才是/lib/libc.so .

簡單的解決方式:


Shared object "libintl.so.4" not found
跟 libc.so 函式一樣 也是在安裝某些軟體就會出現錯誤畫面.

問題分析:
libintl.so 函式是安裝 /usr/port/devel/gettext/ 程式後取得.
理論上來說 目前版本的相關函數是 libintl.so.5 為何還要去讀取舊的 libintl.so.4 版本.

當你在安裝gmake時,gmake會去連結安裝gmake當時的libinl.so的版本,是version 4.
也就是 libintl.so.4

當你更新過相關的ports (devel/gettext) 將會用 libintl.so.5 取代 libintl.so.4
除非你能取得先前某些系統保留舊有的 libintl.so.4 否則就會出現安裝失敗
狀況.

很可惜的是...有很多程式需要 gettext 函式.
你可以用 cd /usr/ports/ ; make search key="gettext" | more 查詢
為什麼要加上more 因為太多怕你看到昏頭...QQ

問題解決:
要解決這個問題 你可以透過重新建立所有與 gettext 相關的ports程式.

# portupgrade -fr gettext
重新建立或重新安裝所有與 gettext相關連的程式,
若你忘掉了 請參閱 更新ports/升級系統 > portupgrade 軟體更新

或是簡單的用偷吃步 把*目前版本*link過去..QQ (版本6..類推)


然後就可以順利進行程式安裝.

2005年1月28日 星期五

2005年1月20日 星期四

perl 真討厭

學生主機發生編譯 perl 的錯誤:

/usr/libexec/ld-elf.so.1: /usr/local/bin/perl5.8.2: Undefined symbol "PL_exit_flags"

無法解決,真討厭。

2005年1月14日 星期五

校務系統修復

校務行政系統主機發生不明原因的系統檔遺失,導致無法開機。
該主機使用 PIII 的主機搭配 Windows 2000 Server,因為一時找不到 Windows 2000 server 的開機光碟,所以費時較久。
主機上有兩個 SCSI 硬碟,但 W2k 的光碟不認得該 SCSI 裝置,因此必須裝驅動程式,它的型號是 SCSI DC-390U3W,理論上在Tekram官方網站上找到的應該就是了,結果竟然是有問題的。後來膜拜萬能的 Google 大神之後,在 http://radified.com/Files/rad_files.htm找到了 DC-390U3W 的 SCSI 卡驅動程式,才得以順利安裝。

本救援動作費時兩天,還順手幫甘台樂裝好一台 PC 搭配 Windows XP 的英文版。(重點是英文會話比較麻煩)

2005年1月12日 星期三

伺服主機新增功能

目前決定把原有的 PIII 主機打入冷宮,現在所有的服務由新主機來提供。

新增 dhcpd、postfix、proftpd 暫時看來一切正常。

2005年1月11日 星期二

Kwiki 的相關細節

在 FreeBSD 下安裝 Kwiki 有兩個選擇,分別是

/usr/ports/www/p5-Kwiki
/usr/ports/www/p5-CGI-Kwiki

我原本使用 p5-CGI-Kwiki 安裝,它的好處是,有參照到 (depend) 的其他 ports 較少,而且裝完馬上就可以用。可是擴充性有點小問題,也許是我不瞭解 perl 吧。

但現在改用 p5-Kwiki 裝,如果需要其它的 plug-in,也都可以從 port 中選擇。

只要這個指令就可以將一個新的 kwiki 裝起來:

kwiki -new cgi-bin/my-kwiki

[[MORE]]

但裝起來之後什麼都沒有,連 NewPage 都沒有。

我先 cd /usr/ports/www/p5-Kwiki-plugins ; make install 就會裝好一些常用的 plug-in

然後,我增加了幾樣東西:

cd cgi-bin/my-kwiki
kwiki -add Kwiki::Archive::Rcs
kwiki -add Kwiki::NewPage
kwiki -add Kwiki::RecentChanges
kwiki -add Kwiki::Revisions
kwiki -add Kwiki::Search
kwiki -add Kwiki::UserName
kwiki -add Kwiki::UserPreferences

2005年1月7日 星期五

網址 shshs.info

一年前我看到 shsh.org 這個網址的時候很想買,於是建議學校買下,但當時他們說多此一舉,所以沒答應,擱著擱著網址就被韓國人買走了。

後來看到 shsh.info 也很想買,考慮再三,還是沒買下,又被買走了。
現在看到 shshs.info 決定還是買下來。第一年才一歐元,也就是台幣三十幾元,算還蠻便宜的。

http://shshs.info 可以連到正心喔!

Wiki 復站

Ok! 咱們的共同筆記 Wiki已經復站了。

咱們 Wiki 原本的 Tavi Wiki 無法升級到 Apache2 、PHP5 加 MySQL4,我暫時不想花那麼多時間 trace 程式碼,所以乾脆直接轉換到目前大家最推薦的版本 Kwiki,轉換程式是我自己寫的,恐有部分不太完整,所以會有很多地方怪怪的(因為語法不同),只好慢慢靠大家一起修正囉。

如果想要升級 Tavi 到 kwiki,我有已經寫好的 php 程式,請來信索取。

2005年1月6日 星期四

今日工作


  • 在教師網路郵局中加入所有行政人員的通訊錄。

  • 正在轉移舊有 Wiki 上的資料到 kwiki 上面。希望能早日恢復 wiki 的功能。

2005年1月5日 星期三

proftpd 安裝完成後出現錯誤

如果裝完後無法啟動,檢查 /var/log/messages 發現以下錯誤訊息:

error opening scoreboard: No such file or directory

解決方法:

  • 手動建立目錄 /var/run/proftpd

  • 修改 /usr/local/etc/proftpd.conf,加入一行:
    ScoreboardFile /var/run/proftpd.scoreboard

samba3 的特異之處

資源回收筒

其他補充:
Samba2: 讓Win2k pro/svr/xp-pro 登入Samba網域

[FreeBSD] Install Samba 3

cd /usr/ports/net/samba3 ; make install clean

....

[[MORE]]
Starting from Samba 3.0.3 this port doesn't create 'smbpasswd' file
automatically. Users are encouraged to use 'tdbsam' backend instead:

[global]
passdb backend = tdbsam, smbpasswd

You can use pdbedit to migrate accounts from 'smbpasswd' to 'tdbsam',
see the Samba-HOWTO-Collection.

You still can create 'smbpasswd' file with the supplied 'make_smbpasswd'
script:

cat /etc/passwd | grep -v "^#" | make_smbpasswd > smbpasswd
chmod 600 smbpasswd

But the usage of it is deprecated.
------------------------------------------------------------------------------
NOTICE: *.tdb files have been moved from /var/run/samba/ to /var/db/samba/!
NOTICE: Please, move them manually, if necessary, at least winbind_*.tdb.
******************************************************************************
===> Compressing manual pages for samba-3.0.10,1
===> Registering installation for samba-3.0.10,1
===> SECURITY REPORT:
This port has installed the following files which may act as network
servers and may therefore pose a remote security risk to the system.
/usr/local/bin/smbspool
/usr/local/bin/smbtree
/usr/local/bin/smbcontrol
/usr/local/bin/nmblookup
/usr/local/bin/testparm
/usr/local/lib/pam_smbpass.so
/usr/local/bin/smbstatus
/usr/local/bin/pdbedit
/usr/local/bin/net
/usr/local/bin/testprns
/usr/local/bin/smbcacls
/usr/local/bin/smbclient
/usr/local/sbin/swat
/usr/local/sbin/nmbd
/usr/local/bin/rpcclient
/usr/local/bin/ntlm_auth
/usr/local/sbin/smbd
/usr/local/bin/smbpasswd
/usr/local/bin/smbcquotas

This port has installed the following startup scripts which may cause
these network services to be started at boot time.
/usr/local/etc/rc.d/samba.sh

If there are vulnerabilities in these programs there may be a security
risk to the system. FreeBSD makes no guarantee about the security of
ports included in the Ports Collection. Please type 'make deinstall'
to deinstall the port if this is a concern.

For more information, and contact details about the security
status of this software, see the following webpage:
http://www.samba.org/



Reference:

2005年1月4日 星期二

No IE Information Bar

Just Another Wiki - No IE Information Bar

這個網站作者提供了一個寫好的元件,可以插入到你的網頁裡面,每當有人使用 IE 連到你的網站,就可以彈出安全訊息通知列,告訴你說 IE 是不安全的,請趕快換一個瀏覽器吧!

參考網站: http://browsehappy.com/
繁體中文版可以在這裡找到說明: Jedi 以彼之道,還施彼身

2005年1月3日 星期一

太強了! Kwiki!

Kwiki 安裝方式:

# cd /usr/ports/www/p5-CGI-Kwiki
# make install

$ mkdir cgi-bin/my-kwiki
$ cd cgi-bin/my-kwiki

Next execute kwiki-install script:

$ kwiki-install

Finally remember to point your browser at required location.

[[MORE]]

kwiki-install --upgrade

這個指令會把組態檔案跟被修改過的頁面外,所有的檔案都加以升級。另外還有其她的升級選項:

--reinstall - 所有的檔案都升級,也包括了組態檔案。
--config - 升級組態檔案。妳將會移師所有本地端的設定!
--scripts - 祇升級 cgi 腳本。
--pages - 祇升級預設的快紀頁面,除非該頁面已被使用者變更過了。
--template - 祇升級模版。
--javascript - 祇升級 javascript 。
--style - 祇升級 css 樣式表。


如果要減少麻煩的話,應該將 kwiki 裝在 cgi-bin 目錄之中,或者額外對該目錄作進一步的設定 (httpd.conf):

〈directory /home/www/scripts/wiki〉
Allow from all
AllowOverride None
Options ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex index.cgi index.html
〈/directory〉


參考資料:
http://www.1313s.com/f/Kwiki.html
http://www.kwiki.org/?KwikiPluginList