2019/09/10

RaspBian Lite - 專為台灣客製化的免初始化 image

上次給台灣人的 Raspbian 懶人版映象檔趕時間做的有點潦草,這次重新調整了一下設定。


版本:
  • Raspbian Buster Lite
  • Version: June 2019
  • Release Date: 2019-06-20
  • Kernal version: 4.19


以下是我手動調整過得設定:
  • Localization
    • Locale:en_US.utf8 + zh_TW.utf8
    • 時區:Asia/Taipei
    • 鍵盤對應:en (US)
    • Wify county:TW
  • SSH 預設啟動 (port 22)
  • 有線網路自動 DHCP
  • etc/apt/source.list 的 source 改為 NCHC (快超多)
  • apt-get upgrade @ 2019-09-09

另外採用 EricPi 的建議,我加上了 mDNS,這樣只要接到有線網路上,可以直接「ping raspberry.local」得到 IP 位址,initialize 會方便很多


下載:
載點:https://mega.nz/#!JcpxhYQb!-1A7CoYVBEal5I5iTjtQkul9W2Js8cW2xE5QEqt6yK4

SHA1: 638436e2c7b550875793d32e3ce995d9e5198f3aeceb8ed5bca3d9265c3ee061
SHA256: 638436e2c7b550875793d32e3ce995d9e5198f3aeceb8ed5bca3d9265c3ee061

2019/08/23

讓 less 可以顯示 ANSI 色彩

應該不少人有經驗,在使用 grep 時,要搜尋的關鍵字會用顏色 highlight 方便閱讀,例如:
$ ls -lh | grep php
-rw-rw-r--  1 zero zero  178 Aug 22 19:15 autoload.php
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 cakephp
drwxrwxr-x  5 zero zero 4.0K Aug 22 19:01 phpdocumentor
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpoffice
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpoption
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpseclib
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpspec
drwxrwxr-x  8 zero zero 4.0K Aug 22 19:01 phpunit

不過如果因為列表很長,在把搜尋結果 pipe 給 less 以後,顏色就消失了。

這其實是 grep 這邊會判斷 output 到哪一種型態的 I/O,像是後面接的是 bash pipe,grep 就會自動移除 ANSI color 的 syntax,畢竟不知道 pipe 資料給誰,如果後者不支援 ANSI color 就會變成亂碼。

如果很確定 pipe 後面的指令、工具支援 ANSI color 的指令,就可以下參數要求 grep 輸出顏色。例如:
$ ls -lh | grep php --color=always | less
-rw-rw-r--  1 zero zero  178 Aug 22 19:15 autoload.php
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 cakephp
drwxrwxr-x  5 zero zero 4.0K Aug 22 19:01 phpdocumentor
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpoffice
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpoption
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpseclib
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpspec
drwxrwxr-x  8 zero zero 4.0K Aug 22 19:01 phpunit

2019/08/13

快速判斷 Ubuntu (或該 distribution) 是否重新開機的方法

登入 Ubuntu 時,常會看到最底下會有一行字,提醒你主機是否需要重新開機:
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-142-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

0 packages can be updated.
0 updates are security updates.


*** System restart required ***

追了一陣子,才知道判斷的方法非常簡單,只要到 /var/run 目錄下檢查是否有「reboot-required」的檔案即可。

例如:
$ ls /var/run
acpid.pid      crond.reboot         initctl         log          motd.dynamic          resolvconf         snapd.socket  udev
acpid.socket   dbus                 initramfs       lvm          mount                 rsyslogd.pid       sshd          unattended-upgrades.lock
agetty.reload  dhclient.enp0s3.pid  init.upgraded   lvmetad.pid  mysqld                screen             sshd.pid      user
atd.pid        dmeventd-client      irqbalance.pid  lxcfs        network               sendsigs.omit.d    sudo          utmp
blkid          dmeventd-server      iscsid.pid      lxcfs.pid    reboot-required       shm                systemd       uuidd
crond.pid      grub                 lock            mdadm        reboot-required.pkgs  snapd-snap.socket  tmpfiles.d    xtables.lock

就這樣,沒了。

2019/07/30

MySQL 8.0 的新密碼加密 plugin 導致 PHP 連線失敗

今天很難得打開 phpMyAdmin 來看一下有什麼改變,但發現一直無法登入,顯示錯誤訊息「」。


查了一下才發現 MySQL 8 預設的密碼有多種格式,預設的格式 PHP 還不支援,所以會登入失敗 (但用 console 會成功)。

解決方法是暫時改為舊版本的密碼儲存方式:
alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your-password';
flush privileges;

然後在設定檔裡面多新增一條規則,把預設的密碼儲存方式改回舊版的:
[mysqld]
default-authentication-plugin = mysql_native_password



2019/07/21

LibreOffice 加油啊

昨天鄰居想嘗試使用 Linux,大致上都沒什麼問題,但卡到二個點:

  • 輸入法:沒有順手的輸入法 (倉頡)
  • Office 文件工具組:LibreOffice 的操作實在很不直覺,從 M$ 跳到 LibreOffice 目前還沒聽過有人說好用的。

今天還是幫他改回 Windows 系統,實在可惜。