apt 使用 mirror

看到這篇文章:How to select the fastest apt mirror on Ubuntu Linux ,sources.list 裡可以改用 mirror://mirrors.ubuntu.com/mirrors.txt 這樣的 URL,apt 就會自動使用 mirror ,不過 apt 不一定會選到最快的 mirror。

在選最快的 mirror 時,可以用 netselect ,但 debian 才有包 netselect 。文章的留言有人提到一個組合命令可以用來取代 netselect ,我試了之後,發現不能用,稍稍做了調整 (改 sed 以及改用 awk 取 ping 結果):

for mirror in $(wget -qO - mirrors.ubuntu.com/mirrors.txt|sed 's/^http:\/\///;s/\/.*$//') ; do echo $(ping -c 1 $mirror|awk 'BEGIN {FS="[=]|[ ]"} NR==2 {print $11}') $mirror ; done|sort -n|grep "^[0-9]"|head -n 20

執行以後的結果:

2.49 mirror01.idc.hinet.net
3.47 debian.linux.org.tw
3.61 ubuntu.cs.nctu.edu.tw
5.45 ftp.tku.edu.tw
13.5 ftp.ntou.edu.tw
33.3 ubuntu.stu.edu.tw
40.8 ftp.ubuntu-tw.net
91.8 mirror.ncunwlab.tk
96.6 ftp.yzu.edu.tw
284 archive.ubuntu.com

看起來是中華電信最快,這時候再用 sed 去替換 sources.list 的來源即可。

sed 's/mirror:\/\/mirrors\.ubuntu\.com\/mirrors\.txt/http:\/\/mirror01\.idc\.hinet\.net\/ubuntu/' /etc/apt/sources.list | sudo tee /etc/apt/sources.list

Ansible提速

參考資料

上面的文章幾乎都是說要調整 ansible.cfg,Speeding up Ansible Playbook runs 這篇仔細說明每個參數加了之後有提速多少,很有參考價值。accelerate mode 則是加在 playbook 裡。

ansible.cfg 主要關鍵設定:

  1. pipeline = True
  2. control_path = /tmp/ansible-ssh-%%h-%%p-%%r
  3. ssh_args = -o ControlMaster=auto -o ControlPersist=60s
  4. poll_interval = 5
  5. forks = 25
  6. fact_caching = jsonfile
  7. fact_caching_connection = /tmp/.ansible_fact_cache

補充 ssh_args 的說明,這兩個設定主要是在會一直頻繁使用時,可以重複使用連線並避免太快斷線。

也可以加上 UseDNS = no,避免使用 DNS 反查。

電影流水帳(2018/9/10~2018/9/30)

Olga Kurylenko Berlin 2015 Olga Kurylenko 之前比較有印象的是 007 量子危機,不過說實話,我看不太懂量子危機在演什麼。
  • Johnny English Strike again (IMDB, Wikipedia),台譯:凸槌特派員-三度出擊。延續之前兩集的無厘頭,可以很輕鬆看完的電影。Johnny 退休在學校教書,但 MI6 有了狀況,局裡的特務人員清單曝光,所以只能派沒在名單裡的退休特務 Johnny 與跟班出馬調查。值此同時,英國的首相被一個企業老闆所迷惑,相信該企業的科技可以解決國家的問題,殊不知,一切的狀況都源自於該企業。Johnny 在調查時,認識了去該企業臥底的美女特務,產生了不少笑料。經過一番調查,得知了該企業就是真正的幕後黑手。但在首相不信任的狀況下,Johnny 、跟班以及那位美女特務仍排除萬難,解救了國家的危機。
  • Unbreakable (IMDB, Wikipedia),台譯:驚心動魄。在 FB 社團裡看到推薦,所以就看了,故事相當有趣。David 是個普通人,這天他搭乘了火車,但火車卻出了事,火車上所有人都死了,只剩下 David 還活著。Elijah 患有罕見的病症,非常容易骨折,在媽媽的撫養下,好不容易長大。某天他看到報紙報導了火車事故,意外發現 David 存活了,他做了小小的調查,並決定去找 David。Elijah 在詢問 David 以後,他告知 David ,你是不是很久沒生病或受過傷,或者該說從沒有生病或受過傷。David 不是很確定,告別Elijah 以後,他詢問了自己的妻子,確認了自己似乎真的從沒有生病或受過傷。David 再次去找 Elijah,Elijah 告訴 David 說,你或許擁有超人的資質。David 半信半疑,後來透過跟 Elijah 的碰面,以及自己的確認下,他確認了自己有超人的資質,並且透過自己的能力幫助了需要幫助的人。最後再次跟 Elijah 碰面,他發覺到 Elijah 其實做過不少害人的事情,像火車事件就是他所製造的,於是 David 通知了警察,讓警察逮捕 Elijah。
  • Makkhi (IMDB, Wikipedia),台譯:終極唬神-愛的大復仇。看完電影以後,覺得譯名不錯,唬神以台語發音是蒼蠅的意思,故事的發展誇張,是個為愛復仇的故事,所以「終極唬神-愛的大復仇」當之無愧。一個美麗的女子在慈善組織工作,有個癡情的青年愛上了她,而這女子也對這青年有意思。但慈善組織的富翁金主也喜歡上這個女孩子,在知道這女孩子不喜歡自己,喜歡那個青年時,就動手殺了這個青年。但老天有靈,這個青年居然轉世為蒼蠅,在回想起前世的經歷後,跟女孩子聯手,展開復仇。最後終於報了仇,讓富翁破產、死去。

電影流水帳(2018/8/1~2018/9/9)

Kyoko Fukada - red carpet at Harry Potter 2007 Tokyo.jpg
By MegapixieOwn work, Public Domain, Link
深田恭子,在「超高速!参勤交代」裡飾演お咲,被父母賣去旅社當飯盛女,後來因為藩主-内藤政醇而改變命運。
  • Star Trek Beyond (IMDB, Wikipedia),台譯:星際爭霸-浩瀚無垠。應該是三部曲的最後一部,之後不知道還會不會有續集,整體來說還可以。
    這次的故事是發生在去超大太空站約克鎮補給的時候,在補給時,有艘小太空船逃出來,根據上面的存活者表示,母船被困住了,需要救援,於是企業號就出發去救援。到了目的地之後才發現這是個圈套,企業號被像是蜂群的太空船群伏擊,企業號墜毀,眾人陸續搭乘逃生艇降落到最近的星球上。幾個主角一邊找尋伙伴,一邊進行探險,慢慢地拼湊出事情的全貌。一切都是為了終極武器-亞布羅納。同時,他們也透過潔拉,找到了一艘有機會修復的星艦,在經過一番冒險後,寇克等主角救回大部分的船員,並且修復星艦,搭乘星艦趕回約克鎮。就在蜂群艦要攻擊約克鎮時,寇克等人發現聲音高頻可以影響蜂群艦,就播放音樂阻止了蜂群艦。但未受影響的少數艦艇仍衝進了約克鎮,寇克等人也跟進去追捕,最後終於成功阻止了這場危機。
  • Hot fuzz (IMDB, Wikipedia),台譯:終棘警探。血腥冰淇淋三部曲之二,現在就差醉後末日了。
    優秀警員被調到一個偏僻小鎮,在此發現了平靜小鎮背後的怪異之處,最後終於逮住試圖維持小鎮平靜的神祕組織成員。這是個警世的故事,平靜不一定是平靜,適度的混亂才是平常。最後的槍戰相當的精彩,緊湊的同時,又有看似荒謬的突兀,非常的佩服這位導演。
    喔,對了,這個導演也是「蟻人」的編劇。
  • Hidden Figures (IMDB, Wikipedia),台譯:關鍵少數。講 NASA 三個女工程師的故事,之前在看預告的時候,就覺得很好看了。
    Katherine 是以自己的卓越數學能力取得大家的認可。Dorothy 則是有遠見,她認為電腦的運算將會取代人類,因此提前自修學會 Fortran,偷偷使用 NASA 內的 IBM 大型電腦主機進行練習,並且教導手下學會 Fortran,Dorothy 的小組後來從運算改為負責大型主機。Mary 則是上訴到最高法院打破了學校的藩籬,讓更多有志向學的黑人女性能繼續學習。
    看完電影以後,非常佩服這三位女性的勇敢、遠見與智慧。
  • 超高速!参勤交代 (IMDB, Wikipedia)。參勤是在幕府時代,將軍為了控制大名以及藩主,規定他們定期來到江戶參見將軍。一般來說,參勤會需要準備給將軍的禮物以及花費大量的金錢聘請隊伍,對於領地的經濟來說,有相當大的影響。故事相當的好看,也讓我了解了不少關於參勤的事情。
    這次的故事是發生在吉宗將軍的時候,老中松平信祝(老中就是將軍旁的老臣)因為偵察到湯長谷藩可能有金山,他希望湯長谷藩能有所表示,於是就請將軍下令讓才剛剛參勤回去的湯長谷藩內藤在五天內再來參勤。原本就相當貧困的湯長谷藩可真是傷透腦筋,於是在家老的腦力激盪以及浪人忍者的幫助下,湯長谷藩一行人以輕裝前往江戶,並且在檢查點施展了巧妙的方法通過檢查。經過重重的磨難之後,他們終於趕到江戶完成參勤,並且揭發了松平信祝的野心。

