2023年6月27日 星期二

Get Public IP Address from OpenDNS

一般取得所在 Public IP 都是用 Web 服務取得,例如:
curl ip4.tw
curl ifconfig.co

OpenDNS 有提供一個服務,對他們的 name server 查 myip.opendns.com 會回應來源 IP
dig +short myip.opendns.com @resolver1.opendns.com
host myip.opendns.com resolver1.opendns.com

發現若環境同時有 IPv4+IPv6 可能會不正常,因為兩個 IP 都有的話,通常會走 IPv6 的路由,用 IPv6 路由去查 A 記錄導致無資料

保險一點,指令要區分 IPv4、IPv6
dig -4 +short A myip.opendns.com @resolver1.opendns.com
dig -6 +short AAAA myip.opendns.com @resolver1.opendns.com

2023年6月18日 星期日

Import Rocky Linux 9 to WSL

需先安裝 XZ Utils for Windows 把 xz.exe 放在 PATH 有指到的地方

curl -LOs https://github.com/rocky-linux/sig-cloud-instance-images/raw/Rocky-9.2.20230513-Base-x86_64/layer.tar.xz
上面的 layer.tar.xz 是官方的網址,其他版本網址可到 sig-cloud-instance-images 選擇 Branch
xz -d layer.tar.xz
wsl --import RockyLinux9 D:\WSL\RockyLinux9 layer.tar
Distro 名稱 RockyLinux9 及資料目錄名稱 D:\WSL\RockyLinux9 請依自身環境調整
wsl -d RockyLinux9
即完成進入 RockyLinux9 WSL

ref. Import any Linux distribution to use with WSL

2023年5月20日 星期六

Migrate Google Compute Engine VM image to local

想要把 Google Compute Engine VM 備份,或者 clone 一份到 local 做測試
先關機建立映像檔,再把映像檔匯出到 Bucket (可以選擇匯出格式 vmdk、vhdx 等),然後就可以下載
但會發現在自己的環境無法開機,看起來是找不到 root



解決方式必需重建 initramfs
但因為找不到 root,在這個 emergency mode 無法做這個動作 (dracut -f)
需要找對應的版本的 ISO 來開機,由於系統內可能沒有跟 ISO 內一樣版號的 /lib/modules
最簡單的方式就是裝 ISO 內的 Kernel,流程上一樣會建立 initramfs

以下以 CentOS 7.9 為例:
以光碟開機進入 Rescue 模式後,選 1
chroot /mnt/sysimage
mount /dev/cdrom /mnt
cd /mnt/Packages
rpm -ivh kernel-3.10.0-1160.el7.x86_64.rpm
exit
reboot
應該就可以正常開機了

備註:
一開始畫面出現這個
Probing EDD (edd=off to disable)... ok
其實跟開不了機無關,不影響是否可以正常開機


2023年4月25日 星期二

Amazon Linux 2

可以把 Amazon Linux 2裝在自己的 VM 上
Run Amazon Linux 2 as a virtual machine on premises

要自訂帳密需自行建立 seed.iso,然後掛到光碟上,
seed.iso 內容只有兩個檔,meta-data 及 user-data
懶得自己建也可以用預設的 seed.iso

預設有四個帳號 user1, user2, user3, ec2-user
其中帳號 user1 及 ec2-user 可以用預設密碼 amazon 登入
user2 要設定 hashed passwd, 沒設定是無法登入
user3 是用 SSH key 登入
使用預設的 seed.iso 第一次開完最好把預設的 user 都刪除

2023年3月29日 星期三

Bash built-in case modification

BASH 有內建大小寫轉換功能,執行效率會比使用 tr, sed, awk 好

$ A=ABCdef

# To upper case
$ echo ${A^^}
ABCDEF

# To lower case
$ echo ${A,,}
abcdef

2023年3月23日 星期四

ifup and ifdown equivalent nmcli command

ifup eth0 = nmcli con up eth0
ifdown eth0 = nmcli con down eth0

ifup, ifdown command still available in NetworkManager-initscripts-updown package
dnf -y install NetworkManager-initscripts-updown

2023年3月12日 星期日

解決 Windows 工作排程器 錯誤訊息: 已回報下列錯誤: 工作定義使用了過時的功能

Windows不曉得何時拿掉了工作排程顯示訊息的功能,但還是能設定,後面括號(已過時)
最後會出現如下的畫面。
奇怪,不能設定為何不拿掉設定選項?


替代方式是用執行程式 msg
新增引數輸入 * 要顯示的訊息


2023年2月15日 星期三

2023年1月15日 星期日

Detect iPhone by Port 62078

現在手機預設都有開 Random MAC Address 的功能,也就是無法用 MAC 來判斷是那一家廠商
iPhone 手機有一個固定會 Listen 的 Port 62078,若 Scan 這個 Port 有回應,可以判斷這個 Device 可能是 iPhone
Android 則沒有固定會 Listen 的 Port

WinBox legacy version 3.x

RouterBoard 管理工具 WinBox 官方已經出 4.x 版 UI 比較漂亮,但也肥大許多(解開大於50M),還是習慣使用舊版(x64 只有 2.2M) WinBox 3.43 Legacy version of advanced desktop utility ...