10/04/2010

如何手動將 Client 電腦加入 WSUS 伺服器

今日重灌了幾台電腦,其實照理來說,加入Domain,就會自動加入WSUS(如有架設的話),不過,課長用的那幾台就一直沒有反應。
以下就是手動加入的方法:
建立了WSUS主機如何讓客戶端加入WSUS的更新清單:
1.Windows 2003(微軟白皮書的步驟)
a)
[群組原則物件編輯器] 中,依序展開 [電腦設定][系統管理範本][Windows 元件],再按 [Windows Update]
b)
在詳細資料窗格中連按兩下 [指定內部網路 Microsoft 更新服務的位置]
c)
按一下 [已啟用],並在 [設定內部網路更新服務來偵測更新] 方塊及 [設定內部網路統計數字伺服器] 方塊中,輸入相同 WSUS 伺服器的 HTTP URL。例如,在兩個方塊中輸入 http://servername
d)
按一下 [確定]
如果您使用本機群組原則物件將此電腦指向 WSUS,這個設定會立刻生效,且大概在 20 分鐘後,這部電腦會出現在 WSUS 系統管理主控台中。您可手動初始化偵測週期來加速這項程序。
2.Windows XP
Vista
將下方的文字存成WSUS.reg的檔名:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"ElevateNonAdmins"=dword:00000001
"WUServer"=http://192.168.1.20
"WUStatusServer"=http://192.168.1.20
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"RescheduleWaitTime"=dword:00000005
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
"NoAutoUpdate"=dword:00000000
"ScheduledInstallDay"=dword:00000000
"ScheduledInstallTime"=dword:00000009
"UseWUServer"=dword:00000001
然後執行WSUS.reg即可。
最後可以使用下列指令,在命令提示字元中輸入,或存成 WSUS.BAT 檔名,方便未來其他新電腦加入時使用:
gpupdate /force
wuauclt /detectnow /reportnow
pause
大約幾分鐘後就可以在右下角看到黃色盾牌了。
PS:如果是用 windows 2000 pro/server 。要改成
secedit /refreshpolicy machine_policy /enforce
wuauclt /detectnow
 
參考網站
WSUS的Client端設定

如何在Ubuntu-Server上安裝Desktop

如何在Ubuntu-Server上安裝Desktop
 
【用到的相關指令】
Ifconfig          主要是看網卡的設定
Ping             ICMP的測試
Route           檢查路徑的指令
/etc/init.d/network restart 從新啟動網卡設定
Apt-get update(install)    軟件控件的指令
 
【用到的相關檔案】
/etc/resolv.conf      Name Server的設定
/etc/network/interfaces  網卡的相關設定
/etc/apt/sources.list   Update的伺服機項目設定
 
【更新步驟】
一、安裝完之後,需要先做網路的基本設定。
詳細說明:
1.先確定是ADSL or DHCP,因為我這邊是DHCP的,所以就直接進入/etc/network/interfaces來修改。
Auto lo
Iface lo inet loopback
Auto eth0
Iface eth0 inet static #(固定IP)
   Address 192.168.0.2
   Netmask 255.255.255.0
   Network 192.168.0.0
   Gateway 192.168.0.254
補充:
Device Naming Overview
Network Device
Internal or External Network
Description
eth0
External
Network adapter connected to an external network (your broadband connection)
eth1
Internal
Network adapter connected to a hub or switch
wlan0
Internal
Wireless network adapter
br0
Internal
Network bridge between eth1 and wlan0 that will treat the two like one device
 
2.在去/etc/resolv.conf新增相關的Name Server
nameserver 168.95.1.1
nameserver 168.95.192.1
3.在至/etc/apt/sources.list增加預要新增的更新伺服位址
#外加了
Dep http://ftp.twaren.net/Linux/Ubuntu/ubuntu/ hardy main universe restricted multiverse
Deb-src http://ftp.twaren.net/Linux/Ubuntu/ubuntu/ hardy main universe restricted multiverse
  4#/etc/init.d/network restart
  5# Apt-get update
  6#Apt-get install Ubuntu-Desktop
接下來就會是很長的下載與安裝的部份了。
     7.#startx //即可進入

參考之網頁:
一、Ubuntu Server Guide
二、【Desktop】X Windows @ Ubuntu Server

How to Install LIU in SCIM in Ubuntu

安裝 Liu in SCIM
 
=========
#sudo apt-get install scim
#wget http://cle.linux.org.tw/~edt1023/gcin/noseeing-8.tar.gz
#tar -zxvf noseeing-8.tar.gz
#gedit noseeing.cin
=========

置換第 1 行到第 39 行成以下:
=========
SCIM_Generic_Table_Phrase_Library_TEXT
VERSION_1_0
BEGIN_DEFINITION
UUID = 3d 872a 7a -760e -400c -8b23-688d38390e81
SERIAL_NUMBER = 20040922
ICON = /usr/share/scim/icons/liu5.png
NAME = Liu5
NAME.zh_CN =
嘸蝦米
NAME.zh_TW =
嘸蝦米
NAME.zh_HK =
嘸蝦米
LANGUAGES = zh_TW,zh_HK,zh_CN,zh_SG
STATUS_PROMPT =

AUTO_SELECT = FALSE
AUTO_WILDCARD = TRUE
AUTO_COMMIT = FALSE
AUTO_SPLIT = TRUE
DYNAMIC_ADJUST = TRUE
AUTO_FILL = FALSE
ALWAYS_SHOW_LOOKUP = TRUE
DEF_FULL_WIDTH_PUNCT = TRUE
DEF_FULL_WIDTH_LETTER = FALSE
MAX_KEY_LENGTH = 4
VALID_INPUT_CHARS = ,.'abcdefghijklmnopqrstuvwxyz[]
SINGLE_WILDCARD_CHAR = ?
MULTI_WILDCARD_CHAR = *
SPLIT_KEYS = space
COMMIT_KEYS = space
FORWARD_KEYS = Return
SELECT_KEYS = space,2,3,4,5,6,7,8,9,0
### The key strokes to page up the lookup table.
PAGE_UP_KEYS = Page_Up
PAGE_DOWN_KEYS = Page_Down,space
END_DEFINITION
BEGIN_TABLE
=========

將最後一行置換成以下:
=========
END_TABLE
=========

儲存並離開,以此表格建立 scim 使用的二元檔。
=========
#scim-make-table noseeing.cin -b -o liu5.bin
=========

到此算是完成最重要的 liu5.bin
開啟 SCIM 輸入法設定視窗
輸入法引擎 -> 泛用對照表 -> 管理對照表 -> 安裝 -> 選取檔案
選取剛剛建立好的 liu5.bin 吧!
確定!!

重新登入,開啟文字編輯器,切換 SCIM 輸入法
參考網頁:
Ubuntu與中文

How to Exchang SCIM and GCIN in Ubuntu

安裝完SCIM後,突然發現GCIN沒辦法使用。
網路上查了一下,是¨優先權¨的問題
可以使用im-switch指令來做更換,如此就不需要將相對應的程式移除掉。


一.首先,當然要安裝這個套件
#
apt-get install im-switch
//當然也可以先做查詢
//dpkg-query -l | less 在查相關的字首

二.以 gcin 為例,在 /etc/X11/xinit/xinput.d 裡面建立一個 gcin 文字檔,內容如下:
=========
XIM=gcin
XIM_PROGRAM=/usr/bin/gcin
XIM_ARGS=
GTK_IM_MODULE=gcin
DEPENDS=
=========

三.再來就可以直接下
#im-switch -z zh_TW -s gcin
//要先確定LANG是zh_TW,可以在 /etc/environment 裡加入 LANG=zh_TW 或 LC_CTYPE=zh_TW
//如此以後登入環境都可以是繁體中文

補充說明:
=========

im-switch 這個新指令可以讓使用者選擇自己喜愛的輸入法引擎。
要列出現時支援的輸入法引擎可以打:
im-switch -l
然後你可以用"im-switch -s imengine"選擇你喜愛的輸入法引擎,例如:
$ im-switch -s gcin
這個指令會為你在 ~/.xinput.d 建立一個連結(symbolic link),
令你以後進入X時都會自動啟動gcin成為你的輸入法引擎。
如果你在root帳戶輸入上面的指令,
你設定的就不是用戶root的輸入法引擎,
而是整個系統的輸入法引擎了。
你可以加入 -z 選項設定不同語系(locale)的語系。例如:
# im-switch -z zh_TW -s gcin



=========

四.接下來重新登入就可以使用 gcin 啦!!

參考網頁

Debian_packages/im-switch
摩托學園討論區_im-switch

有關MYSQL雙授權在使用上的問題

最近針對MySql的授權做了一點詢問,得到很大的幫助。

首先大家都知道MySql是「雙授權模式」
分為
(1)依據 GNU-GPL 的方式發佈與授權,則可以免費的使用 MySQL。
MySQL Open Source License

(2)若為商業使用:
不願意公開您所開發的source code,不願意依據 GNU GPL的方式發佈與授權的話
就要以 commercial non-GNU 的方式授權。

MySQL Commercial License


其實,在下載使用MySql的時候,如果就是主打以GPL的模式來使用的話,那就可以自由的下載並使用
並無需任何證明
如需要證使當初是以GPL的Model來使用的話,那只要提出證明
是遵照GPL授權模式使用MySQL軟體的外顯行為。

因為GPL授權的軟體還是有它的運用規則,如果逾越了這些預設的使用規則
還是會被判定是「逾越原授權範圍」而被認定為「侵權行為」

像是如果散布您所修改過的MySQL軟體,卻不提供修改過後的程式原始碼給收受程式的後手
就可能會被認定是一個不遵守GPL授權條款預設規則的逾權行為。


至於疑問就是,何為無「侵權行為」呢?
因為,GPL並不禁止軟體在商業上使用,但義務性規定中最重要的就是
「再散布這些GPL2授權程式時,要提供後手程式原始碼」
GPL程式提供程式原始碼的義務是「從散布行為開始」。


解釋一下,再散布的意思,也就是說,持有GPL授權程式的甲方,如果他將這個GPL程式的目的碼散布給乙方

那乙方就可以一併要求甲也要提供程式原始碼,但是如果甲方自始就不散布這個GPL程式
那麼原則上並沒有任何人可以向甲要求其所持有的GPL程式原始碼

就算甲方修改了他手上持有的GPL授權程式,只要甲不散布這個修改過後的GPL程式
那甲就不用把這些修改過的程式原始碼提供給任何人。

因此,重點就在於,程式碼有沒有傳遞(Convey)到客戶的手上

眾所皆知Google的搜尋引擎是架在Linux系統下運轉的伺服器之上

Linux Kernel是採GPL2.0的方式授權
照理來說Google的搜尋引擎也很有可能與Linux Kernel緊密結合而會視為整體GPL授權專案的一環,

但卻從來不見Google釋出其搜尋引擎的程式原始碼
最大的原因就在於Google自始並未將搜尋引擎的程式碼傳遞到搜尋功能的使用者手上,

只是透過網路遠距服務(Application Service Provider, ASP)來使用Goolg的搜尋服務,並不被視為程式碼傳遞的行為之一
從而不會啟動GPL授權條款中「散布GPL程式目的碼時,後手得向散布者要求同時提供程式原始碼」這個義務性規定。

但有點需注意,因MySQL有其註冊商標(Trademark),所以商用使用但不欲另行付費予MySQL商業代表公司者
需注意:
(1)所散布的資料庫系統不得內含MySQL的註冊商標,否則會有被MySQL商業代表公司指稱「侵犯商標權」的風險

(2)不得使用MySQL的註冊商標為其商業服務行為進行廣告宣傳,此行為亦為廣義「侵犯商標權」利用行為之一環


模擬情境:
一、
公司內如果預架設一Web Server(僅供公司內部(區域網域)使用而已,並無開放至廣域網域上)
選擇是Linux Server(by Ubuntu)
本身Server就含有Mysql的套件
至於Web選擇為Xoops

答案是符合的,GPL2授權方式「並不禁止商業利用」
拿到GPL2授權軟體的人可以大大方方的將其利用在商業營利上

只是同時也要被要求遵守GPL2授權條款帶來的其它義務性規定
這些義務性規定中最重要的就是「再散布這些GPL2授權程式時

要提供後手程式原始碼」,那麼如果貴公司只在內部利用MySQL的話
那並不會被認為是「散布GPL2程式的行為」
當然、也就沒有需要提供程式原始碼給誰的問題了。

參考網頁
Licenses_Free Software
自由軟體鑄造場

如何將Windows的資料夾Mount至Linux上

如何將Windows的資料夾MountLinux上:
因為Windows下的網路芳鄰是採用CIFS的檔案格式
所以在
Linux下做掛載Windows
所分享出來的資料夾時
需要將檔案格式加上至
mount
的參數之後。
一、
手動mount如下
Mount –t cifs //server /mount_path -o username=user,password=password,domain=domain_name

二、
如果想要一開始Boot的時候,就自動掛載至系統內,就需要搭配fstab的使用。
Fstab的格式如下

# Device Mount point filesystem parameters dump fsck

//server /mount_path cifs users,auto,username=user,password=password,workgroup=domain16 0 0

三、

也可以使用credentials的方式來將usernamepassword的資料隱藏起來

以下為使用之方式

//server /mount_path cifs users,auto,credentials=/path/filename ,workgroup=domain16 0 0

credentials的檔案格式為
Username=user
Password=password



**注意,等號前後不能有空格,可能是因為截取的方式

會將wthitespace也看成一個字元,就會出現如下的問題:

”mount error 13 = Permission denied “
log底下(syslog)也可以清楚的看到
“Status code returned 0xc000089d NT_STATUS_LOGON_FAILURE
  CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13”

 
所以當你完成之後,可以對此檔案放至於一個安全的地方,並設定相當的權限

已防止密碼外洩,通常我都會將此檔用成/root/.filename 使之為隱藏檔。





參考文獻:

一、鳥哥-Linux磁碟與檔案系統管理

二、Mount.cifs(8)-Linux man Page

三、Bug#455479

檔案檢查 搭配 Mail通知(BY VBS)~~主程式介紹

目的
  最近公司外商的資料要轉入,商討之下,讓對方使用FTP上傳資料,因為是晚上十一點過後了,要等到這時候檢查對方是否有上傳成功,我看有點困難,科技使終來自人性是吧,所以寫了以下的VBS
架構

程式
DOS::
@echo off
REM 設定檔案名稱
set Sa=SA%date:~2,2%%date:~5,2%%date:~8,2%_0016.txt
set e1=e1%date:~2,2%%date:~5,2%%date:~8,2%_0016.txt
set et=et%date:~2,2%%date:~5,2%%date:~8,2%_0016.txt
set ep=ep%date:~2,2%%date:~5,2%%date:~8,2%_0016.txt
set ef=ef%date:~2,2%%date:~5,2%%date:~8,2%_0016.txt
REM 呼叫VBS程式,後面給序參數
cscript do_File_Check.vbs %saj% %e01% %eti% %epi% %efi%
if %ERRORLEVEL% EQU 0 goto End
if %ERRORLEVEL% EQU 1 goto Mail
:Mail
cscript do_Mail_Send.vbs
goto End
:End
 
VBS::
do_File_Check.vbs
Dim conf_file(5),conf_file_path(5),check_File_Add
Dim flag,MainPath,file_name,Newfso,fso
flag=0
today = Date
name = Year(Today) & Month(Today) & Day(Today)
'呼叫副函式
call Pathset
'建立物件(針對檔案處理的物件)
Set fso=CreateObject("Scripting.FileSystemObject")
'建立檔案
file_name = MainPath & name & ".txt"
Set Newfso = fso.CreateTextFile(file_name,True)
call Filexit
'關閉檔案
Newfso.Close
If flag=0 Then
        fso.DeleteFile file_name
        WScript.Quit 0
else
        WScript.Quit 1
end if
Set fso = Nothing
 
sub Pathset
'DOS上傳來的參數放入Arry
Set cmdArray = WScript.Arguments
'此是取得此檔案的完整路徑+檔名
ScriptFullName = WScript.ScriptFullName
'此是取得此檔案的檔名
ScriptName = WScript.ScriptName
'此是將完整路徑和檔名分開,僅取用完整路徑即可
MainPath = Replace(ScriptFullName,ScriptName,"")
i=0
Do While i < 5
'一一的將完整路徑+傳入的參數存入陣列當中
   conf_file_path(i) = MainPath & cmdArray(i)
   i=i+1
Loop
end sub
sub Filexit
Newfso.WriteLine("以下為" & name & "時,沒有傳上來的檔案:")
i=0
Do While i < 5
'檢查檔案是否存在
If Not fso.FileExists(conf_file_path(i)) Then
        'WScript.echo "[" & conf_file(i) & "] not found."
        Newfso.WriteLine("[" & conf_file(i) & "] not found.")
        flag=1
end if
i=i+1
Loop
end sub

do_Mail_Send.vbs
dim flag,ScriptFullName,ScriptName,MainPath,file_name
today = Date
name = Year(Today) & Month(Today) & Day(Today)
set Fso = createobject("Scripting.FileSystemObject")
call Pathset
if not fso.FileExists(file_name) then
   flag = 0
   call sendmail
Else
   flag = 1
   call sendmail
end if

sub Pathset
ScriptFullName = WScript.ScriptFullName
ScriptName = WScript.ScriptName
MainPath = Replace(ScriptFullName,ScriptName,"")
file_name = MainPath & name & ".txt"
end sub

sub sendmail

'建立CDO的物件
   set msg = WScript.CreateObject("CDO.Message")
'
以下為CDO的參數值
   msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
   msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
   msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SMTP Server"
   msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
   msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "User"
   msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Password"
   'msg.Configuration.Fields.Item(schema & "smtpusessl") = 1
   msg.From = "Sender name"
   msg.To = "Receiver mail"
   msg.Subject = "轉檔失敗"

   if flag = 1 then
      msg.TextBody = "如附件。(測試信件)"
'可附件附件檔
      msg.AddAttachment file_name
   else
      msg.TextBody = "轉檔失敗,但並沒有產生錯誤文件,需檢查問題。"
   end if

   msg.Configuration.Fields.Update
   msg.Send
end sub

補充說明
檔案檢查 搭配 Mail通知(BY VBS)的詳細解譯...《cooming soon》...