s3cmd

想要把某個 bucket 裡的檔案備份到另外一個 bucket 去,找了一下,在 StackOverflow 上找到這篇:How do I back up an AWS S3 Bucket without versioning the source bucket [closed]
裏面提到一個 s3cmd 的指令,只要簡單的下 s3cmd –recursive cp s3://bucket_a s3://bucket_b 就可以了。
在 Ubuntu 14.04 裡只要使用 sudo apt install s3cmd 就可以安裝了,使用前需要使用 s3cmd –configure 來設定 AWS Access key id 跟 secret access key。
想要安裝最新版本,可以使用 pip 來安裝。

電影流水帳(2018/7/1~2018/7/31)

selena-gomez-picture-383422044
Selena Gomez ,幫 Hotel Transylvania 系列裡的 Mavis 配音,演出蠻多電影的。
  • Incredibles 2 (IMDB, Wikipedia),台譯:超人特攻隊2。之前看到廣告就很期待,整個還不錯,我是覺得跟上集相比,比較沒有那麼好看。
    故事延續上一集,這次是試著讓媽媽主外,爸爸主內,談這樣的心境轉變。小傑的十七種特殊能力則是副線,為電影平添很多樂趣。反派在電影中段就大致可以猜出來了,最後,超級英雄不再需要隱瞞身份,大家也都能接受了。
  • Hotel Transylvania 3: Summer Vacation (IMDB, Wikipedia),台譯:尖叫旅社3-怪獸假期。這一集裡,凡赫辛家族登場了。Mavis 體恤爸爸單身又長期照顧旅社的辛勞,就帶一家人去郵輪渡假放鬆。一行人在郵輪上經歷了許多有趣的事情,也遇到了試圖向吸血鬼報仇的凡赫辛家族,在此有了類似羅密歐與朱麗葉的劇情。最終的尬歌很有趣,凡赫辛家族明白了吸血鬼不全是壞人,Dracula 跟凡赫辛家族的 Ericka 有情人終成眷屬,化解了吸血鬼與凡赫辛家族多年來的怨忿。
  • Killing Gunther (IMDB, Wikipedia),台灣沒有上映。會看到這片是個意外,我轉台時,不小心看到,覺得像是在搞笑,可是卻又很認真的在拍紀錄片,不知不覺就認真看完了。
    故事是一個殺手找了拍紀錄片的團隊來拍攝他殺死 Gunther 的過程,在拍攝(進行殺死 Gunther)的過程裡,他找了幫手,也連帶抽絲剝繭地帶出他為什麼要殺害 Gunther 的原因。殺害 Gunther 並不順利,他找來的幫手一一死去,甚至還起了內鬨,後來才搞清楚,Gunther 早就知道了,他甚至還找了拍攝團隊來拍紀錄片,紀錄這群人是怎麼殺害自己的以及他們拍攝紀錄片的過程。最後的結果頗出人意料,這裡就不爆雷了。

Bash 4 的 hash table

Python 的 dict 很方便,寫 bash 時,自然會想 Bash 到底有沒有這個呢?

在 StackOverflow 上找到這篇 How to define hash tables in Bash? ,裏面就介紹了用法:

# Python 語法:animals = {'moo': 'cow', 'woof': 'dog'}
# 宣告1
declare -A animals
animals=( ["moo"]="cow" ["woof"]="dog")
# 宣告2
declare -A animals=( ["moo"]="cow" ["woof"]="dog")
# 取某個鍵對應的內容,跟 Python 的 animals['moo'] 一樣。
echo "${animals[moo]}"
# Iterate
for sound in "${!animals[@]}"; do echo "$sound - ${animals[$sound]}"; done

電影流水帳(2018/6/20~2018/6/30)

