安裝 Kodi for Windows

原本在家中的電視旁邊有放置一台小的 HTPC 電腦,當做影片播放器,但用的次數不是很多,覺得有些浪費,所以想改用 Banana Pi M2+ 來取代,但因為 M2+ 上擷圖比較麻煩,所以改用 Windows 平台來處理,之後實際運作的平台就會改在 Banana Pi M2+。

在 Banana Pi M2+ 可以使用 OpenELEC

關於 Kodi 的介紹可以參考 Kodi – 維基百科,自由的百科全書
Kodi 下載網站:https://kodi.tv/download/
支援的平台,這裡可以下載所須的版本
Current release: Kodi v16.1

Development builds: Kodi v17.0
[@more@]1. 執行下載下來的檔案

2. 安裝過程

3. 執行 Kodi,請選擇 允許存取

4. 執行畫面

5. 要退出可以選擇左下角的地方

Exit 退出 Kodi
Power of system 電腦關機

在 Windows 7/10 下掛載 CentOS 7.x NFS Server 分享的目錄

1. 安裝 Services for NFS

[@more@]
安裝過程
Windows 10

Windows 7 SP1 安裝完成要重新啟動電腦才能生效!

Windows 10 1607

執行 showmount -e 指令會顯示「不支援的 Windows 版本

Windows 7 SP1 / Windows 10 1511 / Windows 10 1607 可以掛載,但無法存取,顯示「找不到檔案」

似乎是 Windows 7/10 的 Services for NFS 與 CentOS 7.x 的 NFS Server 無法配合,因為後來改用 Synology NAS Server 的 NFS Server 則一切正常!

CentOS 7.x NFS Server 的防火牆設定

參考網站:
鳥哥的 Linux 私房菜 — NFS 伺服器
CentOS 7 NFS服务器和客户端设置 – 阿泰的菜园
How to setup NFS Server on CentOS 7 / RHEL 7 / Fedora 22
NFS issue Behind iptables in Centos 7 – Server Fault

# /usr/sbin/rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  33438  status
    100024    1   tcp  45447  status
    100005    1   udp   1002  mountd
    100005    1   tcp   1002  mountd
    100005    2   udp   1002  mountd
    100005    2   tcp   1002  mountd
    100005    3   udp   1002  mountd
    100005    3   tcp   1002  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  58234  nlockmgr
    100021    3   udp  58234  nlockmgr
    100021    4   udp  58234  nlockmgr
    100021    1   tcp  33450  nlockmgr
    100021    3   tcp  33450  nlockmgr
    100021    4   tcp  33450  nlockmgr

稍微整理一下,其中 tcp/udp 111tcp/udp 2049 是固定的,其它則會變動
# /usr/sbin/rpcinfo -p | awk ‘{print $3,$4,$5}’ | sort | uniq
proto port service
tcp 111 portmapper
tcp 2049 nfs
tcp 2049 nfs_acl
tcp 33450 nlockmgr
tcp 45447 status
tcp 1002 mountd
udp 111 portmapper
udp 2049 nfs
udp 2049 nfs_acl
udp 58234 nlockmgr
udp 33438 status
udp 1002 mountd

[@more@]使用 firewalld 防火牆
# /usr/bin/firewall-cmd –permanent –zone public –add-service mountd
# /usr/bin/firewall-cmd –permanent –zone public –add-service rpc-bind
# /usr/bin/firewall-cmd –permanent –zone public –add-service nfs
# /usr/bin/firewall-cmd –reload

不過個人比較習慣使用原有的 iptables 防火牆,所以底下改用固定 NFS Server Port  的方式處理

備份原檔 /etc/sysconfig/nfs
# cp /etc/sysconfig/nfs /etc/sysconfig/nfs.$(date +%F)

修改設定檔 /etc/sysconfig/nfs
# grep PORT /etc/sysconfig/nfs
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020

重新啟動 NFS Server
# systemctl restart nfs-server

如果 nlockmgr Port 還是無法固定,則要修改 /etc/sysctl.conf
# cp /etc/sysctl.conf /etc/sysctl.conf.$(date +%F)
加入下面二行
fs.nfs.nlm_tcpport=32803
fs.nfs.nlm_udpport=32769
# sed -i ‘$a fs.nfs.nlm_tcpport=32803nfs.nfs.nlm_udpport=32769’ /etc/sysctl.conf

讓設定生效
# sysctl -p

再次檢查所使用的 Port 是否有固定
# /usr/sbin/rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp    662  status
    100024    1   tcp    662  status
    100005    1   udp    892  mountd
    100005    1   tcp    892  mountd
    100005    2   udp    892  mountd
    100005    2   tcp    892  mountd
    100005    3   udp    892  mountd
    100005    3   tcp    892  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  32769  nlockmgr
    100021    3   udp  32769  nlockmgr
    100021    4   udp  32769  nlockmgr
    100021    1   tcp  32803  nlockmgr
    100021    3   tcp  32803  nlockmgr
    100021    4   tcp  32803  nlockmgr

