atuinsh / atuin

✨ Magical shell history
https://atuin.sh
MIT License
18.54k stars 520 forks source link

[Bug]: URGENT system locking, uninstall or at a minimum disable when installed using CURL? #2169

Closed Free-Radical closed 1 week ago

Free-Radical commented 1 week ago

What did you expect to happen?

Not sure if Atuin is the reason but machine is locking up and as part of debugging I need to be able to remove new packages including atuin, ASAP.

FYI: installed atuin in an ubuntu distobox, exported atuin to host system, Fedora Silverblue 40, atuin possibly locking whole machine

What happened?

installed atuin using-

/bin/bash -c "$(curl --proto '=https' --tlsv1.2 -sSf https://setup.atuin.sh)"

machine is locking up intermittently.

I CANT FIND INSTRUCTIONS TO REMOVE/UNINSTALL/DISABLE when installed using the bash/curl option.

I read the comments about uninstalling but seriously you have to come up with a better option than "Depends upon how user installed". It looks like an awesome utility but not having clear uninstall instructions is a serious issue, especially cause I now have to fill out a bug report and wait for the answer.

Atuin doctor output

Atuin Doctor
Checking for diagnostics

Please include the output below with any bug reports or issues

{
  "atuin": {
    "version": "18.3.0",
    "sync": null,
    "sqlite_version": "3.44.0"
  },
  "shell": {
    "name": "bash",
    "default": "bash",
    "plugins": [
      "atuin",
      "bash-preexec"
    ],
    "preexec": "bash-preexec"
  },
  "system": {
    "os": "Ubuntu",
    "arch": "x86_64",
    "version": "22.04",
    "disks": [
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "overlay",
        "filesystem": "overlay"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sda1",
        "filesystem": "ext4"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/sdc4",
        "filesystem": "btrfs"
      }
    ]
  }
}

Code of Conduct

ellie commented 1 week ago

Our install script will use your system package manager where it can. It tells you what it did when it runs.

https://docs.atuin.sh/uninstall/ contains information about removing the shell integration, which will disable it.

I appreciate you may be stressed, but your tone here really isn't great and putting "URGENT" in the title makes me less likely to reply quickly, not more.

Free-Radical commented 1 week ago

I'm sorry that you misinterpreted my tone of urgency, it was not my intention to be rude in the least. I didn't know putting the word "URGENT" would make you less likely to reply, normally its the other way round, I simply thought it would make clear that issue is an urgent one.

Either way, does your script leave a log file somewhere? whatever the setup script printed to STDIO is no longer accessible and I'm no script programmer who will be able to undo the install by simply looking at the script.

Additionally may I suggest you guys put a note next to the "curl" install method on your web page, mentioning complications if installed this way and encouraging a brew install, etc. May save your time in the future.

Free-Radical commented 1 week ago

Hi can I expect an answer soon ?

joh6nn commented 3 days ago

I'm sorry you're having this issue. But while I can tell you don't intend to be, you're coming across as expectant and demanding. Which is especially frustrating because you're both providing less information, and taking in less information, than you think you are. For example:

FYI: installed atuin in an ubuntu distobox, exported atuin to host system, Fedora Silverblue 40, atuin possibly locking whole machine

I've never heard of distobox, and while I've heard of Silverblue, I've never used it. So none of this means anything to me unless I go do a bunch of research first. I don't mean to speak for Ellie here, but I assume she's in a similar position.

It also feels like you didn't actually read Ellie's response, because she gave you instructions for disabling Atuin: if you remove atuin init from your shell config file, that will disable Atuin. You didn't mention which shell you're using, so it's not actually possible for Ellie to be more specific than that. So again: you've provided less info than you think you did.

If you don't know which shell you're using, then you're probably using Bash, and your shell config file is either ~/.bashrc, ~/.bash_profile, or ~/.profile. You can temporarily disable the atuin init line for debugging by adding a # in front of it, or you can more permanently disable it by just deleting that line.

As noted on the uninstall page, wherever possible, the install script uses your system's package manager. It feels like you didn't grok this from either the docs or Ellie, so to be super explicit: the curl install method runs a script that tries to detect what OS you're using and then install Atuin using your system's standard package manager. So you could check Apt on your Ubuntu box to see if the Atuin package is installed. I don't know what Silverblue does for package management, but presumably you do, so depending on what "exported to the host system" means, you could also check your Silverblue's packages to see if it's installed.

If it's not in the installed packages, here's a quote from the installation page in the docs:

It will do its best to use your system package manager wherever possible, and will fallback to installing a binary to ~/.atuin/bin where this is not possible.

I recognize that you were frustrated and that for you this felt like an urgent situation, but: