社群聯播
交通部把 「公共運輸整合資訊流通服務平台 ptx」
改版升級成
「運輸資料流通服務 tdx」。
查詢公車站牌、 公車目前位置等等資訊變得更方便了!
請見 範例程式。
首先, 你需要註冊一個會員帳號, 然後就會自動取得一組
ID 跟 Secret。
把這組 ID 跟 Secret 填入範例程式的 tdx-credential.sh,
即可執行並取得一個 json 檔, 內含 access_token。
請把程式中的 $TDX_TOKEN_DIR/tdx-credential.json
改成你自己設定的路徑, 不要 放在 apache2
(或其他網頁伺服器) 讀得到的地方。 路徑必須是所有人可執行;
檔案本身必須是所有人可讀取。 (主要是需要讓網頁伺服器執行者
www-data 讀取。) 。
這個 tdx-credential.sh 可以設定成用 cron 每天半夜執行,
開機管理員我一直偏好用
extlinux
因為它的設定比 grub 簡單, 錯誤訊息也很清楚,
採用 UEFI模式從硬碟或隨身碟開機 也沒有問題。
唯一的問題是: 想要用 extlinux 做 UEFI 版的 iso 開機映象檔, 卻一直失敗。
看了 這一頁比較表,
決定試試看 rEFInd。 成功的用它製作 g22B 版的貴哥實驗室 iso 檔,
趕快筆記大推一下。
第一個重點是: 不要用 debian 系列提供的套件。
不知道為什麼, 用 apt install refind 安裝的版本一直失敗。
到 官網
下載最新版 (我下載的是 refind-bin-0.13.3.1.zip ) 並解壓縮。
下載我打包的
refind-example.tgz 並且在隨身碟的根目錄解壓縮。
其中最重要的就是 EFI/BOOT/startup.nsh 跟 EFI/BOOT/
虛擬機通常躲在 host 的後面, 區網的其他機器看不到虛擬機的 IP。
這樣比較安全但也比較不方便。
我在電腦教室要叫學生互相檢查或攻擊同學的虛擬機,
這時就需要用 bridge (橋接器) 把虛擬機提升到跟 host 位於相同的區網。
觀念上來說, 需要做的事包含:
建立一個虛擬 bridge, 比方說叫做 brext 好了。
停用 eth0。
把實體網卡 eth0 接在 brext 底下。
透過 brext 對外尋求 dhcp 服務。 (Host 的網路又恢復連線。)
以後虛擬機的網路也都接在 brext 上。
指令上來說先前我用 bridge-utils 套件的 brctl 指令
(教學);
但是在 ubuntu 系列的作業系統裡面,
就必須用把預設的網路管理員
從 network manager 改成 networkd。
最近發現 network-manager
現在大部分的電腦都支援 UEFI 開機,
所以新版的貴哥實驗室開機光碟也跟著配合支援 UEFI。
拿它來製作開機隨身碟的過程可以全程在 Windows 底下完成。
感謝蘇浚緯助教製作以上教學影片。 (2021/9/20)
到 這裡
下載最新的ISO檔, 還有對應的 uefi 開機檔。
[2022/9/13] 以目前最新的版本來說, 就是要下載
22/g22B-lmde-elsie.iso 跟 22/g22B-1-uefi-boot-files.tgz 這兩個檔案。
從今年開始, 檔案名稱改成 「版本字串放在前面」, 比較容易一眼就找到最新版。
在 Windows 底下打開檔案總管、 確認你的隨身碟採用的是 fat32 而不是 exfat 格式、
確認隨身碟還有足夠的空間 (至少要有 6G)
安裝解壓縮工具 7-zip,
用它把ISO檔的
查看所有網卡裝置的指令 ip a 印出來的資料令人眼花撩亂;
可是大部分我都看不懂也沒在看。 可以只印看得懂的欄位就好嗎?
如果你的網路知識跟我一樣弱, 想要略過大部分資訊, 可以先安裝 zq,
然後在 ~/.bashrc 裡面加上這一句:
alias ipa="ip -j a | zq -f csv 'over this | {ifname,address,ip_addr:missing(addr_info[0].local)?\"\":addr_info[0].local} | fuse' - | column -s, -t"
那麼下次進入 bash, 就可以用 ipa 指令查看精簡版的資訊。
首先, ip -j a 可以採用 json 格式輸出 ip a 的結果。
再來請試試這個指令:
ip -j a | zq -f csv 'over this |
{ifname,
在 hacker news 上面看到這篇
Introducing zq: an Easier (and Faster) Alternative to jq 。
玩懂了之後, 發現用它來轉檔 (json => csv 或 csv => json)
及篇輯/篩選 json 檔的內容超方便, 甚至比 jq 簡單很多!
只是他們把 zq 的太多功能與特色擠在一篇文章介紹, 所以步調太快, 有點難懂。
這裡我拿臺中市 151 公車停靠站
tcbus-151.json 來作範例, 展示最常用的 zq 基本語法。
這個檔案是從
ptx 公共運輸整合資訊流通服務平台 撈出來的。
一、 簡介
到 github 的 release 頁面
下載適合你的作業系統的版本。 以我下載的 linux-amd64 版本來說,
解壓縮之後把 zq 與 zed 兩個執行檔搬到 /usr/bin 底下就
上個學期教資料視覺化,
其中一個主題是繪製客製地圖, 就做了這個例子:
台中公共腳踏車租賃地點。
像這種 marker 個數太多太密集的地圖, 需要用 cluster map 來做,
當訪客拉近 (zoom in) 時, 才把一個 cluster 拆成更多個小的 clusters。
這個無法用單純的
umap 來做。
[9/7 現在發現 umap 可以製作 cluster map 了, 更簡單!
TGOS 批次地址查經緯度 + umap 私房地圖範例: 清冠一號中醫診所地圖]
請先下載
程式碼, 然後用瀏覽器打開其中的 index.html, 拉近拉遠測試一下。
如果是 firefox, 要先到 about:config 裡面把
security.fileuri.strict_origin_policy 設成 false;
如果是 chromium,
是的, 暑假我在跌跌撞撞當中完成了這個壯舉。
如果再來一次, 有這篇事後心得文可以參考,
說不定半天就可以完成, 或許還能附贈 Windows。
一、 環境及前置作業
教室內網要順暢, 最好有 DHCP。
假設所有電腦的硬體配備都相同。
硬碟可以是空的完全沒有作業系統
除了想要安裝 Linux 之外, 如果還想要加裝 Windows,
那麼每部電腦最好有兩顆硬碟, 處理起來比較簡單。
準備4顆
貴哥版的 grml Linux 開機隨身碟。
以 UEFI 開機的電腦來說可以把
grml 的 iso 檔裡面的所有目錄與檔案複製到隨身碟的根目錄、
進到 live/grml64-small 把 *.squashfs 改名為 root.squashfs
(當初我製作新版光碟時忘記改 *.squashfs 的名字了 orz) 、
把
uefi-boot-files*.tgz
[本來想重寫 TGOS 的教學文, 做這張圖時才發現 umap 已中文化,
介面改了不少, 而且有提供 cluster map 的功能,
就乾脆連 umap 教學也一起重寫。]
接續前一篇
轉碼 big5 除錯記, 已經得到整理過的清冠一號中醫診所地址檔 3.csv。
(仍舊是 utf8 編碼, 但不會讓 iconv 消化不良。)
下一步要轉成 TGOS 規定的格式。
經過很多次實驗, 發現幾件事:
地址欄如果有郵遞區號, 很多時候反而會出錯。 最好刪掉。
很多筆資料裡面的「巿」跟平常打字出現的「市」其實並不一樣:
echo '巿市' | xxd 會看到前者的編碼是 e5 b7 bf
而常用的「市」則是 e5 b8 82。
id 欄必須是整數, 中間跳號沒有關係, 也不需要按照順序。
但是為了等一下處理 (join 指令) 方便,
最好每一列的 id 位數相同 (例如都是
雖然偶爾才遇到... utf8 轉碼 big5 很討厭,
因為 big5 的字集比較小, 會有很多字轉不過去。
今天拿
衛服部「清冠一號動態表」 的中醫診所地址清單做例子,
因為
地址轉經緯度的 TGOS 服務
要求輸入檔案必須採用 big5 編碼。
把網頁存成 cg1.html 。
轉檔: python3
html2csv.py cg1.html > cg1.csv。
手動編輯 cg1.csv, 去掉 "###" 以下所有多餘的列。
某些列的某些欄位因為內含逗點, 所以被雙引號包起來,
以免那些逗點被當成欄位分隔符號。 比較簡單的方式是:
libreoffice cg1.csv、 手動刪掉許多欄位,
只保留代號+名稱+地址三欄、 另存新檔成為 2.csv、
再用 nano/geany/vim 手動編輯 2.csv, 找到所有含有雙引號的地址 (共五列)、
手動把
有時候我會從某個網站一口氣抓下很多 html 檔, 方便離線閱讀。
在 linux 命令列上:
lynx ~/放很多html檔的某個目錄/
接下來就可以用左右方向鍵進入和退出每個檔案, 逐一閱讀。
從省著用手指的角度來看,
這比雙擊滑鼠和下指令都要省力很多。
txt 檔或是沒有副檔名的 README 等等當然也適用。
遇到 pdf 檔, 我的 linux mint 會把 gimp 叫出來。
可是我並沒有要編輯啊! 我習慣用 okular 讀 pdf 檔,
因為按 ctrl-i 就可以變成黑底白字。
這時可以編輯 /etc/mailcap 把裡面所有同時提到 pdf 跟
[gimp 或 inkscape] 的那幾句都註解掉。 離開 lynx、 再重新進入,
這次 lynx 就會用預設的 pdf 閱覽器 (以我而言就是 okular) 去開啟 pdf 檔了。
最近想要學寫