本來打算將 Autopkgtest 初體驗 這篇筆記搬回來 Blogger,突然發現這樣好像有點在浪費時間。
因為 HackMD - Markdown 協作知識庫 實在是太好用了,功能都很完整(至少我需要的都有),所以以後不打算再維護這邊了。
GNU/Linux, Debian/Ubuntu, Mac OS X, Free Software/Open Source Software, Freeware, and Programming.
本來打算將 Autopkgtest 初體驗 這篇筆記搬回來 Blogger,突然發現這樣好像有點在浪費時間。
因為 HackMD - Markdown 協作知識庫 實在是太好用了,功能都很完整(至少我需要的都有),所以以後不打算再維護這邊了。
以下內容是參考 https://kifarunix.com/configure-postfix-to-use-gmail-smtp-on-ubuntu-18-04/
$ sudo apt install postfix mailutils
安裝過程設定使用 Internet site: Mail is sent and received directly using SMTP.
relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_security_level = encrypt smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
[smtp.gmail.com]:587 userid@gmail.com:password
應用程式密碼可以在 https://myaccount.google.com/apppasswords 產生
$ sudo postmap /etc/postfix/sasl_passwd $ ls /etc/postfix/sasl_passwd* /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
$ sudo chown root:root /etc/postfix/sasl_passwd* $ sudo chmod 600 /etc/postfix/sasl_passwd*
$ service postfix reload
$ echo "This is a test mail." | mail -s "test mail" userid@gmail.com
與「自製 Ubuntu 13.04/12.10/12.04.2 與 Debian 7.0 測試硬體安裝使用的 USB 隨身碟」跟「自製 Ubuntu 16.04/16.04.1/16.04.2/16.10/17.04 測試硬體安裝使用的 USB 隨身碟」同樣的步驟只是改用 grub.cfg 這個設定檔。
隨身碟換成某年在 COSCUP 購買的 USB stick 紀念品,所以容量有 16GB 可以用,只是已經不想再不斷地修改 grub.cfg 所以改成自動偵測 vmlinuz 跟 initrd 的檔案名稱,然後會去掃 iso 目錄底下的所有 iso 檔,之後只要爽爽地將新的 iso 檔複製到 iso 目錄底下就會自動找到了,不用在因為新增或刪除 iso 檔而去修改 grub.cfg。
主要修改的部份如下:
for isofile in /iso/*.iso do menuentry "試用 $isofile 免安裝 ($bios)" $isofile { loopback loop $2 if [ -f (loop)/casper/vmlinuz ]; then set vmlinuz="(loop)/casper/vmlinuz" elif [ -f (loop)/casper/vmlinuz.efi ]; then set vmlinuz="(loop)/casper/vmlinuz.efi" fi if [ -f (loop)/casper/initrd ]; then set initrd="(loop)/casper/initrd" elif [ -f (loop)/casper/initrd.lz ]; then set initrd="(loop)/casper/initrd.lz" elif [ -f (loop)/casper/initrd.gz ]; then set initrd="(loop)/casper/initrd.gz" fi linux $vmlinuz iso-scan/filename=$2 $options $desktop --- $extra initrd $initrd } done
多年前在弄 https://fourdollars.github.io/d-i/ 時,就已經想到這個主意了,趁這個週末有點時間就用 Python Flask 硬幹出來。
主要是利用下面的機制做出來的:
運作的原理是根據使用者的 IPv4 位址來儲存設定檔,所以另一台透過同樣的 IPv4 位址就可以拿到同一份設定檔,分享的時候也是透過分享 IPv4 位址來達成,但是只有該 IPv4 位址的使用者才能夠編輯給該 IPv4 位址使用的設定。
專案網址:https://fourdollars.github.io/diaas/
我另外弄了一個專門給 Ubuntu 台灣中文社群的通用設定在 https://sylee.org/d-i/?share=08080808,點進去後按下 Save 就可以使用了。
There is an "Auto mode" while automating the Debian/Ubuntu installation using preseeding.
You can check Debian's or Ubuntu's documentions for details.
Basically if we have prepared a "preseed.cfg" at some right place, like http://example.com/d-i/stretch/preseed.cfg, and then we can use "auto url=example.com" to install Debian stretch by that "preseed.cfg".
"preseed.cfg" is usually a static file so I come out some ideas. How about making it dynamic and we can share it to others.
If you are interested, please check https://fourdollars.github.io/diaas/.
使用 Python 來建立專案常常會需要拉一些額外的套件進來使用,然而有時候專案已經穩定不再增加新功能也不再修正錯誤時,就是只放著讓它在那邊自己跑著,只是說這個專案使用到的額外的套件難免會有一些未知的安全問題,這時候該怎麼辦呢?
於是我找到了 https://pypi.python.org/pypi/safety
執行
$ pip install safety安裝起來,然後再執行
$ safety check就可以看到結果。
或者是可以直接檢查 requirements.txt 這個檔案。
$ safety check -r requirements.txt ╒══════════════════════════════════════════════════════════════════════════════╕ │ │ │ /$$$$$$ /$$ │ │ /$$__ $$ | $$ │ │ /$$$$$$$ /$$$$$$ | $$ \__//$$$$$$ /$$$$$$ /$$ /$$ │ │ /$$_____/ |____ $$| $$$$ /$$__ $$|_ $$_/ | $$ | $$ │ │ | $$$$$$ /$$$$$$$| $$_/ | $$$$$$$$ | $$ | $$ | $$ │ │ \____ $$ /$$__ $$| $$ | $$_____/ | $$ /$$| $$ | $$ │ │ /$$$$$$$/| $$$$$$$| $$ | $$$$$$$ | $$$$/| $$$$$$$ │ │ |_______/ \_______/|__/ \_______/ \___/ \____ $$ │ │ /$$ | $$ │ │ | $$$$$$/ │ │ by pyup.io \______/ │ │ │ ╞══════════════════════════════════════════════════════════════════════════════╡ │ REPORT │ │ checked 101 packages, using default DB │ ╞════════════════════════════╤═══════════╤══════════════════════════╤══════════╡ │ package │ installed │ affected │ ID │ ╞════════════════════════════╧═══════════╧══════════════════════════╧══════════╡ │ pillow │ 3.2.0 │ <3.3.2 │ 33138 │ │ pillow │ 3.2.0 │ <3.3.2 │ 33139 │ │ cryptography │ 1.3.1 │ <1.5.3 │ 25680 │ │ httplib2 │ 0.9.2 │ <=0.9.2 │ 25848 │ │ mistune │ 0.7.1 │ <0.7.2 │ 25890 │ │ rsa │ 3.2.3 │ <3.3 │ 33164 │ │ rsa │ 3.2.3 │ <3.4 │ 26112 │ ╘══════════════════════════════════════════════════════════════════════════════╛
看樣子只要將版本更新上去就沒問題了,當然原本專案的某些地方可能會跟著壞掉需要再修正一下。
最後是 https://pyup.io/ 對 GitHub 提供了 CI 的服務,public repo 可以免費使用。
與「自製 Ubuntu 13.04/12.10/12.04.2 與 Debian 7.0 測試硬體安裝使用的 USB 隨身碟」同樣的步驟只是改用 grub.cfg 這個設定檔。
因為我是放在 8GB 的 USB 隨身碟上面,所以放這幾個 amd64 ISO 檔案就塞滿了。
另外我發現前一篇文章中的 usb-creator-gtk -n -i ubuntu-13.04-desktop-amd64.iso 這個步驟是多餘的,其實使用 grub-install 就夠了,還有這邊的 UEFI 模式不會支援 Secure Boot 因為 GRUB 的安全設定的關係。