顯示具有 tiny core 標籤的文章。 顯示所有文章
顯示具有 tiny core 標籤的文章。 顯示所有文章

2011年11月22日 星期二

安裝與啟動 Tiny Core IPv6 系統

Tiny Core 對於 IPv6 並不完整, 目前只提供 IPv6 Client 端功能,還沒有提供 Router 及DHCPv6 功能. Tiny Core Linux 或 Micro Core Linux 內定沒有安裝 IPv6 系統, 如要啟動 IPv6 請執行以下步驟 :

1. 如不是 tc 帳號登入, 請先執行以下命令 :

$ su tc

2. 顯示核心版本代號

$ uname -r

3. 下載   ipv6-核心版本代號-tinycore.tcz  套件, 命令如下 :

$ tce-load -wi ipv6-2.6.33.3-tinycore.tcz
Downloading: netfilter-2.6.33.3-tinycore.tcz
Connecting to distro.ibiblio.org (152.19.134.43:80)
netfilter-2.6.33.3-t 100% |*******************************|   212k  0:00:00 ETA
netfilter-2.6.33.3-tinycore.tcz: OK
Downloading: ipv6-2.6.33.3-tinycore.tcz
Connecting to distro.ibiblio.org (152.19.134.43:80)
ipv6-2.6.33.3-tinyco 100% |*******************************|   176k  0:00:00 ETA
ipv6-2.6.33.3-tinycore.tcz: OK


4. 重新開機

$ reboot

5. 啟動 IPv6 核心模組

$ sudo modprobe ipv6

6. 檢示網卡資訊
$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 52:54:00:A0:66:8B
          inet addr:192.168.100.66  Bcast:192.168.100.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fea0:668b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:468 (468.0 B)
          Interrupt:10 Base address:0x6000

在上面資訊中, 你會看到 IPv6 Link Local Address, 這位址開頭一定是 fe80, 後面數字則由網卡的 MAC 使用 EUI-64 公式來產生.

如要手動設定 IPv6 位址, 命令如下 :

# ifconfig eth0 fc00:babe:166::6/64 up

如要刪除 Link Local 位址, 命令如下 :
# ifconfig eth0 del fe80::5054:ff:fe06:121/64

如要手動設定 Default Gateway, 命令如下 :

# route add -A inet6 default gw fc00:babe:166::254 dev eth0

可將上面命令, 寫入 /opt/bootlocal.sh, 這樣就不需每次開機後, 還需手動設定. 雖然你手動設定 IPv6 位址,但是 Link Local IPv6 與 SLAAC IPv6 位址一樣還會產生,這與 IPv4 是不同的.請看下圖 :


檢視 IPv6 路由表, 命令如下 :
# route -A inet6
Kernel IPv6 routing table
Destination   Next Hop            Flags   Metric   Ref  Use Iface
                                        :  
::/0        fc00:babe:166::254  UG    1      0    0   eth0  
 

參考文章
1. 精讚部落 > 網際技術 > IPv6

2011年8月25日 星期四

Tiny Core DHCP Server 設定與啟動

在 Tiny Core 系統中, 內建的 BusyBox 超級命令, 竟然還提拱 DHCP Server 的功能, 你只需產生一個設定檔, 便可啟動此 DHCP Server 功能

1. 產生 udhcpd 設定檔

$ nano /etc/udhcpd.conf
start 192.168.88.10
end 192.168.88.60
interface eth1
option subnet 255.255.255.0
option router 192.168.88.254
option lease 259200
option dns 192.168.88.5
option wins 192.168.88.5
option domain it88.kvm
lease_file /tmp/udhcpd.leases
pidfile /tmp/udhcpd.pid

記得要將此設定檔名稱, 加入到 /opt/.filetool.lst, 給予備份, 命令如下 :

$ echo "/etc/udhcpd.conf" >> /opt/.filetool.lst

2. 自動啟動 DHCP Server

$ nano /opt/bootlocal.sh
            :
sleep 1
udhcpd /etc/udhcpd.conf

最後儲存設定檔, 然後重新開機

