[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Re: Moo! 9th preview of APT 1.1 released: Go and test new supercow powers



On 8/20/15, shirish शिरीष <shirishag75@gmail.com> wrote:
> Hi all,
> On a chance I went to see the list and came across this comment by
> josh triplett
>
> "Thank you for this!  In the past, I'd often used "dpkg --unpack
> foo*.deb" and then ran apt to fix up the dependencies.  This is a
> massive improvement (not least of which that it presumably respects
> pre-depends and conflicts). " - Josh Triplett.
>
> Could you explain what is the unpack command and where/how do you use it ?

<snipped>


Umm... sorry was half-asleep when I wrote that. Let me try it again.


There are and have been places where there is no internet.

So for this let's say there's machine A (connected to Internet/web)
and machine B (not connected to Internet/web)

So the easiest way has been  to update the index on machine A, go to
the machine B and copy all the files from machine a
/var/lib/apt/lists/ to machine b /var/lib/apt/lists .

Both the machines have the same /etc/apt/sources.list and the same
machine architecture, the processors, the form factor, everything else
may be same or different shouldn't matter.

Now both the machines have same number of new packages and similar or
not similar packages that are installed.

Let's say now I want to install a package on machine B. I do not know
which of its dependencies are installed or not.

So what I do is I go to machine A, go to packages.debian.org , put the
name or whatever part-name I remember of the binary, see what is the
nearest name and on which track it is, as in stable, testing,
unstable/sid or experimental and the one which machine B has.

Download the binary.

copy it to a usb disk and mount it to machine B and copy it to HDD there.

Then in machine B say :-

$ sudo dpkg -i foo*.deb

Now if there are any dependencies unsatisfied then it will be broken
but dpkg does tell which package is missing.

So then using

$sudo aptitude purge foo.deb and get the dependent packages one by one
using the same method as shared above.

After 4-5 tries when all the dependent packages are found, I put all
of them in a single directory and ask dpkg to install all the files in
the directory.

/somedir$ sudo dpkg -i *

dpkg does it work.

While one way to automating this whole thing would be to use
apt-offline, I am interested if there is another way to know which
dependencies are missing and I think Josh Triplett was hinting that
due to the new apt this has become somewhat easier to know.

If it is, would like to know.

Sorry for the ramblings.
-- 
          Regards,
          Shirish Agarwal  शिरीष अग्रवाल
  My quotes in this email licensed under CC 3.0
http://creativecommons.org/licenses/by-nc/3.0/
http://flossexperiences.wordpress.com
EB80 462B 08E1 A0DE A73A  2C2F 9F3D C7A4 E1C4 D2D8


Reply to: