You are not logged in.

#1 2013-01-25 03:22:15

jamtat
Member
Registered: 2008-03-13
Posts: 224

swap Arch install (HD) from single- to dual-core machine?

In the past I've swapped HD's with GNU/Linux installed on them from one computer to another so as to save myself from having to do a new installation. It's usually worked fine, although some clean-up and even rescue is sometimes needed. I'm not sure I've tried this with a scenario that involves, say, an Arch installed and running on a single-core machine, the HD then being moved into a dual-core machine. Think that'll work? What would it take to switch the OS from using the i686 architecture and packages to the x86_64 architecture and packages? Would it be as simple as editing the architecture line in /etc/pacman.conf, or would further steps be required?

Thanks,
James

Last edited by jamtat (2013-01-25 14:46:37)

Offline

#2 2013-01-25 03:26:20

jamtat
Member
Registered: 2008-03-13
Posts: 224

Re: swap Arch install (HD) from single- to dual-core machine?

Sorry, nevermind. I just found this page: https://wiki.archlinux.org/index.php/Mi … installing

James

Offline

#3 2013-01-25 15:37:38

jamtat
Member
Registered: 2008-03-13
Posts: 224

Re: swap Arch install (HD) from single- to dual-core machine?

I thought this was solved and marked it so, but now I'm finding it's not solved. So I removed the [solved] label.

The reason it's not solved is that I've run into problems following the wiki entry to which I linked. There are some inconsistencies as well as lacking information in the entry, and I need to ask about those. Furthermore, my progress has been arrested partway through and I need to ask for help in order to proceed. Thus, the following.

First, the inconsistency in the wiki entry that leads to confusion. It says there "Another package is lib32-glibc, from the Multilib x86_64 repository. It is probably only useful when migrating away from 32 bits; in any case you may safely skip this package. You can use the package to run 32 bit programs by explicitly calling /lib/ld-linux.so.2. Install with: # pacman -S lib32-glibc." Ok, I'm migrating away from 32 bits, so this is apparently something I need. However, since I've been using i686 repositories up to this point, and since this repo is only in x86_64, I wouldn't be able to install it anyway--at least not until I switch over to x86_64 repositories. All the same, it tells me I can skip it, then goes on to tell me how to install it. Something is fundamentally confused here and needs straightening out so as to be more coherent.

Next, there is some very important information missing from this wiki entry. It states "Please do not remove packages of the old architecture from the cache until the system is fully operating in the new architecture. Removing the packages too early may leave you unable to fall back and revert changes." So it implies that you can remove the old architecture packages once the process is completed. Furthermore, it gives instructions on how to install, for the new architecture, all packages that are currently installed--I'm currently stuck on that step, by the way. But nowhere in these instructions are directions provided for removing from the system all packages related to the old architecture, once the new architecture packages have been installed. This seems to me a major omission. Can anyone provide me those directives?

As I indicated above, though, the more pressing problem is that I've reached a sticking point that I'm unable to move beyond without assistance. The issue crops up at the stage where, after editing pacman.conf for the new architecture, making certain $arch is entered in relevant mirrorlist entries (in place of auto or i686), and doing pacman -Syy, I start running the command

pacman -Sw $(pacman -Qq|sed '/^lib32-/ d')

, which is supposed to download new package versions.

At this point I start getting some errors, I assume because of some packages (very few in number, I should add) that came from AUR. The solution the wiki seems to offer is to run

pacman -Sw $(comm <(pacman -Qq|sed '/^lib32-/ d'|sort) <(pacman -Qqm|sort) -23)

which, apparently "remove(s) them from the list generated by pacman -Qq." I don't assert that based on a clear understanding of that script--the working of which is beyond my limited comprehension--but because the wiki seems to imply this. In any case, the message I get on running that, which has stopped me in my tracks, is

warning: downgrading package dbus-sharp (0.63-2 => 0.7.0-4) 
error: failed to prepare transaction (package architecture is not valid)

followed by a long list of packages in the form :: package xxxxxx-i686 does not have a valid architecture."

Since the wiki gives no indication of what should be done if this sort of error is encountered, I am uncertain how to proceed. Can anyone please provide either some explanation of the error messages I'm seeing, an indication of how I might proceed beyond this point, or both? Help out of this tough spot will be much appreciated. Also, input on how to remove the i686 packages once all x86_64 packages have been successfully installed, will be appreciated as well.

