星期三, 5月 30, 2007

Open SUSE 安裝來源

之前有加入packman的安裝來源來更新
但是由於安裝來源是德國的主站
故一直覺得速度很慢
參考 Open SuSE的FAQ
http://en.opensuse.org/Users_FAQ#Package_Sources.2FRepositories

找到相關的套件來源
http://opensuse-community.org/Package_Sources

在Packman套件來源的說明
http://opensuse-community.org/Package_Sources/Packman

United States

選了美國的mirror站
果然速度有快了一點


下次想找台灣的mirror站

sshd 使用key驗證, 不允許密碼驗證

在使用ssh來做遠端管理
大部分的方式會在/etc/hosts.allow, 以及/etc/hosts.deny來設定特定ip可以存取ssh

但是如果不想使用/etc/hosts.allow或是 /etc/hosts.deny 來限制IP存取
可以使用key驗證加上拒絕使用密碼驗證來代替
作法
1.在client產生 公鑰及私鑰利用
#ssh-keygen -d
會在~/.ssh/建立兩把key
[max@localhost .ssh]$ ls
id_dsa id_dsa.pub

將public key 複製到對方的機器並命名為authorized_keys
$scp id_dsa.pub 帳號@主機:/home/帳號/.ssh/authorized_keys

嘗試連結到對方主機
$ssh 對方主機的ip
應該不需要驗證密碼

2.在server 上面修改sshd 的設定
#vi /etc/ssh/sshd_config

PermitRootLogin no
UsePAM no
PasswordAuthentication no

#service sshd restart

^^
這樣應該就會比較放心一點
^^

SWAP 標籤

在RHEL/Fedora core 3開始在SWAP 有標籤的方式出現
重點是在新的mkswap有 -L 的選項

NAME
mkswap - set up a Linux swap area

SYNOPSIS
mkswap [-c] [-vN] [-f] [-p PSZ] [-L label] device [size]

-L label
Specify a label, to allow swapon by label. (Only for new style swap areas.)

所以RedHat/Fedora 就在 /etc/fstab有LABEL=swap-hda7這樣的寫法出現
但是一定有人會問說
哪如何使用像 e2lable的指令查出swap的 LABEL名稱呢?
答案是使用 blkid

[root@localhost tmp]# whatis blkid
blkid (8) - command-line utility to locate/print block device attributes



可以使用
#blkid -s LABEL 來查看LABEL 的名稱

^^

星期日, 5月 13, 2007

SUSE Linux下Remote control 套件及方式

之前在RedHat/Fedora 之下的遠端管理都是透過
tsclient 搭配rdesktop or vnc
但是在OpenSUSE的軟體管理沒有看到tsclient這個套件

故在管理上選取了另外一個套件

kdenetwork3-vnc - Exporting of VNC and Connecting of VNC/RDP Sessions

This package contains tools for VNC/RDP usage:
KRfb - to allow remote access to your current desktop. krdc - a VNC/RDP client, it can discover remote VNC sessions via SLP or connect to manually specified rdp:// sessions.
KRfb allows to connect to kdm-VNC sessions or to provided desktops via KRfb.

有包含krdc這個套件來連接VNC
也可以用vncviewer這個套件來處理
但是還是比較習慣兩個都有

連接的方式為
#krdc
選取連接的server
例如
xx.xx.xx.xx:1
--> 連線
來連接, 雖然Listen的Port為5901但是非以 xx.xx.xx.xx:5901的方式來連接

或是
#vncviewer xx.xx.xx.xx:1
的方式來連接

^^
不太習慣用圖形介面來控管
sshd用習慣了, 所以要記下來一下^^

星期三, 5月 09, 2007

在Linux 環境下使用mplayer播放vmware 擷取的影片

在VMWare內有一個不錯的功能為 Capture Movie
可以錄下VMWare下面的操作畫面
但是需要安裝他的code
在Linux下面只要使用YUM 或是相關的套件管理程式安裝
ffmpeg 及 ffmpeg-devel
就可以直接使用mplayer 觀看錄下的影片
^^

星期四, 4月 26, 2007

SUSE Linux 下的 SAMBA 伺服器

SUSE Linux 下的 SAMBA 伺服器
基本上跟RedHat系列的設定差不多
只是預設分享的目錄有點不太一樣
RedHat 預設分享homes 及 printers兩個目錄
[root@localhost ~]# cat /etc/samba/smb.conf |grep '\[' | grep -v '^;' | grep -v '^#'

[global]
[homes]
[printers]

但是SUSE Linux 預設分享的資料夾比較多, 多了profiles users groups print$
故要注意安全性的問題
linux-lab:/etc/samba # cat smb.conf | grep '\['
[global]
[homes]
[profiles]
[users]
[groups]
[printers]
[print$]


上面的print$ 為印表機驅動程式的分享

若以samba來當PDC
可以直接用yast 來設定
Domain Controller 為Primary (PDC)
及設定workgroup 的名稱 (即網域名稱)
附註只要有跑過yast的設定來分享
那gobal的設定部份就會加上
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$

