CPack

在 twitter 上看到有人推薦 RPiPlay 這個專案,這個開放原始碼軟體主要的用途是當作 AirPlay 伺服器。當這個軟體啟動時,MacOS 裝置跟 iOS 裝置會搜尋到啟動這個軟體的裝置,當選擇鏡射時,就可以將 MacOS 裝置或 iOS 裝置上的畫面投放過去。作者主要是用在 Raspberry Pi 上,但其實在一般的 Linux distribution 上也可以使用。

目前作者沒有打包任何的套件,因此要用,只能自行編譯、安裝。編譯方法蠻簡單的,因為我是用 ubuntu ,所以這邊只介紹 Ubuntu 上怎麼編譯。首先安裝編譯器跟 RPiPlay 會用到的函式庫標頭檔

sudo apt-get install cmake \
    libavahi-compat-libdnssd-dev \
    libplist-dev \
    libssl-dev

接著下載原始碼跟進行編譯

git clone https://github.com/FD-/RPiPlay.git
cd RPiPlay
mkdir build
cd build
cmake ..
make

等編譯完成後,再安裝

sudo make install

等等,講到這邊還沒提到 CPack 啊。

因為我喜歡儘量使用 package 來管理,所以就想到,這可以打包為 debian package 嗎?就找了資料,發現 CMake 專案可以搭配 CPack 來進行打包。

CPack 使用上也很簡單,先安裝 CPack

sudo apt-get install cpack

然後修改專案裡的 CMakeLists.txt ,加入以下幾行

SET(CPACK_GENERATOR "DEB")
SET(CPACK_PACKAGE_VERSION_MAJOR "1")
SET(CPACK_PACKAGE_VERSION_MINOR "2")
SET(CPACK_PACKAGE_VERSION_PATCH "0")
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Yan-ren Tsai")
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libavahi-compat-libdnssd1,libplist3,libssl1.1,libgstreamer1.0-0,libgstreamer-plugins-base1.0-0,gstreamer1.0-libav,gstreamer1.0-vaapi,gstreamer1.0-plugins-bad")
INCLUDE(CPack)

接著重新做一次前面 cmake 的步驟,最後再執行 cpack 即可

# 假設已經在 RPiPlay 目錄下
mkdir build
cd build
cmake ..
make
cpack

執行完,就會在目錄下看到 rpiplay-1.2.0-Linux.deb

使用 sudo dpkg -i rpiplay-1.2.0-Linux.deb 就可以安裝了。

參考資料

電影流水帳(2020/12/16~2020/12/31)

142624_9666
Saoirse Ronan

飲食男女

李安拍的電影裡,我最喜歡的就是飲食男女,因為它有趣味、有驚喜,也有溫馨。

故事是朱家一家人的故事,朱爸爸是個廚師,退休前在圓山飯店擔任主廚,因為味覺退化而退休。退下來以後,只在周末做大菜給三個女兒吃。朱爸爸有個好朋友,老溫,仍然在圓山飯店裡任職,三不五時會找朱爸爸回去救援。

家珍是個老師,信仰是天主教,因為以前學生時代的情傷,一直還沒結婚,在認識體育老師以後,整個大解放。家倩在商場得意,但買的預售屋的建設公司倒閉了,沒了房子,後來遇到姊姊的男友,發現姊姊騙了大家,她並沒有情傷。之後家倩跟父親和解,接了爸爸的擔子。家寧是大學生,在速食店打工,後來認識了朋友的男友 – 國倫,因為以為朋友跟國倫分了,就放心的跟國倫發展出戀情,豈料家倩的朋友只是嘴裏說說,實際卻還愛著國倫。

家倩是第一個說要離家的,因為她買房子了,只是事與願違。反而家寧才是第一個離家的,她未婚懷孕了,國倫負起責任,兩人共組家庭。家珍是第二個,在學校認識了體育老師 –  明道,因為學生的惡作劇,家珍反倒跟明道湊成一對。家倩並沒有離開,她房子的建商倒閉了。錦榮是朱家的鄰居,她有離婚官司纏身,再加上要維持生計,所以很忙碌,比較少時間照顧在念小學的女兒。退休的朱爸爸正好幫上了忙,幫忙照顧錦榮的女兒,也常跟錦榮的媽媽聊天,錦榮的媽媽因此對朱爸爸很有好感。