Thanks,
James

Last edited by jamtat (2013-01-25 15:59:24)

Offline

#4 2013-01-25 15:56:35

jamtat
Member
Registered: 2008-03-13
Posts: 224

Re: swap Arch install (HD) from single- to dual-core machine?

I've progressed further but am still a bit confused. I decided to try what seemed to be a new mirrorlist I found on the system (mirrorlist.pacnew). Once I'd edited that file and saved it as mirrorlist, running the command

pacman -Sw $(comm <(pacman -Qq|sed '/^lib32-/ d'|sort) <(pacman -Qqm|sort) -23)

does present me with a long list of packages for downloading and installing to the system--presumably x86_64 packages. But what I'm not understanding is whether the errors I was seeing when trying to run

pacman -Sw $(pacman -Qq|sed '/^lib32-/ d')

were resolved. Can anyone clarify for me whether it seems safe to proceed with the download and installation?

Thanks,
James

Last edited by jamtat (2013-01-25 16:00:58)

Offline

#5 2013-01-25 17:13:19

jamtat
Member
Registered: 2008-03-13
Posts: 224

Re: swap Arch install (HD) from single- to dual-core machine?

I'm forging on with this. I've gone ahead and downloaded and installed that long list of packages. I've run pacman -S linux, as instructed, to get the new kernel, and I've rebooted and confirmed, by running uname -m, that the kernel is being used. I then ran

pactree -l pacman | pacman -S -

as instructed, which downloaded and installed a couple hundred MB's of packages. On the following step, however, I am once again getting tripped up:

pacman -S $(pacman -Qq)

When I run that, a long list of files, in alphabetical order, starts getting output to the terminal with the message "warning: package-xxxx is up to date -- reinstalling," but the process stops at the following error:

error: target not found: dcron

Can anyone help me to understand what that error means and, just as importantly, how to progress beyond it? What is this dcron which is not found? Do I really need it? I'm stuck with a semi-usable system until I can get that final command to complete. Help will be appreciated.

Thanks,
James

Offline

#6 2013-01-25 17:43:32

jamtat
Member
Registered: 2008-03-13
Posts: 224

Re: swap Arch install (HD) from single- to dual-core machine?

Ok, some web searching seems to me to indicate that dcron is a package that was formerly in Arch, but is not any longer--at least not in the x86_64 respositories (see, for example https://www.archlinux.org/packages/comm … _64/dcron/ ). So, is the issue I'm facing perhaps related to the fact that dcron is among the packages that were installed under the old i686 architecture, and so the system now wants to install it under the x86_64 architecture, but can't find the package, and so the process aborts? If so, is there a way to run the pacman -S $(pacman -Qq) command, telling it to ignore the dcron package? If so, how? As may be clear, I cannot really understand what that command does. Help will be appreciated.

James

Offline

#7 2013-01-25 18:12:48

jamtat
Member
Registered: 2008-03-13
Posts: 224

Re: swap Arch install (HD) from single- to dual-core machine?

Searching the web for the phrase "pacman -S $(pacman -Qq)" I first came across this https://bbs.archlinux.org/viewtopic.php?id=47608, which seemed like it might offer a way, using the command

pacman -S $(pacman -Qq | grep -v "$(pacman -Qmq)")

to continue. But the system is in a semi-broken state, so grep wouldn't run. Then, I found this thread https://bbs.archlinux.org/viewtopic.php?id=128155 in which falconindy proposed the following command:

comm -23 <(pacman -Qq) <(pacman -Qqm) | pacman -S -

That command has, indeed, allowed me to progress beyond the dcron error I was seeing. Fingers crossed, as the download and installation of all these packages is now underway, that it will now finally enable me to complete the migration.

James

Offline

#8 2013-01-25 19:17:41

jamtat
Member
Registered: 2008-03-13
Posts: 224

Re: swap Arch install (HD) from single- to dual-core machine?

The process of migrating does now seem to have completed successfully. Now I need to figure out how to remove all the old i686, 32-bit stuff strewn about the system. Anyone have any pointers on how to do that? Surely it will not be so simple as running pacman -Sc, will it? Advice will be appreciated.

Thanks,
James

Offline

Board footer

Powered by FluxBB