[Feedback on issues] chatgpt无法更新
Tofloor
poster avatar
佩奇
deepin
2026-09-20 11:45
Author

之前一直可以更新,最近的gpt版本无法再更新了
image.png

1789875737836.png

Reply Favorite View the author
All Replies
avatar
𰻞𰻝面
deepin
2026-09-20 12:07
#1

源里没有新版所需的依赖,Nestopia也是,只能装1.5.1以下版本

Reply View the author
avatar
zccrs
deepin
2026-09-20 13:09
#2

这个chatgpt是怎么装的?你自己加的源吗?

Reply View the author
avatar
@Mr.Sun
deepin
2026-09-20 13:17
#3

我也遇到了,依赖冲突了装完libtss2-mu0 系统依赖乱套了,暂时卸载了😂
图片.png

Reply View the author
avatar
佩奇
deepin
2026-09-20 13:36
#4
@Mr.Sun:

我也遇到了,依赖冲突了装完libtss2-mu0 系统依赖乱套了,暂时卸载了😂
图片.png

嗯,没什么办法解决,目前是deepin自己的依赖版本

Reply View the author
avatar
佩奇
deepin
2026-09-20 13:36
#5
zccrs:

这个chatgpt是怎么装的?你自己加的源吗?

官方出的Linux版本,deb包装上就会自动把apt源加上了

Reply View the author
avatar
燕戏竹林
deepin
2026-09-21 11:00
#6

试试用docker安装。抓个ub2604的镜像就成

Reply View the author
avatar
懒洋洋
deepin
2026-10-16 11:15
#7
It has been deleted!
avatar
懒洋洋
deepin
2026-10-16 11:19
#8
懒洋洋: It has been deleted!

手动修改依赖关系

  libtss2-mu-4.0.1-0t64
      ->
  libtss2-mu-4.0.1-0

这是我让ai帮我写的一个脚本

#!/usr/bin/env bash

set -euo pipefail

# ============================================================
# fix-deb.sh
#
# 用途:
#   修改 Debian/Ubuntu .deb 包中的依赖关系
#
# 当前默认修复:
#   libtss2-mu-4.0.1-0t64
#       ->
#   libtss2-mu-4.0.1-0
#
# 用法:
#   ./fix-deb.sh package.deb
#   ./fix-deb.sh package.deb --install
#
# 结果:
#   package-fixed.deb
# ============================================================

OLD_DEP="libtss2-mu-4.0.1-0t64"
NEW_DEP="libtss2-mu-4.0.1-0"

INSTALL=0
INPUT=""

usage() {
    echo "用法:"
    echo "  $0 "
    echo "  $0  --install"
    echo
    echo "示例:"
    echo "  $0 chatgpt.deb"
    echo "  $0 chatgpt.deb --install"
    exit 1
}

# ------------------------------------------------------------
# 参数解析
# ------------------------------------------------------------
for arg in "$@"; do
    case "$arg" in
        --install)
            INSTALL=1
            ;;
        --help|-h)
            usage
            ;;
        *.deb)
            INPUT="$arg"
            ;;
        *)
            echo "错误:未知参数:$arg"
            usage
            ;;
    esac
done