$ filetool.sh -b
$ sudo reboot

3. 檢視是否已啟動 DHCP Server

$ ps aux | grep udhcpd
1086 root udhcpd /etc/udhcpd.conf
1100 root grep udhcpd

2011年7月30日 星期六

Tiny Core 套件安裝

桌面版本安裝方式

在 Tiny Core 系統中的命令, 大都由 Busybox 所提供, 如需更多應用命令, 你可安裝 coreutils.tcz 套件, 操作如下 :

1. 啟動 Apps 圖形工具


2. 點選 Connect 按鈕, 然後在 Search 欄位中, 輸入搜尋字串, 搜尋要找的套件, 如找到所需的套件, 點選要安裝的套件, 然後點選 Go 按鈕, 開始安裝




核心版本安裝方式 (適用 Core)

在命令模式下, 使用 tce-load 這命令執行套件安裝,  下圖中使用 tce-load  安裝 coreutils.tcz 套件, -wi 此參數功能為 下載套件 並將之設為 系統啟動會自動掛載進來

$ tce-load -wi coreutils.tcz




在系統操作上建議安裝以下套件 :

1. 安裝 含有 setterm 命令套件, setterm 這命令用來取消螢幕保護裝置

$ tce-load -wi util-linux.tcz
Downloading: util-linux.tcz
Connecting to distro.ibiblio.org (152.19.134.43:80)
util-linux.tcz    100% |*******************************|   532k 00:00:00 ETA
util-linux.tcz: OK

2.安裝 tree 命令套件,此命令用來顯示目錄結構

$ tce-load -wi tree.tcz

3.安裝 bash 命令套件, 此命令提供完整 Shell 功能

$ tce-load -wi bash.tcz

4.安裝 nano 命令套件, 此命令提供一個簡易友善的文字編輯器

$ tce-load -wi nano.tcz

檢視套件存放目錄

$ tree /mnt/sda1
     /mnt/sda1/                                                                     
     |-- lost+found [error opening dir]                                             
     |-- mydata.tgz                                                                 
     `-- tce                                                                        
         |-- onboot.lst                                                             
         |-- ondemand                                                               
         `-- optional                                                               
             |-- acl.tcz                                                            
             |-- acl.tcz.dep                                                        
             |-- acl.tcz.md5.txt                                                    
             |-- attr.tcz                                                           
             |-- attr.tcz.dep                                                       
             |-- attr.tcz.md5.txt                                                   
             |-- bash.tcz                                                           
             |-- bash.tcz.dep                                                       
             |-- bash.tcz.md5.txt                                                   
             |-- coreutils.tcz                                                      
             |-- coreutils.tcz.dep                                                  
             |-- coreutils.tcz.md5.txt



Tiny Core Java 應用伺服器 - Tomcat 7

1. 至 Apache 基金會網站, 下載 Tomcat 7 壓縮檔


2. 將下載檔案,解壓縮至 /mnt/hda1 目錄中, 命令如下圖 :


3. 啟動 Tomcat, 跳至 /mnt/hda1/apache-tomcat-7.0.19/bin 目錄, 執行 start.sh 程式, 如下圖 :



4.執行 "netstat -an | head -n 10" 命令, 檢視執行資訊, 如有看到 0.0.0.0:8080,  代表 Tomcat 有啟動, 如下圖 :


5. 啟動瀏覽器, 輸入 http://localhost:8080, 連接 Tomcat 應用伺服器, 如下圖 :

Tiny Core 開發平台 - JDK 7

1. 執行 tce-load -wi firefox 命令, 安裝 Firefox 套件, 如下圖 :



2. 至 Oracle 網站, 下載 JDK 7 開發套件



3. 將 "JDK 7 下載檔" 解壓縮, 命令如下 : (記得要加 sudo)



4. 設定 JAVA_HOME 及 PATH 這二個環境變數, 將這二個變數內容存入 .ashrc 檔中, 然後要記得執行 filetool.sh -b 備份所作的修改, 命令如下 :



5. 重新開機

    $ sudo reboot