故事的最後,大家一起到朱家吃飯,幾杯黃湯下肚以後,換朱爸爸宣佈事情了。錦榮的媽媽以為朱爸爸會宣佈跟自己在一起的事情,豈料並不是,而是說要要賣房子跟錦榮結婚,錦榮的媽媽聽到以後,氣的要命,家寧、家珍跟家倩也都嚇了一大跳。雖然很驚訝,但三個女兒之後也接受了這樣的決定。家寧、家珍跟朱爸爸都有了好的歸宿,家倩在房子要賣掉的最後一天煮了一餐,找了大家回來吃,可是只有爸爸能回來。兩人一同吃飯,吃著吃著,朱爸爸說,「這湯的味道不大對。」,家倩聽到原本有些不開心的,但突然像是發現了新大陸一樣,拉著爸爸的手說,「你的味覺回來了。」朱爸爸也赫然發現自己的味覺恢復了,故事就這樣落幕。

熱帶魚

劉志強是個國中三年級的學生,正準備要聯考,父親對他的成績很不滿意,認為他沒好好唸書。雖說是即將要聯考的日子,但社會的事件並不因此而有所減損,這陣子王道南被綁架的案子鬧的沸沸揚揚。這天劉志強放學回家的路上,意外在某台貨車上看到道南,他覺得自己應該可以救出道南,就上了車。想不到,卻因此被抓住,當成第二個人質。

綁匪有兩個人,一個是已經退休的警察,一個是阿慶,兩人打電話給兩個人質的父母要錢,想不到沒拿到錢,主嫌,也就是已經退休的警察卻發生意外死了,六神無主的阿慶只好帶著兩個人質逃回南部,找阿姨商量。跟阿姨商量後的結果,決定繼續進行綁票,於是打電話向劉志強的父母勒索。

劉志強跟道南在最初是有想要逃走的,但是後來卻打消了念頭,道南家裡沒人、沒溫暖,而劉志強是不想考聯考,兩人反倒是跟阿慶一家人打成一片。阿慶一家人其實本性不壞,只是利字當前,慢慢的走歪了。阿慶一家人在電視上看到劉志強父母說劉志強要考聯考,就趕緊找了書給劉志強準備聯考。警察追查了好一陣子,透過各種線索,判斷兩人應該在中南部,開始往中南部找。阿慶一家人緊張了,就加緊勒贖的腳步,並且讓阿慶跟阿雄帶著兩個孩子出海躲風頭。勒贖並不順利,持續了好幾次,要不就是錯過,要不就是等錯地點。轉眼,已經是聯考前一天了,阿慶心裡想,就讓孩子回去聯考吧,錢不要了。於是要把船開回去,開車送兩個孩子回台北。

事情就是這麼的巧合,船就在這個節骨眼拋錨了,阿慶跟阿雄連忙把孩子放在游泳圈上,游泳把孩子推回去。兩人費了九牛二虎之力,終於把孩子們推到岸邊。兩個來港邊摸魚的刑警,在發贏來的香腸時,看到行跡可疑的阿慶一家人,再看到剛上岸的阿慶、阿雄跟兩個孩子,連忙拿出手槍,要阿慶跟阿雄舉起手來。劉志強連忙說,是阿慶他們救了我們,刑警才放下槍,趕緊送劉志強回台北聯考。阿慶一家人從綁架犯變成救了劉志強的英雄,故事就這樣結束了。

City Of Ember

我是轉台時看到的,從大約 1/3 的地方開始看起。吸引我的是女主角 Saoirse Ronan 。

在經過一次事件以後,所有人都住到了地底城市,但是這個城市因為年久失修,慢慢的毀損,照理說,毀損了會有人去維修的,但知道怎麼維修的工程師早在事件之後死去了。這個城市正在逐漸的死去,人們慢慢因為缺乏食物以及民生設施毀壞開始發生通貨膨脹以及爭奪的情況,當任的市長腐敗而且怯懦,並不管市民的死活。

