Android: /Android/data/org.xbmc.kodi/files/.kodi/
Linux: ~/.kodi/
iOS: /private/var/mobile/Library/Preferences/Kodi/
Mac: /Users/您的用戶名/Library/Application Support/Kodi/
LibreELEC/OpenELEC: /storage/.kodi/
Windows KODI官網下載的.exe: User\您的用戶名\AppData\Roaming\kodi\
Windows 8~10 App商店安裝的KODI: User\您的用戶名\AppData\Local\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCache\Roaming\Kodi\
2020年1月15日 星期三
2020年1月14日 星期二
Proxmox VE 的 LXC Bind Mounts
Proxmox VE filesystem的模式是透過 lxc 的 bind mount 來直接管理 filesystem 的 acl ... 更快速更有效能
(因為完全沒有 TCP IP layer)
Bind mounts 允許從 Proxmox VE host 的 container 裡 可以直接存取 Host實體主機的目錄(directory),或 storage volume.有多種不同的用途:
LXC guest 可以存取 Host 的家目錄
LXC guest 可以存取 USB 裝置目錄
LXC guest 可以存取 NFS 的目錄
要注意的是,在 LXC 上要連接的分享目錄必需是在 Host 上已經掛載連接的才可以. 為了安全起見, PVE 不允許 LXC 直接掛載其它主機上的 NFS .
假設 編號為 206 的 LXC 容器 要存取 host 實體機裡的目錄:
/target 是虛擬機中的目錄
/mnt/pve/freenas 是已經掛載的 NFS 目錄.
現在需要把下列的參數加到 虛擬機 /etc/pve/lxc/206.conf 的設定檔裡:
mp -> LXC 虛擬機上要掛載的目錄 (不用手動建立,掛載後會自動建立. 若事先建立,系統會將原來的目錄遮蔽.)
自己實作記錄
Bind mounts and backup
Note that bind mounts are not going to be included when you backup the container by default. You need to set the backup flag to include them.
Bind mounts 允許從 Proxmox VE host 的 container 裡 可以直接存取 Host實體主機的目錄(directory),或 storage volume.有多種不同的用途:
LXC guest 可以存取 Host 的家目錄
LXC guest 可以存取 USB 裝置目錄
LXC guest 可以存取 NFS 的目錄
要注意的是,在 LXC 上要連接的分享目錄必需是在 Host 上已經掛載連接的才可以. 為了安全起見, PVE 不允許 LXC 直接掛載其它主機上的 NFS .
假設 編號為 206 的 LXC 容器 要存取 host 實體機裡的目錄:
/target 是虛擬機中的目錄
/mnt/pve/freenas 是已經掛載的 NFS 目錄.
現在需要把下列的參數加到 虛擬機 /etc/pve/lxc/206.conf 的設定檔裡:
mp0: /target/test,mp=/target mp1: /mnt/pve/freenas,mp=/mnt/pve/freenas
mp -> LXC 虛擬機上要掛載的目錄 (不用手動建立,掛載後會自動建立. 若事先建立,系統會將原來的目錄遮蔽.)
自己實作記錄
nano /etc/pve/lxc/206.conf
arch: amd64 cores: 4 hostname: media21 memory: 1024 net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.1.254,hwaddr=9E:24:37:4C:7A:$ net1: name=eth1,bridge=vmbr1,firewall=1,hwaddr=6A:8A:72:9C:6A:3F,ip=192.168.2.2$ ostype: ubuntu parent: install_rclone rootfs: ssdpool1:subvol-206-disk-0,size=8G swap: 256 unprivileged: 1 # 要掛載的東東 mp0: /home/gd,mp=/home/gd mp1: /home/media,mp=/home/media再將 LXC ( container ) 虛擬機重新開機,檢查是否有正確掛載
Bind mounts and backup
Note that bind mounts are not going to be included when you backup the container by default. You need to set the backup flag to include them.
mp0: /target/test,mp=/target,backup=1
2020年1月7日 星期二
mysql 8 的 sql mode 查詢及設置
MYSQL 升級後, 出現了 Field 'XXX' doesn't have a default value。
是因為新版的 mysql 開啟了嚴格模式(STRICT_TRANS_TABLES),以下指令可以查詢並修改相關內容。
查詢 sql_mode
設置 sql_mode
sql_mode常用值:
ONLY_FULL_GROUP_BY:對於GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現,那麼這個SQL是不合法的,因為列不在GROUP BY從句中。
NO_AUTO_VALUE_ON_ZERO:該值影響自增長列的插入。插入設置下,插入0或NULL代表生成下一個自增長值。如果用戶希望插入的數值為0,而該列又是自增長的,那麼這個選項就有用了。
STRICT_TRANS_TABLES:在該模式下,如果一個值不能插入到一個事務表中,則中斷當前的操作,對非事務表不做限制
NO_ZERO_IN_DATE:在嚴格模式下,排除日期和月份為零
NO_ZERO_DATE:設置該值,mysql數據庫重複插入零日期,插入零日期會引發錯誤而不是警告。
ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE過程中,如果數據被零除,則產生錯誤而不警告。如果未命名該模式,那麼數據被零除時MySQL返回NULL
NO_AUTO_CREATE_USER:禁止GRANT創建密碼為空的用戶
NO_ENGINE_SUBSTITUTION:如果需要的存儲引擎被替換或未編譯,則引發錯誤。不設置此值時,用替換的存儲引擎替代,並拋出一個異常
PIPES_AS_CONCAT:將“ ||”視為串行的連接操作符而非或運算符,這和Oracle數據庫是一樣的,也和串聯的拼接函數Concat相類似
ANSI_QUOTES:啟用ANSI_QUOTES後,不能用雙引號來引用字符串,因為它被解釋為識別符
查詢 sql_mode
mysql> select @@GLOBAL.sql_mode; +------------------------------------------------------------------------------- | @@GLOBAL.sql_mode +------------------------------------------------------------------------------- | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_ +------------------------------------------------------------------------------- 1 row in set (0.00 sec)
mysql> select @@SESSION.sql_mode; +-----------------------------------------------------------------------------------------------------------------------+ | @@SESSION.sql_mode | +-----------------------------------------------------------------------------------------------------------------------+ | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION | +-----------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
設置 sql_mode
mysql> set GLOBAL sql_mode=''; Query OK, 0 rows affected (0.00 sec)
mysql> set SESSION sql_mode=''; Query OK, 0 rows affected (0.00 sec)在 ubuntu 的 mysql 8 , 可直接修改 mysql 設定檔
nano /etc/mysql/mysql.conf.d/mysqld.cnf最後一行加入
sql_mode = ''即可
sql_mode常用值:
ONLY_FULL_GROUP_BY:對於GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現,那麼這個SQL是不合法的,因為列不在GROUP BY從句中。
NO_AUTO_VALUE_ON_ZERO:該值影響自增長列的插入。插入設置下,插入0或NULL代表生成下一個自增長值。如果用戶希望插入的數值為0,而該列又是自增長的,那麼這個選項就有用了。
STRICT_TRANS_TABLES:在該模式下,如果一個值不能插入到一個事務表中,則中斷當前的操作,對非事務表不做限制
NO_ZERO_IN_DATE:在嚴格模式下,排除日期和月份為零
NO_ZERO_DATE:設置該值,mysql數據庫重複插入零日期,插入零日期會引發錯誤而不是警告。
ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE過程中,如果數據被零除,則產生錯誤而不警告。如果未命名該模式,那麼數據被零除時MySQL返回NULL
NO_AUTO_CREATE_USER:禁止GRANT創建密碼為空的用戶
NO_ENGINE_SUBSTITUTION:如果需要的存儲引擎被替換或未編譯,則引發錯誤。不設置此值時,用替換的存儲引擎替代,並拋出一個異常
PIPES_AS_CONCAT:將“ ||”視為串行的連接操作符而非或運算符,這和Oracle數據庫是一樣的,也和串聯的拼接函數Concat相類似
ANSI_QUOTES:啟用ANSI_QUOTES後,不能用雙引號來引用字符串,因為它被解釋為識別符
2020年1月3日 星期五
Nginx 錯誤: 413 Request entity too large 的解決方式
Nginx 413 Request Entity Too Large
出現 Error 413 的原因是訪客瀏覽網頁時, 傳送過多的 HTTP 請求, 一般在上傳檔案時出現, 解決方法是修改 Nginx 的 上傳限制, 這個可以透過 Nginx 的 client_max_body_size 設定。
client_max_body_size 是用作設定訪客最多可以傳送多少資料, 如果訪客傳送到 Nginx 的資料超過這個限制, 便會出現 413 Request Entity Too Large 錯誤, 而這個參數的預設值是 1MB。要修改首先開啟 Nginx 的設定檔 nginx.conf:
nano /etc/nginx/nginx.conf 或單獨設定某個 site nano /etc/nginx/sites-available/expamle.com在 http, server 或 location 其中一個 block 加入 client_max_body_size 設定
client_max_body_size 100M; fastcgi_read_timeout 600;如果出現問題的地方, 是 PHP 上傳檔案的部份, 需要連同 PHP 的上載限制一同修改, 開啟 php.ini 檔案:
nano /etc/php.ini找到以下參數並修改
upload_max_filesize = 100M; post_max_size = 100M; max_execution_time = 600; max_input_time = 600; memory_limit = 128M;重新載入 nginx 以及 php
systemctl restart nginx systemctl restart php7.3-fpm
修改phpmyadmin 默認超時,登錄超時(1440 秒未操作),請重新登錄
修改 phpmyadmin 設定檔
在 phpmyadmin的根目錄下有 config.inc.php 這個檔案,最上面加入一行,設定時間(秒數)即可。
$cfg['LoginCookieValidity'] = 86400;
2020年1月2日 星期四
WINDOWS 10 開啟網路芳鄰功能
WINDOWS 10 更新版後,會關閉 SMBv1,以下為開啟方法:
先使用管理者權限執行 CMD 輸入下方指令
先使用管理者權限執行 CMD 輸入下方指令
SC.EXE config lanmanworkstation depend=bowser/mrxsmb10/nsi若要關閉 SMBv2 (可以不用關)
SC.EXE config mrxsmb20 start=disabled接下來,windows 系統管理工具\服務 開啟後\
DNS Client 確定開啟 Function Discovery Provider Host 請啟動並由手動改成自動 Function Discovery Resource Publication 請啟動並由手動改成自動 SSDP Discovery 請啟動並由手動改成自動 UPnP Device Host 請啟動並由手動改成自動搜尋windows 找 "windows 功能" 點進 "開啟或關閉Windows 功能"
展開SMB 1.0/CIFS 檔案共用支援 勾選"SMB 1.0/CIFS 用戶端"重開機後,網路芳鄰裡的裝置就會再次出現了!
nginx 建立 Virtual Host
在 /etc/nginx/sites-available 建立一個檔案
mkdir nginx_example.com開啟剛建立的設定檔
nano nginx_example.com編輯並修改設定檔的內容
# configuration - nginx_example.com
#
server {
listen 80;
listen [::]:80;
root /var/www/nginx_example.com;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm;
server_name example.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
存檔後退出,建立一個軟連接
ln -s /etc/nginx/sites-available/nginx_example.com /etc/nginx/sites-enabled/nginx_example.com重新載入 nginx
systemctl reload nginx完成!!
2020年1月1日 星期三
Proxmox CT 出現 TASK ERROR: CT is locked (snapshot-delete) 的解決方式
可以在 PVE 主機端透過以下語法解開 lock 狀態: Exp. CT id=101
如果 unlock 之後, 還是因為 snapshot 持續造成異常 lock 且 snapshot-delete 也無法刪除
可以手動修改 /etc/pve/qemu-server/ or /etc/pve/lxc 內的 <vm_id>.conf 內, 移除 [snapshot] 段落
然後需要關閉 CT (或vm) , 在透過 pve 啟動 CT (或vm) 就可解決這問題
pct unlock 101完成後 CT 101 便可正常動作
如果 unlock 之後, 還是因為 snapshot 持續造成異常 lock 且 snapshot-delete 也無法刪除
可以手動修改 /etc/pve/qemu-server/ or /etc/pve/lxc 內的 <vm_id>.conf 內, 移除 [snapshot] 段落
然後需要關閉 CT (或vm) , 在透過 pve 啟動 CT (或vm) 就可解決這問題
訂閱:
文章 (Atom)