6. 測試 JDK 環境

2011年7月28日 星期四

Tiny Core 自動登入 root 帳號

1. 下載 bash 套件

$ tce-load -wi bash.tcz
Downloading: bash.tcz
Connecting to distro.ibiblio.org (152.19.134.43:80)
bash.tcz             100% |*****************************************|   392k 00:00:00 ETA
bash.tcz: OK

2. 設定 superuser 核心參數

$ sudo nano -w  /mnt/hda1/boot/extlinux/extlinux.conf
                                                                 :
APPEND initrd=/boot/microcore.gz superuser quiet .............

3. 設定 root 使用 bash shell

$ sudo nano /etc/passwd
root:x:0:0:root:/root:/bin/bash
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/false
tc:x:1001:50:Linux User,,,:/home/tc:/bin/sh

4. 修改 /root/.profile 設定檔
在 /root/.profile 設定檔的最後, 加入 "source /root/.bashrc" 這行命令, 如下 :

$ sudo nano /root/.profile
                  :
source /root/.bashrc

5. 修改備份設定檔
在 /opt/.filetool.lst 備份設定檔的最後, 加入 /root 目錄名稱, 當你執行 filetool.sh -b 這命令, 會將 /root 目錄中的所有檔案及子目錄, 壓縮至 mydata.tgz 檔中, 下次開機時會自動解壓縮.

$ sudo nano /opt/.filetool.lst
                  :
/root

6. 備份設定及重新開機

$ filetool.sh -b

7. 重新開機
$ sudo reboot

自動登入後, 系統會自動跳至 root 帳號的家目錄 (/root), 如需執行 tce-load 命令安裝套件, 此時會被要求以一般帳號 (tc) 來執行, 身份切換命令如下 :

$ su tc

2011年7月24日 星期日

Tiny Core 網路設定 - DHCP, 固定 IP 及 NAT


