logoalt Hacker News

Arainachtoday at 4:32 AM2 repliesview on HN

Oh, and from a few days ago:

* I want to install jj

* Its docs say to use cargo-binstall

* How do I get that? With cargo, so sudo apt install cargo

* `cargo binstall --strategies crate-meta-data jj-cli` -> `error: no such command: `binstall``

* `cargo install binstall` -> `error: cannot install package `cargo-binstall 1.17.7`, it requires rustc 1.79.0 or newer, while the currently active rustc version is 1.75.0`

* `sudo apt install rust` -> E: Unable to locate package rust

* `sudo apt install rustc` -> `rustc is already the newest version (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04).`

Apparently the guidance is to manage your rust versions with a tool other than apt that you install with `curl ... | sh` because no one ever learns anything about security

.....yep, just as user friendly as I remember.


Replies

Georgelementaltoday at 4:53 AM

This would not be any easier on Windows?

show 2 replies
noisy_boytoday at 5:05 AM

> * I wanted to update a Raspberry Pi from Ubuntu LTS 22 to LTS 24. Turns out this is basically impossible. Ubuntu themselves tell you not to do it and their recommended solution is to wipe the system and try again. I ignored them and tried to do it anyway and my Pi ended up refusing to boot. Great.

"Ubuntu themselves tell you not to do it" - you do see it right? Let us see how you forgive Windows for breaking things by ignoring Microsoft's advice and blame them anyway when it breaks.

> * I needed to update a Raspberry Pi to change the list of WiFi networks it knew about. Except apparently there are two different networking stacks for Linux with different config files and I edited the wrong one.

Why? Why not connect it to the network you want so that it just connects to that going forward?

> * I built a new TrueNAS server. Turns out that you absolutely cannot configure the networking from the GUI. There's a section there, sure, but every time it refuses to save the information until you "test the changes" and that fails to reconnect every single time. You have to locally plug a monitor into the machine, boot it, and log in with a keyboard to get to the config there.

And TrueNAS's shortcomings are somehow Linux's fault just like every Windows thirdparty software issue is Windows' fault?

> * I want to install jj * Its docs say to use cargo-binstall

No, they don't ask that as the first choice - this is what they say in https://docs.jj-vcs.dev/latest/install-and-setup/:

    Installation¶
    Download pre-built binaries for a release¶
    There are pre-built binaries of the last released version of jj for Windows, Mac, or Linux (the "musl" version should work on all distributions).

    Cargo Binstall¶
    If you use cargo-binstall, ....
You could have just used the pre-built binaries as per their advice. But if you didn't, you should have atleast bothered to click on that cargo-binstall link to see that it is an add-on which has its own instructions - it is not bundled with cargo by default. Unlike you, I did follow the steps and was able to install jj without issues:

    $ > curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
    + set -o pipefail
    + set -o pipefail
    + case "${BINSTALL_VERSION:-}" in
    ++ mktemp -d
    + cd /tmp/tmp.8IdPJtQBlE
    + '[' -z '' ']'
    ...
    + case ":$PATH:" in
    + '[' -n '' ']'
    $ > cargo binstall --strategies crate-meta-data jj-cli
    INFO the current QuickInstall statistics endpoint url="https://cargo-quickinstall-stats-server.fly.dev/record-install"

    Binstall would like to collect install statistics for the QuickInstall project
    to help inform which packages should be included in its index in the future.
    If you agree, please type 'yes'. If you disagree, telemetry will not be sent.
    ...
    INFO resolve: Resolving package: 'jj-cli'
    WARN resolve: When resolving jj-cli bin fake-bisector is not found. But since it requires features test-fakes, this bin is ignored.
    WARN resolve: When resolving jj-cli bin fake-diff-editor is not found. But since it requires features test-fakes, this bin is ignored.
    WARN resolve: When resolving jj-cli bin fake-echo is not found. But since it requires features test-fakes, this bin is ignored.
    WARN resolve: When resolving jj-cli bin fake-editor is not found. But since it requires features test-fakes, this bin is ignored.
    WARN resolve: When resolving jj-cli bin fake-formatter is not found. But since it requires features test-fakes, this bin is ignored.
    WARN The package jj-cli v0.39.0 (x86_64-unknown-linux-musl) has been downloaded from github.com
    INFO This will install the following binaries:
    INFO   - jj => /home/xxxxx/.cargo/bin/jj
    Do you wish to continue? [yes]/no yes
    INFO Installing binaries...
    INFO Done in 7.549505679s

    $ > jj version
    jj 0.39.0-d9689cd9b51b4139d2842fcf6c30f65f4eed8cd1
    $ > 
Again, a) this is third party b) just because you don't know how to follow the instructions, doesn't make the OS bad. Hell it doesn't even make cargo-binstall or jj look bad. By now, you should see that years of experience != knowing how to use things.

Having said all that, none of this stuff you mentioned even remotely resembled an average user's workflow who just uses his computer for listening to music and browsing the internet with some occasional document editing thrown in. Despite its warts and shortcomings, Linux does a much better job today than it used to.

show 3 replies