電影流水帳(2021/06/01~2021/06/30)

Maisie Williams
Maisie Williams

Birds of Prey

我決定把這部電影叫做小丑女二部曲了,小丑女直接扶正變成主角了,她的存在感超巨大。

開頭是小丑女跟小丑分了,消息意外曝光,本來不敢動小丑女的人都決定來找她麻煩。小丑女想開以後,決定乾脆公告天下好了,就炸了某個工廠。這個爆炸事件牽扯到一件調查案還有連續殺人案件,於是小丑女跟女竊賊、女獵手、女警官跟金絲雀湊到了一起,聯手對抗黑面具。

黑面具想要一個鑽石,透過管道終於要拿到,卻被女竊賊扒走,女竊賊被逮到警局去了。

女警官在警局並不得意,她去調查一些警察不想碰的案件,主管不想她碰,她也沒什麼資源。這次查黑面具,好不容易找到線人黑金絲雀,眼看就要收割,卻被主管擋住。

黑金絲雀的母親之前是個線人,但卻因為警察的關係而曝光、被殺害,黑金絲雀因此很排斥當個線人,但又想要揭露黑面具。一天被黑面具發現她身手不凡,不只是個女歌手,就讓她當了車手。

女獵手的家族原本很有錢,那個鑽石就是她家族的,可是家族被人弄了,家破人亡。女獵手逃到外面去,學了一身好武藝,她始終沒忘記之前是誰害他們的,就回來報仇。對,連環殺人案就她幹的。

嗯,到最後,女人們湊到一起變成猛禽小隊,一起對抗黑面具。黑面具也不負眾望,被猛禽小隊打倒。女警官覺得不需要委身在警局,她決定找黑金絲雀跟女獵手一起組隊,以地下活動的方式打擊犯罪。小丑女收了女竊賊當徒弟,一起闖蕩。故事最後以這樣的形式結束,我覺得挺不錯的,只是事隔幾個月之後,我已經忘了故事是什麼,透過維基百科才想起來。

The New Mutants

前兩年就看到這部電影消息了,一直都難產,沒法上映。就因為這樣,我才想看看,到底是為什麼。

主角是 Dani ,因為居住的小鎮發生了奇怪的事件,整個鎮都被毀了,只剩下她活著,所以被送到變種人收容中心去。她醒來以後,Dr. Reyes 跟她介紹了環境以及未來會一起相處的人。大家都有點古怪,Dani 一開始並不受歡迎,Rahne 是第一個伸出友誼之手的人,他們變成好友了。透過 Rahne ,Dani 慢慢發現這個環境的古怪之處。這裡的每個人都有超能力,但很奇怪,都被禁錮在這裡。隨著時間過去,他們慢慢變熟。

Dani 有超能力嗎?她看起來沒有,但被關在這裡,一定是有異於常人之處。Dr. Reyes 跟上級報告後,決定終結 Dani 生命,Dani 的超能力就在此時開始暴走了。原來她的能力就是讓人內心裡害怕的事物變成真實,所以每個人心裡害怕的事物都出現了。隨後,大家得知了 Dr. Reyes 打算要做的事情,決定起來反抗,並對抗自己心裡的恐懼。經過一場混亂之後,他們克服了自己心裡的恐懼,Dani 也知道了自己的能力。最終,他們逃離了這個地方。

心魔始終還是要靠自己去克服,不去面對,永遠都在那裡。

RHEL8強制解除註冊

前兩天遇到的狀況是這樣,公司裡的 RHEL8 主機是註冊到 Satellite 上,但 Satellite 主機因為機房設備升級,開不了機,可是這台 RHEL8 主機又急著要安裝套件,那就得先解除註冊。

第一步,是先處理 /etc/rhsm/rhsm.conf ,註冊到 Satellite 時,rhsm.conf 裡的設定會被修改,表明註冊到 Satellite。在這裡可以找到備份的 rhsm.conf ,把這檔案復原回去。

