2007年12月29日 星期六

建立ubuntu的編譯環境

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get clean

sudo ln -sf /bin/bash /bin/sh

2007年12月26日 星期三

movie

2007年12月19日 星期三

ubuntu 瘦身計劃

1.清除暫存檔案
預設apt-get 下載的檔案都是暫存,存放在 /var/cache/apt/archives 以及 /var/cache/apt/archives/partial/
若要清除這些檔案,可以用

sudo apt-get clean

若要每次清除,改用

sudo apt-get autoclean

2.移除不要的語系

sudo apt-get install localepurge
sudo localepurge

設定保留的語系

/etc/locale.nopurge

3.移除未使用的套件
安裝某些套件,未來之後要移除,會遺留某些套件,但未移除其他套件。
需要此指令找出未用到套件。

sudo apt-get install deborphan
sudo deborphan ¦ xargs sudo apt-get -y remove –purge

http://ubuntu-tutorials.blogspot.com/2007/01/cleaning-up-ubuntu-gnulinux-system.html

ubuntu 7.10 安裝流程

1、光碟放進去安裝灌完
2、更新sources.list
cd /etc
sudo wget http://school.hsian.org/~clockwork/sources.list.ntu.back
sudo mv sources.list sources.list.old
sudo mv sources.list.ntu.back sources.list
2、更新系統
sudo apt-get update
sudo apt-get upgrade
3、安裝中文字型
系統->語言支援->chinese 選取安裝
4、安裝懶人包
http://rt.openfoundry.org/Foundry/Project/Download/?Queue=852
5、安裝無用lib移除器
sudo apt-get install gtkorphan
6、安裝vim, firefox的flash
sudo apt-get remove --purge vim-tiny
sudo apt-get install vim
7、安裝顯示字型
先下載
sudo cp LiHei* /usr/share/fonts/truetype/
sudo fc-cache -f -v
編輯->偏好設定->內容->字型與色彩->LiHei Pro
8、安裝CCSM
sudo apt-get install ccsm
http://www.mobile01.com/newsdetail.php?id=4006
9、減肥
以上系統都裝的差不多了,開始減肥
sudo apt-get remove --purge scim 移除內件的輸入法
等等新增移除程式
10、設定
vim設定,輸入法設定,等等

相關資料
http://b2d.phc.edu.tw/modules/tadbook2/index.php
http://163.19.215.180/wiki/index.php/%E9%A6%96%E9%A0%81
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?viewmode=flat&type=&topic_id=6850&forum=22

2007年12月5日 星期三

網路對時

切換成root後
ntpdate time.stdtime.gov.tw

2007年11月11日 星期日

man hier

/usr/bin common utilities, programming tools, and applications

/usr/sbin system daemons & system utilities (executed by users)

/usr/include standard C include files

/usr/lib shared and archive ar(1)-type libraries

/usr/libdata miscellaneous utility data files

/usr/libexec system daemons & system utilities (executed by other programs)

/usr/share architecture-independent files

2007年11月10日 星期六

使用ppp無法開機啟動named

因為執行先後順序的關系,使得named在啟動的時候ppp還沒有運做,因此使用另一種方式在,在/etc/rc.d/ppp裡面加入

start() {
......
/bin/sleep 10
/etc/rc.d/named forcestart
}

而不在rc.conf裡面使用named_enable="YES"來啟動,讓ppp一直行完自動啟動named

build world

cd /usr/src
make update

......


make buildworld
make buildkernel KERNCONF=hsian
make installkernel KERNCONF=hsian
make installkernel KERNCONF=hsian KODIR=/boot/kernel.HSIAN
reboot
make installworld
mergemaster

2007年11月6日 星期二

freebsd web server

架設apache22 + mysql51 + php5 + php5-extensions + phpmyadmin

1.mysql server
cd /usr/ports/databases/mysql51-server
make -DWITH_CHARSET=big5 -DWITH_XCHARSET=all install clean

2.apache server
cd /usr/ports/www/apache22
make install clean

3.php5 language
cd /usr/ports/lang/php5
make config
[X] APACHE Build Apache module
make install clean

4.php extensions module
cd /usr/ports/lang/php5-extensions
make config
[X] MYSQL MySQL database support
[X] MYSQLI MySQLi database support
make install clean


5.mysql phpmyadmin
cd /usr/ports/databases/phpmyadmin
make install clean

以上都裝好之後開始設定
1. apache 設定
cd /usr/local/etc/apache22
設定httpd.conf
+ServerAdmin femc7488@gmail.com
+ServerName www.hsian.org:80
+DocumentRoot "/usr/local/www"
+<Directory "/usr/local/www">
+DirectoryIndex index.html index.htm index.php
+ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"