Tiny Core Linux 的 Core 版本開機流程如下 :
[BootLoader → bzImage → tinycore.gz] → init → inittab → init.d/rcS → tc-config → ( dhcp.sh & tce-setup & restore.sh & bootsync.sh → bootlocal.sh) → init → /root/.profile → /home/tc/.profile →→→ /usr/bin/startx → ( xsetup.sh) → /home/tc/.xsession → ( Xvesa, jwm & wbar & /home/tc/.X.d/*.* )

根據上述開機流程來設定本機網路系統

取消 DHCP 自動取得 IP 功能

方法一 
在 Boot Loader (isolinux) 的 APPEND 核心參數中加入 nodhcp, 當系統重新啟動後, 所有網卡不會配置 IP, 設定步驟如下 ;

$ sudo nano -w /mnt/hda1/boot/extlinux/extlinux.conf
                                    :   
APPEND initrd=/boot/microcore.gz nodhcp ............


系統一旦設定 nodhcp, 這時你如要使用網路, 你可以選擇 "設定固定 IP" 或 "再度啟動 DHCP 功能"


使用 ifconfig 命令, 設定網卡 IP, 操作如下 :

$ sudo ifconfig eth0 192.168.100.5 netmask 255.255.255.0 up

如要使用 DHCP 方式取得 IP, 可使用 udhcpc 命令來完成, 操作如下 :

$ udhcpc -i eth0 -n

方法二

在 /opt/bootlocal.sh 程式最後, 加入以下程式段, 使得系統啟動後將 udhcpc 這程式給關閉


$ sudo nano /opt/bootlocal.sh
                   :
x=$(ps aux | grep udhcpc)
y=$(echo $x | cut -d' ' -f1)
kill $y

因 udhcpc 這程式是在 bootlocal.sh 之前執行, 所以系統還是會從 DHCP Server 取得 IP, 這是與方法一最大的差別, 一旦你設定固定 IP, 固定 IP 就不會被 udhcpc 置換



設定本機電腦名稱

設定本機電腦名稱, 可使用 sethostname 命令, 範例如下 :

$ sudo sethostname GW

Tiny Core Linux 在還沒登入之前, 會以 root 身份, 執行 /opt/bootsync.sh 這程式,在這程式中,加入  "/usr/bin/sethostname NS66" 這行命令,如下 :

$ nano /opt/bootsync.sh
#!/bin/sh
# put other system startup commands here, the boot process will wait until they complete.
# Use bootlocal.sh for system startup commands that can run in the background
# and therefore not slow down the boot process.
/usr/bin/sethostname NS660
/opt/bootlocal.sh &

固定 IP 設定
Tiny Core Linux 在還沒登入之前, 會以 root 身份, 先執行 /opt/bootlocal.sh, 所以網路相關設定可存入此檔案.

1. 設定網卡 IP

$ nano /opt/bootlocal.sh
                   :
ifconfig eth0 192.168.100.5 netmask 255.255.255.0 up
udhcpc -i eth1 -n

2. 設定 Default Gateway

$ nano /opt/bootlocal.sh
             :
route add default gw 192.168.100.254

3. 設定 DNS Server

$ nano /opt/bootlocal.sh
             :
echo "nameserver 168.95.1.1" > /etc/resolv.conf

4. 儲存設定

$ filetool.sh -b

5. 重新開機

$ sudo reboot

啟動 NAT 功能
要啟動 NAT 轉址功能, 必須有二個網路介面, 對內網路介面需固定 IP, 對外可以是 DHCP 或固定 IP.

1. 安裝 iptables.tcz 套件

$ tce-load -wi iptables.tcz

2. 在 /opt/bootlocal.sh 檔, 加入以下命令

$ nano /opt/bootlocal.sh
                     :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

3. 備份設定

$ filetool.sh -b

4. 重新開機

$ sudo reboot

Tiny Core Samba 安裝與 Master Browser 設定

微軟網芳系統, 內定的運作方式,是由 Master Browser 負責收集同一網段的電腦資源清單, 但是 Master Browser  是無法指定, 它是透過選舉而來的,  所以任何一台電腦都可能成為 Master Browser, 但它也隨時會不見, 因它被關機, 解決此一問題, 我們可使用 Linux 的 Samba, 來強制扮演 Master Browser, 以下為設定步驟 :

1. 下載 Samba 套件

$ su tc           # 執行 tce-load 命令, 不可是 root 身份
$ tce-load -wi samba3.tcz
$ exit

2. 設定 Samba 成為 Master Browser 及 WINS Server

$ sudo nano /usr/local/etc/samba/smb.conf
           :
workgroup = kvm
server string = NS100 Samba Server
security = user
load printers = no
local master = yes
os level = 255                         # 這數質可確定此部 Samba, 必定成為此網段中的  Master Browser
domain master = no              # 跨網段時使用
preferred master = yes
wins support = yes                # 成為 WINS Server

3. 設定自動啟動 Samba Server

$ echo usr/local/etc/samba >> /opt/.filetool.lst
$ echo "/usr/local/etc/init.d/samba start" >> /opt/bootlocal.sh
$ filetool.sh -b

4. 重新開機

$ sudo reboot

5. 檢視 Samba 運作資訊

以下命令負責尋找 kvm 工作群組中的 Master Browser
$ nmblookup -M kvm
querying kvm on 192.168.100.255
192.168.100.5 kvm<1d>

browse.dat 會記錄 Samba 所收集到的資料
$ cat /var/lib/samba/browse.dat
"KVM" c0001000 "NS100" "KVM"
"NS100" 408d9a03 "Samba Server" "KVM"

設定 Samba 的 tc 帳號

$ sudo smbpasswd -a tc


參考文章
1. Samba and default user in tinycore
http://forum.tinycorelinux.net/index.php?action=printpage;topic=5959.0

Tiny Core 系統運作 (Frugal 模式)

Tiny Core Frugal 運作

使用 Frugal 方式安裝, 安裝後在硬碟中會有二個目錄, 分別是  boot 及 tce, 目錄結構如下 :

 /mnt/hda1
     |--- boot
     |        |----- bzImage
     |        |----- microcore.gz
     |        |----- extlinux
     |                      |---- extlinux.conf
     |                      |---- ldlinux.sys
     |
     |--- tce
             |----- mydata.tgz
             |----- onboot.lst
             |----- ondemand
             |              |---- firefox
             |
             |----- optional
             |             |----- pango.tcz
             |             |----- nano.tcz


boot 目錄中存放 Extlinux boot loader, tce 目錄存放系統所需套件檔, 套件移除只需將 tce/optional 或 tce/ondemand 目錄中的 xxx.tcz 檔刪除既可, 至於套件更新只需將新的套件檔覆蓋舊的套件檔

Tiny Core 啟動

Tiny Core 每次開機, 會將 microcore.gz 及 tce/optional 目錄中 *.tcz 檔解壓縮至記憶體, 這代表 Tiny Core 完全在記憶體中執行, 至於 tce/optional 目錄中所有 *.tcz 檔, 並非全部載入到記憶體中, 而是根據 tce/onboot.lst 這清單檔, 來載入所需的套件, 套件的載入使用 loop 裝置來掛載, 這使得 Tiny Core 不會因為要載入許多套件, 而使得開機速度變慢

因 Tiny Core 每次開機均會還原系統, 所以 Tiny Core 不擔心系統病毒攻擊.

保存系統更新
因 Tiny Core 每次開機均會還原系統, 這樣的運作方式, 卻也產生另一問題, 那就是你所作的系統改變也會不見. 針對此一需求 Tiny Core 提供系統備份功能.

Tiny Core 系統備份是由 filetool.sh 這程式來執行, filetool.sh 會先去讀 /opt/.filetool.lst 此備份清單檔得知那些目錄或檔案需備份, 要備份的目錄及檔案均會存入 tce/mydata.tgz 此壓縮檔中, 下次系統再啟動, 此壓縮檔會自動被解壓縮至系統中.

由 /opt/.filetool.lst 檔案內容, 可以得知 Tiny Core 內定會備份那些目錄及檔案, /opt/.filetool.lst 內容如下 :

$ cat /opt/.filetool.lst
opt/bootlocal.sh
opt/bootsync.sh
opt/shutdown.sh
opt/tcemirror
opt/.filetool.lst
opt/.xfiletool.lst
home

如你有更新系統設定, 那你必須將更新的目錄或檔案, 記錄到 /opt/.filetool.lst 檔案中, 記得系統重新啟動或關機前, 必須執行以下命令 :

$ filetool.sh -b

2011年7月22日 星期五

Tniy Core SSH Server

安裝與設定 openssh

1. 安裝 openssh 套件

$ tce-load -wi openssh.tcz

-wi 將安裝的套件設為系統啟動後便 自動啟動 此套件 (On Boot)

2. 覆製 openssh 設定檔

$ sudo cp  /usr/local/etc/ssh/sshd_config.example  /usr/local/etc/ssh/sshd_config

3. 第一次啟動 openssh, 並產生憑證 (public/private dsa key)

$ sudo /usr/local/etc/init.d/openssh start

自動啟動 openssh

1. 將啟動命令寫入 /opt/bootlocal.sh

$ sudo nano /opt/bootlocal.sh
              :
/usr/local/etc/init.d/openssh start

2. 將 /usr/local/etc/ssh 目錄, 寫入備份清單檔 (/opt/.filetool.lst)

$ sudo nano  /opt/.filetool.lst
       :
/usr/local/etc/ssh
$ filetool.sh  -b

3. 重新開機

$ sudo reboot


設定登入帳號

1. 設定 root 登入密碼

$ sudo passwd root

$ sudo passwd tc

2. 備份 root 密碼
編輯 /opt/.filetool.lst 備份清單檔, 加入下二式 :

$ sudo nano /opt/.filetool.lst
              :
/etc/passwd
/etc/shadow

3. 執行備份

$ filetool.sh  -b

3. 重新開機

$ sudo reboot

連接 SSH Server
1. 啟動 Putty 

 
 
 2. 輸入帳號及密碼 (root/root)