# /usr/sbin/rpcinfo -p | awk ‘{print $3,$4,$5}’ | sort | uniq
proto port service
tcp 111 portmapper
tcp 2049 nfs
tcp 2049 nfs_acl
tcp 32803 nlockmgr
tcp 662 status
tcp 892 mountd
udp 111 portmapper
udp 2049 nfs
udp 2049 nfs_acl
udp 32769 nlockmgr
udp 662 status
udp 892 mountd

使用 firewalld 防火牆
# /usr/bin/firewall-cmd –permanent –add-port=111/tcp
# /usr/bin/firewall-cmd –permanent –add-port=111/udp
# /usr/bin/firewall-cmd –permanent –add-port=662/tcp
# /usr/bin/firewall-cmd –permanent –add-port=662/udp
# /usr/bin/firewall-cmd –permanent –add-port=892/tcp
# /usr/bin/firewall-cmd –permanent –add-port=892/udp
# /usr/bin/firewall-cmd –permanent –add-port=2049/tcp
# /usr/bin/firewall-cmd –permanent –add-port=2049/udp
# /usr/bin/firewall-cmd –permanent –add-port=32803/tcp
# /usr/bin/firewall-cmd –permanent –add-port=32769/udp

# /usr/bin/firewall-cmd –reload

使用 iptables 防火牆
# /usr/sbin/iptables -A INPUT -i eth0 -p tcp -s 192.168.1.0/24 -m multiport –dport 111,2049,662,892,32803 -j ACCEPT
# /usr/sbin/iptables -A INPUT -i eth0 -p udp -s 192.168.1.0/24 -m multiport –dport 111,2049,662,892,32769 -j ACCEPT

在 CentOS 7.x 架設 NFS Server

因為要分享檔案給內部區域網路使用,所以架設了 NFS Server。
參考網站:
鳥哥的 Linux 私房菜 — NFS 伺服器
CentOS 7 NFS服务器和客户端设置 – 阿泰的菜园
How to setup NFS Server on CentOS 7 / RHEL 7 / Fedora 22

NFS Server IP: 192.168.1.13
1. 在 CentOS 7.x 下安裝
# yum install nfs-utils

2. 建立要分享的目錄設定檔 /etc/exports
# cat /etc/exports
# 分享目錄 允許連線來源(權限)
# ro 唯讀
# async 非同步寫入到硬碟
# no_root_squash 使用 root 身份連線
/home/test 192.168.1.0/24(ro,async,no_root_squash)[@more@]3. 之後如果有重新修改 /etc/exports 檔案時,不用重新啟動 NFS Server,只要執行下面指令即可!
# /usr/sbin/exportfs -arv
選項與參數:
-a :全部掛載(或卸載) /etc/exports 檔案內的設定
-r :重新掛載 /etc/exports 裡面的設定,此外,亦同步更新 /etc/exports
        及 /var/lib/nfs/xtab 的內容!
-u :卸載某一目錄
-v :在 export 的時候,將分享的目錄顯示到螢幕上!

4. 在 NFS Server 上,啟動 SELiux 放行規定
# setsebool -P nfs_export_all_rw on
# setsebool -P nfs_export_all_ro on

5. 執行 NFS Server
# systemctl restart nfs-server
# systemctl enable nfs-server

6. 檢查 NFS Server 的 Port 使用狀態
# netstat -tulnp| grep -E ‘(rpc|nfs)’
tcp        0      0 0.0.0.0:662             0.0.0.0:*               LISTEN      4612/rpc.statd
tcp        0      0 0.0.0.0:1002             0.0.0.0:*               LISTEN      6033/rpc.mountd
udp        0      0 0.0.0.0:111             0.0.0.0:*                           4558/rpcbind
udp        0      0 0.0.0.0:662             0.0.0.0:*                           4612/rpc.statd
udp        0      0 0.0.0.0:1002             0.0.0.0:*                           6033/rpc.mountd
udp     6144      0 0.0.0.0:913             0.0.0.0:*                           4558/rpcbind
udp        0      0 127.0.0.1:972           0.0.0.0:*                           4612/rpc.statd

7. 顯示出目前這部主機的 RPC 狀態
# /usr/sbin/rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  33438  status
    100024    1   tcp  45447  status
    100005    1   udp   1002  mountd
    100005    1   tcp   1002  mountd
    100005    2   udp   1002  mountd
    100005    2   tcp   1002  mountd
    100005    3   udp   1002  mountd
    100005    3   tcp   1002  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  58234  nlockmgr
    100021    3   udp  58234  nlockmgr
    100021    4   udp  58234  nlockmgr
    100021    1   tcp  33450  nlockmgr
    100021    3   tcp  33450  nlockmgr
    100021    4   tcp  33450  nlockmgr