+Addtype application/x-httpd-php .php
+Addtype application/x-httpd-php-source .phps

+Include etc/apache22/extra/httpd-userdir.conf
+Include etc/apache22/extra/httpd-vhosts.conf

設定httpd-vhosts.conf
28 DocumentRoot "/usr/local/www/"
29 ServerName www.hsian.org
30
33 DocumentRoot "/usr/local/www/blog_img"
34 ServerName blogimg.hsian.org
35 ErrorLog /var/log/blog-error_log
36 CustomLog /var/log/blog-access_log common
37
40 DocumentRoot "/usr/local/www/blog"
41 ServerName blog.hsian.org
42 ErrorLog /var/log/blog-error_log
43 CustomLog /var/log/blog-access_log common
44
47 DocumentRoot "/usr/local/www/phpMyAdmin"
48 ServerName mysql.hsian.org
49 ErrorLog /var/log/mysql-error_log
50 CustomLog /var/log/mysql-access_log common

2. 開機啟動
apache22_enable="YES"
apache22_http_accept_enable="YES"
mysql_enable="YES"

3. 啟動
/usr/local/etc/rc.d/apache22 start
/usr/local/etc/rc.d/mysql-server start

4. phpmyadmin
cd /usr/local/www/phpMyAdmin
mkdir config
chmod o+w config/
cp config.inc.php config/
chmod o+rw config/config.inc.php

http://xxxxx/phpmyadmin/scripts/setup.php
Server->Add
set Connection type=socket
set Authentication type=http
set PHP extension to use=mysqli
Configuration->Save

這下剛剛建立的config裡面就有產生出來的設定檔了
cp config/config.inc.php .

2007年11月5日 星期一

freebsd named server

以master和slave架構實作

server:

/etc/namedb/named.conf
// listen-on { 127.0.0.1; };註解掉
//hsian.org master zone
zone "hsian.org" {
  type master;
   file "master/hsian.org.master";
   allow-transfer {
    140.138.145.192;
  };
};

/etc/namedb/master/hsian.org.master
$TTL 3600 ; 1 hour
@     IN SOA dns.hsian.org. root.hsian.org. (
              2007110603 ; serial
              3600 ; refresh (1 hour)
              900 ; retry (15 minutes)
              604800 ; expire (1 week)
              3600 ; minimum (1 hour)
              )
@     IN NS dns.hsian.org.
@     IN NS dns2.hsian.org.
dns    IN A 220.133.28.104
dns2    IN A 140.138.145.192
@     IN MX 10 mail.hsian.org.

@     IN A 140.138.145.192
blog    IN A 140.138.145.192
blogimg   IN A 140.138.145.192
www    IN A 140.138.145.192
ftp     IN A 140.138.145.192
mysql    IN A 140.138.145.192
freebsd   IN A 220.133.28.104
school    IN A 140.138.145.192

http://moon.cse.yzu.edu.tw/~s932361/hsian.org.txt

/etc/rc.conf
named_enable="YES"

/etc/rc.d/named start

Client:

/etc/namedb/named.conf
// listen-on { 127.0.0.1; };註解掉
//hsian.org master zone
zone "hsian.org" {
  type slave;
   file "slave/hsian.org.slave";
   masters {
    220.133.28.104;
  };
};

/etc/rc.conf
named_enable="YES"

/etc/rc.d/named start

2007年11月1日 星期四

使用者設定檔

/etc/master.passwd
透過pwd_mkdb來產生
/etc/passwd
要修改master.passwd使用
vipw來修改master.passwd檔

1001:1001: :0:0表示
UID:GID:登入群組(Class):密碼改變時間:失效時間

/etc/login.conf負責設定與使用者帳號相關的參數,其中也會設定群組中使用者帳號的參數。
當使用者登入時,/etc/master.passwd檔中的登錄群組欄會決定使用/etc/login.conf中的那個項目。

adduser
在 /etc/group 中加入使用者的群組
在 /etc/master.passwd 中加入使用者
在 /home 中建立使用者目錄,並建立 dotfile
在 /var/mail 中建立使用者郵件目錄

rmuser
如果該使用者有設定使用定時排程的工作,如 crontab 或 at,則先將它移除。crontab 的工作排程會被放在 /var/cron/tabs/username,而 at 的工作排程則放在 /var/jobs/username 中。
如果該使用者有正在執行的程式,則送出 SIGKILL 給該行程以將它停止。
以 vipw 移除讓使用者在 /etc/master.passwd 中的帳號。
使用者的家目錄 /home/username,使用指令 rm -rf /home/username。
再移除使用者郵件目錄 /var/mail/username。
如果暫存的目錄中 (/tmp 及 /var/tmp) 有該使用的暫存檔,則將它移除。
若該使用者所屬群組已無人使用,則編輯 /etc/group 來移除群組。