# ------------------------------------------------------------
# 如果没有指定 deb,则尝试自动寻找当前目录的 deb
# ------------------------------------------------------------
if [[ -z "$INPUT" ]]; then
    mapfile -t DEBS < <(find . -maxdepth 1 -type f -name "*.deb" | sort)

    if [[ ${#DEBS[@]} -eq 0 ]]; then
        echo "错误:当前目录没有找到 .deb 文件"
        exit 1
    elif [[ ${#DEBS[@]} -eq 1 ]]; then
        INPUT="${DEBS[0]}"
        echo "自动选择:$INPUT"
    else
        echo "找到多个 .deb 文件,请指定:"
        printf '  %s\n' "${DEBS[@]}"
        exit 1
    fi
fi

# ------------------------------------------------------------
# 检查输入文件
# ------------------------------------------------------------
if [[ ! -f "$INPUT" ]]; then
    echo "错误:文件不存在:$INPUT"
    exit 1
fi

if ! command -v dpkg-deb >/dev/null 2>&1; then
    echo "错误:系统没有 dpkg-deb"
    echo "请先安装 dpkg:sudo apt install dpkg"
    exit 1
fi

echo
echo "========================================"
echo "处理 Debian 安装包"
echo "========================================"
echo "原文件:$INPUT"
echo "替换:"
echo "  $OLD_DEP"
echo "      ->"
echo "  $NEW_DEP"
echo

# ------------------------------------------------------------
# 验证是不是合法的 deb
# ------------------------------------------------------------
if ! dpkg-deb --info "$INPUT" >/dev/null 2>&1; then
    echo "错误:不是有效的 Debian .deb 文件"
    exit 1
fi

# ------------------------------------------------------------
# 输出文件名
# ------------------------------------------------------------
BASENAME="$(basename "$INPUT")"
DIRNAME="$(dirname "$INPUT")"
NAME="${BASENAME%.deb}"

OUTPUT="${DIRNAME}/${NAME}-fixed.deb"

if [[ -e "$OUTPUT" ]]; then
    echo "注意:输出文件已经存在:$OUTPUT"
    read -r -p "是否覆盖?[y/N] " answer
    case "$answer" in
        y|Y)
            rm -f "$OUTPUT"
            ;;
        *)
            echo "已取消"
            exit 0
            ;;
    esac
fi

# ------------------------------------------------------------
# 创建临时目录
# ------------------------------------------------------------
WORKDIR="$(mktemp -d)"
trap 'rm -rf "$WORKDIR"' EXIT

UNPACK_DIR="$WORKDIR/package"

mkdir -p "$UNPACK_DIR"

echo "[1/5] 解包..."

dpkg-deb -R "$INPUT" "$UNPACK_DIR"

CONTROL="$UNPACK_DIR/DEBIAN/control"

if [[ ! -f "$CONTROL" ]]; then
    echo "错误:没有找到 DEBIAN/control"
    exit 1
fi

# ------------------------------------------------------------
# 显示原始依赖
# ------------------------------------------------------------
echo "[2/5] 检查依赖..."

echo
echo "原始 Depends:"
dpkg-deb -f "$INPUT" Depends 2>/dev/null || true
echo

# ------------------------------------------------------------
# 检查是否真的存在旧依赖
# ------------------------------------------------------------
if grep -qF "$OLD_DEP" "$CONTROL"; then
    echo "发现依赖:$OLD_DEP"
else
    echo "警告:没有发现 $OLD_DEP"
    echo
    echo "当前 control 文件中的 Depends:"
    grep '^Depends:' "$CONTROL" || true
    echo
    read -r -p "仍然重新打包?[y/N] " answer

    case "$answer" in
        y|Y)
            ;;
        *)
            echo "已取消"
            exit 0
            ;;
    esac
fi

# ------------------------------------------------------------
# 替换依赖
# ------------------------------------------------------------
echo "[3/5] 修改依赖..."

sed -i \
    "s/${OLD_DEP//./\\.}/${NEW_DEP}/g" \
    "$CONTROL"

echo "修改后的 Depends:"
grep '^Depends:' "$CONTROL" || true
echo

# ------------------------------------------------------------
# 重新打包
# ------------------------------------------------------------
echo "[4/5] 重新打包..."

dpkg-deb --build "$UNPACK_DIR" "$OUTPUT" >/dev/null

if [[ ! -f "$OUTPUT" ]]; then
    echo "错误:重新打包失败"
    exit 1
fi

# ------------------------------------------------------------
# 验证生成的 deb
# ------------------------------------------------------------
echo "[5/5] 验证..."

if ! dpkg-deb --info "$OUTPUT" >/dev/null 2>&1; then
    echo "错误:生成的 .deb 验证失败"
    rm -f "$OUTPUT"
    exit 1
fi

echo
echo "========================================"
echo "处理完成"
echo "========================================"
echo "输出文件:"
echo "  $OUTPUT"
echo
echo "新的 Depends:"
dpkg-deb -f "$OUTPUT" Depends || true
echo

# ------------------------------------------------------------
# 可选:直接安装
# ------------------------------------------------------------
if [[ "$INSTALL" -eq 1 ]]; then
    echo "开始安装..."
    echo

    sudo dpkg -i "$OUTPUT" || true

    echo
    echo "如果存在其他依赖问题,执行:"
    echo "  sudo apt -f install"
else
    echo "安装命令:"
    echo "  sudo dpkg -i \"$OUTPUT\""
    echo
    echo "如有其他依赖问题:"
    echo "  sudo apt -f install"
fi
Reply View the author