高見龍

iOS app/Ruby/Rails Developer & Instructor, 喜愛非主流的新玩具 :)

方便的套件更新程式-Yum

之前有提到在linux上,常常會有安裝軟體A之前,需要安裝軟體B的問題,稱之為相依性(dependency),要解決相依性的問題,除了之前提到的APT外,Yum也是個很好用的工具。

以下以CentOS4為例:

使用方法:

Step 1.匯入GPG-KEY:

http://mirror.centos.org/centos/,找到適合版本的GPG-KEY

> rpm –import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4

Step 2.修改/etc/yum.conf:

/etc/yum.conf這個檔案,可以設定要取用哪些RPM以及Yum伺服器的位置,可以選台比較近的Yum伺服器進行更新。

Step 3.操作

更新套件:

/usr/bin/yum update

如果要搜尋某個套件,可用

/usr/bin/yum search someRPM

如果要安裝某個套件,可用

/usr/bin/yum install someRPM

跟APT一樣,如果安裝A軟體需要B軟體,它會連帶把B軟體下載下來安裝之後,再繼續安裝你要的A軟體。

Sc-bytes extended logging property is 0 for ASP?

在用AWStats做流量統計時,發現只要是ASP的檔案,sc-bytes的都是0。後來才發現是Microsoft IIS的問題,在Microsoft找到答案: 解決方法有兩種:

  1. 從ASP程式下手。
  2. 或是從IIS下手。

解決方法一:

從IIS 5.0開始,Response.Buffer預設值是打開(True)的(IIS4的預設值是false),如果要在程式裡關掉它,則需要在程式裡加入:

Response.Buffer = false

解決方法二:

Step 1:打開Internet Service Manager

Step 2:選擇網站→內容→主目錄頁裡的「應用程式設定(Application Settings)」,點選「設定(Configuration)」

Step 3:選擇「應用程式選項(App Options)」頁面,不要勾選「啟用緩衝處理(Enable buffering)」。

這樣就會把預設的true關掉了,ASP的sc-bytes也就開始會有記錄了。

Reference:

Win32 gnu tools

跟cygwin不同的是,它是在Windows的native code,這樣一來,讓 Windows的command line模式變得好用多了。

網址:http://unxutils.sourceforge.net/

說明:

Here are some ports of common GNU utilities to native Win32. In this context, native means the executables do only depend on the Microsoft C-runtime (msvcrt.dll) and not an emulation layer like that provided by Cygwin tools. The following program versions are covered:

bc-1.05, bison-1.28, bzip2-1.0.2, diffutils-2.7, fileutils-3.16, findutils-4.1, flex-2.5.4, gawk-3.1.0, grep-2.4.2, gsar110, gzip-1.2.4, indent-2.2.9, jwhois-2.4.1, less-340, m4-1.4, make-3.78.1, patch-2.5, recode-3.6, rman-3.0.7, sed-3.02, shellutils-1.9.4, tar-1.12, textutils-2.1, unrar-3.00, wget-1.8.2, which-2.4

CentOS

RedHat宣布不再推出個人免費版本,並把原先RedHat9的相關技術,移至Fedora計劃,目前已推出到Fedora Core3;同時也針對高階伺服器市場推出Red Hat Enterprise Linux(RHEL)。RHEL有AS、ES及WS三種版本,AS是最高階的企業級伺服器,最多可以支援到16個CPU及64G的記憶體,WS則是桌面 工作站,ES則適用於一般中小型企業的社群級伺服器版本。當然,這個RHEL就是要收錢的(軟體費用及技術支援費用),可以參考一下這個網站或是RedHat官方網站的價錢。

CentOS : Community ENTerprise Operating System

有 個叫做CentOS的Linux版本,便是以RHEL為架構發展出來的,一樣秉持著Linux的自由精神,可免費下載使用。CentOS2、3聲稱與 RHEL2、3完全100%相容,日前CentOS已經推出第4個版本,本著RHEL的穩定性、支援高階伺服器硬體及低廉的軟體成本,以中、小型企業來 說,CentOS成為架設Linux伺服器的不錯的選擇之一。

當然,軟體免費,不等於Linux就是免費,技術服務不是免費的,所以企業在引進這樣的系統時,也得考量這方面成本。

國內ISO下載:ISO image Mirror Site

CentOS Official Website:http://www.centos.org/

參考資料:

http://linux.tnc.edu.tw/techdoc/eltoyou/eltoyou.html

Postfix的Relay Control

Postfix的Relay控制,是在/etc/postfix/main.cf裡面做設定,主要有四個部份:

  1. inet_interfaces
  2. mynetworks_style
  3. mynetworks
  4. relay_domains

inet_interfaces:

預設值是all,如果你的機器有多張網路卡,但又不想要全部都開放 relay,就可以指定只開放給某張網路卡。

mynetworks_style:

有三種型態:classsubnethost,預設值是subnet。

  • class是可以指定開放給A/B/C class的來源,這種設定方式滿冒險。
  • subnet代表你的機器的IP所在網域的任何一個IP都可以接受relay。(如果同一個subnet裡的機器多,要小心可能被當成垃圾信跳板)
  • host表示只會設定localhost為信任的網域而已。

mynetworks:

這可以設定成檔案的方式或是直接以IP/netmask來做設定。例如:

mynetworks=192.168.1.0/24, 127.0.0.0/8

而如果要用檔案方式:

mynetworks = 127.0.0.0/8, hash:/etc/postfix/access

記得postmap一下這個access檔。

注意:

  1. 如果沒有設定mynetworks的話,記得把mynetworks_style改成host,不然同一個子網域的IP都可以透過你的機器relay信件(當然如果所有子網域的使用者你都認識的話倒還ok)
  2. 如果有設定 mynetworks_style 以及 mynetwork 時,mynetworks的設定會取代掉mynetworks_style。

relay_domains:

可以一次指定一個domain來開放relay。例如:

relay_domains = eddie.com.tw

這樣的設定是代表所有由eddie.com.tw這個domain來的信件都會被當做可信任的,postfix會幫忙relay。但要注意的是,由「任何地方」來的信件,並且要寄往eddie.com.tw網域的信件,postfix也會幫忙Relay。

詳細設定在/etc/postfix/main.cf裡有說明。

Hinet廣告信跳板測試:http://lcss.hinet.net/antispam/or_check.pl