Lina 跟 Doon 發現了城市正在死去,並意外找到前人留下的蛛絲馬跡,得知有機會可以拯救這個城市。於是他們開始依照隱晦的文字去尋找前人工程師留下的自救機關。在這過程裡,Lina 跟 Doon 發現了市長的腐敗,被市長派人追殺,但也因此取得一個關鍵的零件。兩人在躲避追殺的過程,取得關鍵的線索,終於找到走出微光城市的路。

走上地面後,天空一片漆黑,Lina 跟 Doon 以為他們失敗了,正沮喪著的時候,天邊透出一絲光亮,慢慢透出了顏色,橘紅的晨曦染紅了天空,火紅的太陽隨即躍出。Lina 跟 Doon 這時知道他們成功了,於是在紙上寫下了走出城市的方法,綁在石頭上,往洞裡投下,告知微光城市的市民們。

這結局看起來是有續集的,只是過了 12 年還沒消息,那大概就不會有了。

vagrant virtualbox provider 加載磁碟

前兩天想練習 LVM,所以試著在既有的 RHEL VM 裡加磁碟,但是事情沒有想的那麼簡單。原本以為就是照 Vagrant Disk Usage 文件的說明,在 Vagrantfile 裡加入

config.vm.disk :disk, size: "100GB"

就可以,但這樣不行,vagrant reload 以後,並沒有磁碟出現。

上網找解決方法,找到這篇:Add a second disk to system using vagrant