方便加入Windows的機器, 也就是說Windows的機器提出要求後, 系統會自動加入帳號, 非以往要手動建立帳號,
在RedHat那邊有此script 的設定, 只是註解起來

設定好PDC 之後, 相關性的設定會儲存在 /var/lib/samba
linux-lab:/var/lib/samba # pwd
/var/lib/samba

相關檔案如下
linux-lab:/var/lib/samba # ls
account_policy.tdb group_mapping.tdb ntprinters.tdb share_info.tdb
brlock.tdb locking.tdb perfmon unexpected.tdb
browse.dat messages.tdb printing usershares
connections.tdb netlogon profiles
drivers ntdrivers.tdb registry.tdb
gencache.tdb ntforms.tdb sessionid.tdb

觀察兩個目錄 profiles and netlogon
linux-lab:/var/lib/samba # ls profiles/
linux-lab:/var/lib/samba # ls netlogon/

Windows機器加入後會自動加入機器帳號
linux-lab:/var/lib/samba # tail -n 2 /etc/passwd
hacluster:x:90:90:heartbeat processes:/var/lib/heartbeat/cores/hacluster:/bin/false
student-max$:x:1001:100:Machine:/var/lib/nobody:/bin/false

Windows加入網域後,以linux 本機帳號登入後檢查
linux-lab:/var/lib/samba # ls profiles/
linux-lab:/var/lib/samba # ls netlogon/

登出 Windows機器後檢查
linux-lab:/var/lib/samba # ls profiles/
linux-lab:/var/lib/samba # ls netlogon/
還是沒有資料 ---------->這時候會發現與RedHat不同處

在RedHat系列,設定為
;[Profiles]
; path = /usr/local/samba/profiles
; browseable = no
; guest ok = yes

在SUSE Linux 設定為
[profiles]
comment = Network Profiles Service
path = %H
read only = No
store dos attributes = Yes
create mask = 0600
directory mask = 0700
其路徑在 %H
故存放的地點為 使用者家目錄下的 .msprofile 資料夾
故我們測試一下
在還沒使用 samba 服務登入Windows之前使用者家目錄
linux-lab:/home/max # ls
.bash_history .emacs .gnu-emacs .mozilla .urlview .xim.template Documents
.bashrc .exrc .inputrc .muttrc .xcoralrc .xinitrc.template bin
.dvipsrc .fonts .kermrc .profile .xemacs .xtalkrc public_html

登入Windows機器之後
linux-lab:/home/max # ls
.bash_history .exrc .kermrc .profile .xim.template bin
.bashrc .fonts .mozilla .urlview .xinitrc.template public_html
.dvipsrc .gnu-emacs .msprofile .xcoralrc .xtalkrc
.emacs .inputrc .muttrc .xemacs Documents
linux-lab:/home/max # ls .msprofile/

多了.msprofile資料夾,但是是空的,因為登出才會回存^^
在Windows機器上, 於我的文件新增一個資料夾sakana測試
登出Windows機器觀察

linux-lab:/home/max # ls .msprofile/
Application Data My Documents PrintHood Templates ntuser.ini ??????
Cookies NTUSER.DAT Recent UserData ntuser.pol
Favorites NetHood SendTo ntuser.dat.LOG ?????????????????????

linux-lab:/home/max # ls .msprofile/My\ Documents/
My Music My Pictures desktop.ini sakana

果然有回存到samba伺服器上面
^^

SUSE Linux 下的 NFS 伺服器

SUSE Linux 下的 NFS 伺服器
在SUSE Linux 下面
有nfs 和 nfsserver兩個daemon 於SUSE Linux下

但是啟動nfs 服務
是使用
#rcnfsserver start
來啟動nfs服務

但是要注意 rquotad 預設跟RedHat 系列不一樣
預設是沒有啟動
可用
#rpcinfo -p 127.0.0.1
觀察
如果要啟動rquotad
必須安裝
quota的套件
可用
#yast -i quota 來安裝

安裝完畢之後要啟動
#rcquotad start
# chkconfig quotad --list
quotad 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig quotad on
# chkconfig quotad --list
quotad 0:off 1:off 2:off 3:on 4:off 5:on 6:off

提到quota
如果開機要啟動quota
要在開機啟動boot.quota

預設是沒有啟動的
linux-lab:~ # chkconfig boot.quota --list
boot.quota 0:off 1:off 2:off 3:off 4:off 5:off 6:off

也非使用rcboot.quota來控制
linux-lab:~ # rcboot.quota status
-bash: rcboot.quota: command not found

如果chkconfig boot.quota --list 沒看到那就要使用insserv 這個指令加進來
linux-lab:~ # insserv boot.quota

可是還是跟rc的方式無關喔只是開機的時候要不要帶起來
linux-lab:~ # rcboot.quota status
-bash: rcboot.quota: command not found

下了insserv 這個指令就會把boot.quota帶起來
linux-lab:~ # chkconfig boot.quota --list
boot.quota 0:off 1:off 2:off 3:off 4:off 5:off 6:off B:on
上面那個B: on 代表 boot的時候會帶起來

