面向 Shell 的腳本分發站

先選擇適用腳本、審閱實際改動,再核對下載檔案後決定是否執行。

它面向需要一鍵命令、清晰說明、可靠落地頁以及可信腳本發布入口的維運與開發人員。

$ curl -fL https://helper.sh/hello.sh -o ./hello.sh
$ less ./hello.sh
$ curl -fL https://helper.sh/docker-data-move.sh -o ./docker-data-move.sh
$ less ./docker-data-move.sh

給人看的靜態頁面,給終端用的原始腳本。

helper.sh 的站點定位

圍繞腳本分發與可信交付設計

helper.sh

透過穩定且易記的 URL 直接分發腳本

helper.sh

為全球維運團隊提供多語言說明文件

helper.sh

提供適合交接、審閱和發布的說明頁

腳本

已發布腳本

維運腳本

docker-data-move.sh

一個互動式遷移腳本,用於將 Docker data-root 安全遷移到更大的磁碟,並帶有路徑檢查、備份與驗證流程。

安裝腳本

install_docker_ubuntu_2404.sh

一個適用於 Ubuntu 24.04.4 LTS 的 Docker 與 Docker Compose 一鍵安裝腳本,由 helper.sh 託管發布。

Docker 應用安裝腳本

install_nginx_base_docker.sh

用於啟動 Docker Nginx 1.22.1 並建立主機持久化目錄的腳本,會映射 80/443 埠;預設設定僅提供 HTTP。

Docker 應用安裝腳本

install_mysql57_base_docker.sh

一個基於 Docker 的 MySQL 5.7 一鍵安裝腳本,會準備 /data/mysql5.7 並啟動一個宿主機掛載的資料庫容器。

Docker 應用安裝腳本

install_redis705_base_docker.sh

一個基於 Docker 的 Redis 7.0.5 一鍵安裝腳本,會準備 /data/redis7.0.5 並啟動一個宿主機掛載的快取容器。

Docker 應用安裝腳本

install_php72_base_docker.sh

一個基於 Docker 的 PHP 7.2 一鍵安裝腳本,會準備 /data/php7.2 並啟動一個宿主機掛載的 PHP-FPM 容器。

Docker 應用安裝腳本

install_workerman3524_base_docker.sh

舊版 Workerman/PHP 7.2 建置範例:應用程式檔案複製進映像,只有 logs 是 bind mount;修改應用後需重新建置並取代容器。

OpenVPN 服務端安裝腳本

CentOS 7 OpenVPN 服務端一鍵安裝腳本

CentOS 7 專用 OpenVPN 伺服器範例,包含固定區域網路路由、使用者名稱/密碼驗證及防火牆變更。

OpenVPN 客戶端安裝腳本

install_openvpn_client_ubuntu.sh

一個託管在 helper.sh 的 Ubuntu OpenVPN 客戶端安裝腳本,會先檢查目前目錄中的 client.conf 和 login.txt,再安裝 OpenVPN 並啟用 systemd 客戶端服務。

OpenVPN 客戶端安裝腳本

install_openvpn_client_centos7.sh

CentOS 7 OpenVPN 用戶端設定,可使用本機驗證檔案與 DNS 鉤子;安裝套件不代表通道已連通。

OpenVPN 客戶端安裝腳本

install_openvpn_client_anolis8.sh

Anolis OS 8 OpenVPN 用戶端設定,可使用本機驗證檔案與 DNS 鉤子;安裝套件不代表通道已連通。

OpenVPN 客戶端維護

disable_openvpn_client_dns.sh

註解所選 OpenVPN 設定中的相符 DNS 鉤子並嘗試重新啟動;不會自動還原既有解析器狀態。

系統維護

switch-centos7-repo.sh

一個用於 CentOS 7 切換 yum 軟體源的腳本,適合在預設倉庫失效、歸檔或訪問異常時快速恢復可用來源。

系統維護

optimize_centos7_ssh.sh

一個面向 CentOS 7 的 SSH 維護腳本,會停用反向 DNS 查詢與 GSSAPI 驗證、選擇 IPv4、檢查 sshd_config,然後重新啟動 sshd。

安全加固

centos_disable_password_ssh.sh

一個用於 CentOS SSH 加固的腳本,會檢查 authorized_keys 是否非空,再關閉密碼類驗證、啟用公鑰驗證、校驗 sshd_config 並重新載入 sshd。

Docker 旁路由實驗

install_bleachwrt_docker_centos7.sh

遺留 CentOS 7 區域網路實驗範例:使用特權 OpenWrt 相容容器與 macvlan,需先審閱主機層級網路變更。

開發工具

tree-to-file.sh

一個託管在 helper.sh 的目錄結構匯出腳本,用來把目前專案樹寫入 tree.txt;當系統沒有 tree 命令時會自動嘗試安裝,失敗則回退到內建遍歷邏輯。

平台

先按系統和宿主機角色進入

平台

Ubuntu 24.04 腳本

選擇 Docker/OpenVPN 安裝器前核對 Ubuntu 版本、systemd 與軟體庫存取條件。

平台

CentOS 7 腳本

面向既有 CentOS Linux 7 主機的復原腳本。CentOS Linux 7 已於 2024 年 6 月 30 日結束支援;這些腳本僅用於相容、復原或遷移準備,不應作為新系統基準。

平台

Anolis OS 8 腳本

檢查 Anolis 8/dnf OpenVPN 分支及通用維護前提,不僅憑 RHEL 系標籤推定相容。

平台

Docker 宿主機初始化

在部署業務容器前,先把 Docker 宿主機本身整理好的那一層,包括安裝、資料目錄和維護動作。

平台

Docker 服務棧腳本

彙整 Docker 上的 Nginx、MySQL、Redis、PHP 與 Workerman 安裝腳本。固定版本中包含已結束支援的軟體;請將這些頁面用於相容性工作,並在新部署前檢查升級方案。

專題

按部署場景瀏覽

專題

CentOS 7:選擇復原工作

變更已結束支援的主機前,先區分軟體庫故障、SSH 存取問題與 Docker 儲存壓力。

專題

Ubuntu:準備 Docker 或 VPN 接入

區分主機安裝、用戶端接入與既有 Docker 服務,不把舊應用映像作為新架構預設選擇。

專題

Docker 服務:檢查介面與保留狀態

按協定、資料目錄與取代影響區分 HTTP、SQL、快取、FastCGI 或映像內應用。

專題

OpenVPN:區分通道、路由與 DNS 故障

選擇對應發行版用戶端,變更 DNS 鉤子前檢查解析器管理權。

專題

舊 PHP:區分執行階段相容性與應用就緒

PHP 7.2/Workerman 3.5.24 範例用於有升級計畫的遺留相容工作。

問題頁

直接進入常見問題

問題頁

CentOS 7 yum 404:先檢查故障軟體庫

重寫 repo 檔案前,區分封存 CentOS 鏡像、第三方 URL、DNS、TLS 或網路故障。

問題頁

為什麼 CentOS 7 的 SSH 登入很慢

最常見的根因是反向 DNS 解析、GSSAPI 驗證協商,以及部分舊環境裡的 IPv6 回退。先把這些等待關掉,再做更深的 SSH 排查。

問題頁

為什麼在 CentOS 上關閉 SSH 密碼登入後就連不上了

最常見的原因是先關閉了 PasswordAuthentication,卻沒有先確認目標帳號已經存在可用的 authorized_keys,並且沒有先做一次成功的金鑰登入驗證。

問題頁

OpenVPN 已連線但內部 DNS 失敗

改檔案或重新啟動通道前,先檢查已設定鉤子與作用中的解析器管理器。

問題頁

為什麼重建 MySQL 5.7 容器後舊密碼仍然有效

安裝腳本重建 mysql57 時會繼續掛載 /data/mysql5.7/data。MySQL 只會在資料目錄為空時初始化帳號,因此既有資料庫不會因安裝變數變更而重設憑證。

問題頁

Workerman 顯示完成但 HTTP 就緒檢查失敗

再次取代容器前,區分建置、容器啟動、curl 探針與業務驗證。

推薦工作流

如何安全使用本站腳本

  1. 先依任務選擇腳本,核對需求與實際改動。
  2. 儲存並審閱原始碼,用指南中的本機比對器或校驗檔案核對位元組。
  3. 結合本機檢查、備份及授權變更時段,再單獨決定是否執行;雜湊一致不是安全結論。