作者: william
clonezilla再生龍超好用
自從決定要捨棄vmware esxi 改用 proxmox ve之後 , 連帶思考 vmware converter 的替代方案,
剛好想起clonezilla 再生龍 , 使用後讓我很驚訝, 很棒的一個備份解決方案, 最重要是免費.
再生龍真的是台灣之光, 由台灣的國家高速網路與計算中心所開發.
我試用了兩個作法, 包括:
1. p2p 異機還原(筆電轉桌機)
我的筆電lenovo x230安裝win10, 再由再生龍備份到隨身硬碟, 然後再由隨身硬碟還原到桌機,
還原完畢之後,桌機的win10出現裝置重新設定的訊息,過一陣子再改一下網路設定就能正常使用了.
我想若原機備份還原, 應該就不會出現重新設定訊息,有點類似早期的norton ghost方式.
2. p2v 筆電轉virtualbox vm
筆電已安裝virtualbox , 然後新增一個win10 vm, 該vm含一個虛擬硬碟(還原用途),
vm啟動時, 使用再生龍開機, 掛載隨身硬碟(含x230的備份檔案), 再將隨身硬碟中的x230還原到vm的虛擬硬碟中,
還原成功後, 讓vm重新啟動, win10 一樣會出現裝這重新設定的訊息, 最後完成開機, 成功實現實體主機轉換成虛擬的作法.
再生龍開機後能提供很多功能, 也能連上網路, 掛載網路磁碟機, 再將網路備份的系統還原至新裝置, 非常方便, 剛好偶有一個512MB的隨身碟, 拿來再利用, 非常合適!
優化Android搜尋藍牙裝置方式(API 21)
Android 6.0(API 21)以後, 搜尋藍芽裝置的方式改成:
BluetoothAdapter.startScan (ScanCallback callback)
這種方式我一直用了很久, 也沒遇到問題.
直到有一個需求是隨時監控廣播封包,
這種寫法就會遇到問題, 無法快速取得周遭藍牙廣播資料, 因此需要修改寫法, 把能下的藥都下下去(但耗電):
final List<ScanFilter> filters = new ArrayList<>(); ScanFilter filter = new ScanFilter.Builder().build(); filters.add(filter); final ScanSettings scanSettings = new ScanSettings.Builder() .setNumOfMatches(ScanSettings.MATCH_NUM_MAX_ADVERTISEMENT).setMatchMode(ScanSettings.MATCH_MODE_STICKY).setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES).setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY).build(); BluetoothAdapter.getBluetoothLeScanner().startScan(filters,scanSettings,mLeScanCallback);
CentOS 7.6(1810)更新遇到polkit的錯誤
CentOS 7安裝完畢, 通常會再安裝EPEL, 然後再一起更新
yum install epel-release
但更新的時候遇到polkit這個錯誤
http://ftp.tc.edu.tw/Linux/CentOS/7.6.1810/updates/x86_64/Packages/polkit-0.112-18.el7_6.1.x86_64.rpm: [Errno 14] HTTP Error 416 - Requested Range Not SatisfiableA Trying other mirror.
我想說直接下載rpm安裝,但是遇到衝突
從 polkit-0.112-18.el7_6.1.x86_64 安裝的檔案 /usr/bin/pkaction 與來自套件 polkit-0.112-18.el7.x86_64 的檔案產生衝突
原來已經有安裝了, 所以到最後解法就是更新的時候, 要避開polkit這個套件
yum update --exclude=polkit
就能正確更新了
mysql(mariadb)新增資料庫(UTF-8)與使用者權限
每次都會忘記, 而且之前一點都不在意把使用者與root權限分開,但資安還是要顧著.
MariaDB>CREATE DATABASE 資料庫名稱 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
新增使用者,密碼與權限
MariaDB> create database 資料庫名稱; MariaDB> create user 使用者帳號@localhost identified by '使用者登入密碼'; MariaDB> grant all privileges on 資料庫名稱.* to 使用者帳號@localhost; MariaDB> flush privileges; MariaDB> quit
Linux上如何將資料夾同步到另一個資料夾(rsync)
rsync 很好用,搭配ssh, 可再加密的情況下, 拿來同步遠端資料到本地端,
另一個用途就是複製本地端目錄,到另外一個目錄上
/usr/bin/rsync -avhW --no-compress --progress "來源目錄" "目標目錄"
pve的備份檔案vma
pve 內建的備份檔案是vma格式, 加上lzo壓縮或是gzip壓縮 .
因此要了解裡面有甚麼檔案, 需先解壓縮後, 再使用vma這指令解開裡面的檔案.
解開vma
vma extract xxx.vma "目錄名稱"
解開檔案之後,就可以進行編輯,編輯之後, 再做成vma檔案, 其中比較特別的是若檔案名稱是 disk-drive-sata0 , 做成vma的時候要指定檔名為 drive-sata0 , 否則做出來的檔案, 名稱會不一樣, 指令如下:
vma create xxx.vma -c 目錄名稱/qemu-server.conf drive-sata0=目錄名稱/disk-drive-sata0.raw
若要還原,可以執行qmrestore (107是主機代號,可改):
qmrestore xxx.vma 107
解開vma檔案覺得太大時,可以縮小:
qemu-img convert -O qcow2 xxx.raw new_xxx.raw 或 qemu-img convert -O qcow2 -c xxx.raw new_xxx.raw
安裝Proxmox VE 5.3 注意事項
這陣子積極將vmware esx 轉成 pve 5.3 , 以後遇到安裝注意事項就寫在這裡.安裝
額外安裝套件
1. 查看iscsi設備
apt-get install lsscsi
可使用 lsscsi 查看目前iscsi 設備
2. 安裝multipath-tools
apt-get install multipath-tools
這方式原本是想要讓系統使用iscsi MPIO 的功能,能夠自動切換線路,但似乎設定上很麻煩, 不過還是先安裝起來.
因為這作法可以解決pve若有兩個不同網段網卡連接到Nas的兩個網卡, 造成pve出現兩個相同device的錯誤,
WARNING: PV Lk4DU4-4HO7-of10-g9cR-tsK4-f9Ka-s2FqfC on /dev/sdd was already found on /dev/sdc.
安裝 multipath-tools 之前 , 執行 pvscan 會出現
PV /dev/sdd VG LVM-FreeNasVM lvm2
但是安裝之後, 會出現
PV /dev/mapper/36589cfc000000e54a909f483d8485fb6 VG LVM-FreeNasVM
掛載NFS可考慮使用soft的方式掛載,以免因斷線或是線路不穩造成災難:
編輯 /etc/pve/storage.cfg , 在NFS區塊找出 options vers=3 最後面加上 soft 參數, 變成 options vers=3,soft # 2022/07/27 後來升級改用 nfs vers=4.2 似乎就不用加上soft選項了
列出/刪除cluster的node
1. 列出 pvecm nodes 2. 刪除 pvecm delnode "Node Name" , 最後記得刪除相關檔案(也可以備份) rm /etc/pve/nodes/"Node Name"
ubuntu下使用snap安裝libreoffice
snap是ubuntu力推的一個套件管理架構, 應該是要跟傳統作業系統套件區隔開來, 以便達到不受到作業系統影響的目標吧(咦?這不就跟container很像嗎?)
先安裝 snap
sudo apt install snapd
再使用snap安裝libreoffice
sudo snap install --channel=beta libreoffice
安裝libreoffice完畢,可手動執行
/snap/bin/libreoffice
安裝libreoffice完畢,請重開機
ubuntu 如何強制刪除程式
先前virtualbox 6.0 一出來就急著強制安裝到elementary os中, 導致後續無法升級, 但也刪除不了virtualbox,
最後實在受不了, 我的筆電常常當機, 想說還是要強制刪除virtualbox才行,以下是刪除的方式:
sudo dpkg --remove --force-remove-reinstreq virtualbox-6.0