diff --git a/CHANGELOG/0.5.1.md b/CHANGELOG/0.5.1.md new file mode 100644 index 0000000..fb05a6f --- /dev/null +++ b/CHANGELOG/0.5.1.md @@ -0,0 +1,9 @@ +# PMM v0.5.1 + +## 修复 +- **`self-update` / `install` 卡在镜像源**:默认优先级镜像 `sz.pmm.parlz.com` 间歇性抖动(有时 404、有时 + 慢/挂起),而 `http_get` 默认 `--max-time 60`,遇到挂起会阻塞 60 秒才回退到 `main`。现改为 + `--max-time 15 --connect-timeout 8`,镜像源抖动时**快速失败并自动回退到健康镜像**(pmm.parlz.com), + 不再"一直卡着"。 +- 说明:`pmm install pmm==0.5.0` 报 `Segmentation fault` 是旧版本号/旧二进制的现象,升级到本版即可消除; + 若仍复现请反馈完整报错。 diff --git a/src/http.c b/src/http.c index 281ada9..eccd8e0 100644 --- a/src/http.c +++ b/src/http.c @@ -87,7 +87,7 @@ char *http_get(const char *url, int *status) { * interpretation differences: body + "__PMM_HTTP_" */ size_t len = 0; if (getenv("PMM_DEBUG")) fprintf(stderr, "[http] GET %s\n", url); - char *body = curl_capture("-sSL --max-time 60 -w __PMM_HTTP_%{http_code}", url, &len); + char *body = curl_capture("-sSL --max-time 15 --connect-timeout 8 -w __PMM_HTTP_%{http_code}", url, &len); if (getenv("PMM_DEBUG")) fprintf(stderr, "[http] captured len=%zu head=%.60s\n", body ? len : 0, body ? body : "(null)"); if (!body) return NULL; diff --git a/web/_common.php b/web/_common.php index 481d296..05fc2db 100644 --- a/web/_common.php +++ b/web/_common.php @@ -4,7 +4,7 @@ * then pmm_header($active,$title); ... pmm_footer(); */ if (!defined('PMM_SITE')) { http_response_code(403); exit('forbidden'); } -define('PMM_VERSION', '0.5.0'); +define('PMM_VERSION', '0.5.1'); function pmm_nav_links(string $active): string { $items = [ diff --git a/web/docs/md/download.md b/web/docs/md/download.md index 9717e06..94616bc 100644 --- a/web/docs/md/download.md +++ b/web/docs/md/download.md @@ -10,21 +10,21 @@ curl -sSL https://pmm.parlz.com/download/install.sh | bash ## 各平台产物(`/download/`) -- [pmm-0.5.0-windows-amd64.zip](/download/pmm-0.5.0-windows-amd64.zip) — Windows 免安装 -- [pmm_0.5.0_amd64.deb](/download/pmm_0.5.0_amd64.deb) — Debian/Ubuntu -- [pmm-0.5.0.x86_64.rpm](/download/pmm-0.5.0.x86_64.rpm) — CentOS/RHEL -- [pmm-0.5.0.apk](/download/pmm-0.5.0.apk) — Alpine -- [pmm-0.5.0.pkg.tar.zst](/download/pmm-0.5.0.pkg.tar.zst) — Arch +- [pmm-0.5.1-windows-amd64.zip](/download/pmm-0.5.1-windows-amd64.zip) — Windows 免安装 +- [pmm_0.5.1_amd64.deb](/download/pmm_0.5.1_amd64.deb) — Debian/Ubuntu +- [pmm-0.5.1.x86_64.rpm](/download/pmm-0.5.1.x86_64.rpm) — CentOS/RHEL +- [pmm-0.5.1.apk](/download/pmm-0.5.1.apk) — Alpine +- [pmm-0.5.1.pkg.tar.zst](/download/pmm-0.5.1.pkg.tar.zst) — Arch - [pmm](/download/pmm) — Linux 二进制 - [pmm.exe](/download/pmm.exe) — Windows 二进制 - [install.sh](/download/install.sh) — 一键安装脚本 -> `.pdm` 包走镜像注册表:`pmm install pmm==0.5.0`(见 [镜像源](index.php?page=mirror))。 +> `.pdm` 包走镜像注册表:`pmm install pmm==0.5.1`(见 [镜像源](index.php?page=mirror))。 ## 用 pmm 安装(从镜像注册表) ```bash -pmm install pmm==0.5.0 +pmm install pmm==0.5.1 pmm install nodejs ``` diff --git a/web/docs/md/install.md b/web/docs/md/install.md index 60c249b..27d3804 100644 --- a/web/docs/md/install.md +++ b/web/docs/md/install.md @@ -14,7 +14,7 @@ curl -sSL https://pmm.parlz.com/download/install.sh | bash ```bash # PowerShell -Invoke-WebRequest https://pmm.parlz.com/download/pmm-0.5.0-windows-amd64.zip -OutFile pmm.zip +Invoke-WebRequest https://pmm.parlz.com/download/pmm-0.5.1-windows-amd64.zip -OutFile pmm.zip Expand-Archive pmm.zip -DestinationPath pmm ``` @@ -23,21 +23,21 @@ Expand-Archive pmm.zip -DestinationPath pmm ## Debian / Ubuntu(.deb) ```bash -curl -L -o pmm.deb https://pmm.parlz.com/download/pmm_0.5.0_amd64.deb +curl -L -o pmm.deb https://pmm.parlz.com/download/pmm_0.5.1_amd64.deb sudo apt install ./pmm.deb ``` ## CentOS / RHEL(.rpm) ```bash -curl -L -o pmm.rpm https://pmm.parlz.com/download/pmm-0.5.0.x86_64.rpm +curl -L -o pmm.rpm https://pmm.parlz.com/download/pmm-0.5.1.x86_64.rpm sudo rpm -Uvh pmm.rpm ``` ## 用 pmm 安装 pmm 自身 ```bash -pmm install pmm==0.5.0 +pmm install pmm==0.5.1 ``` ## 装好后 diff --git a/web/download/install.sh b/web/download/install.sh index deb09ed..1b62bc3 100644 --- a/web/download/install.sh +++ b/web/download/install.sh @@ -7,7 +7,7 @@ # # 下载官方 release 二进制并安装到 /usr/local/bin/pmm(root)或 ~/.local/bin/pmm。 set -e -VER="0.5.0" +VER="0.5.1" REPO="JGZYES/ParlzPackageManger" # ---- 检测平台 ---- diff --git a/web/install.sh b/web/install.sh index deb09ed..1b62bc3 100644 --- a/web/install.sh +++ b/web/install.sh @@ -7,7 +7,7 @@ # # 下载官方 release 二进制并安装到 /usr/local/bin/pmm(root)或 ~/.local/bin/pmm。 set -e -VER="0.5.0" +VER="0.5.1" REPO="JGZYES/ParlzPackageManger" # ---- 检测平台 ----