2015年4月29日 星期三

架 DHCP Server 及 TFTP Server

上週課程延續問題:
可能遇到無法 update 的問題, apt-get update 輸出:
Release file for ftp://120.117.72.XX/debian/dists/wheezy-updates/Release is expired (invalid since 7d 4h 37min 49s). Updates for this repository will not be applied

這是因為自建鏡像站太久沒更新所造成的,可以先選擇連至其他鏡像站或以 getdeb.sh 更新。
getdeb.sh
#HOST=ftp.tw.debian.org
HOST=debian.nctu.edu.tw
#HOST=opensource.nchc.org.tw
#HOST=ftp.wa.au.debian.org
#HOST=120.117.72.71

# 國外鏡像站
#HOST=ftp.debian.org

debmirror \
--arch=i386,amd64,armel,armhf,sha4 \
--dist=jessie,jessie-updates \
--di-arch=i386,amd64,armel \
--di-dist=stable \
--host=$HOST \
--root=":debian" \
--diff=none -p \
--nosource \
--method=rsync \
--section main,contrib,non-free,main/debian-installer \
--i18n \
--ignore-release-gpg /home/ftp/debian/ ;

#--section non-free,contrib,main,main/debian-installer,main/installer-armel,main/i18n,main/source \
#debmirror \
# -v --nosource -d lenny/updates -a i386 \
# -s non-free,contrib,main,main/debian-installer \
# --method=http -h security.debian.org \
# --ignore-release-gpg -r /debian-security /home/ftp/debian/security/
# --section main,contrib,non-free,main/debian-installer,main/installer-armel,main/i18n,main/source \

#wget -r -l1 -nH ftp://$HOST/debian/dists/squeeze/main/source/
date


一、於 PXE 虛擬機架 DHCP Server

1. 安裝 dhcp
sh runpxeserver.sh

apt-get install isc-dhcp-server

裝完會出現 Start Faild 訊息,這是正常的,因為我們還沒改設定檔。

2. 修改設定檔 dhcpd.conf
vi /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers 120.117.2.1;

default-lease-time 600;
max-lease-time 7200;
allow booting;

subnet 192.168.10.0 netmask 255.255.255.0{
range 192.168.10.100 192.168.10.200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option routers 192.168.10.1;
option domain-name-servers 120.117.2.1;
# next-server 192.168.10.254;
# filename "pxelinux.0";

注意,若直接從網頁上複製貼上會出現亂碼,
遇到問題,需要 Debug 可以從 /var/log/syslog 查看訊息。
其中 DNS 要設為對學校的 120.117.2.1 ,router 即是 gateway 意思。

3. 重啟
/etc/init.d/isc-dhcp-server restart
systemctl enable isc-dhcp-server
systemctl status isc-dhcp-server

二、建 linux1.img 虛擬機
1. 於實體機建置
cd ~/qemu-img/virtual_classroom/
qemu-img create linux1.img 20G

2. 修改 build script 檔
複製 build.sh 檔,並做修改
cp buildpxe.sh buildlinux1.sh

記得修改最重要的兩項:
HDA=linux1.img
MAC="DE:AD:BE:CF:EC:B8"

3. 啟動測試 DHCP
sh buildlinux1.sh

只要 DHCP 的部份有順利連到即可,這週進度先不安裝。

三、開啟 winXP 虛擬機

1. 於 runwinXP.sh 加入虛擬網路卡
下面加入網卡:e1000, i82551, i82557b, i82559er, ne2k_pci, pcnet, rtl8139, virtio
-net nic,model=rtl8139
還有在 -hda $HDA 後方加入 -sdl

詳細設定如下:
CPU=host
SMP=4
MEMORY=2048
HDA=WinXp.img
MAC="DE:AD:BE:CF:EC:B9"
BRIDGE=br10
CDROM=/home/lin/iso/WindowsXP_Pro_SP2_CHT.iso

qemu-system-x86_64 -enable-kvm -cpu $CPU -smp $SMP -m $MEMORY \
-hda $HDA -sdl \
-cdrom $CDROM -boot c \
-net nic,macaddr=$MAC,model=rtl8139 -net bridge,br=$BRIDGE


2.進去更新 XP 
此時開機 XP,若之前有手動修改網路設定,現在要改為自動取得 IP,
正常要自動可以連到 DHCP 且有網路可以使用。

做 Windows 更新、升級至 XP SP3再去下載有的沒的需求:
Firefox
IE8
avira
FileZilla
...

四、於 PXE 虛擬機安裝 TFTP Server

1. 安裝 tftp
apt-get -y install tftpd-hpa

2. 下載網路開機套件 netboot.tar
wget http://ftp.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/netboot.tar.gz

3. 解壓至目錄 /srv/tftp 並重新啟動
tar xfva netboot.tar.gz -C /srv/tftp
/etc/init.d/tftpd-hpa restart
update-rc.d tftpd-hpa defaults
systemctl enable tftpd-hpa

4. 修改 /etc/dhcp/dhcpd.conf 設定
vi /etc/dhcp/dhcpd.conf

打開註解:
next-server 192.168.10.254;
filename "pxelinux.0";

5. 修改 buildlinux1.sh
vi buildlinux2.sh
CPU=host
SMP=2
MEMORY=1024
HDA=linux1.img
MAC="DE:AD:BE:CF:EC:B8"
BRIDGE=br10
CDROM=/home/lin/iso/debian-testing-amd64-CD-1.iso

qemu-system-x86_64 -enable-kvm -cpu $CPU -smp $SMP -m $MEMORY \
-hda $HDA \
-boot n \
-net nic,macaddr=$MAC -net bridge,br=$BRIDGE


執行 sh buildlinux1.sh 應該要可以連至網路






2015年4月23日 星期四

pdftk 合併多個pdf

pdftk是一套用以處理pdf的程式,


sudo apt-get -y install pdftk


例如:

pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf

就可以合併多個pdf。

2015年4月20日 星期一

3D Printer

3D 印表機可經由軟體 Blender 、FreeCAD…等各式繪圖軟體,
匯出 .stl 檔,再透過軟體 Cura 燒錄至 SD Card 供印表機讀取並 3D 列印。



先至官方下載軟體 Cura
https://ultimaker.com/en/products/software


接著照圖步驟設定 machine :







PLA 印料顏色不同,設定 Temp. & Flow 也不同,如下表:
(但並非每次都一定如表設定,不同批材質要各別測試)