家目錄下
.login 設定終端機類型、設定環境變數
.cshrc 設定指令別名、設定搜尋路徑、設定umask等
.profile 對sh而言,類似.login .cshrc
.mailrc 定義個人郵件別名、設定郵件讀者選項
建立時復製來自於/usr/share/skel下的資料

umount查看行程是否使用

umount /usr會告訴你正忙
可以使用
fstat -f /usr來看那些行程或是檔案正在使用

2007年10月31日 星期三

如何setuid

使用passwd來改變密碼很平常的事,但是passwd是

-r-sr-xr-x 2 root wheel 5.7K 10 27 14:42 /usr/bin/passwd*

假設我們的使用者為clockwork執行此程式沒有問題算是other group的,所以一執行下去此行程會有UID和EUID而如果是一般的行程會把UID和EUID設成clockwork表示只有clockwork可以對此行程做任何事,而對clockwork為所有人的資源做任何事

那為什麼要setuid呢?因為我們的clockwork沒有辦法改變master.passwd這檔案阿

-rw------- 1 root wheel 1.6K 10 29 20:19 master.passwd

上面清楚的寫到,只有root才可以動這個檔案,所以setuid主要就是把EUID設為root而本來的UID還是一樣是clockwork,這樣我們就可以去存取master.passwd資源了,而此時執行passwd這程式的行程它的UID為clockwork而EUID為root。

建立使用者直接安裝設定檔

把要讓使用者做成預設的設定檔改名為dot.xxxx
如.screenrc .vimrc改成dot.screenrc dot.vimrc
複製到/usr/share/skel
這樣建立使用者的時候,它的家目錄下面就會有這些預設的設定檔了

sshd 開443port

改/etc/rc.conf 設inetd_enable="YES"
改/etc/inetd.conf
加入
#ssh stream tcp nowait root /usr/sbin/sshd sshd -i -4
ssh2 stream tcp nowait root /usr/sbin/sshd sshd -i -4
#ssh stream tcp6 nowait root /usr/sbin/sshd sshd -i -6
ssh2 stream tcp6 nowait root /usr/sbin/sshd sshd -i -6
改/etc/service
加入
ssh 22/tcp #Secure Shell Login
ssh 22/udp #Secure Shell Login
ssh2 443/tcp
ssh2 443/udp
重啟動inetd
/etc/rc.d/inetd restart

以上讓本來的ssh跑22用standalone的方法,而443使用inetd來跑

2007年10月30日 星期二

目錄說明

/bin & /sbin
在『單使用者 (Single User)』與『多使用者 (Multi-User)』模式下,都會用得到的一般使用者指令,這些指令都是開機時必備的。它們將被安置於 root 分割區。/bin 與 /sbin 的差別在於 /bin 存放著一般操作性的指令;而 /sbin 則存放著與系統管理有關的操作指令。

/usr/bin & /usr/sbin
存放一般的使用者指令、程式編輯器、應用軟體、系統服務程式 (daemon)、系統工具等等。與 /bin & /sbin 相同,/bin 存放一般操作產的指令,而 /sbin 存放與系統管理或服務程式有關的指令

2007年10月29日 星期一

教學文章

http://ohaha.ks.edu.tw/

http://www.twbsd.org

portupgrade使用

http://ohaha.ks.edu.tw/portupgrade.htm

更新軟體
portupgrade -an
portupgrade -RrCc vim

移除軟體
pkg_deinstall -Rrn vim
pkg_deinstall -Rri vim

安裝軟體

下載make.conf
cd /etc
fetch http://cse.tw/make.conf

更新所有資料
cd /usr/src
make update
(來去睡一下)

安裝軟體(尋找)
cd /usr/ports/
make search name=xxx grep Port:
make search name=xxxx
cd到目錄所在位子後
make install clean

如:
screen /usr/ports/sysutils/screen make install clean
vim /usr/ports/editor/vim make -DNO_GUI install clean
portupgrade /usr/ports/ports-mgmt/portupgrade make install clean
(會裝一堆東西)

移除下載檔
下載目錄 /usr/ports/distfiles
cd /usr/ports/distfiles
rm -rf *

使用者管理

adduser 加入新使用者
rmuser 移除使用者
chfn 改變使用者的資訊
vipw 改變master.passwd檔