You are not logged in.
I think it's a bug in pacman, but it broke my system, so this is a warning for you:
1. I typed pacman -Syu.
2. It asked me if I want to replace mktemp with coreutils - I answered yes.
3. Then I got nvidia bug (file conflict). I have read on the forum that it's not a serious problem and I should do pacman -Sf nvidia.
4. I did pacman -Sf nvidia, but pacman wanted to update kernel also.
5. Kernel update failed. I got ton of "mktemp - command not found" messages. The system (kernel) was broken, when I tried to reboot, I got only "ramfs" prompt...
6. I booted from arch cd, installed back mktemp, installed kernel (the new one, 2.6.24) successfully, rebooted, did pacman -Sfu - now everything works fine.
I think the problem is that pacman removed mktemp too early, and didn't install coreutils to replace it after finding nvidia file conflict. The other problem is that if kernel installation fails, it shouldn't replace the existing, working kernel. I managed to solve the problem, but for a newbie it could be disaster... and it can cause similar situations in the future.
Offline
This is indeed an interesting bug... and one that wouldn't been seen very often.
You should file a bug report with the details.
Online
Offline
I already know the order of events that caused this to happen - this is due to the fact that pacman treats a 'replace' operation like a remove, followed by an upgrade. I'll cross-post it to the FS report.
1) You answered yes to remove mktemp, and replace with coreutils.
2) All packages downloaded from the repos.
3) Pacman removed mktemp ('cause you told it you could)
4) Pacman then attempts to upgrade all the packages you downloaded.
5) Pacman fails, because of filesystem conflicts with nvidia.
6) Pacman quits, leaving mktemp removed from your filesystem, but the new coreutils isn't installed.
The solution in your case would have been to simply pacman -S coreutils before rebooting.
In anycase, this behaviour should probably be looked at in pacman. I'm not sure how complicated it'd be to do all the filesystem checks before removing mktemp instead of after.
Offline
In my opinion, this is the same issue as: http://bugs.archlinux.org/task/9088
I am a gated community.
Offline
Very similar... only difference is that it was not the replacing package that caused the conflict. I should check if that is covered by the pactest mentioned in your bug report. Edit: not quite, but the fix for that should cover both...
Last edited by Allan (2008-02-13 06:14:10)
Online
This happened to me as well. I had to boot from a live CD, chroot into my "old" system, upgrade the kernel again from the pacman cache and all was well.
Matt
"It is very difficult to educate the educated."
Offline
Actually I upgraded my system just now, but i got the same ramfs-output on booting...
So i chroot'ed into the system with the arch live cd; mktemp can't be installed cause it conflicts with coreutils, so should i remove coreutils and install back mktemp?
The other thing is: I've never used chroot before...so is it normal that i don't have a connection to the internet in it? Cause for an update i need the connection, do i?
Thx for now, Krusty
Offline
The kernel should build properly with coreutils, I think you don't have to go back to mktemp...
You can find downloaded packages in /var/cache/pacman/pkg, you don't have to download them each time. Anyway - just re-install kernel and you can try to reboot normally.
Offline
hmm...thanks for the answer, senjin
I reinstalled the kernel just with "pacman -S kernel26" but I remember some error message about mktemp
Thus rebooting still brings up the recovery prompt...
So: how do I get connection to the internet in chroot? I think I need the connection to download the last packages, innit?
*edit* I just chrooted into the system again and i think the problem is, that two packages (mkinitcpio and nvidia (?!)) still do need the mktemp package...
the question is: how can i solve this conflict?
Last edited by krusty (2008-02-15 13:20:18)
Offline
I had the same issue Krusty. What I did was boot from a live CD and chroot into the "existing (broken)" system. I then installed the latest kernel from the cache (pacman -U /var/cache/plg/kernel26....24-xx.....) and after the installation finished I rebooted and all was well.
Matt
"It is very difficult to educate the educated."
Offline
Krusty, can't you then uninstall coreutils and install back mktemp - and install kernel then? It worked for me.
Anyway it should work with coreutils, but... I don't know, I'm linux newbie
Offline
I then installed the latest kernel from the cache (pacman -U /var/cache/plg/kernel26....24-xx.....) and after the installation finished I rebooted and all was well.
Yes, this is exactely what I did as well, but it still won't work
Krusty, can't you then uninstall coreutils and install back mktemp - and install kernel then?
Yeah, but that's the point: mktemp and coreutils got dependencies...it would be a lot of work to remove all of these -infact very important- packages. I'm afraid of breaking my system by deleting stuff like kernel26, mkinitcpio, etc...
Conclusion:
The simple trick to install the kernel again from cache didn't work; older kernels won't install because of dependencies, older coreutils won't install because of dependencies and mktemp won't install because of coreutils.
And best of all: Removing any of these packages brings up even more dependencies
*edit Ok, first of all: I got my linux back
I had to downgrade kernel26 as well as coreutils and remove nvidia and lirc. Then i could install mktemp and reboot. Then i just had to do a pacman -Syu without nvidia and then install nvidia seperately...this was the deal.
Last edited by krusty (2008-02-15 21:25:17)
Offline