搜尋

搜尋結果

Tmux - 繼 Screen以後的Linux多工神器
科技新知
MacauYeah・2024-10-08

因為各硬件/軟件的發難,筆者又不得不回到那個只有純純linux tty console的世界。很多時候,那怕使用tty,我們在Desktop mode,也有現代terminal 可以用,需要多分頁,滑鼠選取文字、複制、貼上,都可以輕易做到。 但在mobile / tablet device 上,手指操作真的很不方便。又或者你像筆者一樣,即使有電腦,但要操作一些Linux VM,它們連ssh都沒有,只能直接登入它們的tty,那麼懂得使用Tmux進行分頁及複制、貼上,就變得很重要。 Tmux 是什麼? Tmux 就是可以在Linux Terminal 同一個窗口中,實現多工處理的小程式。就像我們利用多分頁一樣,不同分頁做不同的事。不過最大的差異就是,生成分頁,排列分頁,我們都要使用鍵盤來完成。有時筆者也會用它來作為背景程式,以免不小心關了Terminal就會把所有運行中的指令都停掉。 我們就馬上來看實際例子吧 前置事項: 安裝Tmux及運行Tmux Debain & Ubuntu 安裝: sudo apt-get update && sudo apt-get install tmux 運行:tmux 進入tmux後,你就會至少有一個分頁,而且不會因為Terminal關閘而中斷 用法一: 建立兩個分頁,並切換 增加分頁: 先按 “Ctrl + b” (前置鍵),再按”c” (create) 切換分頁: 在多於一個分頁的情況下,先按 “Ctrl + b” (前置鍵),再按”n” (next) 用法二: 同一個分頁中,建立左右並排的窗口 增加水平窗口: 先按 “Ctrl + b” (前置鍵),再按 “ (雙引號) 切換窗口: 在多於一個窗口的情況下,先按 “Ctrl + b” (前置鍵),再按方向鍵左或右 用法三: 回到前一個tmux session中 因為不小必關閉了terminal,又或是remote ssh中,ssh斷線後,需要回到之前的工作狀態 未進入tmux 的狀態下:tmux attach 要留意tmux 可以有很多個session,要去到指定的session,就要為session命名。但這個不是筆者常用的情境,原本多個分頁已經很夠用,還要多個session,會很混亂。但不排除它在某些情況下有特別用途,有興趣的朋友可以自行挖挖看。 進階: 回頭看過去的terminal screen output 在現代的Terminal中,原本按滑鼠滑輪向上滾,就可以看到過去的資訊,但tmux下反而不行,所以我們需要進入特殊模式 進入Copy Mode: 先按 “Ctrl + b” (前置鍵),再按 [ (開括號中括號) 向上翻頁: 上方向鍵或PageUp 離開Copy Mode: Copy Mode中任何時候按”q” 進階: 複制貼上 進入Copy Mode: 先按 “Ctrl + b” (前置鍵),再按 [ (開括號中括號) 選擇範圍: 移到需要複制的文字起點,“Ctrl + Space” ,然後再移動到結束點,再按”Ctrl + w” 複制 貼上: 離開Copy Mode後,再按”Ctrl + b” ,然後 ] (關括號中括號) 進行貼上 進階: 複制貼上2 某些情況下,我們不允許使用“Ctrl + Space” 或 ”Ctrl + w”,因為它們可能跟系統的組合鍵有衝突,所以需要改為單鍵。 讓tmux使用類似vim的操作模式: echo “set-window-option -g mode-keys vi” >> ~/.tmux.conf 關掉所有使用中的tmux,重開tmux 進入Copy Mode: 先按 “Ctrl + b” (前置鍵),再按 [ (開括號中括號) 選擇範圍: 移到需要複制的文字起點,按單鍵“Space” ,然後再移動到結束點,再按”Enter” 複制 貼上: 離開Copy Mode後,再按”Ctrl + b” ,然後 ] (關括號中括號) 進行貼上 筆者常用的功能就這些,有興趣的朋友可以再深挖一下。 Reference https://tmuxcheatsheet.com/

Swarm Mode 上線番外篇:Ceph
科技新知
MacauYeah・2024-08-20

在預設Docker和K8s的容器主導世界裏面,其實一直都缺少了直觀的儲存空間。當你的程序需要讀寫故定的來源資料,該來源就必需是外部的穩定儲存空間,例如是資料庫、NFS。但資料庫、NFS等,要做到真的正穩定,其實就要走Cluster(叢集)模式,確保它們自己本身不是做成single point of failure (單點故障)的元兇。 坊間,只要付得起錢,其實找個穩定的資料庫或NFS,也是有的。但如果你像筆者一樣,只有一塊或多塊【鐵】,就要試試開源的儲存引擎Ceph Storage。 Ceph Storage,有自己特有的CephFS格式,但也支援NFS https://docs.ceph.com/en/quincy/cephadm/install/。也就是,只要我們有足夠多人力,道理上可以自己用實體機去模擬一個穩定的NFS。 因為只是試裝,筆者暫時只用VM來測試,完整的安裝script,可以在這裏找到。script使用Multipass VM,大家有條件的話,可以使用其他VM引擎來看重複。以下是一些官網上沒有提的重點: Ubuntu 24.04 還未能正式使用。在筆者做POC的當是,Ceph v18 在 Ubuntu 24.04上需要先解決,即使大家使用Curl base下載 binary,也未必能成功。 筆者成功測的版本是 Ubuntu 22.04 + Ceph v17,全使用Ubuntu 發佈的內置版本。但大家也要留意自己的Ubuntu apt 有沒有更新到最新版,過去的 cephadm,引用的container image url也變更。記得更新到v17 的最新版,cephadm 指令才能成功取得image。 在官方說明文件的【Deploying a new Ceph cluster】中的【Adding Hosts】https://docs.ceph.com/en/reef/cephadm/install/#adding-hosts 節章可能有些誤導,大家應該要看 【Host Management】中的【Adding Hosts】 https://docs.ceph.com/en/reef/cephadm/host-management/#cephadm-adding-hosts 在每個節點內,可以直觀地連接地Ceph Dashboard,但若大家需要Port Forword,要注意你的Network Interface,筆者就只能經過預設的IPv4的public ip 進行ssh port forward,不能經過0.0.0.0。 Script 位置 https://github.com/macauyeah/ubuntuPackerImage/blob/main/initCephCluster.sh

B百日下水禮-游樂寶寶
兒童成長
MacauYeah・2022-09-23

夏日炎炎,筆者那熱愛游泳的老婆大人初為人母,雖然產後仍未能下水暢泳,但十分期待帶住萌B首試享受水中嬉戲的樂趣。 在本澳有多間嬰幼兒游泳館,比較多人熟悉的有游樂寶寶、Water Babies、Love U Baby ….. 在選擇合適的游泳館時,最緊要考慮如下因素: 地點:小寶貝容易哭鬧的時間較多,且若想經常游泳,選擇距離近、易停泊車輛的游水永館可減低出行成本及減低嬰兒煩燥的可能性; 環境及水質:舒適的環境及干淨的水質對小寶貝的健康十分重要,稍有細菌會引致小寶貝出現不同程度的皮膚問題; 服務人員的素質:作為客人,服務員的態度直接影響消費感受,溫柔耐心的服務員可讓你的小寶貝笑容滿臉,十分享受游泳服務的過程; 價格:Well,最多人關心的因素,個人接受度不同,不宜置評。 由於筆者的個人條件,經考慮比較後,選擇先試位於東望洋新街的游樂寶寶,游樂寶寶位置不算方便,位處栢棆水果店旁,泳館門口很細差點略過。然而,該館採用美國技術的循環池,保證每一小時對池水進行一次循環更新(成人池是每六小時循環一次),而且采用安全無氯全臭氧水處理池水,不會對小寶貝的脆弱肌膚造成傷害,而且自稱場內有執牌醫生護士註場,令爸媽們安個心。 入到場內見到色彩賓紛的裝潢及先看到一個長方形多人池,再進內會看到數個單人細池、沐浴池及按摩枱。服務員先替小寶貝做個簡單按摩熱身,再為小寶貝套上浮圈,由於是初生所以會使用一人池,待池中注滿水後便將小寶具放入池中並調教時間15分鐘(是的一次只能游15至20分鐘左右,因為怕小心臟負荷不了,先讓小寶貝熟習),初時小寶貝十分緊張,但很快便放鬆暢泳了。 開心時間特別快過,夠鐘上水,服務員便幫小寶貝洗頭沖涼,從來沒見過小寶貝像大爺一樣享受過程。 最後再幫小寶貝清潔耳朵、口腔及鼻孔,上水,首次體驗價是MOP100,付款離場,完滿結束。 一上車小寶貝已靜靜入睡,而當晚小寶貝在大量消耗體力後也睡得安穩。 嬰幼兒多游泳,幫助消化,加強免疫力,有助生長,所以有興趣的爸媽可以考慮。 最後附上參考價目表: 泳館資料: 地址: 東望洋新街189號新興大廈地下B座 電話: +853 2835 4079 備註: 游泳時可選擇用尿片或裸泳,筆者係選擇裸泳,因為尿片會有重量。 最好食飽奶後半小時後才去,防嘔奶。 去前最好預約時間,因為約了還是要等,早上較下午少人去。 另外,聞說套頸浮圈對項椎不好,大家可自備綁腋下的浮圈,科普資料見https://health.ettoday.net/amp/amp_news.php7?news_id=1861540

新海誠展 -- 無論錯過誰,都不要錯過總陪在身邊的絕美風景
專題報導
活該快樂 // Carmen Lo・2018-03-07

與其說我喜歡新海誠,不如說我喜歡他筆下絕美的風景,和故事中瀰漫著「失去」卻又一直鼓勵努力的矛盾和哀愁。 假如大家沒有特別喜歡看動畫,應該在電影《你的名字》上映並且大獲好評後,才認識這位宅男動畫家。(我經常在想,怎麼一個從未拍過拖的宅男,可以出品如此入骨的愛情故事?) 場內大量他的手繪分鏡、原始角色設定、原稿、參考照片、經典文句、主題曲及配樂等,詳細地展出他出道十五年來的點滴,從一開始的甚麼都不是,純粹地喜歡繪畫。雖是建築公司老闆的(富)二代,卻堅持自己的理想,入行從低做起。一直默默地畫,同時接案子以餬口及累積經驗。 果然,投入去做一件事,做什麼也會很美。 就像不斷向一個氣球充氣般,一直充一直充,時間到了,就會燦爛地爆開。 假如說宮崎駿是這個產業的代表,我想,新海誠代表的就是宮崎駿的下一個時代。 新海誠說:「我每天都覺得風景很美。」 他覺得風景很美,他覺得縱使生活在天災下的土地,縱使面對失去早已成為日常,也要抱持積極的信念。 他把這份心情,滲透到每一部動畫中,從《星之聲》、《雲之彼端,約定的地方》、《秒速5公分》、《追逐繁星的孩子》、《言葉之庭》到《你的名字》,無不流露這股氣味。 「聽說,是每秒五厘米,櫻花花瓣飄落的速度。」 置身在這個投射的櫻花樹場景中,被淒美的主題曲籠罩,我竟然有一點想哭。 雨中的涼亭,《言葉之亭》的主要場景,還配有希哩希哩的下雨聲。坐在裡面,真的有一股故事中女主角那「中女等待愛情」的哀戚。 花了很大的一片地方,就為了重現動畫中災難後的經典場景,讓觀眾親身站在圓形的廢墟中,看著三葉和瀧終於找到了彼此。 最後一個展品很有意思,是新海誠幾套動畫合成起來,人物、風景、災難、重逢,一點也不違和。你會發現,他的動畫,其實都是同一個套路,失去,等待,尋找,最終無論等到或等不到,沿路都是絕美的風景。 「我覺得風景是人在最艱難困苦的時候距離最近的救贖。無論如何都無法表達感情的時候,只要退後一點俯瞰,人就會被美景層層包圍,成位浩瀚宇宙的一部分。」--新海誠 提醒我,無論錯過誰,都不要錯過總陪在身邊的絕美風景。 展覽資料:

【日本。大阪】├住宿┤ 阪急大阪龍仕柏酒店 Hotel Hankyu RESPIRE OSAKA ~ 鄰近JR大阪站
走遍世界
80後愛旅行✈️・2025-01-19

「阪急大阪龍仕柏酒店 (ホテル阪急レスパイア大阪)」是一間位於大阪梅田的酒店, 地理位置非常便利,距離 JR 大阪站約 3 分鐘步行路程, 距離阪急電車大阪梅田站和大阪地鐵御堂筋線梅田站約 5 分鐘步行路程。 由關西機場到酒店,只要乘搭機場巴士就可以直達酒店樓下!!真的超級方便 https://www.kate.co.jp/tcn/timetable/detail/UM 「阪急大阪龍仕柏酒店」本館於2019年開幕,酒店樓下就是 Yodobashi Umeda 友都八喜梅田商場 由地下到八樓都是商店和餐廳,住在這裡根本不用"落地"都已經能逛一整天!! 「阪急大阪龍仕柏酒店 Hotel Hankyu Respire Osaka」 酒店Lobby在9樓,光是看Lobby就知道「阪急大阪龍仕柏酒店」超有規模。 Lobby很大,有很多休息的地方,剛下飛機還沒到 Check in 時間也可以在這裡休息一下再出門血拼! 酒店以主助Check in 為主,有很多部機器可供同時使用,而且都有多種語言的介面,非常方便。 Lobby 有提供免費咖啡、熱茶等供飲用 還有一次性的用品,可按自己需要領取。 這次預訂的是「30階以上高層 禁煙」的雙人房,最後竟然被安排在35樓頂樓的房間,超棒的!!! 一開門進來我真的尖叫出來!!房間超大超美的!! 有在日本大城市住過酒店的人都知道,東京、大阪這些鑽石級地段的酒店,房間都小到連行李箱都打不開! 但這裡居然大到可以是"多層"的平面設計!! 一進房門,旁邊是獨立的廁所,外面有一塊全身鏡。出門前都可以整理一下,很方便! 而另一邊是開放式衣櫃,我個人是很喜歡這種沒有門的設計,感覺比較乾淨。 再來下一"層"是梳洗的地方,有洗臉盤和浴室。 洗臉盤的位置很大,放東西後還有很多空間,作為化妝枱用很不錯 浴室有跟日本傳統,有浴缸,也有淋浴的地方。 而另一邊是放了雪櫃,和免費的飲用水。 來到最後一"層",就是睡床的位置。 其實單是這裡已經比很多大阪酒店大了!! 是兩張單人床的設計,每邊各有一個床頭櫃,還有小桌子和椅子。 對面還有工作枱和電視,真的有超多空間可以放買回來的戰利品!! 而位處35樓的房間看出去的風景也很美!!超開揚的!! 我在房間內欣賞了日、夜景,還有黃昏的景致,真的有點不太想出門 「阪急大阪龍仕柏酒店 (ホテル阪急レスパイア大阪)」的電梯除了可以直達地面外,還可以到達空中走廊, 不用日曬雨淋,就可以走到 JR 大阪站、阪急電車大阪梅田站、大阪地鐵御堂筋線梅田站、周邊的各大商場等, 都可以經過空中走廊直接連通!! 四通八達的空中走廊 而在酒店9樓Lobby還有一條扶手電梯可以到達商場8樓的美食廣場 / 餐廳 有天逛完街回來就直接在8樓的餐廳吃飯,再用這條專屬的扶手電梯回酒店,真的超方便! 2024年6月連續入住了4晚,一共是 98,640 円,當中每晚的房價都不同,平均大概每晚 24,660 円 這個價錢能夠住在 JR 大阪站旁邊,酒店樓下又已經有商場和餐廳, 不論是交通還是購物都非常方便的地點!! 真的很推薦這間「阪急大阪龍仕柏酒店 (ホテル阪急レスパイア大阪)」 ホテル阪急レスパイア大阪

葡萄酒博物館遷至路環 有望吸引更多遊客
專題報導
小城小事多・2017-08-22

商戶認為博物館遷入能帶動旅遊業發展 經政府改善,路環市區殭屍車減少, 路環停車難問題得以改善。 【特訊】在旅遊活動中心的葡萄酒博物館未來將遷往路環。土地工務運輸局於本月18日擬草案,將位於路環鄰近船人街之土地(原三聖宮旁舊發電站),用作文化及公共設施,草案將於9月1日前進行意見收集,許多鄰近商戶及原住民並不知情。 位於高美士街旅遊活動中心的葡萄酒博物館,館內共有多個展區,包括葡萄種植、葡萄酒釀造歷史區、酒窖與展覽區。這些展區通過地圖、文字、照片等多種方式向參觀者介紹有關葡萄種植和葡萄酒釀造的發展歷史,同時亦可以讓參觀者看到種植葡萄所使用的傳統和現代工具。葡萄酒博物館的宗旨之一是讓參觀者認識葡萄酒在葡萄牙傳統、日常生活以及慶典禮儀中所佔有的社會、經濟和文化等諸方面的重要性。但為配合「大賽車博物館」擴建工程,葡萄酒博物館於今年7月1日起對外關閉。社會文化司司長譚俊榮曾表示,要將葡萄酒博物館遷到原三聖宮旁舊發電站處。 附近商家黃小姐表示,葡萄酒博物館遷至路環市區,可以吸引遊客來路環旅遊。在她看來,許多在路環旅遊的遊客一般是一家三口,在這裡建博物館,可以吸引更多遊客帶小朋友參觀博物館以增長知識。她又認為,路環旅遊基礎設施不足、公廁標誌缺少,給遊客帶來不便。她建議政府出台相關政策讓更多文創產業進駐路環,使路環市區的旅遊亮點不僅是看街景、看建築與食葡撻。 住在路環市區的市民潘小姐表示,政府將博物館遷至路環,此事亦是她道聽旁說,身邊很多街坊並不知情,但她以為博物館遷至路環是好事,舊發電站在此已成為了垃圾堆積站,夏日炎熱,該處成為了蚊蟲孳生及老鼠的藏身處,遊客到路環旅遊亦覺得有損澳門形象。她又認為,政府雖有計劃將葡萄酒博物館遷至路環,但缺乏宣傳,又因遷期甚長,她對博物館是否可以招徠更多遊客,持懷疑態度。 以上文章及圖片均轉載自網路,所有版權歸原作者所有 原文地址:https://www.cyberctm.com/

Ubuntu 的簡易日常更新
科技新知
MacauYeah・2025-12-17

早陣子跟新認識的朋友聊天,聽到他們因為要轉伺服器平台,煩惱如何做作業系統層面的定期更新。筆者亦都分享一下自己是如何做 Ubuntu OS 層面的定期維護。 沒錢,就用最原始的方式解決 因為Ubuntu也算是常見的linux品牌,所以基本有有商用軟件可以偵測OS的狀態,並針對它推送更新。不過如果你像筆者一樣,是個貧窮的革命家,那就只有土炮一點自己做鏡像點及做測試。 建立一個 ubuntu 的 deb 包 mirror。手動單次地用步 mirror,確保自己其他 server 同一個時間段都只會取得同一個更新。 停了 ubuntu 的 kernal 自動更新。不然的話,mirror 有更新,ubuntu 亦會偷偷地自動安裝了新的kernal,只是等待你的重啟。 使用一個測試機,先經 mirror 更新到最新的狀態。運行一段日子後,其他機再陸續更新。如果你投産環境有多於一種配置,就考慮要多個不同的測試機。更新指令直接做成 script,方便在其他機器中重複。 輪流 ssh 登入各台機,執行相同的更新指令。更新指令經 git 同步到其他機器。為確保不受 ssh 斷線的風除,必要時還需加入 tmux 。 多機器的煩惱 上述的做法雖然可行,不過當你有十台以上的機器,重複做 ssh, tmux, git checkout, script 互動,也是很累人。考慮一次性地全自動化執行,還是有必要的。筆者對上述的第四步驟,作出一些取捨,以確保更新速度足夠快,可以順暢地執行。 什麼是必需要更新的? 筆者觀察到,在 container 技術出現後,其實很多時安裝應用都不會直接在 OS 層安裝 deb / rpm 包,都是直接經 docker image 去做。所以OS層面,或者很多服務都不會被啟動。筆者亦發現,至少在ubuntu下,只更新kernel,對比無腦全更新所有 deb 包,會快很多很多。 如果可以,我們只更新kernel,再加對應的 container runtime,是不是更新對令相對地穩定,而且可以經外部統一管理。也就是不用在每一台機中進行 tmux + git checkout ,全數在外部推送 ssh 指令? 筆者就用 multipass VM + ssh key,表達一下執行概念。 ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ubuntu@10.115.189.200 -- apt-get autoremove -y ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ubuntu@10.115.189.200 -- apt-get update ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ubuntu@10.115.189.200 -- apt-get install -y linux-generic linux-headers-generic linux-image-generic ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ubuntu@10.115.189.200 -- reboot 上述最大的假設,是第一、三步,更新 kernel 時不會因為網絡問題導致 ssh 斷線,因為它們都是系統級別的改寫,中斷後並不能確保可以重來。第二步就很安全,隨時重來也沒有問題。 這樣,我們就可以在任一台管理機,經過一個 shell script for loop,更新所有其他機器。 如果我們對於網絡還是有些疑慮,我們也可以試用一次性排程式的方式去做。 ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ubuntu@10.115.189.200 echo '/your/script/location' | at 08:00 PM 17.12.2025 這樣的好處是,我們可以連 tmux 的開啟也省略,git checkout 也可以經固定的 script 執行(只是很煩鎖)。但這也會有壞處,就是看不到執行的情況,只能事後檢查系統狀態,是否已更新過。 當然前述 ssh key 的方法也可以加入 git checkout 更加深化不同的更新 script,但這又會增大斷線可能。ssh key 還是以快速完成指令更實際。 註:因為網安原因,筆者把上述 script 中的 S U D O 關鍵字去掉,這樣 blog 才能發出。