如何在 Ubuntu Server 24.04 上設定 Pi-hole DNS-over-HTTPS
在 Ubuntu Server 24.04 上設定 Pi-hole,使其使用 dnscrypt-proxy 進行 DNS-over-HTTPS 連接,然後驗證本地上游伺服器,避免常見的 DNS 衝突。
在終端中,許多用戶堅持使用 Bash。結果,他們的終端體驗不如預期的好。這是非常基本的,沒有現成的現代功能。如果你想要更好的終端體驗,可以考慮從 Bash 切換到 Fish Shell。
在從 Bash 切換到 Fish Shell 作為您的主要終端 Shell 之前,您需要在 Linux 上安裝它。幸運的是,它非常流行,幾乎每個 Linux 發行版上都有它的軟件包。打開終端並輸入以下命令進行安裝。
sudo apt 安裝魚
sudo apt-get 安裝魚
須藤吃豆子 -S 魚
須藤 dnf 安裝魚
須藤 zypper 安裝魚
儘管功能相當現代,Fish 已經存在了一段時間。由於它的年齡,它很容易在幾乎任何 Linux 發行版上獲得。要安裝它,請打開一個終端並檢查您的包管理器中的“fish”或“fish shell”。或者,查看官方 Github 頁面並使用程序代碼從源代碼構建它。
使用 Fish 作為主 shell 可能需要一些時間來適應,因為它與 Bash 非常不同。與許多其他替代方案(如 Zsh、Ksh 等)不同,Fish 不使用 Bash 系統作為基礎。由於 Fish 具有這種設計,因此某些命令可能會因語法不同而完全拒絕工作,並且您在使用終端時可能需要改變一些習慣。
幸運的是,有一個很棒的頁面概述了魚殼和環境的所有復雜性。它概述了 Fish 語法、它如何處理管道以及許多其他事情。如果您正在考慮進行轉換,請幫自己一個忙並閱讀一下。
一旦您查看了備忘單,就可以安全地打開終端並將用戶的默認 shell 從 Bash 更改為 Fish Shell。在終端中,運行 chsh 命令。但是,不要使用sudo運行它 ,否則您可能會將 Root 用戶的 shell 換成 Fish 而不是您自己的。
chsh -s /usr/bin/fish
運行chsh命令將為您的用戶分配新的 shell。要與您的用戶即時訪問 Fish,請將fish寫入終端。否則,重新啟動 Linux PC 以完成切換。重新啟動後,重新登錄並再次打開終端。如果一切順利,Fish 將成為新的默認設置,您將看到 Fish Shell,而不是 Bash。
儘管您已切換到 Fish Shell,但它尚未完全準備好使用。下一步是配置它。在終端中,創建一個新的配置文件夾。
mkdir -p ~/.config/fish
接下來,在新的 Fish 配置文件夾中創建一個新的配置文件:
觸摸 ~/.config/fish/config.fish
使用touch創建一個空白的 Fish Shell 配置文件,其中沒有任何內容。此時,可以安全地將任何自定義配置添加到 shell 中。對於大多數用戶,唯一需要的修改是永久禁用歡迎消息。通過運行以下命令將修改添加到 Fish 配置:
迴聲'設置fish_greeting“”'>> ~/.config/fish/config.fish
在多台計算機上設置 Fish 可能很煩人,因為您必須為每台 PC 創建一個新配置。一種更快的方法是創建文件備份並在您計劃使用 Fish 的每台 PC 上恢復它。要備份配置,請在終端中運行此命令
cp ~/.config/fish/config.fish ~/Documents/
要恢復配置,請將文件移動到新 PC,將其放在 Documents 文件夾中並運行:
mkdir -p ~/.config/fish cp ~/Documents/config.fish ~/.config/fish/config.fish
在大多數情況下,Fish 已全部設置好並可以使用。但是,如果您想進一步自定義和配置它,有一種方法可以做到這一點。進入終端並運行以下命令:
魚配置
運行此命令將自動在您的 Web 瀏覽器中打開一個新選項卡,其中可能包含 Fish。
在 Fish_Config 窗口中,您將能夠應用預設的 shell 主題、分配變量、設置自定義函數、查看命令歷史記錄、分配縮寫、別名等等!
到目前為止,Fish 中最吸引人的功能是自動完成功能。它遙遙領先於其他一切,僅此一項功能就足以說服即使是最頑固的 Bash 粉絲也可以查看一下。此功能的最佳部分是它不需要很多專業知識即可利用。即使是終端新手也可以從中得到很多好處。
要使用 Fish 自動完成功能,請轉到終端並開始輸入命令。在您鍵入時,您會看到 shell 嘗試在您輸入時進行猜測。它會在收到更多信息時進行更正。您可以隨時通過按鍵盤上的右箭頭鍵來自動完成命令 。按正確的鍵後,您的半完成命令將自動完成。
在 Ubuntu Server 24.04 上設定 Pi-hole,使其使用 dnscrypt-proxy 進行 DNS-over-HTTPS 連接,然後驗證本地上游伺服器,避免常見的 DNS 衝突。
排查 YaST GUI 透過 SSH X11 轉送導致的故障。測試 DISPLAY,修復已記錄的 Qt XIO 錯誤,檢查 SSH 設置,並在必要時切換到 ncurses。
在 SLES 15 上設定 SUSE RMT,同步 SCC 元數據,鏡像選定的儲存庫,透過 HTTPS 註冊客戶端,並了解從 SMT 遷移的限制。
追蹤 Pardus Linux 23 上缺少的音效卡問題。安全地檢查 ALSA 檢測、核心模組、音訊服務、輸出設定檔、韌體和更新。
修正 Pardus KVM 虛擬機器卡在 1024x768 解析度的問題,檢查虛擬 GPU、SPICE 代理、X11 或 Wayland 會話,並正確驗證更高的顯示模式。
使用基於金鑰的 SSH、/etc/fstab、systemd 網路選項、自動掛載和驗證步驟,在 Debian 啟動時自動掛載遠端 SSHFS 目錄。
排查 SLES 升級過程中出現的「無法分配記憶體」問題。檢查 RAM、交換空間、OOM 日誌和進程限制,然後在不中斷軟體包事務的情況下進行復原。
追蹤 Harmonica OS (HamoniKR) 平板電腦的觸控偏移、旋轉和顯示對映問題。比較 X.Org 和 libinput 的修復方案,安全地進行測試,並了解何時校準無效。
使用 dm-crypt 對現有的 Debian 12 交換分割區進行加密,每次啟動時使用新的隨機金鑰,並設定 /etc/crypttab、/etc/fstab 和安全驗證步驟。
在 Ubuntu 系統上安裝 smartmontools,用於監控硬碟健康狀況並發送 SMART 郵件警報。檢查設備支援狀況、設定郵件發送、測試通知功能並檢查故障。