試用 Banana Pi M3 – DietPi 取消每次登入時都會自動執行 dietpi-software

DietPi 在每次 root 登入時都會自動執行設定的畫面

實在有些煩人……[@more@]解決方式:
# sed -i ‘s|/DietPi|#/DietPi|’ /root/.bashrc

後來發現,只要有執行 dietpi-*,又會把下面這一行加回去 /root/.bashrc
/DietPi/dietpi/login

所以就乾脆在 /etc/rc.local 加入去除的這一行
# tail -2 /etc/rc.local
sed -i ‘s|^/DietPi|#/DietPi|’ /root/.bashrc
exit 0

試用 Banana Pi M3 – DietPi 簡單調整

1. 更改預設的 Locale 預設是 en_GB.UTF-8
# locale
LANG=en_GB.UTF-8
LANGUAGE=
LC_CTYPE=”en_GB.UTF-8″
LC_NUMERIC=”en_GB.UTF-8″
LC_TIME=”en_GB.UTF-8″
LC_COLLATE=”en_GB.UTF-8″
LC_MONETARY=”en_GB.UTF-8″
LC_MESSAGES=”en_GB.UTF-8″
LC_PAPER=”en_GB.UTF-8″
LC_NAME=”en_GB.UTF-8″
LC_ADDRESS=”en_GB.UTF-8″
LC_TELEPHONE=”en_GB.UTF-8″
LC_MEASUREMENT=”en_GB.UTF-8″
LC_IDENTIFICATION=”en_GB.UTF-8″
LC_ALL=

# cat /etc/default/locale
#  File generated by update-locale
LC_MESSAGES=POSIX
LANG=en_GB.UTF-8
LANGUAGE=en_GB.UTF-8[@more@]執行 dpkg-reconfigure locales 進行設定
# dpkg-reconfigure locales
Generating locales (this might take a while)…
  en_US.UTF-8… done
Generation complete.

取消選擇 en_GB.UTF-8

加選 en_US.UTF-8

選擇 OK 繼續

選擇 en_US.UTF-8 為預設的 Locales

選擇 OK 完成設定

後記:
後來發現改用 en_US.UTF-8 後,有些設定畫面就會不太正常,所以後來又改回 en_GB.UTF-8

2. 補安裝一些個人覺得缺少的套件
# apt-get install openssh-client cifs-utils screen dnsutils mlocate

試用 Banana Pi M3 – DietPi


官網下載:DietPi
DietPi 官方網站:http://dietpi.com/

預設登入的帳號及密碼:root / dietpi

剛看到 DietPi 這個名字時,感到有些陌生,不知道是什麼東西,在網路上搜尋了一下,發現它是一套針對單板電腦(Single-Board Computer)所優化的 Debian Linux,其實和 Banana Pi 或是 Raspberry Pi 上使用的 Raspbian Linux 類似,只不過它提供更多或更方便的工具。[@more@]登入後畫面

退出功能表畫面,要再重新執行,可以執行 dietpi-software 即可!

Raspberry Pi • View topic – Raspbian Jessie Lite now available 可以找到 DietPi 和 Raspbian Lite 的比較

從這張表之中,我們可以發現:
1. DietPi 在 SSH Server 是採用 Dropbear,也可以選擇原來的 OpenSSH
2. DietPi 可以自動擴展 /root 分割區
3. DietPi 使用 dietpi-software 管理套件,也可以用原來的 apt-get
4. DietPi 設定系統、網路、CPU 調校,可以使用 dietpi-config
5. 其它….

可以參考的資料:
簡單入門
更多應用

試用 Banana Pi M3 – Ubuntu 16.04 LXDE

一個版本是由洪博士所製作的版本,簡單的試用了一下。
桌面環境

[@more@]影音

系統工具

網際網路

美工繪圖

辦公

附屬應用程式

偏好設定

我個人修改的部分:
1. 刪除 fcitx 輸入法,因為行列輸入法有些問題
$ sudo apt-get remove –purge $(dapkg -l | grep fcitx | awk ‘{print $2}’)
2. 改用 gcin
$ sudo apt-get install gcin
3. 加裝以下套件
$ sudo apt-get install vim gpicview mtpaint
4. 備份系統時使用
$ sudo apt-get install cifs-utils sshfs curlftpfs

