I’ve lost everything and I don’t know how to get it back. How can I repair my system all I have is a usb with slax linux. I am freaking out because I had a lot of projects on their that I hadn’t pushed to github as well as my configs and rice. Is there any way to repair my system? Can I get a shell from systemd?
deleted by creator
Oh my God. Flashbacks to the first time I fucked up my Arch installation like a decade ago. This is a solid run-through of a very character-building exercise 😂
[This comment has been deleted by an automated system]
Removed by mod
[This comment has been deleted by an automated system]
Removed by mod
deleted by creator
Removed by mod
[This comment has been deleted by an automated system]
Removed by mod
[This comment has been deleted by an automated system]
Removed by mod
[This comment has been deleted by an automated system]
Removed by mod
This is the best comment here.
I couldn't figure out how to mount /dev/sda1 and did pacman -Syu and then I mounted it once I figured it out now pacman says there is nothing to do.
[This comment has been deleted by an automated system]
Nevermind I ran a script that looped through all packages in the output of pacman -Qk and reinstalled them.
Pretty sure pacman runs mkinitcpio by itself, but I guess a second time for good measure couldn't hurt
[This comment has been deleted by an automated system]
Not an endavour/arch user, but have been in similar situation.
What I did:
- boot into live USB
- mount the problematic rootfs
- chroot to it
- run pacman update
Archwiki has a nice article on chroot
Is this work for every system? Like Fedora?
Well , except the pacman part. The chroot part should certainly work.
Boot to a liveUSB of the distro of your choice, create a chroot to your install, and then run a Pacman update from there.
Googling “Arch rescue chroot” should point you in the right direction. Good luck!
Will this work from slax linux? I am sorry if I seem like I can’t fix the myswlf seeing as you have given the resources for me to do so but what would be the exact steps to do that?
I’ve never used Slax but it should, boot the liveUSB and enter terminal.
The general process is:
- Boot to live Slax
- Mount your install
- Mount /proc, /sys, /dev
- Enter the chroot
- Check if networking is working
- Attempt to run commands in your chroot
- Exit the chroot
- Unmount everything
- Boot back to your install
Removed by mod
If you boot to an Ubuntu iso, you can use arch-chroot to set up everything you need correctly. Done this many times when I borked my Arch boot process
https://manpages.ubuntu.com/manpages/focal/man8/arch-chroot.8.html
It should work, afaik chroot always use the binaries of the system you chrooted, so you will be able to use pacman normally. I don´t remember if chroot will mount the efi partition by default, you can do this before go to chroot (again, I’m have some memory issues but I believe that /dev does not mount as well if you just use chroot, this is why arch have arch-chroot that mounts this kind of stuff but you can mount before so it should work).
Assuming you are using systemd boot on efi partition (that is likelly if you have not changed the installer defaults), what I would do:
-
On your live CD run
sudo fdisk -l
to get what is the efi partition, usually will be /dev/sdb1 since sda will be your usb, you should be able to see something like that. -
Then you will mount your endevour partition, in your situation should be
sudo mount /dev/sdb1 /mnt/mydisk
but check your fdisk command output. -
Now you will have to mount the efi partition sudo
mount /dev/sdb1 /mnt/mydisk/efi
-
Then you can use
chroot /mnt/mydisk/
and proceed to do a pacman -Syu, this should trigger the post scripts that create the kernel images on the efi partition.
-
This one, I did it recently when my girlfriend uninstalled python that was necessary to run the process of creation the image of your kernel in the efi partition and happened the same thing, the update process removed the old images from efi partition but was not able to copy the new.
Removed by mod
To add to the other responses, after you recovered your stuff you could probably like moving to an immutable OS if you risk having power issues often, the transactions won’t be applied until everything is done so if anything happens during a transaction you’ll just remain at your last usable state
I had the same thought, but didn’t want to sound insensitive.
Saying “Your fault, using Arch for something important is a bad idea, you should have made a backup before”, while he fears all his important data is gone, would have been rude and very unhelpful.
But immutable distros solve these issues, yes. Since I switched to Silverblue I’ve never been more relaxed than ever. If something goes bad, I just select the old state and everything works, and updates never get applied incompletely like here.
Removed by mod
Note that this isn't about immutability but atomicity. Current immutable usually have that feature aswell but you don't need immutability to achieve it.
Yeah you're right, however searching "linux distro with atomic updates" doesn't seem to turn up much, as you say, in most cases the two features happen to come together and the distros that have them are mostly known for the former
If nothing else, your files are all fine. You can mount your drive on a different system (like a live USB) and copy all your files.
Been here before, but didn’t bother asking for help. Just used a liveusb to grab what I needed and reinstalled. I need to learn how to chroot …
deleted by creator
i dunno why you gotta call me out like that…
hey thanks man
Why version them if you could simply have backups? I rarely want old config files…
Versioning is one of those things that you don't realize you need until it's too late. Also, commits have messages that can be used to explain why something was done, which can be useful to store info without infodumping comments into your files.
Why versioning and not backups? I get the part of commit messages, but that's hardly worth the effort for me. If I have a config file which works, I usually keep it that way. And if it stops working, my old documentation is outdated anyway.
I use etckeeper to autocommit changes in /etc as git just has better and faster tools to look at the changes of a fle, compared to backup tools.
It's just so easy to do that there hardly is any point in not doing it.
you just push the git repo to a remote somewhere and that's your backup
I don't know about you, but I tend to make lots of little changes to my setup all the time. Versioning makes it easy to roll back those individual changes, and to tell which change broke what. Sure, you could accomplish the same thing with backups, but versioning offers additional information with negligible cost.
Why not stick them in a git repo?
Why not stick them in a git repo?
Because the benefit gets lost if there are lots of autogenerated config files. Someone else said 'stick only the files you write yourself in the repo' and I guess that's a better idea than to stick all of them in a repo.
I also rarely want old versions of my code, but I still use git. A very nice feature, besides the essential backup quality, is to synchronize dotfiles between machines and merge configs together if they diverge.
I sync them with Syncthing and can also access backups of the old files. I can also merge them with merge tools and create tagged versions with git. Most of the time I don't and I can't think of any instance where I used git to compare an old version with a newer config file. I get why we should version code, but config files for most desktop programs are hardly worth tracking because of the frequent intransparent changes.
I only track the dotfiles which I actually write, not the generated ones. So it's not so different from code. Desktop programs which generate intransparent config files suck. I only wish there was a good way to synchronize my Firefox using git. I know there is user.js but it all seems like a mess to me.
That's the way. Thank you.
Thank you all for offering advice. I did eventually get it working and repaired all the packages.
There is nothing worth of freaking out in your situation. Your files shouldn’t have been impacted at all.
Boot from LiveUSB and reinstall the packages you were updating, maybe reinstall grub too.
There are tons of guides for this in the Internet, like this one: https://www.jeremymorgan.com/tutorials/linux/how-to-reinstall-boot-loader-arch-linux/
Edit: since you probably use systemd-boot, as I can see from your post, obviously the grub part of my comment shouldn’t be done. Replace those parts with systemd-boot reinstallation. Even better if pacman will update it, because there’s probably some hook already to do things manually and you won’t have to touch systemd-boot at all
Does Timeshift work on Arch? If so I would look into it, saved my ass a few times.
Timeshift definitely works on Arch (I use it before every update) but it isn't going to help OP if he hasnt taken an image already
Yeah I know, that was a somewhat pretentious “backups” hint.
Other people will probably give you better answers, but I think the solution is quite easy: chroot and relauch the update.
Pretty much all the other answers are coming down to this, yeah.
Boot a live Linux, chroot into your system, run pacman again and fix your systemd boot to include a fallback option for the next time this happens.
Assuming you have access to a secondary computer to make a LiveUSB
-
boot a live disk/USB on your PC and copy the data you want off. Then reinstall the OS.
-
If you haven’t got a drive you can move data to, from the live OS, partition your disk and move the data to the new partition CAUTION ON PARTITIONING
-
Removed by mod
Can't help but I just did this myself. Was a fairly fresh install so I didn't lose anything other than have to reconfigure some stuff and install some things.
Buuuuut
What happened dto me was something crashed during the update and my computer went to a black screen. So I just left it for a bit to hopefully finish even without the display. Turned the computer off and my nvme was just gone. Ended up having to get a new one.
Did systemd or grub not even show up?
Nope. I think the drive just died at a bad time honestly. I've had issues with it in the passed and the computer itself came from an e-scrap pile because the water pump for the CPU cooler was dead. Has worked great since swapping that out until the nvme died. Even after installing the new nvme and reinstalling EOS I couldnt see the old nvme.