第二步,是移除套件,在註冊到 Satellite 時,會安裝一個套件,這個套件包含了註冊到 Satellite 的資訊以及憑證。套件的名稱裡有 katello-ca ,找到之後,用 rpm -e 或 yum remove 移除。

第三步,是移除 /etc/pki/consumer 跟 /etc/pki/entitlement ,這裡有 subscription-manager 註冊後取得的資訊。

rm -rf /etc/pki/consumer
rm -rf /etc/pki/entitlement
subscription-manager clean

處理完之後,就可以用 subscription-manager register 來註冊到 Red Hat 了。

參考資料

電影流水帳(2021/05/01~2021/05/31)

Teen Titans Go!
Teen Titans Go!
  • Teen Titans Go! Vs. Teen Titans (IMDB, Wikipedia),台譯:少年悍將GO 大戰少年悍將。
  • Tremors 4: The Legend Begins (IMDB, Wikipedia),台譯:從地心竄出4。

Tremors 4: The Legend Begins

剛好轉到在演,就順著下去看。這集挺有意思的,故事的元素幾乎都跟第1集一樣,就只有把時空背景拉到西部拓荒時代,故事主角改為 Gummer 。

Rejection 這個小鎮主要的產業是銀礦,某天挖礦時挖到溫泉,導致孵化出不知名的怪蟲。為了解決這問題,Gummer 來到小鎮,並招募了槍手來處理。可惜事情不如人意,再加上 Gummer 也沒錢了,只能黯然離去。離去前,小鎮鎮民要求 Gummer 交出銀礦的經營權。Gummer 來到車站,要離去時,收到鎮民們的電報,他覺得應該要回去幫忙,就把身上最後的懷表典當了,換了大批軍火回去。Gummer 回去跟鎮民一同作戰,終於將怪蟲消滅。鎮民跟 Gummer 決定將小鎮的名字換掉,改為 Perfection ,然後一同發展銀礦。

Teen Titans Go! Vs. Teen Titans

Teen Tians Go 的風格一直都很歡樂,我蠻愛跟孩子一起看的。

這集的主角是 Teen Titans Go ,Raven 的老爸 Trigon 跟另外一個世界的 Trigon 聯手,取得了 Raven 的能力,進而要統治所有的平行宇宙。於是 Teen Titans Go 就跟另外一個宇宙的 Teen Titans 聯手進行調查,後來查到是 Trigon 搞的鬼,就一同找了其他平行宇宙的 Teen Tians 一起來阻止 Trigon 的陰謀。最後,是大家一起聯手打破了 Trigon 的寶石,讓能力重新返回到 Raven 身上,進而打敗 Trigon。

RHEL8 重置 root 密碼

因為查了第二次還第三次,所以紀錄下來。

步驟如下:

  1. 開機時,在 grub 開機選單畫面按上或下,避免自動進入預設項目開機,然後在第一個項目按下 e 來編輯。
  2. 在 linux 那一行的最後加入 rd.break 之後,按下 ctrl + x 繼續開機
  3. 接著會進入 console ,這時輸入下面指令
mount -o remount,rw /sysroot
chroot /sysroot
passwd
touch /.autorelabel
exit
exit

做到這邊,印象中會重開機或繼續開機程序,總之最後就完成了。

參考資料

如果你有 Red Hat developer account 的話,應該可以看到這篇:RESETING THE ROOT PASSWORD

HAProxy的VirtualHost

Apache / Nginx 很常用到的情境就是同個 Port 會有不同的站台,這時會使用到 VirtualHost 。

那 HAProxy 可以這樣做嗎?利用 Google 找了一下,發現是可以,主要是使用 ACL 的設定。

關鍵的設定是寫在 frontend 裡 (設定摘錄自 HAProxy – route by domain name | Sean McGary)

frontend http-in
        bind *:80

        # Define hosts
        acl host_bacon req.hdr(host) -i ilovebacon.com
        acl host_milkshakes req.hdr(host) -i bobsmilkshakes.com

        ## figure out which one to use
        use_backend bacon_cluster if host_bacon
        use_backend milshake_cluster if host_milkshakes

利用 acl + hdr(host) 來判斷 HTTP header 裡的 Host ,接著再使用 use_backend … if … 來決定使用哪一個 backend。

查到以後,我試了好一陣子,都試不出來,後來才搞懂,當使用這個來判斷 header 時,mode 必須要改為 http,如果 mode 是 tcp,那麼是沒作用的。同理,當要用到 https 上時,也會不行,因為連線的內容被加密,HAProxy 無法解讀內容,也就無法得知 header。

HAProxy 的 backend 裡可以改寫 request 的 header,方法如下

backend ocp-apps-http
    mode http
    http-request del-header Host
    http-request set-header Host petclinic.apps.example.com
    server node1 petclinic.apps.example.com:80

透過這個,就可以達到類似 reverse proxy 的效果。

今天試下來,大致對 Apache / Nginx / HAProxy 的定位有了一定程度的了解。HAProxy 有兩個 mode:tcp / http,tcp 適用於 SSL pass-through 跟純 TCP 傳輸的情況,這時是由 backend 來處理 SSL 憑證;http 可以視為跟 Apache / Nginx 相似的情況,也可以掛 SSL 憑證。

簡單的說,Apache / Nginx 並不能完全取代 HAProxy,反之亦然。

centos2rhel

工作有需要幫客戶將 CentOS 轉換到 Red Hat Enterprise Linux,試驗了一下。這個轉換是有條件的,必須要滿足前置條件,才能順利做轉換。

我用的環境是 CentOS 8.3 ,用以下的 playbook 來安裝 Red Hat 所提供的 convert2rhel 工具,先新增檔案,命名為 install-convert2rhel.yml ,然後把下面的內容貼進去。

---
- name: Convert CentOS to RHEL
  hosts: all
  become: yes

  tasks:
    - name: Get GPG key
      get_url:
        url: https://www.redhat.com/security/data/fd431d51.txt
        dest: /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
        mode: '0440'

    - name: Get repo
      get_url:
        url: https://ftp.redhat.com/redhat/convert2rhel/8/convert2rhel.repo
        dest: /etc/yum.repos.d/convert2rhel.repo
        mode: '0440'

    - name: Get convert2rhel
      yum:
        name: convert2rhel
        state: latest

接著執行:ansible-playbook -i <your_ip>, -u root -k install-convert2rhel.yml

目的主機內就有 convert2rhel 指令了,先依照說明來執行看看

convert2rhel --username <redhat_account> --password <redhat_password> -a

執行結果會說需要把 CentOS 升級到 7.9 或是 8.4 才可以進行轉換,所以用 yum update -y 將 CentOS 8.3 升級到 8.4

升級完成,重新開機,再來執行一次。我這次是遇到 Python 處理編碼發生錯誤,改用

LANG=C convert2rhel --username <redhat_account> --password <redhat_password> -a

接著可以繼續往下了,依照指示回答問題以後,就順利轉換到 RHEL 了。(懶得回答可以加上 -y)

man convert2rhel 可以看到使用說明,講的還蠻清楚的。指令有提供了 –disablerepo / –enablerepo 可以關閉或啟用可能影響轉換的 repo,也可以使用 –no-rpm-va 來跳過檢查,也有提供 –activationkey 來支援 Red Hat Satellite,也可以使用 –no-rhsm 來避免註冊到 Red Hat 。

我自己是覺得使用這類的工具其實蠻需要經驗,如果主機上的軟體套件很單純的話,就還好,如果是有引用到第三方的 repo,可能就需要耐心來做狀況排除。同時,也需要事後的檢查,來確保上面的服務跟轉移前一樣。