8. 顯示 NFS Server 分享的資源
# /usr/sbin/showmount -e 127.0.0.1
Export list for 127.0.0.1:
/home/test 192.168.1.0/24
# /usr/sbin/showmount -e 192.168.1.13
Export list for 192.168.1.13:
/home/t850008 192.168.1.0/24

9. 在 Linux 下進行連線
建立目錄
# mkdir /mnt/nfs_test

進行掛載
# mount -t nfs 192.168.1.13:/home/test /mnt/nfs_test

取消掛載
# umount  /mnt/nfs_test

Adobe Flash Player 24.0.0.221


檢查安裝版本:https://www.adobe.com/tw/software/flash/about/
https://get.adobe.com/tw/flashplayer/
[@more@]Windows 7 平台
Internet Explorer:
http://fpdownload.adobe.com/get/flashplayer/pdc/24.0.0.221/install_flash_player_ax.exe
Windows 8 / 8.1 / 10 / Server 2012 / Server 2012 R2 要從 Windows Update 更新

Google Chrome(Opera)
http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player_ppapi.exe

All Other Browsers(Firefox…): 
http://fpdownload.adobe.com/get/flashplayer/pdc/24.0.0.221/install_flash_player.exe

Mac 平台:
http://fpdownload.adobe.com/get/flashplayer/pdc/24.0.0.221/install_flash_player_osx.dmg

systemctl daemon 的執行及預設狀態

底下取自 鳥哥的 Linux 私房菜 — 第十七章、認識系統服務 (daemons)

daemon 的執行狀態
    active (running):正有一隻或多隻程序正在系統中執行的意思,舉例來說,正在執行中的 httpd 就是這種模式。
    active (exited):僅執行一次就正常結束的服務,目前並沒有任何程序在系統中執行。通常用 bash shell 寫的小型服務,大多是屬於這種類型 (無須常駐記憶體)。
    active (waiting):正在執行當中,不過還再等待其他的事件才能繼續處理。舉例來說,列印的佇列相關服務就是這種狀態。
    inactive:這個服務目前沒有運作的意思。

daemon 的預設狀態
    enabled:這個 daemon 將在開機時被執行
    disabled:這個 daemon 在開機時不會被執行
    static:這個 daemon 不可以自己啟動 ( enable 不可),不過可能會被其他的 enabled 的服務來喚醒 (相依屬性的服務) ,像 nfslock
    mask:這個 daemon 無論如何都無法被啟動!因為已經被強制註銷 (非刪除)。可透過 systemctl unmask 方式改回原本狀態

試用 Banana Pi M3 – DietPi dietpi-* 工具組

# /DietPi/dietpi/dietpi-autostart

# /DietPi/dietpi/dietpi-banner
———————————————————————–
 DietPi     | 15:17 | Sat 07/01/17
———————————————————————–
 V141       | OrangePi PC (armv7l)
———————————————————————–
 IP Address | 192.168.1.19
———————————————————————–[@more@]
# /DietPi/dietpi/dietpi-cleaner

# /DietPi/dietpi/dietpi-cpu_set

 DietPi-Cpu_Set
———————————————————————–
 Mode: Applying CPU gov
 Please wait…

 [Ok] CPU gov applied: interactive

# /DietPi/dietpi/dietpi-cpuinfo

———————————————————————————————-
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
———————————————————————————————-
 Architecture |     armv7l
 Temp         |     61’c | Running hot, not recommended.
 Governor     |     interactive

                 Current Freq    Min Freq   Max Freq
 CPU0         |      480 Mhz      480 Mhz    1800 Mhz
 CPU1         |      480 Mhz      480 Mhz    1800 Mhz
 CPU2         |      480 Mhz      480 Mhz    1800 Mhz
 CPU3         |      480 Mhz      480 Mhz    1800 Mhz
 CPU4         |      480 Mhz      480 Mhz    1800 Mhz
 CPU5         |      480 Mhz      480 Mhz    1800 Mhz
 CPU6         |      480 Mhz      480 Mhz    1800 Mhz
 CPU7         |      480 Mhz      480 Mhz    1800 Mhz

# /DietPi/dietpi/dietpi-cron

# /DietPi/dietpi/dietpi-drive_manager

# /DietPi/dietpi/dietpi-update

# /DietPi/dietpi/dietpi-logclear

 DietPi-Logclear
