Skip to content

Restic - riscv64

Restic
  • Beim Rumspielen mit dem RISC-V Board VisionFive2 ist mir aufgefallen, das mein Lieblingstool nicht einwandfrei funktioniert. Installieren konnte ich das auf dem Debian Image, aber die Update Funktion war fehlerhaft.

    root@starfive:~# restic self-update
    writing restic to /usr/bin/restic
    find latest release of restic at GitHub
    

    Ok, mal nachgefragt

    Somit besteht die Möglichkeit, das es in einem der nächsten Updates funktioniert 🙂

  • Mittlerweile ist das gemerged. Sollte also im nächsten Release enthalten sein. Das Spielkind hat sich dann mal die aktuelle Version, so zum Testen, auf dem RISC-V mal mit go gebaut.

    apt install golang-go
    

    Version?

    root@starfive:~# go version
    go version go1.18.3 linux/riscv64
    

    Restic clonen

    root@starfive:~# git clone https://github.com/restic/restic
    Cloning into 'restic'...
    

    Restic bauen

    root@starfive:~# cd restic/
    root@starfive:~/restic# go run build.go
    go: downloading github.com/anacrolix/fuse v0.2.0
    go: downloading github.com/minio/sha256-simd v1.0.0
    go: downloading github.com/restic/chunker v0.4.0
    go: downloading github.com/spf13/cobra v1.6.1
    go: downloading github.com/spf13/pflag v1.0.5
    go: downloading golang.org/x/sync v0.1.0
    ....
    

    Restic Version?

    root@starfive:~/restic# ./restic version
    restic 0.15.1 (v0.15.1-5-g590eb9efd) compiled with go1.18.3 on linux/riscv64
    

    Restic Help

    root@starfive:~/restic# ./restic -h     
     
     restic is a backup program which allows saving multiple revisions of files and
     directories in an encrypted repository stored on different backends.
     
     Usage:
       restic [command]
     
     Available Commands:
       backup        Create a new backup of files and/or directories
       cache         Operate on local cache directories
       cat           Print internal objects to stdout
       check         Check the repository for errors
       copy          Copy snapshots from one repository to another
       diff          Show differences between two snapshots
       dump          Print a backed-up file to stdout
       find          Find a file, a directory or restic IDs
       forget        Remove snapshots from the repository
       generate      Generate manual pages and auto-completion files (bash, fish, zsh, powershell)
       help          Help about any command
       init          Initialize a new repository
       key           Manage keys (passwords)
       list          List objects in the repository
       ls            List files in a snapshot
       migrate       Apply migrations
       mount         Mount the repository
       prune         Remove unneeded data from the repository
       rebuild-index Build a new index
       recover       Recover data from the repository not referenced by snapshots
       restore       Extract the data from a snapshot
       rewrite       Rewrite snapshots to exclude unwanted files
       self-update   Update the restic binary
       snapshots     List all snapshots
       stats         Scan the repository and show basic statistics
       tag           Modify tags on snapshots
       unlock        Remove locks other processes created
       version       Print version information
     
     Flags:
           --cacert file                file to load root certificates from (default: use system certificates)
           --cache-dir directory        set the cache directory. (default: use system default cache directory)
           --cleanup-cache              auto remove old cache directories
           --compression mode           compression mode (only available for repository format version 2), one of (auto|off|max) (default auto)
       -h, --help                       help for restic
           --insecure-tls               skip TLS certificate verification when connecting to the repository (insecure)
           --json                       set output mode to JSON for commands that support it
           --key-hint key               key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)
           --limit-download rate        limits downloads to a maximum rate in KiB/s. (default: unlimited)
           --limit-upload rate          limits uploads to a maximum rate in KiB/s. (default: unlimited)
           --no-cache                   do not use a local cache
           --no-lock                    do not lock the repository, this allows some operations on read-only repositories
       -o, --option key=value           set extended option (key=value, can be specified multiple times)
           --pack-size size             set target pack size in MiB, created pack files may be larger (default: $RESTIC_PACK_SIZE)
           --password-command command   shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)
       -p, --password-file file         file to read the repository password from (default: $RESTIC_PASSWORD_FILE)
       -q, --quiet                      do not output comprehensive progress report
       -r, --repo repository            repository to backup to or restore from (default: $RESTIC_REPOSITORY)
           --repository-file file       file to read the repository location from (default: $RESTIC_REPOSITORY_FILE)
           --tls-client-cert file       path to a file containing PEM encoded TLS client certificate and private key
       -v, --verbose n                  be verbose (specify multiple times or a level using --verbose=n, max level/times is 2)
     
     Use "restic [command] --help" for more information about a command.
    

    Das restic self-update ist immer noch kaputt, das sollte dann mit dem nächsten Release gefixt sein.

    root@starfive:~/restic# ./restic self-update
    writing restic to /root/restic/restic
    find latest release of restic at GitHub
    latest version is 0.15.1
    download SHA256SUMS
    download SHA256SUMS.asc
    GPG signature verification succeeded
    Fatal: unable to update restic: unable to find file with suffix linux_riscv64.bz2
    
  • Release ist draußen, jetzt mit riscv64

    Enh #4180: Add release binaries for riscv64 architecture on Linux

  • Hier der kurze Praxistest 🙂

    root@visionfive2:/etc# apt install restic
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    Suggested packages:
      libjs-sphinxdoc sphinx-rtd-theme-common
    The following NEW packages will be installed:
      restic
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    Need to get 6,899 kB of archives.
    After this operation, 20.8 MB of additional disk space will be used.
    Get:1 http://ports.ubuntu.com lunar/universe riscv64 restic riscv64 0.14.0-1 [6,899 kB]
    Fetched 6,899 kB in 1s (5,589 kB/s)  
    Selecting previously unselected package restic.
    (Reading database ... 34675 files and directories currently installed.)
    Preparing to unpack .../restic_0.14.0-1_riscv64.deb ...
    Unpacking restic (0.14.0-1) ...
    Setting up restic (0.14.0-1) ...
    Processing triggers for man-db (2.11.2-1) ...
    
    root@visionfive2:/etc# restic version
    restic 0.14.0 compiled with go1.19.2 on linux/riscv64
    
    root@visionfive2:/etc# restic self-update
    writing restic to /usr/bin/restic
    find latest release of restic at GitHub
    latest version is 0.15.2
    download SHA256SUMS
    download SHA256SUMS.asc
    GPG signature verification succeeded
    download restic_0.15.2_linux_riscv64.bz2
    downloaded restic_0.15.2_linux_riscv64.bz2
    saved 21954560 bytes in /usr/bin/restic
    successfully updated restic to version 0.15.2
    
    root@visionfive2:/etc# restic version
    restic 0.15.2 compiled with go1.20.3 on linux/riscv64
    
    root@visionfive2:/etc#
    

  • Restic v0.17.3 released

    Linux
    1
    0 Stimmen
    1 Beiträge
    92 Aufrufe
    Niemand hat geantwortet
  • Restic v0.17.2 released

    Restic
    1
    0 Stimmen
    1 Beiträge
    107 Aufrufe
    Niemand hat geantwortet
  • Restic v0.16.5 released

    Restic
    1
    0 Stimmen
    1 Beiträge
    119 Aufrufe
    Niemand hat geantwortet
  • Restic v0.16.2

    Linux
    1
    0 Stimmen
    1 Beiträge
    117 Aufrufe
    Niemand hat geantwortet
  • Restic - Kompression

    Restic
    2
    0 Stimmen
    2 Beiträge
    307 Aufrufe
    FrankMF

    Gestern Abend noch ein paar Tests gemacht, aber nicht wirklich Erfolg gehabt. Ok, dann heute noch mal von vorne und mit System. Als erstes muss man mal Daten finden, die man auch gut komprimieren kann, ich will ja auch ein deutliches Ergebnis sehen.

    Meine Wahl fiel auf einen openwrt Ordner, mit dem ich mal ein Image selber gebaut hatte. Schön viele kleine Dateien, sollte sich gut komprimieren lassen.

    Original

    547e3596-69df-48ac-9409-5173367afb85-grafik.png

    Test mit 7z

    Rechtsklick, mit den Bordmittel und dann 7z gewählt.

    364b497f-cf59-408c-ba2b-cad70cc09529-grafik.png

    Test mit Restic V1

    Ich habe auf einer mechanischen 1TB Platte zwei Ordner angelegt, einmal Restic_V1, einmal Restic_V2.

    frank@frank-MS-7C37:~/Downloads$ restic version restic 0.13.1 compiled with go1.18 on linux/amd64 Init restic init -r /media/1TB/Restic_V1/ Backup frank@frank-MS-7C37:~/Downloads$ restic -r /media/1TB/Restic_V1/ backup /home/frank/openwrt/ enter password for repository: repository 731db857 opened successfully, password is correct created new cache in /home/frank/.cache/restic no parent snapshot found, will read all files Files: 407839 new, 0 changed, 0 unmodified Dirs: 41286 new, 0 changed, 0 unmodified Added to the repo: 7.851 GiB processed 407839 files, 11.061 GiB in 4:49 snapshot 24cd8ef4 saved Ergebnis

    799fa3ee-5bdf-48ba-a05e-8f7f24f1c41b-grafik.png

    Test mit Restic V2 frank@frank-MS-7C37:~/Downloads$ ./restic_v0.13.0-126-g26c33332_linux_amd64 version restic 0.13.1-dev (compiled manually) compiled with go1.18 on linux/amd64 Init ./restic_v0.13.0-126-g26c33332_linux_amd64 init -r /media/1TB/Restic_V2/ --repository-version 2 Backup frank@frank-MS-7C37:~/Downloads$ ./restic_v0.13.0-126-g26c33332_linux_amd64 -r /media/1TB/Restic_V2/ backup /home/frank/openwrt/ enter password for repository: repository 33c5e24c opened (repo version 2) successfully, password is correct created new cache in /home/frank/.cache/restic no parent snapshot found, will read all files Files: 407839 new, 0 changed, 0 unmodified Dirs: 41286 new, 0 changed, 0 unmodified Added to the repo: 7.835 GiB processed 407839 files, 11.061 GiB in 2:47 snapshot 474d0376 saved Ergebnis

    caafd946-1285-4e1d-8873-a3ff4141a777-grafik.png

    Fazit

    Fassen wir es mal ein wenig zusammen. Das Original hat 12,1GB

    ITool Dateigröße Zeit 7z 2,2GB ca. 11:59 Restic V1 8,5GB 4:49 Restic V2 2,9GB 2:47

    Man kann auch noch etwas an der Kompression einstellen, ich habe es für diesen Test auf der Standardeinstellung(?) gelassen.

    You can set the desired compression level by passing it to --compression (e.g. restic backup --compression max), supported are auto, max and off.

    Das Ergebnis sieht sehr vielversprechend aus. Es könnte den Platzverbrauch stark begrenzen, sehr wichtig für mich wenn man seine Daten in einer Cloud speichert. (Stichwort: Kosten) Und was hier auch noch schön ins Auge fällt, es ist schneller 🙂 Das möchte ich hier nicht versuchen zu erklären, da ich nicht genau woran es liegt. Vermutung, ich muss wesentlich weniger Daten "schreiben".

    Ich freue mich extrem, diese Version produktiv einzusetzen. Mal überlegen, ob ich die Version hier auf dem Haupt-PC mal testweise nutze, ich denke das wäre spannend.

    @Restic-Team: Vielen Dank für dieses tolle Feature!
  • Restic v0.13.1 released

    Restic
    1
    0 Stimmen
    1 Beiträge
    113 Aufrufe
    Niemand hat geantwortet
  • Restic - Passwortübergabe

    Restic
    1
    0 Stimmen
    1 Beiträge
    174 Aufrufe
    Niemand hat geantwortet
  • Python3 - Popen und seine Geheimnisse ;)

    Python3
    1
    0 Stimmen
    1 Beiträge
    191 Aufrufe
    Niemand hat geantwortet