Re: Crossgrade instructions seem broken

2023-08-05 Thread Brian Sammon
There's two approaches I would consider here:

If you know exactly which packages you want downloaded, I think you can use 
"apt-get download" to just download the packages you tell it to, and it will 
ignore all dependency requirements, and not download any other packages.  This 
would be a partial improvement over using wget.

If you want apt to download the packages you ask for and figure out what other 
packages it should download so that all the dependencies can be satisfied, then 
you may have to fix your "apt --download-only" invocation.
I would try going from

> #apt --download-only install dpkg:amd64 tar:amd64 apt:amd64

to something like
   apt --download-only install dpkg:amd64 tar:amd64 apt:amd64 dpkg:i386- 
tar:i386- apt:i386-

It seems to me that apt is (ignoring the --download-only at this point of the 
process) assuming that you are asking to install a _second_ instance of dpkg, a 
_second_ instance of tar, and a second instance of apt, and deciding that that 
is not possible/allowed.  So telling it explicitly to find a solution that 
involves uninstalling the i386 versions of those packages may allow it to 
proceed to the "actually do something" part of the process, where it will 
notice the "--download-only" part, and download the debs for the packages it 
decided you need to install, and do nothing for the packages it decided you 
need to uninstall.

I'm not 100% sure about all of this, in part because my experience is with 
"apt-get" instead of "apt".



Crossgrade instructions seem broken

2023-08-05 Thread Alex King
I'm trying to crossgrade a bullseye system (from i386 to amd64). The 
machine is headless (with no graphical display and it's also difficult 
to access a console), so I'm doing it over ssh.


In preparation I've switched from systemd to sysvinit (due to the 
warning on the crossgrade page), and also installed busybox-static:amd64 
and have a "busybox ash" shell running (in case of trouble).


I'm following https://wiki.debian.org/CrossGrading, but at the step:


 Crossgrade `dpkg` `tar` and `apt`

I get:

#apt --download-only install dpkg:amd64 tar:amd64 apt:amd64
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 apt : Conflicts: apt:amd64 but 2.6.1 is to be installed
apt:amd64 : Conflicts: apt but 2.6.1 is to be installed
 dpkg : Conflicts: dpkg:amd64
 dpkg:amd64 : Conflicts: dpkg
 tar : Conflicts: tar:amd64
 tar:amd64 : Conflicts: tar
E: Error, pkgProblemResolver::Resolve generated breaks, this may be 
caused by held packages.


It seems like perhaps the bookworm version of apt has some extra 
restrictions about installing other arch binary packages, and won't even 
download them for me.  This is pretty inconvenient.


Does anyone know any force- or allow- that will persuade apt or apt-get 
to do this?  I tried --allow-remove-essential.  No luck.


I'll continue using wget, dpkg and manual dependency resolution. Maybe 
someone has some clues for me?


Thanks,
Alex