———————————————————————————————-
 Mode: Welcome
 Please wait…

 Available commands:

 dietpi-logclear 0
 Backup contents of all log files from /var/log to /root/logfile_storage/*.
 Also clears the contents of all logs files in /var/log.

 dietpi-logclear 1
 Clear contents of all logs files in /var/log.

 dietpi-logclear 2
 Physically delete all files in /var/log and backups in /root/logfile_storage/*.
 May prevent log files from being updated, restart services or reboot.

# /DietPi/dietpi/dietpi-process_tool

# /DietPi/dietpi/dietpi-survey
 [Info] Testing connection to dietpi.com
 [Info] Max duration of 20 seconds, please wait…
 [Ok] Connection test | Completed

# /DietPi/dietpi/dietpi-services

 DietPi-Services
———————————————————————————————-
 Mode:
 Please wait…

DietPi-Services
Available commands: start / stop / restart / enable / disable

# /DietPi/dietpi/dietpi-services mysql stop

 DietPi-Services
———————————————————————————————-
 Mode: mysql
 Please wait…

DietPi-Services
Available commands: start / stop / restart / enable / disable

# /DietPi/dietpi/dietpi-sync

# /DietPi/dietpi/dietpi-update

 DietPi-Update
————————————————————————–
 Mode: Checking for DietPi updates
 Please wait…

 [Info] Checking Mirror : http://dietpi.com/downloads/dietpi-update_mirror/master/server_version
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100     5  100     5    0     0      4      0  0:00:01  0:00:01 –:–:–     4
 [Ok] Using update server: http://dietpi.com/downloads/dietpi-update_mirror/master/server_version

 [Ok] No updates required, your DietPi installation is up to date.

 [Info] Current Version : 141
 [Info] Server Version  : 141

試用 Banana Pi M3 – DietPi dietpi-software 安裝套件

DietPi 本身是 base on Debian,所以除了可以使用 apt / dpkg 來安裝及移除軟體外,也可以利用 dietpi-software 來安裝套件。
1. 執行
# /DietPi/dietpi/dietpi-software
  GPLv2 授權

[@more@]

選擇 Software Optimized

可以安裝的軟體套件組

這裡安裝的是 LLAP ( Linux + Lighttpd + MariaDB + PHP )

選擇 Install

確認

安裝過程

安裝完成後,系統會自動重新開機

檢查系統是否有正常安裝完成並啟動相關服務
# netstat -antulp | grep LISTEN
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1225/mysqld
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1036/lighttpd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      447/dropbear
tcp6       0      0 :::80                   :::*                    LISTEN      1036/lighttpd
tcp6       0      0 :::22                   :::*                    LISTEN      447/dropbear

試用 Banana Pi M3 – DietPi dietpi-config 設定工具

dietpi-config 是 DietPi 的設定工具。
1. 執行
# /DietPi/dietpi/dietpi-config
[@more@]1  Display Options(顯示選項)
    Change Resolution (改變解析度)
    GPU/RAM Memory Split (GPU / 記憶體分割)
    LCD Panel addon: none (增加 LCD Panel: 無)

不過這三個選項,在 Banana Pi M3 均無法設定

2  Audio Options(聲音選項)

    Soundcard : none (音效卡 : 無)

Performance Options (效能選項)

    Change CPU Governor : interactive ( 改變 CPU 調速器 : 互動式)    

    CPU 工作頻率調整,自動調整 / 省電型 / 高效能型

  CPU Throttle Up     : 50% ( CPU 運作頻率閥值)

   
    有效的設定範圍:30 ~ 95,建議設定值:Desktop = 50%,Server = 85%

  CPU Max Freq Limit  : Disabled (CPU 最大工作頻率限制:無)

4  Advanced Options ( 進階設定 )

    Swapfile size   : 100 MB ( 設定 Swapfile 大小 )

    Time sync mode  : Boot + Daily ( 時間同步的方式:開機 + 每天)

    Update firmware ( 更新韌體 )

    Bluetooth       : Enabled ( 藍芽 : 開啟 )

    Serial console : Disabled ( 串行控制台 : 取消 )

5  Language/Regional Options ( 語言/地區 選項 )

    Locale   Change Language and Regional Settings ( Locale 設定 )

    Timezone Change Timezone Location Setting ( 時區設定 )


   

Keyboard Change Keyboard Language Setting ( 鍵盤設定 )

6  Security Options ( 安全選項 )

    Change Root Password ( 改變 root 密碼 )

    Change Hostname ( 改變主機名稱 )

7  Network Options: Adapters ( 網路選項: 介面)

8  Network Options: NAS/Misc ( 網路選項: Client 端)

9  AutoStart Options ( 自動執行選項)

10 Tools ( 工具 )

    效能 壓力測試

退出時,如果有做比較大的設定,要讓系統重新啟動