可以使用chkconfig 來控制要不要帶起來
linux-lab:~ # chkconfig boot.quota off

linux-lab:~ # chkconfig boot.quota --list
boot.quota 0:off 1:off 2:off 3:off 4:off 5:off 6:off

linux-lab:~ # chkconfig boot.quota on
linux-lab:~ # chkconfig boot.quota --list
boot.quota 0:off 1:off 2:off 3:off 4:off 5:off 6:off B:on

********************************************************************
有關於autofs 設定檔的位置沒有太大的差異
但是對於timeout的寫法是有差異的

於RedHat 系列或是他的註解說明內
/misc /etc/auto.misc --timeout=60
但是這樣的寫法在SUSE Linux會有錯誤
Starting service automounter/usr/sbin/automount: option -t requires a numeric argument, got imeout

原因是timeout的寫法與註解及RedHat系列不一樣
故寫法為
#監控目錄 該目錄的設定檔 幾秒不用就Timeout
/misc /etc/auto.misc --timeout 60

沒有等於"="的寫法才是正確的

如果要設定全部的選項
可以去修改 /etc/sysconfig/autofs
AUTOFS_OPTIONS=""

啟動的方法一樣是
#rcautofs start

SUSE Linux 下的 DNS 伺服器

SUSE Linux 下的DNS 伺服器
預設Zone file擺放路徑為
/var/lib/named

跟RedHat系列擺放的 /var/named 有一點差異

預設也是有裝 bind-chrootenv
故zone會擺放在
/var/lib/named/var/lib/named

可參考 /etc/sysconfig/named
內有設定 NAMED_RUN_CHROOTED="yes"

另外在/etc/named.conf 裡面的設定
大多數是使用 include 的方式
其設定資料夾在 /etc/named.d 下
以及/etc/named.conf.include

其餘的部份與RedHat 相去不遠

星期三, 4月 25, 2007

SUSE Linux 下的 Log 機制

在SUSE Linux下面 log的機制
在SUSE Linux 使用syslog-ng 來取代傳統的syslogd
故沒有慣用的/etc/syslog.conf 來設定log機制

預設的syslog-ng的設定檔
在/etc/syslog-ng/syslog-ng.conf.in
(修改上述的檔案)


如果要使用習慣的syslogd
可以使用
#yast -i syslogd
來安裝syslogd套件即可使用在RedHat慣用的/etc/syslog.conf


在設定檔 /etc/syslog.conf 的寫法部份
man syslog.conf 會找到
You may prefix each entry with the minus ``-'' sign to
omit syncing the file after every logging.

使用 - 來代表非同步寫入
一般來說kernel 或是 mail 會使用非同步的方式來寫入避免造成太大的loading

可以用
logger -p mail.err "test"
測試log傳入

此外在RedHat的預設習慣是把mail的所有log
導向 /var/log/maillog
在SUSE Linux 則是 /var/log/mail


有關於Log Server的作法
相關的設定檔在/etc/sysconfig/syslog

檔案內容預設沒有
SYSLOGD_OPTIONS="-m 0"
以上為RedHat 預設的作法

在SUSE Linux 上面可以
#vi /etc/sysconfig/syslog
加入
SYSLOGD_PARAMS="-r"


有關於logrotate可參考
/etc/logrotate.d/syslog 的內容

SUSE Linux 下的 Process 觀察

在SUSE Linux 下面的process觀察
SUSE Linux 使用的daemon 名稱為apache2 執行的使用者為wwwrun
故啟動apache為
#rcapache2 start

欲使用top觀察可以查看使用者wwwrun

也可以使用批次導向的方式存檔監控
#top -b -n 10 -d 3 -u wwwrun > /tmp/top-www.log

星期二, 4月 24, 2007

SUSE Linux 下的X Window

SUSE Linux 在X Window 啟動與RedHat Linux不同為
並非在/etc/inittab 啟動
而是使用 xdm這個script 在runlevel 5 中執行
可觀察
#ls /etc/init.d/rc5.d grep xdm

設定是否啟動
#chkconfig --list grep xdm

另外如果是使用gnome的桌面環境
其設定檔也非RedHat 系列的
/etc/gdm/custom.conf

SUSE Linux 設定檔在
/etc/opt/gnome/gdm/gdm.conf

其檔案名稱與早期的gdm.conf一樣
且預設 xdmcp 為啟動

也可以使用
#gdmsetup 來設定相關細節


注意
在使用
#X -query 同學主機 :1
或是
#X -indirect 同學主機 :1

之前在RedHat系列是改完 gdm.conf 或是custom.conf
使用
#init 3
#init 5
重新啟動 X
就可以生效
但是在SUSE Linux發現用此方法不太work
建議使用
#rcxdm stop
#rcxdm start

因為發現
#init 3 ---> xdm竟然不會停止

所以使用
#rcxdm 的方式解決

也可以在X Window 下 使用Xnest 在開一個X
#Xnest -query 同學主機 :1

附註
在VMWare內
使用yast2 或是 sax2 設定顯示卡會有問題, 出不來
要使用
#sax2 -r

才可以