Naomie Harris Naomie Harris ,飾演毀滅大作戰裡的女科學家。

  • Rampage (IMDB, Wikipedia),台譯:毀滅大作戰。很純粹的科幻動作片,劇情簡單,適合打發時間。
    外太空的實驗室發生爆炸,會改造基金的病毒因此掉到地球上,有些生物受到影響而變大,對地球造成破壞。
    有隻猩猩也受到影響,照顧他的 Davis 試著找出原因,進而跟女科學家 Kate 合作。經過 Kate 的說明,Davis 明白是 Kate 的前公司 Energyne 搞的鬼,於是他們試著阻止這些生物對地球造成破壞。Energyne 的女 CEO – Claire 使用儀器誘導三個生物到芝加哥,以便取得樣本繼續實驗。但最後 Davis 與 Kate 讓猩猩恢復心智以後,一起阻止了其他兩個生物以及 Claire 的野心。
  • 花甲大人轉男孩 (IMDB, Wikipedia)。趁著「花甲男孩轉大人」的收視佳績,趁熱推出電影版的賀歲片。故事加入了時間旅行的元素,創造了不少變化,不過整體來說還是有點生硬、不順暢。花甲喝醉酒一不小心與阿瑋發生關係,雙方家長見面後,整個場面並不順利,花甲躲到衣櫥裡去,卻意外回到過去,幫助了當時的家人。在這段期間,他明白了自己對阿瑋的感情,也更了解了家人之間的關係。在回到原來的時光以後,他對阿瑋表白,整個故事也順利的走向皆大歡喜的結局。

mdadm 的該該叫: “YOUR SYSTEM IS NOW UNBOOTABLE!”

系統出現這樣的訊息:

W: mdadm: the array /dev/md/3_0 with UUID d6ef77fc:c2faf3d8:1f51fb89:78ee93fe
W: mdadm: is currently active, but it is not listed in mdadm.conf. if
W: mdadm: it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!

UNBOOTABLE 耶,不能忽視,萬一又開不了機怎麼辦?

雖然錯誤訊息就有提到該怎麼處理,我還是使用錯誤訊息去搜尋,找到以下這幾篇:

我的作法是,先使用 sudo /usr/share/mdadm/mkconf 產生 mdadm.conf ,然後備份 /etc/mdadm/mdadm.conf ,再覆寫過去。最後使用 sudo update-initramfs -u 來驗證是否有出現錯誤。

電影流水帳(2018/6/4~2018/6/19)

Jurassic World: Fallen Kingdom Japan Premiere Red Carpet: Chris Pratt & Bryce Dallas Howard Bryce Dallas Howard ,是侏儸紀世界的女主角,可以穿著高跟鞋跑過森林的強者! 我覺得她跟 Jessica Chastain 蠻像的,之前都以為是同個人,後來才知道不同人。

    • Jurassic World: Fallen Kingdom (IMDB, Wikipedia),台譯:侏儸紀世界-殞落國度。Owen 跟 Claire 這次是接受 Benjamin Lockwood 的左右手 – Eli 的請求,回去原本侏儸紀世界的島上要運回恐龍。在運送的過程才發現被 Eli 欺騙。Owen 跟 Claire 等人被囚禁起來,而恐龍則被 Eli 當作拍賣品賣出。Owen 跟 Claire 在逃出的過程裡意外發現了 Benjamin 與這個家的祕密,最後也藉由迅猛龍的幫助,解決了基因合成的兇猛恐龍並解放了恐龍。恐龍已經都逃了出去,接下來會如何呢?
    • Going in style (IMDB, Wikipedia),台譯:瀟灑搶一回。老年人搶劫的故事。故事一開始先帶出老人為什麼會要搶劫的原因,原本指望退休金能過後半輩子的老人們,卻因為公司裁員的緣故都沒了。主角 Joe 親身經歷了銀行的搶案,想到不如也來搶一票,不管成與不成,老年的生活至少有著落。於是就透過女婿的牽線,找了師父來幫他們規劃與訓練。後面的搶案還算是成功,整個過程與不在場證明都非常的巧妙與順利。但在找一個在場的小女孩來指認時,我還真的是捏了一把冷汗,以為就要曝光了,但因為 Willie 在行搶現場時的善心,小女孩說了謊幫助他。總之,他們成功了。
      後面更溫馨的是,幫助 Joe 他們行搶的人居然就是當時 Joe 經歷的那個銀行搶案的搶匪,他認為國家應該要好好照顧老年人才是,所以才出手指導、訓練他們。
      透過這電影我才知道美國也有老年人的生活問題,值得去注意。