這一個版本的優點:
1. 執行速度快
2. 系統乾淨、整潔,需要什麼自己安裝

缺點:
1. 比較不適合不熟悉 Linux 的人

試用 Banana Pi M3 – Ubuntu minimal 16.04 讓終端機介面可以輸入及顯示中文

預設的設定無法輸入及顯示中文
原本的設定
# cat /etc/default/locale
#  File generated by update-locale
LANG=”C”
LC_ALL=”C”

# locale
LANG=C
LANGUAGE=
LC_CTYPE=”C”
LC_NUMERIC=”C”
LC_TIME=”C”
LC_COLLATE=”C”
LC_MONETARY=”C”
LC_MESSAGES=”C”
LC_PAPER=”C”
LC_NAME=”C”
LC_ADDRESS=”C”
LC_TELEPHONE=”C”
LC_MEASUREMENT=”C”
LC_IDENTIFICATION=”C”
LC_ALL=C
[@more@]
# cp /etc/default/locale /etc/default/locale.$(date +%F)
# locale-gen en_US.UTF-8
# update-locale LANG=en_US.UTF-8
# update-locale LANGUAGE=en_US.UTF-8

# cat /etc/default/locale
#  File generated by update-locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8

# locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_PAPER=”en_US.UTF-8″
LC_NAME=”en_US.UTF-8″
LC_ADDRESS=”en_US.UTF-8″
LC_TELEPHONE=”en_US.UTF-8″
LC_MEASUREMENT=”en_US.UTF-8″
LC_IDENTIFICATION=”en_US.UTF-8″
LC_ALL=

重新啟動讓設定生效!

試用 Banana Pi M3 – Ubuntu minimal 16.04


官網下載位置:請按 這裡
預設登入的帳號及密碼:pi or root / bananapi[@more@]1. 更改 pi & root 的密碼
$ sudo passwd root
# passwd pi

2. 先更新套件庫來源
# apt-get update

3. 安裝 OpenSSH 相關套件
# apt-get install openssh-server

4. 補安裝個人覺得缺少的套件
# apt-get install colordiff dnsutils iptables lftp nano screen unzip vim xz-utils zip mlocate ntpdate rsync

5. 系統更新
# apt-get upgrade

6. 時區設定
目前的設定
# date
Thu Dec 22 02:47:44 UTC 2016
更改方式
# export TZ=’Asia/Taipei’
加入到 /etc/profile 讓開機時生效
# echo “export TZ=’Asia/Taipei'” >> /etc/profile 
更改之後
# date
Thu Dec 22 10:52:55 CST 2016

整合 Windows 7 SP1 / Windows 10 1607 和 Office 2010 x86/x64

為了在學校重新安裝系統方便,所以抽空完成。
主要就是把 Windows 7 / 10 加上 Office 2010,所以安裝完畢,連 Office 2010 也安裝完成了。

[@more@]

Windows 10

已經不再處理 Windows 8.1 了。
1. 採用自動化安裝系統,只要選擇好要安裝的系統,分割硬碟後,即可自動完成後續安裝工作,直到進入桌面。
2. 直接預設以 Administrator 登入
3. Windows 7 SP1 整合 KB3125574 及之後的更新
4. Windows 10 1607 整合 KB3206632 到 Build 14393.576
5. Windows 7 SP1 整合 .NetFramework 4.6.2
6. Windows 10 1607 整合 .NetFramework 3.5
7. Windows 7 SP1 和 Windows 10 1607 皆整合 7-Zip / Acrobat Reader DC 及更新到最新版 / Classic Shell / Oracle Java 8 Update 101 / Microsoft Silverlight / Microsoft Visual C++ 2005/2008/2010/2012/2013/2015 Redistributable 等軟體
8. 學校公文系統的一些設定等等

試用 Banana Pi M3 – CentOS Linux 安裝 LAMP Server

1. 更新套件庫
# yum update

2. 安裝 LAMP 套件
# yum install httpd mariadb-server php php-gd php-mbstring php-mysql php-pdo php-pear php-soap php-xml php-xmlrpc

3. 設定開機時啟動
# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
# systemcrl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.[@more@]4. 防火牆設定
# /usr/bin/firewall-cmd –permanent –zone=public –add-service=http
# /usr/bin/firewall-cmd –reload

5. 啟動 Apache / MariaDB
# systemctl start httpd
# systemctl start mariadb

6. 瀏覽網頁 http://Server’IP

在 Ubuntu 16.04.1 Server 上建置 OpenConnect SSL VPN Server

參考網站:
折腾笔记:架设OpenConnect Server给iPhone提供更顺畅的网络生活 – 比特客栈的文艺复兴
Ubuntu ocserv搭建
使用ocserv搭建 Cisco Anyconnect 服務器 | 落格博客
Setup OpenConnect VPN Server for Cisco AnyConnect on Ubuntu 14.04 x64 – Vultr.com

1. 安裝 ocserv
# apt-get install ocserv

2. 安裝建立憑證時所需套件
# apt install gnutls-bin

3. 建立目錄及切換目錄
# mkdir certificates
# cd certificates[@more@]4. 建立 CA 金鑰
# certtool –generate-privkey –outfile ca-key.pem
Generating a 3072 bit RSA private key…

建立 ca.tmpl
# cat ca.tmpl
cn = “VPN CA”
organization = “Home”
serial = 1
expiration_days = 3650
ca
signing_key
cert_signing_key
crl_signing_key

# certtool –generate-self-signed –load-privkey ca-key.pem –template ca.tmpl –outfile ca-cert.pem

複製 ca-cert.pem 到 /etc/ocserv 目錄
# cp ca-cert.pem /etc/ocserv

5. 建立本機 Server 證書
# certtool –generate-privkey –outfile server-key.pem
Generating a 3072 bit RSA private key…

建立 server.tmpl
# cat server.tmpl
cn = “nas.test.com”
organization = “Home”
serial = 2
expiration_days = 3650
encryption_key
signing_key
tls_www_server

# certtool –generate-certificate –load-privkey server-key.pem –load-ca-certificate ca-cert.pem –load-ca-privkey ca-key.pem –template server.tmpl –outfile server-cert.pem

將 server-cert.pem 和 server-key.pem 複製到 /etc/ocserv
# cp server-cert.pem server-key.pem /etc/ocserv

6. 產生使用者端證書(連線時可以不用輸入帳號及密碼)
# cat gen-client-cert.sh
#!/bin/bash
USER=$1
CA_DIR=$2
SERIAL=`date +%s`
certtool –generate-privkey –outfile $USER-key.pem
cat << _EOF_ >user.tmpl
cn = “$USER”
unit = “users”
serial = “$SERIAL”
expiration_days = 3650
signing_key
tls_www_client
_EOF_
certtool –generate-certificate –load-privkey $USER-key.pem –load-ca-certificate $CA_DIR/ca-cert.pem –load-ca-privkey $CA_DIR/ca-key.pem –template user.tmpl –outfile $USER-cert.pem
openssl pkcs12 -export -inkey $USER-key.pem -in $USER-cert.pem -name “$USER VPN Client Cert” -certfile $CA_DIR/ca-cert.pem -out $USER.p12

更改檔案權限
# chmod 700 gen-client-cert.sh

建立目錄來存放使用者證書
# mkdir home
# 切換目錄
# cd home
# home 是使用者的名稱,.. 是指 ca 證書所在的目錄
# ../gen-client-cert.sh home ..
可以直接按 Enter 鍵跳過,就不用設定密碼
Signing certificate…
Enter Export Password:
Verifying – Enter Export Password:

產生之後可以將 home.p12 複製給使用者用戶端導入即可

