Fasaloli

Sabunta ccam

An sabunta a ƙarshe 19 Oktoba, 2026
An duba da ccam 0.6.0 da Claude Code 2.1.302

Na'ura ce ta fassara wannan shafin daga Turanci. Ana maraba da gyare-gyare. Gyara wannan shafin a GitHub

A wannan shafin

ccam update yana sauke sakin ccam daga GitHub, yana duba shi da checksums.txt na sakin kuma yana maye gurbin binary da ke gudana da rename ɗaya. Yi amfani da shi idan ka girka ccam da rubutun girkawa (install script) ko daga archive. ccam ba ya taɓa neman sabuntawa da kansa: wannan umarni ne kaɗai ke tuntuɓar GitHub, don haka kowane sauran umarni yana aiki iri ɗaya ba tare da intanet ba.

Amfani

ccam update                    # install the latest release
ccam update --check            # only say whether a newer release exists
ccam update --version v0.3.0   # install that release, also an older one
ccam --dry-run update          # show what would be downloaded and replaced
$ ccam update --check
ccam 0.5.0 is available (you have 0.4.0). Run `ccam update`.
$ ccam --dry-run update
Would update ccam 0.4.0 → 0.5.0:
  download  https://github.com/jhyunwoo/ccam/releases/download/v0.5.0/ccam_linux_amd64.tar.gz
  verify    with https://github.com/jhyunwoo/ccam/releases/download/v0.5.0/checksums.txt
  replace   /home/you/.local/bin/ccam
$ ccam update
→ downloading https://github.com/jhyunwoo/ccam/releases/download/v0.5.0/ccam_linux_amd64.tar.gz
✓ Updated ccam 0.4.0 → 0.5.0 (/home/you/.local/bin/ccam)

Idan babu sabon saki, ccam yana buga ccam 0.4.0 is up to date. kuma ba ya canza komai. Da --version da sigar da kake gudanarwa tuni, yana buga ccam 0.4.0 is already installed.

Zaɓuɓɓuka

Zaɓi Abin da yake yi Tsoho
--check Bayar da rahoto kawai ko akwai sabon saki a kashe
--version <tag> Girka wannan tag na saki, kamar v0.3.0, sabo ko tsoho fiye da na yanzu na baya-bayan nan
--dry-run Ana karɓar sa: yana neman tag na baya-bayan nan (sai dai idan --version ya ambaci ɗaya), yana gudanar da dubawa iri ɗaya a kan binary, kuma yana buga hanyoyin saukewa, checksum da maye gurbi ba tare da saukewa ba a kashe

Ba za a iya amfani da --check da --version tare ba. Dole tag ɗin ya yi kama da vMAJOR.MINOR.PATCH, tare da ƙarin pre-release ko build idan ana so; ana iya barin v na farko. Duk wani abu dabam yana gazawa, misali --version takes a release tag such as v0.3.0, not "1.2".

Mai canjin muhalli CCAM_RELEASES_URL yana maye gurbin https://github.com/jhyunwoo/ccam/releases, don madubi (mirror) ko don gwaje-gwaje. Dole ya kasance da tsari iri ɗaya: <url>/latest yana turawa zuwa <url>/tag/<tag>, kuma assets suna a <url>/download/<tag>/<asset>.

Yadda yake aiki

