檔案總管
CUSTOMOS
iso
build-full-iso.sh
third-party.lock
scripts/security
customos-uki.sh
customos-verity-block.sh
customos-ai.sh
tests/security
test_ide.sh
docs
themes
733cmd_rollback() { 734 need_root rollback 735 out_dir="$CUSTOMOS_VB_DIR" 736 img=$(img_of "$out_dir"); hashdev=$(hash_of "$out_dir"); rhfile=$(rh_of "$out_dir") 737 [ -f "$img.prev" ] && [ -f "$hashdev.prev" ] && [ -f "$rhfile.prev" ] \ 738 || die "no complete previous slot in $out_dir -- nothing to roll back to" 739 # Swap current <-> prev file by file (rename only). If the current slot is 740 # incomplete (an interrupted rebuild), prev simply becomes current. 741 for _f in "$img" "$hashdev" "$rhfile"; do 742 if [ -f "$_f" ]; then 743 mv -f "$_f" "$_f.swap.$$" || die "could not stage $_f for the swap" 744 mv -f "$_f.prev" "$_f" || die "could not promote $_f.prev" 745 mv -f "$_f.swap.$$" "$_f.prev" || die "could not demote the old $_f" 746 else 747 mv -f "$_f.prev" "$_f" || die "could not promote $_f.prev" 748 fi 749 done
1# name version kind url sha256 license — consumed only by customos-fetch.sh (fail-closed) 19vscodium 1.135.06055 deb https://github.com/VSCodium/vscodium/releases/…/codium_1.135.06055_amd64.deb 5f5c00a9da9d232e4c84e9eee68bbdeb4d8737462022626ce3bdb6948f3d8649 MIT 28element-desktop 1.12.30 deb https://packages.element.io/debian/pool/main/e/element-desktop/…_amd64.deb 8db1b7bb53e96b31f77d3684776efa302cd3c518e54fece603a1f085e2c4cd93 AGPL-3.0-only
1#!/usr/bin/env bash 2# Tests for the IDE + opt-in AI assistants (THREAT_MODEL §2.20), WITHOUT network, 3# root or a real VSCodium: 4# 1) iso/third-party.lock parses: 6 fields, 64-hex sha256, https URL per entry. 5# 2) customos-fetch.sh: a wrong sha256 is REJECTED and the file deleted (mutation 6# test on a file:// fixture); the right one is accepted and cached. 9# 3) build wiring: the .deb goes through fetch/verify before 'apt-get install', 10# a mismatch aborts (fail), the vendor apt source/key are removed.
TERMINALCLAUDE CODECOPILOT CLIOLLAMABASH
❯ claude
╭ Claude Code 2.1 · repo customos (master) ╮
> explain why rollback must restore the dpkg database too
/var/lib/dpkg lives outside /usr, so a slot swap alone leaves dpkg listing
packages whose files are gone — restore_dpkg_db() fixes that.
(範例工作階段 — 只有在執行 customos-ai install claude 之後才會安裝 Claude Code)
masterLn 742, Col 9 · UTF-8 · LF · Shell ScriptObsidian · 遙測關閉 · 透過 customos-update 更新
明確選擇啟用後的範例狀態。全新安裝沒有此狀態。
Claude Code
CLI 2.1.288 · 程式碼會離開本機
Copilot CLI
未安裝 · customos-ai install copilot
Ollama
127.0.0.1:11434 · 僅限本機
Continue
→ 本機 Ollama · Apache-2.0
Claude 和 Copilot 會把程式碼傳送到第三方服務。只有 Ollama 留在本機。Copilot 僅提供 CLI:Open VSX 上沒有 Copilot 擴充功能。
Obsidian theme內建 · 由 themes/obsidian.css 產生
ContinueOpen VSX · 固定版本
ClineOpen VSX · 固定版本
Claude Code專有軟體 · 先顯示條款並需先接受
擴充功能以你的權限執行,不受沙箱限制。Open VSX 不像 Debian 那樣經過審核(§2.20)。
$ customos-ai install all (first login, after your explicit [y/N])
[ OK ] codium 1.135.06055 — pinned in iso/third-party.lock, sha256 verified at build time; its apt repo removed (customos-update owns updates)
[ OK ] Claude Code 2.1.288 (native binary, sha256 OK) · Anthropic terms shown and accepted
[ OK ] ollama 0.35.1 (GitHub release, sha256 OK) · bound to 127.0.0.1 only · no model downloaded: run ollama pull qwen2.5-coder:7b
[ OK ] Continue → http://127.0.0.1:11434 · telemetry off · theme Obsidian · font JetBrains Mono
[ -- ] Copilot CLI skipped (needs a GitHub account; install later: customos-ai install copilot)
(sample run)