Debian 12 不再允許直接使用 pip 安裝套件。
就算是 root 也不行。
我還回頭測了 Debian 11,並沒有這項限制。
政策變化內容
看看 pip3 install 的錯誤訊息:
$ pip3 install pycryptodome
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
Debian 12 已經移除 PHP 7.4 套件,只留 PHP 8.2 套件。
不幸的是,有些 PHP 程式還沒有升級到 PHP 8.2。
為了這些舊程式,我編譯打包了 php7.4-compat 套件。
下載 php7.4-compat_7.4.33_amd64.deb。這個下載點大概放到2024年12月吧。
為了執行舊 PHP 程式,使用 docker 跑 Debian 11 容器也是可行的解決方案。
只是容器內的 PHP 7.4 參照的動態連結函式庫是 Debian 11 的套件版,也就是版本較舊。
而自行編譯的方式, PHP 7.4 參照的函式庫會是 Debian 12 的套件版。
由於編譯依賴的套件相同,此法的 PHP 7.4 將和 PHP 8.2 共用相同的動態連結函式庫,是新的版本。
只是 PHP 7.4 的程式碼本身還在用 OpenSSL 1.1.1,所以多連結一個 libssl1.1。
說到 SSH 多組金鑰與帳號管理的需求,我會從 GitHub Desktop 說起。
GitHub Desktop 是個很好用的 git GUI 工具,缺點是它設計上只會記一個 GitHub 帳號。
若你有好幾個 GitHub 帳號,照 GitHub Desktop 設計的操作邏輯,你要重複登出登入切換帳號。
但我們其實可以利用 SSH 金鑰管理機制,直接存取不同帳號的源碼庫。
此外,如果你有申請多家雲端服務商,而他們支援 SSH 連線的話,也是用同一套機制管理多個帳號。
本文分兩章。第一章說明 SSH 金鑰基本操作。第二章說明管理多組金鑰的方式。
- 建立一組金鑰
- 管理多組金鑰

各版本 Linux 散佈套件中,基本都有三款只提供「桌面共用」功能的 VNC 工具。
它們不提供「遠端登入」功能。
我安裝的舊電腦是一台工業用電腦,將近 15 年前的硬體規格。
我最初拿 x86_64 的 Linux USB 作業碟開機,看到 CPU 不支持 x86_64 的訊息時,讓我驚訝不已。
其配置規格為:
- VIA C7 CPU。x86 32 位元 CPU,不支持 x86_64。
- 主機板晶片組內建 S3 UniChrome 顯示晶片。
- 1 GB RAM。
- 2 GB CF 記憶卡。早期工業用電腦常用 CF 記憶卡作為 IDE 磁碟裝置。
就算是 Debian 也很難在這種配置下裝視窗環境。所以我選擇了更精簡的 Alpine Linux。
本文整套安裝結束,清除 /var/cache/apk ,最後用了 root 分割區大約 750~800 MB。