You are not logged in.
hi,
i wanted to update my arch with pacman.
because pacman -Syu did not work i looked at archlinux.org and found this(http://www.archlinux.org/news/filesystem-upgrade-manual-intervention-required-1/)
and this(http://www.archlinux.org/news/the-lib-directory-becomes-a-symlink/).
but i hit the wrong tab and executed:
pacman -Syu --ignore glibc
pacman -Su
instead of:
pacman -Syu --ignore filesystem && pacman -S filesystem --force
now my pacman returns: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
i also can't setup any connection:
iwconfig wlan0 returns: SET failed on device wlan0 ; No such device.
netcfg ethernet-dhcp return: Interface eth0 does not exist
is there any hope that this can be repaired?
thx for your help.
Offline
Every time, before I do a full update, I boot up Puppy linux from a flash drive and use dd to back up my entire hard drive to a USB hard drive to protect against just such a problem (before I go to bed because it takes a while). Might be a good idea to do something like that. Sorry I can't help with this one, other than to suggest finding libcurl.so.4 somewhere and putting it on your system. Is /lib a symlink or not?
Offline
i guess not.
how can i find out?
Offline
I'd suggest booting off a live cd (or an arch install cd or usb) restoring pacman from the live environment [1] and then chrooting into your arch install and finishing the upgrade.
Offline
Actually it looks like the wiki is out of date, you'll need to restore the curl package (which contains libcurl.so.4) as well.
Offline
Yeah, you're issue is not exactly the same. You will also have curl issues because you waited so long to update your system. If the glibc update went okay (you can check by doing "ls -l /lib" and making sure it points to -> usr/lib) then you can probably just boot an arch netinstall live cd and mount your root partition from a tty. After that just use pacman on the livecd to reinstall curl and pacman etc.. Something like this (assuming your / is on sda3):
mkdir /mnt/blah
mount /dev/sda3 /mnt/blah
pacman -r /mnt/blah -Su #or -S whateverapplication
Don't really see why a chroot is needed.
Offline
Don't really see why a chroot is needed.
Quite right, if you're booting off an Arch install cd you can use pacman directly. If you're using an non-arch live cd you have to download the packages you need to get pacman working manually, extract them to your install. Then you chroot in and reinstall those packages to get the pacman db up to date.
It's really much better to use the Arch install cd as that will keep the db in sync all the way through.
Offline
Yeah, you're issue is not exactly the same. You will also have curl issues because you waited so long to update your system. If the glibc update went okay (you can check by doing "ls -l /lib" and making sure it points to -> usr/lib) then you can probably just boot an arch netinstall live cd and mount your root partition from a tty. After that just use pacman on the livecd to reinstall curl and pacman etc.. Something like this (assuming your / is on sda3):
mkdir /mnt/blah mount /dev/sda3 /mnt/blah pacman -r /mnt/blah -Su #or -S whateverapplication
Don't really see why a chroot is needed.
i think glibc is not okay.
nothing points to /usr/lib
Offline
i think glibc is not okay.
nothing points to /usr/lib
Install glibc then. "pacman -r /mnt/blah -S glibc". Since you're doing it from a livecd you can just move /lib to /usr/lib too and symlink it yourself if you wanted to.
Offline
thx
but whatever im trying to do with pacman returns:
error: failed to commit transaction (wrong or NULL argument passed)
Offline
thx
but whatever im trying to do with pacman returns:error: failed to commit transaction (wrong or NULL argument passed)
Okay, lets back up. Post what you are doing step by step.
Offline
downloaded this: http://archlinux.limun.org/iso/2012.09.07/
put it on usb stick
booted from usb stick (x86)
mkdir /mnt/blah
mount /dev/sda3 /mnt/blah
connected laptop with router(lancabel)
pacman -r /mnt/blah -S glibc
Offline
Make sure you sync pacman first. Like this --> pacman -Syy
Offline
that worked but
pacman -r /mnt/blah -S glibc
returns
error:failed to commit transaction(conflicting files)
glibc: /mnt/blah/lib exists in filesystem
and --ignore filesystem wont help
Last edited by b0b2 (2012-09-10 19:02:22)
Offline
Try just creating the symlink yourself. Something like this (don't just copy and paste; understand what's going on):
cd /mnt/blah
mv lib old_lib
ln -s usr/lib lib
pacman -r /mnt/blah -S glibc
Then give it another go.
Last edited by dodo3773 (2012-09-10 18:45:13)
Offline
same error still
cd /mnt/blah
returned:
chpwd:print:4: write error: no space left on device
but it changed the dir adn the other cmds seem to work.
now i have a lib@ folder and a lib_old folder and no lib folder
Offline
"write error: no space left on device". Is the partition completely full?
Offline
not sure
its downloading atm
Last edited by b0b2 (2012-09-10 20:04:18)
Offline
not sure
its downloading atm
Well to check disk space you just use "df -h" command. That should tell you.
Offline
2gigs left
Offline
If you are using -r with pacman, it's a good idea to specify the --cachedir option as well so that your normal pacman cache stays in sync with what's on disk.
Did your / really just happen to have the partition number given in the example? That is, did you check that 3 shouldn't be something else on your system?
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline
If you are using -r with pacman, it's a good idea to specify the --cachedir option as well so that your normal pacman cache stays in sync with what's on disk.
Did your / really just happen to have the partition number given in the example? That is, did you check that 3 shouldn't be something else on your system?
This ^^ is a really good question. On the other hand, 2 GB is not really that much space depending on what you are pulling into your system. I am not sure exactly how the check remaining space function works on pacman but you may want to make some room (clean out your cache etc..) and try and see if that fixes the issue.
Offline
pacman -r /mnt/blah -S glibc
worked finally
i did "mv lib old_lib" again and that lib@ disappeared
Last edited by b0b2 (2012-09-11 00:40:17)
Offline
pacman -r /mnt/blah -S glibc
worked finally
Oh cool. Make sure you:
pacman -r /mnt/blah -Syu
before you reboot to test. You also may want to reinstall your kernel and graphics drivers now while you are in there. I would.
Last edited by dodo3773 (2012-09-11 00:41:16)
Offline
b0b2 wrote:pacman -r /mnt/blah -S glibc
worked finallyOh cool. Make sure you:
pacman -r /mnt/blah -Syu
before you reboot to test. You also may want to reinstall your kernel and graphics drivers now while you are in there. I would.
pacman -r /mnt/blah -Syu was succesful
what's the best way to " to reinstall your kernel and graphics drivers"?
pacman -r /mnt/blah -S linux
and
pacman -r /mnt/blah -S xf86-video-intel
?
i guess i have to mount proc and some more
Last edited by b0b2 (2012-09-11 12:03:50)
Offline