Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #202382 > unrolled thread

Verifying dependencins of DEB file(s)

Started byTomáš Golembiovský <tgolembi@redhat.com>
First post2018-11-14 09:00 +0100
Last post2018-11-14 22:20 +0100
Articles 8 — 8 participants

Back to article view | Back to linux.debian.user


Contents

  Verifying dependencins of DEB file(s) Tomáš Golembiovský <tgolembi@redhat.com> - 2018-11-14 09:00 +0100
    Re: Verifying dependencins of DEB file(s) Sven Joachim <svenjoac@gmx.de> - 2018-11-14 09:30 +0100
    Re: Verifying dependencins of DEB file(s) Reco <recoverym4n@enotuniq.net> - 2018-11-14 09:30 +0100
    Re: Verifying dependencins of DEB file(s) Tomaž Šolc <tomaz.solc@tablix.org> - 2018-11-14 09:40 +0100
    RE: Verifying dependencins of DEB file(s) David Martens <David.Martens@wits.ac.za> - 2018-11-14 10:10 +0100
      Re: Verifying dependencins of DEB file(s) Greg Wooledge <wooledg@eeg.ccf.org> - 2018-11-14 14:40 +0100
    Re: Verifying dependencins of DEB file(s) Richard Owlett <rowlett@cloud85.net> - 2018-11-14 13:10 +0100
    Re: Verifying dependencins of DEB file(s) Abdullah Ramazanoğlu <ar018@yahoo.com> - 2018-11-14 22:20 +0100

#202382 — Verifying dependencins of DEB file(s)

FromTomáš Golembiovský <tgolembi@redhat.com>
Date2018-11-14 09:00 +0100
SubjectVerifying dependencins of DEB file(s)
Message-ID<wTYfE-2Af-7@gated-at.bofh.it>
Hi,

I need to safely install a DEB file (or set of DEB files) without
network connectivity and with tools normally present on small Debian
installation. More precisely I would either like to install the package
or leave the system in state before the attempt.

However, it seems there is no way to roll-back installation done with
dpkg in case of failure. Neither I found a way how to at least check
dependencies. The --dry-run/--simulate option does not do that. In fact,
I'm not sure what stages of the process it goes through (maybe just
verifying package integrity).

Is what I want to do possible with dpkg or other tools that are
normally in the base system?

Thanks,

    Tomas

-- 
Tomáš Golembiovský <tgolembi@redhat.com>

[toc] | [next] | [standalone]


#202383

FromSven Joachim <svenjoac@gmx.de>
Date2018-11-14 09:30 +0100
Message-ID<wTYIF-30E-5@gated-at.bofh.it>
In reply to#202382
On 2018-11-14 08:38 +0100, Tomáš Golembiovský wrote:

> I need to safely install a DEB file (or set of DEB files) without
> network connectivity and with tools normally present on small Debian
> installation. More precisely I would either like to install the package
> or leave the system in state before the attempt.
>
> However, it seems there is no way to roll-back installation done with
> dpkg in case of failure. Neither I found a way how to at least check
> dependencies. The --dry-run/--simulate option does not do that. In fact,
> I'm not sure what stages of the process it goes through (maybe just
> verifying package integrity).

Basically, --dry-run just simulates unpacking, and dpkg does not check
dependencies (other than Pre-Depends) during that phase.  There have
been complaints[1] about that forever, so don't expect it to be fixed
anytime soon.

> Is what I want to do possible with dpkg or other tools that are
> normally in the base system?

Not with dpkg, but apt can install local .deb files and resolve
dependencies, although this is not documented[2].

$ apt -s install ./*.deb

should give you information whether the local packages are installable.
Note the leading "./" here, it tells apt to treat the arguments as local
files rather than package names.

Cheers,
       Sven


1. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=55364
2. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874763

[toc] | [prev] | [next] | [standalone]


#202384

FromReco <recoverym4n@enotuniq.net>
Date2018-11-14 09:30 +0100
Message-ID<wTYIF-30E-7@gated-at.bofh.it>
In reply to#202382
	Hi.

On Wed, Nov 14, 2018 at 08:38:26AM +0100, Tomáš Golembiovský wrote:
> Hi,
> 
> I need to safely install a DEB file (or set of DEB files) without
> network connectivity and with tools normally present on small Debian
> installation. More precisely I would either like to install the package
> or leave the system in state before the attempt.
> 
> However, it seems there is no way to roll-back installation done with
> dpkg in case of failure.

dpkg --purge should help here.

> Neither I found a way how to at least check dependencies.
> The --dry-run/--simulate option does not do that. In fact,
> I'm not sure what stages of the process it goes through (maybe just
> verifying package integrity).

# apt download mono-complete
Get:1 http://ftp.debian.org/debian stretch/main amd64 mono-complete amd64 4.6.2.7+dfsg-1 [29.9 kB]
Fetched 29.9 kB in 1s (22.0 kB/s)

# apt install -s ./mono-complete_4.6.2.7+dfsg-1_amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'mono-complete' instead of './mono-complete_4.6.2.7+dfsg-1_amd64.deb'
The following additional packages will be installed:
  ca-certificates-mono cli-common dconf-gsettings-backend dconf-service glib-networking glib-networking-common
...
0 upgraded, 194 newly installed, 0 to remove and 0 not upgraded.
Inst libglade2-0 (1:2.6.4-2 Debian:9.6/stable [amd64])
...

So, in the case of the doubt, you use 'apt install -s <ur_local_packages_here>'.

Reco

[toc] | [prev] | [next] | [standalone]


#202385

FromTomaž Šolc <tomaz.solc@tablix.org>
Date2018-11-14 09:40 +0100
Message-ID<wTYSl-34l-5@gated-at.bofh.it>
In reply to#202382
On 14. 11. 18 08:38, Tomáš Golembiovský wrote:
> However, it seems there is no way to roll-back installation done with
> dpkg in case of failure. 

"dpkg --purge foo" should remove any installation of "foo", including in 
the case when package configuration failed due to missing dependencies.

For any sane .deb the system after --purge should be in the same state 
as before installation.

Best regards
Tomaž

[toc] | [prev] | [next] | [standalone]


#202387

FromDavid Martens <David.Martens@wits.ac.za>
Date2018-11-14 10:10 +0100
Message-ID<wTZln-3uG-3@gated-at.bofh.it>
In reply to#202382

-----Original Message-----
From: Tomáš Golembiovský [mailto:tgolembi@redhat.com] 
Sent: Wednesday, November 14, 2018 9:38 AM
To: debian-user@lists.debian.org
Subject: Verifying dependencins of DEB file(s)

...

Neither I found a way how to at least check
dependencies. 

...

gdebi?
This communication is intended for the addressee only. It is confidential. If you have received this communication in error, please notify us immediately and destroy the original message. You may not copy or disseminate this communication without the permission of the University. Only authorised signatories are competent to enter into agreements on behalf of the University and recipients are thus advised that the content of this message may not be legally binding on the University and may contain the personal views and opinions of the author, which are not necessarily the views and opinions of The University of the Witwatersrand, Johannesburg. All agreements between the University and outsiders are subject to South African Law unless the University agrees in writing to the contrary.

[toc] | [prev] | [next] | [standalone]


#202404

FromGreg Wooledge <wooledg@eeg.ccf.org>
Date2018-11-14 14:40 +0100
Message-ID<wU3yG-65z-7@gated-at.bofh.it>
In reply to#202387
On Wed, Nov 14, 2018 at 08:48:56AM +0000, David Martens wrote:
> 
> Neither I found a way how to at least check
> dependencies. 
> 
> ...
> 
> gdebi?

Basically, "apt-get install ./your_pkg_file.deb" replaces gdebi.
Or "apt install" if you prefer that.  Don't forget the leading ./ on
the filename.  It's required in this case.

[toc] | [prev] | [next] | [standalone]


#202398

FromRichard Owlett <rowlett@cloud85.net>
Date2018-11-14 13:10 +0100
Message-ID<wU29z-5iv-11@gated-at.bofh.it>
In reply to#202382
On 11/14/2018 01:38 AM, Tomáš Golembiovský wrote:
> Hi,
> 
> I need to safely install a DEB file (or set of DEB files) without
> network connectivity and with tools normally present on small Debian
> installation. More precisely I would either like to install the package
> or leave the system in state before the attempt.
> 
> However, it seems there is no way to roll-back installation done with
> dpkg in case of failure. Neither I found a way how to at least check
> dependencies. The --dry-run/--simulate option does not do that. In fact,
> I'm not sure what stages of the process it goes through (maybe just
> verifying package integrity).
> 
> Is what I want to do possible with dpkg or other tools that are
> normally in the base system?
> 
> Thanks,
> 
>      Tomas
> 

You may be looking for apt-offline.

man page 
[https://manpages.debian.org/stretch/apt-offline/apt-offline.8.en.html]

The package's home page [http://apt-offline.alioth.debian.org/] seems to 
be unavailable [my ISP does not give useful error report].

[toc] | [prev] | [next] | [standalone]


#202435

FromAbdullah Ramazanoğlu <ar018@yahoo.com>
Date2018-11-14 22:20 +0100
Message-ID<wUaJP-2rm-1@gated-at.bofh.it>
In reply to#202382
On Wed, 14 Nov 2018 08:38:26 +0100 Tomáš Golembiovský said:

> Hi,

Hi Tomáš,

> I need to safely install a DEB file (or set of DEB files) without
> network connectivity and with tools normally present on small Debian
> installation. More precisely I would either like to install the package
> or leave the system in state before the attempt.
> 
> However, it seems there is no way to roll-back installation done with
> dpkg in case of failure. Neither I found a way how to at least check
> dependencies. The --dry-run/--simulate option does not do that. In fact,
> I'm not sure what stages of the process it goes through (maybe just
> verifying package integrity).
> 
> Is what I want to do possible with dpkg or other tools that are
> normally in the base system?

There are missing variables in your question:

1. Do you have access to apt family of commands?
2. Is it OK to install latest version of the package(s) for your Debian
distribution? (opposed to having to intall a specific package version)

Assuming yes to both questions, you can:

1) "apt-get update" and then,

2a) In synaptic, select the target package(s) for installation and note which
additional packages synaptic automatically selects for dependencies.

2b) Or, try installing them via apt-get (either with -s option or quit when
apt-get asks for confirmation) and note the additional packages added to your
initial list.

3) Download all the packages (including dependencies)

4) Install all of them offline in a single "dpkg -i" command line.

As for rolling back the system, others have already pointed out dpkg purge
option.

Regards
-- 
Abdullah Ramazanoğlu - İstanbul, Türkiye

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.user


csiph-web