才知道是要用 provider 的 customize() 去建立磁碟並加載才行 (參考資料:Add a second disk to system using vagrant):

    tower.vm.provider "virtualbox" do |v|
      file_to_disk1 = "mydisk1.vmdk"
      unless File.exist?(file_to_disk1)
        v.customize [
           "createmedium", "disk", "--filename", file_to_disk1, "--format", "vmdk", "--size", 1024 * 1
         ]
      end
      file_to_disk2 = "mydisk2.vmdk"
      unless File.exist?(file_to_disk2)
        v.customize [
           "createmedium", "disk", "--filename", file_to_disk2, "--format", "vmdk", "--size", 1024 * 1
         ]
      end
      v.customize ['storageattach', :id, '--storagectl', 'SATA Controller', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', file_to_disk1]
      v.customize ['storageattach', :id, '--storagectl', 'SATA Controller', '--port', 2, '--device', 0, '--type', 'hdd', '--medium', file_to_disk2]
    end

在建立前,先使用 File.exists? 去做檢查磁碟映像檔是否存在,不存在,就呼叫 createmedium 來建立。接著再用 storageattach 加載到 VM 上就可以了。

如果有錯誤訊息,說沒有 SATA Controller,請開啟 VirtualBox 去看該 VM 是不是有 SATA Controller。

參考資料:

  1. vagrant – Set storage size on creation of VM VirtualBox – Unix & Linux Stack Exchange
  2. Vagrant Tricks: Add extra disk to box – real world IT
  3. https://gist.github.com/leifg/4713995

ansible-builder

看到這篇:紅帽推出IT自動化工具Ansible Builder以加速執行環境創建 | iThome ,所以就來試試看。

就我試用過以後,我的理解是,這工具可以幫忙創建出一個具有 Ansible 環境的 docker image。

環境是定義在 execution-environment.yml 裡,讓我們直接看範例

---
version: 1

# 即基礎 image,目前來說,都是用 quay.io/ansible/ansible-runner:stable-2.9-devel
base_image: 'quay.io/ansible/ansible-runner:stable-2.9-devel'

# 需要自訂 ansible.cfg 的話,這邊就是填 ansible.cfg 的路徑檔名
ansible_config: 'ansible.cfg'

# 相依
# galaxy 是填 requirements.yml,檔案裡描述 playbook 會用到的 role/collection,沒用到可以不填
# python 則是填 requirements.txt,檔案裡描述會使用到的 Python modules,沒用到可以不填
dependencies:
  galaxy: requirements.yml
  python:

# 額外要加入的 docker image 建置步驟
# prepend 會在預定的建置步驟之前
# append 則是在預定的建置步驟之後
additional_build_steps:
  prepend: |
    RUN whoami
    RUN cat /etc/os-release
  append:
    - RUN echo This is a post-install command!
    - RUN ls -la /etc

有了 execution-environment.yml 之後,就可以用 ansible-builder 來建置。

首先,得先安裝:

# python3
pip3 install ansible-builder

接著就可以建置了

ansible-builder build --tag=example

建置完成,會有 docker image,在目錄下則會出現 context 資料夾,這個資料夾裏面就是 ansible-builder 建置過程中所產出的 Dockerfile 以及建置 Docker image 所需的檔案。

打開 Dockerfile ,就會看到 ansible-builder 幫我們產出了什麼。

FROM quay.io/ansible/ansible-runner:stable-2.9-devel as galaxy

ADD ansible.cfg ~/.ansible.cfg

ADD requirements.yml /build/

RUN ansible-galaxy role install -r /build/requirements.yml --roles-path /usr/share/ansible/roles
RUN ansible-galaxy collection install -r /build/requirements.yml --collections-path /usr/share/ansible/collections

RUN mkdir -p /usr/share/ansible/roles /usr/share/ansible/collections

FROM quay.io/ansible/python-builder:latest as builder

ADD requirements_combined.txt /tmp/src/requirements.txt
RUN assemble

FROM quay.io/ansible/ansible-runner:stable-2.9-devel

RUN whoami
RUN cat /etc/os-release

COPY --from=galaxy /usr/share/ansible/roles /usr/share/ansible/roles
COPY --from=galaxy /usr/share/ansible/collections /usr/share/ansible/collections

COPY --from=builder /output/ /output/
RUN /output/install-from-bindep && rm -rf /output/wheels
RUN echo This is a post-install command!
RUN ls -la /etc

大抵來說,

  1. 使用了 multi stage build 以減少 docker image 的大小
  2. 使用 ansible-galaxy 安裝相依的 role/collection
  3. 會看到 additional_build_steps 裡描述的步驟

好,那建置出 docker image 以後,怎麼使用呢?

假設 playbook 是放在 project 目錄下,那麼就這樣執行

docker run --rm -v /runner/project:$(pwd)/project -it example:latest ansible-playbook -i localhost, -c local /runner/project/test.yml

這邊稍微取了點巧,只簡單用 local connection (-i localhost, -c local) 在本機執行,你也可以在這邊使用自己的 inventory。

建置出 Ansible 執行環境的 docker image 以後,除了可以固定住執行 Ansible playbook 的環境,也有利於打造出標準化的 CD 環境,進而減少開發與佈署的時間。

電影流水帳(2020/10/01~2020/12/15)

Hashimoto Kanna at Opening Ceremony of the Tokyo International Film Festival 2017
橋本環奈,飾演黃夫人。
  • Elona Holmes (IMDB, Wikipedia),台譯:天才少女福爾摩斯。
  • 劇場版「鬼滅の刃」無限列車編 (IMDB, Wikipedia),台譯:鬼滅之刃劇場版 無限列車篇。
  • 新解釈・三國志 (IMDB, Wikipedia),台譯:新解釋・三國志。

Elona Holmes

改編自 Nancy Springer 所寫的 Enola Holmes Mysteries 系列少年偵探小說,故事挺有意思的,讓人想找小說來看看。

故事一開始就是 Elona Holmes 的自述,說明為什麼自己現在一個人騎著腳踏車往車站前進。Elona 從小就跟媽媽一起住在郊區,很少看到兩個哥哥。時間過的很快,Elona 一下子就變成婷婷玉立的少女了。在她生日的這天,媽媽卻不見了。她找了好久都沒找到,只好聯絡兩個哥哥,她騎著腳踏車去車站就是為了接哥哥。哥哥們見到她,特別是大哥,只覺得是個累贅,說會把她送去淑女學校,讓她好好當個淑女,Sherlock 倒是沒作聲。Elona 心裡當然是不肯,在解開媽媽留下的謎題之後,她喬裝離家了。

喬裝離家後,她遇到一個也是逃家的男生 Tewkesbury,兩人算是做了朋友,彼此幫忙一同到了倫敦。Elona 開始調查媽媽去了哪裡,一方面也稍稍摸清了 Tewkesbury 的底細。由於 Tewkesbury 的身世是個貴族,再加上最近報上的新聞,她覺得這些事情並不單純,開始進行調查。Elona 的兩個哥哥在 Elona 逃家後,當然擔心啊,大哥找了警探幫忙,二哥 Sherlock 則是透過媽媽留下的線索,沿路追查妹妹下落。Elona 找媽媽的過程跟 Tewkesbury 遭到追殺的事情交錯在一起,整個故事因此高潮迭起。最後,Elona 解開了 Tewkesbury 被追殺的謎團,媽媽的離開恰好與 Tewkesbury 被追殺的緣由相關,是為了一個與女性自主權相關的法案。Elona 找到媽媽,與媽媽重逢,也跟兩個哥哥達成共識,不再需要聽大哥的話去淑女學校唸書,改由 Sherlock 當監護人。故事到這裡就結束了,照常理來推測故事走向,未來會是 Elona 跟 Sherlock 跟 Watson 一同辦案了吧。

劇場版「鬼滅の刃」無限列車編

故事延續動畫第一季的最後,炭治郎一行人在休養結束後,聽從產屋敷耀哉的命令,前往車站搭乘無限列車與炎柱・煉獄杏壽郎會合。故事線蠻單純的,動畫第一季最後留下的伏筆,下弦的魘夢出現了,他利用人們心裡的遺憾與對親人的懷念來操縱他們襲擊列車,炭治郎一行人因此陷入夢裡。但是炭治郎在夢裡發現了異狀,並找到方法解開夢境,回到現實喚醒其他人。接著,一行人開始跟魘夢展開戰鬥。花了一番功夫後,終於將魘夢打倒。只是遇上趕來的上弦猗窩座之後,炎柱杏壽郎壯烈犧牲。

新解釈・三國志

與其說是在講述歷史,不如說是以三國當背景的漫才,有搞笑,有吐嘈。選角都很不錯,在裏面看到不少認識的角色,例如,董卓是勇者義彥裡的佛祖,黃巾是勇者義彥裡的勇者,孔明是勇者義彥裡的魔法師,黃夫人是齊木楠雄的災難裡的照橋心美,曹操是信長協奏曲裡的信長。

故事從桃園三結義講到討伐黃巾,再到美人計,再到長阪坡,再到赤壁之戰,把一些重點的事情都交代了。

直接用 SSH 登入 vagrant 虛擬機失敗

試著直接使用 SSH 登入 vagrant 開出來的 Ubuntu 虛擬機,會出現錯誤訊息:

SSH Login Failed : Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

可是用 vagrant ssh 卻可以登入,用 vagrant ssh 登入進去查,SSH daemon 有啟動,所以 SSH 服務是沒問題的。後來透過錯誤訊息才查到,是 SSH Daemon 裡的 PasswordAuthentication 被設定為 no 了。所以修改 /etc/ssh/sshd_config ,將 PasswordAuthentication 設定為 yes 後,就可以用 ssh 登入了。

vagrant ssh 之所以可以登入,是因為在初始化虛擬機時,預先產生好 SSH Key,並且把 SSH public key 放到虛擬機裡了。另外一種解決方法,就是使用產生好的 SSH private key 來登入。

ssh -i .vagrant/machines/<your_machine_name>/virtualbox/private_key ubuntu@<your_machine_ip>

參考資料:

電影流水帳(2020/09/16~2020/09/30)

MSDHOFL EC007
Sandra Bullock
  • Ocean’s Eight (IMDB, Wikipedia),台譯:瞞天過海-八面玲瓏。
  • John Wick: Chapter 3 – Parabellum (IMDB, Wikipedia),台譯:捍衛任務 3-全面開戰。

Ocean’s Eight

套路跟 Ocean’s Eleven 系列一樣,重拍的不錯,故事最後的轉折也蠻令人驚喜。

Debbie Ocean 是 Daniel Ocean 的妹妹,身上流著家族的血液,自然做的事業也一樣。Debbie 剛從監獄裡出來,就找了舊日的伙伴 Lou,打算偷取珠寶。經過討論之後,開始邊找需要的同伴。找到 7 個伙伴之後,接著就開始進行計劃。進行的過程中雖然有小差池,但仍然順利完成,也順利栽贓給害 Debbie 入獄的前男友。最後才發現戴珠寶的 Daphne 也是同伙,這就我說的小驚喜,有點出人意料,不過也是可以想像的到的啦。

John Wick: Chapter 3 – Parabellum

承接上集的故事,John Wick 被下令追捕,所以 John Wick 試圖想找到解決方法,避免再被追殺。透過之前的人情,他順利逃脫,並找到了 Sofia 。Sofia 帶他去找以前的老闆,想再透過他找到高桌會上層。John 順利問到,可是這裡再次因為狗狗的緣故,發生慘案。Sofia 的狗狗被殺,一怒之下大開殺戒,幹掉自己以前的老闆。兩人邊打邊走,到了沙漠,在這裡,John 跟 Sofia 分開,John 去找高桌會上層。

在紐約,高桌會的審判員開始進行調查,調查是誰放了 John,是誰幫了 John,並找了殺手 Zero 去「處理」這些人。John 在沙漠遇到了高桌會上層,達成了協議,只要 John 繼續幫高桌會殺人,那麼就既往不究。第一個要殺的人就是幫 John 逃脫的大陸飯店經理 Winston。於是 John 回到紐約,要去殺 Winston。Zero 也接收到指令,要去殺自己敬仰的 John。John 一邊對抗 Zero 跟他的人,一邊往大陸飯店前進,想完成殺 Winston 的任務。Zero 一路追 John 追到大陸飯店,只差一點就要殺了 John,卻因為大陸飯店的禁令而無法動手。高桌會審判員這時向高層申請解除禁令,於是又開始一番殺戮。John 還是沒能殺 Winston,他跟 Winston 決定聯手對抗高桌會。經過一番打鬥,Zero 跟他的人都被 John 幹掉,John 正打算殺了審判員,只是就在這時候,Winston 跟審判員達成協議,他開槍打了 John ,John 受了傷從樓頂掉了下去。協議內容是,Winston 仍然是大陸飯店經理,而審判員免於被殺。

John 就這樣死了嗎?沒有,他被應該已經死去的 The Bowery King 救了,John 醒了以後,發現自己又被背叛,覺得很怒。這集故事到這邊收了尾,看起來還有續集。

North pole

早上看到 IG 有人分享照片,看到 North pole, Alaska ,心裡有點納悶,North pole 不是北極的意思嗎?怎麼又有阿拉斯加?阿拉斯加本來就是在北極啊?上網找了以後,才知道 North pole 指的是阿拉斯加的一個小城,人口約兩千多人,位於育空河上游支流。那兒主要的景點就是聖誕老人村跟 Chen Lakes Recreation area,聖誕老人村就顧名思義,借北極跟聖誕老人的名字讓小朋友可以寄信過來,也有販賣聖誕飾品、禮品這樣。Chen Lakes Recreation area 除了湖景漂亮之外,夏天 7/4 會在那邊辦 North Pole Summer Festival,大伙可以去那邊野餐、游泳、露營等等。看起來是挺不錯的呢,人不會太多,就是溫度低了點。夏天月均溫有超過 20 度,但冬天的月均溫就都在零度以下了。不過照片裡的山景,我就沒找到是在那邊了,附近沒什麼有名的山,應該是類似小百岳,只有當地人才知道的點。

想一想,以後每天可以找一個地方來認識一下,然後把找到的資料寫下來,當作是休閒、放鬆的娛樂,應該挺不錯的。

處理 AsusWRT-Merlin DNS 查找慢的問題

年初的時候有處理過,那時候感覺還沒這麼慢,最近這一兩個月,慢的感覺愈來愈明顯,看來不處理是不行了。

先進行觀察,通常是第一次查找時會特別慢,之後就會比較順暢。

回想年初的設定是讓 AsusWRT-Merlin 當作是主要 DNS,也有 Cache,當查找不到時才去外面找。那麼,看樣子就是外面的 DNS 伺服器太慢了,導致第一次查找慢。

從網頁管理介面找不到什麼設定可以調整,想到的解決方法是直接用 SSH 連進去改,於是就找到這篇:Asuswrt-merlin 自定義 dnsmasq 解析 │ 坂本 Sakamoto.blog – 探究科技未知領域

步驟如下:

  1. 點選左側的 Administration > System (系統管理 > 系統設定)
    1. Format JFES partiton at next boot -> No
    2. Enable JFFS custom scripts and configs -> Yes
    3. Enable SSH -> LAN only
    4. 把 ~/.ssh/id_rsa.pub 裡的內容複製起來,然後貼到「授權金鑰」欄裡。
  2. 選擇下方的套用
  3. LAN > DNSFilter
    1. Enable DNS-based Filtering 改為 OFF
  4. LAN > DHCP Server
    1. Advertise routers IP in addition to user specified DNS -> Yes
  5. 用 SSH 連線進去,使用者名稱是你登入 web 管理介面用的使用者名稱,例如:ssh root@192.168.1.1
  6. 附加 dnsmasq 設定
    1. touch /jffs/configs/dnsmasq.conf.add
    2. 填入 server=8.8.8.8 (若有多個,記得換行)
    3. 填入 min-cache-ttl=600 ,確保 cache 最少保留 600 秒 (10分鐘)
    4. 填入 max-cache-ttl=1800,確保 cache 最多就保留 1800 秒 (30分鐘)
  7. 加入 dnsmasq 事後設定腳本,這主要是把原有的 servers-file 拿掉。
    1. touch /jffs/scripts/dnsmasq.postconf
    2. 腳本內容請參考後面的腳本
    3. chmod +x /jffs/scripts/dnsmasq.postconf
  8. 重新啟動

經過這樣的設定之後,再來做測試,情況的確比之前好多了,繼續來觀察看看。

dnsmasq 事後設定腳本

#!/bin/sh
# /jffs/scripts/dnsmasq.postconf
CONFIG=$1
source /usr/sbin/helper.sh
pc_delete "servers-file=/tmp/resolv.dnsmasq" $CONFIG

其他參考資料

電影流水帳(2020/09/01~2020/09/15)

Alexandra Shipp

Flipped

這部電影的故事很純真,單純就在講一對少年少女的故事。但拍攝的手法很有趣,先以少年視角來講故事,講到一個段落以後,再用女方的視角來講故事,所以你可以分別從兩人的視角得知兩人對同樣一件事情的看法,也可以了解他們在想些什麼跟為什麼這樣做。這樣的拍攝手法讓我想一直看下去,到了最後,我的確也因此看完了。

這一天,Bryce 搬到了小鎮裡,他第一個遇見的女孩就是 Julianna ,他覺得這女孩怪怪的,一直想靠近他。也因為覺得女孩怪怪的,從這之後就對 Julianna 保持距離。而 Julianna 則是見到 Bryce ,就覺得他眼睛好漂亮,認為自己已經找到對的人了,就很積極的接近他去製造機會。故事就這樣展開,然後講到 Julianna 的叔叔,講到 Bryce 的爸爸不得志,講到兩個家庭的過去與現在,慢慢的講述著兩人的點點滴滴。講到最後,Bryce 改變了對 Julianna 的想法,發現自己愛上她了。Julianna 也原諒了 Bryce 之前的錯事,接受了 Bryce 的道歉,兩人最終走到一起。

Jexi

這是一部喜劇故事,故事是在諷刺現代人離不開手機。

Phil 是個生活沉悶的人,也不願意交朋友。某天 Phil 因為手機壞了,去買了新手機,可是在開機以後,發現這手機的語音助理 Jexi 出乎意料的…失控,於是就開始了 Phil 與 Jexi 在一起的有趣生活。 這段日子裡,Phil 因為手機的語音助理而找到女友、交了朋友,進而改變了自己的生活,最終也有了好的結果。

故事挺有笑點的,也值得讓人深思自己的生活是否被什麼困住而一成不變。