7. 修改 /etc/ocserv/ocserv.conf 設定檔
# cp /etc/ocserv/ocserv.conf /etc/ocserv/ocserv.conf.$(date +%F)
取消 pam 認證
# sed -i ‘s|^auth = “pam|#auth = “pam|’ /etc/ocserv/ocserv.conf
採用 certificate 認證
# sed -i ‘s/#auth = “certificate”/auth = “certificate”/’ /etc/ocserv/ocserv.conf
設定同一個用戶最多的登入數
# sed -i ‘s/max-same-clients = 2/max-same-clients = 10/’ /etc/ocserv/ocserv.conf
設定憑證檔的位置
# sed -i ‘s|server-cert = /etc/ssl/certs/ssl-cert-snakeoil.pem|server-cert = /etc/ocserv/server-cert.pem|’ /etc/ocserv/ocserv.conf
# sed -i ‘s|server-key = /etc/ssl/private/ssl-cert-snakeoil.key|server-key = /etc/ocserv/server-key.pem|’ /etc/ocserv/ocserv.conf
# sed -i ‘s|ca-cert = /etc/ssl/certs/ssl-cert-snakeoil.pem|ca-cert = /etc/ocserv/ca-cert.pem|’ /etc/ocserv/ocserv.conf
從證書中提取用戶名的方式,這裡提取的是證書中的 CN 欄位作為用戶名
# sed -i ‘s/cert-user-oid = 0.9.2342.19200300.100.1.1/cert-user-oid = 2.5.4.3/’ /etc/ocserv/ocserv.conf
分配給 VPN 用戶端的 IP 網段
# sed -i ‘s/ipv4-network = 192.168.1.0/ipv4-network = 10.12.0.0/’ /etc/ocserv/ocserv.conf
設定 DNS
# sed -i ‘s/dns = 192.168.1.2/dns = 8.8.8.8/’ /etc/ocserv/ocserv.conf
註解 route,讓 Ocserv 伺服器成為 Gateway
# sed -i ‘s/^route = 10.10.10.0/# route = 10.10.10.0/’ /etc/ocserv/ocserv.conf
# sed -i ‘s/^route = 192.168.0.0/# route = 10.10.10.0/’ /etc/ocserv/ocserv.conf
優化 VPN 的網路性能
# sed -i ‘s/^(try-mtu-discovery = ).*$/1”true/’ /etc/ocserv/ocserv.conf

For sed
# cat sed-script
s|^auth = “pam|#auth = “pam|
s/#auth = “certificate”/auth = “certificate”/
s/max-same-clients = 2/max-same-clients = 10/
s|server-cert = /etc/ssl/certs/ssl-cert-snakeoil.pem|server-cert = /etc/ocserv/server-cert.pem|
s|server-key = /etc/ssl/private/ssl-cert-snakeoil.key|server-key = /etc/ocserv/server-key.pem|
s|ca-cert = /etc/ssl/certs/ssl-cert-snakeoil.pem|ca-cert = /etc/ocserv/ca-cert.pem|
s/cert-user-oid = 0.9.2342.19200300.100.1.1/cert-user-oid = 2.5.4.3/
s/ipv4-network = 192.168.1.0/ipv4-network = 10.12.0.0/
s/dns = 192.168.1.2/dns = 8.8.8.8/
s/^route = 10.10.10.0/# route = 10.10.10.0/
s/^route = 192.168.0.0/# route = 10.10.10.0/
s/^(try-mtu-discovery = ).*$/1true/

# sed -i -f sed-script /etc/ocserv/ocserv.conf

8. 設定網路 Forward
# sed -i ‘s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/’ /etc/sysctl.conf
# sysctl -p /etc/sysctl.conf

10. 設定防火牆規則
# iptables -t nat -A POSTROUTING -s 10.12.0.0/24 -o eth0 -j MASQUERADE
# iptables -A FORWARD -i vpns+ -j ACCEPT
# iptables -A FORWARD -o vpns+ -j ACCEPT

11. 儲存防火牆規則
# iptables-save > /etc/sysconfig/iptables

12. 設定開機時啟動
# systemctl enable ocserv
Synchronizing state of ocserv.service with SysV init with /lib/systemd/systemd-sysv-install…
Executing /lib/systemd/systemd-sysv-install enable ocserv

12. 啟動 OpenConnect Server
# systemctl start ocserv
# systemctl status ocserv