Lambar tana cikin internal/update, wanda ccam update ne kaɗai ke shigo da shi. Hanyar farawa ba ta taɓa kiran sa.

  1. cli.updateCmd yana nemo binary da ke gudana da os.Executable kuma yana warware symlinks da filepath.EvalSymlinks. Wannan ainihin hanyar ita ce ake maye gurbinta.
  2. Ba tare da --version ba, Updater.Latest yana neman <releases>/latest ba tare da bin turawar ba, kuma yana karanta tag ɗin daga header na Location (…/tag/v0.5.0). Wannan yana amfani da shafin saki maimakon GitHub API, don haka iyakar API ta buƙatu 60 a awa ba ta shafa ba. Neman yana da daƙiƙa 10.
  3. parseVersion yana duba tag ɗin da tsari mai tsauri. Tag yana ƙarewa a URLs na saukewa da a umarnin shell da aka buga, don haka babu abin da ke da /, %, sarari ko haruffan shell da ke wucewa. compareVersions yana kwatanta shi da sigar da ke gudana; pre-release yana zuwa kafin sakinsa.
  4. managed() da writable() suna yanke shawara ko ccam zai iya maye gurbin binary kwata-kwata (duba ƙasa).
  5. Updater.Fetch yana sauke ccam_<os>_<arch>.tar.gz da checksums.txt a lokaci ɗaya, da mintuna 2 ga duka biyun. Kowane saukewa an iyakance shi zuwa 256 MB.
  6. Dole SHA-256 na archive ɗin ya yi daidai da layinsa a checksums.txt kafin wani abu ya faru. Layin da ya ɓace ko checksum daban yana dakatar da sabuntawar da nothing was changed.
  7. extract() yana karanta tar ɗin kuma yana ɗaukar fayil na yau da kullum na farko mai suna ccam. Ana watsi da foldoji, mahaɗai da sauran shigarwa, kuma binary ɗin ma an iyakance shi zuwa 256 MB.
  8. Updater.Install yana rubuta sabon binary da fsutil.AtomicWrite: fayil na wucin gadi .ccam.tmp* kusa da binary, da bits na izinin tsohon fayil, ana tura shi zuwa faifai kuma ana rename shi a kan tsohon.

Dukkan hanyar, daga neman tag zuwa rename:

Ana sauke archive da checksums.txt gefe da gefe, kuma ba a rubuta komai har sai checksum ya yi daidai. Rename ɗin atomic ne, don haka faɗuwar shiri ko cikakken faifai yana barin ko dai tsohon binary ko sabon, ba taɓa rabin ɗaya ba. Gajerun umarni kamar ~/.local/bin/ccwork symlinks ne zuwa binary na ccam, don haka suna gudanar da sabuwar sigar ba tare da wani canji ba.

Girkin da mai sarrafa kunshi ke sarrafawa

ccam da aka girka daga .deb na apt ne, kuma maye gurbinsa a bayan apt zai bar bayanan kunshin ba daidai ba. Kafin saukewa, ccam yana duba wanene ke da binary ɗin:

  1. Binary a /usr/bin, /bin, /usr/sbin ko /sbin ana ɗaukar sa a matsayin wanda kunshi ke sarrafawa.
  2. A wani wuri, idan an girka dpkg kuma dpkg -S <path> ya yi nasara, shi ma ana ɗaukar sa a matsayin wanda kunshi ke sarrafawa.
  3. In ba haka ba ccam yana ƙirƙira kuma yana cire fayil na wucin gadi .ccam-update-* kusa da binary don tabbatar da cewa zai iya rubutu a can.

Ga binary da kunshi ke sarrafawa ccam yana tsayawa kuma yana buga matakan apt:

$ ccam update
ccam: /usr/bin/ccam was installed by a package, so `ccam update` leaves it alone.
To update the .deb, download ccam_0.5.0_linux_amd64.deb from https://github.com/jhyunwoo/ccam/releases/tag/v0.5.0 and run:
  sudo apt install ./ccam_0.5.0_linux_amd64.deb
Or install a copy in ~/.local/bin with the install script:
  curl -fsSL https://raw.githubusercontent.com/jhyunwoo/ccam/main/install.sh | sh

A tsarin da ba Linux ba, layin rubutun girkawa ne kawai ake bugawa. Idan ba za a iya rubutu a foldar ba, ccam yana ba da shawarar sake gudanar da rubutun girkawa, wanda ke girka ccam a ~/.local/bin.

Tsaro da yanayi na musamman

  • Build na haɓakawa (development) yana bayar da sigarsa a matsayin dev kuma ba shi da sakin da za a kwatanta da shi, don haka ccam update da ccam update --check suna ƙin sa. ccam update --version vX.Y.Z yana girka saki a kansa.
  • Saukewa da ya gaza, asset da ya ɓace ga dandalinka, ko checksum da bai yi daidai ba yana barin binary da aka girka yadda yake.
  • Sakin da babu shi yana gazawa da there is no release <tag>. Idan GitHub ya ƙi da HTTP 403 ko 429, ccam yana cewa wataƙila iyakar buƙatu ce kuma yana roƙon ka ka sake gwadawa daga baya.
  • --check yana karantawa ne kawai. Ba ya duba ko kunshi ke sarrafa binary ɗin ko ana iya rubutu a kansa.
  • --version tare da tsohon tag shi ne yadda ake komawa baya (roll back).