(gelöst) dpkg-scanpackages isolieren
(gelöst) dpkg-scanpackages isolieren
Das Thema gehört hier wohl nicht so richtig rein, aber was Besseres ist mir nicht eingefallen.
Ich mülle mir regelmäßig mit dpkg-dev die Platte zu, obwohl ich lediglich das Programm dpkg-scanpackages benötige. Kann mir jemand sagen, ob und gegebenenfalls wie man das aus dem Paket herauslösen und eventuell alleine installieren kann?
Grüße, Günther
Ich mülle mir regelmäßig mit dpkg-dev die Platte zu, obwohl ich lediglich das Programm dpkg-scanpackages benötige. Kann mir jemand sagen, ob und gegebenenfalls wie man das aus dem Paket herauslösen und eventuell alleine installieren kann?
Grüße, Günther
Zuletzt geändert von guennid am 09.11.2013 15:00:58, insgesamt 1-mal geändert.
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: dpkg-scanpackages isolieren
Wofuer genau benutzt du dpkg-scanpackages? Moeglicherweise gibt es ein Bordmittel, welches fuer dich die gleiche Aufgabe erfuellt oder hast du es wirklich auf Paketlisten abgesehen?
Re: dpkg-scanpackages isolieren
Ich benutze es seit ca. acht Jahren, um selbstkompilierte debs in apt einbinden, installieren und auch wieder purgen zu können. Für meinen Geschmack sehr unkompliziert. Damals empfohlen von pdreker - kennt hier niemand mehr (außer Sebastian und Martin ) - auch niemand nicht.
Grüße, Günther
Grüße, Günther
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: dpkg-scanpackages isolieren
In diesem Fall nutzt du das Tool dafuer, wofuer es gedacht ist. Eine Alternative ist mir nicht bekannt. Das Paket dpkg-dev ist nur 1.5MB gross. Wenn man die Recommends ignoriert und nur die Abhaengigkeiten installiert (libdpkg-perl, bzip2, xz-utils, patch, make, binutils, base-files) sollte es doch ziemlich ueberschaubar sein. 50% der Abhaengigkeiten gehoeren sogar zur Basis-Installation und werden schon vorhanden sein. Echt so schlimm? Da wuerde ich vorher die 115MB kdewallpapers loeschen.
Re: dpkg-scanpackages isolieren
Ignorieren der recommends halte ich eh für Pflicht - sehe bis heute nicht ein, warum man den User gezwungen hat, dazu eigens eine apt.conf anlegen zu müssen - aber das ist ein anderes Thema.Wenn man die Recommends ignoriert und nur die Abhaengigkeiten installiert (libdpkg-perl, bzip2, xz-utils, patch, make, binutils, base-files) sollte es doch ziemlich ueberschaubar sein.
Und überschaubar ist es nicht. Auf Maschinen, auf denen eigentlich nichts kompiliert wird, zieht dpkg-dev nach der Installation des Grundsystems einen ganzen Rattenschwanz für scanpackages nicht benötigter Pakete nach sich. Bei der nächsten Installation schau ich mal, wieviel es genau ist - mir war's immer zu viel.
Ist das was zum Essen?kdewallpapers
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: dpkg-scanpackages isolieren
Hmmm...
Perl ist der Uebeltaeter!
Code: Alles auswählen
$ mkdir freshinstall
$ debootstrap wheezy freshinstall
I: Retrieving Release
I: Retrieving Release.gpg
I: Checking Release signature
I: Valid Release signature (key id ED6D65271AACF0FF15D123036FB2A1C265FFB764)
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: insserv libbz2-1.0 libdb5.1 libsemanage-common libsemanage1 libslang2 libustr-1.0-1
I: Found additional base dependencies: libept1.4.12 libgcrypt11 libgnutls26 libgpg-error0 libidn11 libnfnetlink0 libp11-kit0 libsqlite3-0 libtasn1-3 libxapian22
I: Checking component main on http://ftp.us.debian.org/debian...
...
$ chroot freshinstall
$ echo 'APT::Install-Recommends "0";' >> /etc/apt/apt.conf
$ echo 'APT::Install-Suggests "0";' >> /etc/apt/apt.conf
$
$ apt-get -y install dpkg-dev
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
binutils bzip2 libclass-isa-perl libdpkg-perl libswitch-perl libtimedate-perl make patch perl perl-modules
Suggested packages:
binutils-doc bzip2-doc debian-keyring make-doc ed diffutils-doc perl-doc libterm-readline-gnu-perl libterm-readline-perl-perl libpod-plainer-perl
Recommended packages:
gcc c-compiler build-essential fakeroot libalgorithm-merge-perl libfile-fcntllock-perl
The following NEW packages will be installed:
binutils bzip2 dpkg-dev libclass-isa-perl libdpkg-perl libswitch-perl libtimedate-perl make patch perl perl-modules
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 15.6 MB of archives.
After this operation, 51.8 MB of additional disk space will be used.
Get:1 http://ftp.us.debian.org/debian/ wheezy/main bzip2 amd64 1.0.6-4 [50.1 kB]
Get:2 http://ftp.us.debian.org/debian/ wheezy/main libclass-isa-perl all 0.36-3 [12.3 kB]
Get:3 http://ftp.us.debian.org/debian/ wheezy/main perl-modules all 5.14.2-21+deb7u1 [3440 kB]
Get:4 http://ftp.us.debian.org/debian/ wheezy/main perl amd64 5.14.2-21+deb7u1 [4407 kB]
Get:5 http://ftp.us.debian.org/debian/ wheezy/main libswitch-perl all 2.16-2 [21.0 kB]
Get:6 http://ftp.us.debian.org/debian/ wheezy/main patch amd64 2.6.1-3 [121 kB]
Get:7 http://ftp.us.debian.org/debian/ wheezy/main binutils amd64 2.22-8 [4800 kB]
Get:8 http://ftp.us.debian.org/debian/ wheezy/main libtimedate-perl all 1.2000-1 [41.2 kB]
Get:9 http://ftp.us.debian.org/debian/ wheezy/main libdpkg-perl all 1.16.12 [951 kB]
Get:10 http://ftp.us.debian.org/debian/ wheezy/main make amd64 3.81-8.2 [396 kB]
Get:11 http://ftp.us.debian.org/debian/ wheezy/main dpkg-dev all 1.16.12 [1349 kB]
Fetched 15.6 MB in ...
Re: dpkg-scanpackages isolieren
Sauber Frau syssi!
Wie hast du das gemacht?
Bedenke, dass debootstrap erheblich sparsamer installiert, als eine Installation der Grundsystems via installer.
Was hältst du von folgendem Versuch: Installieren wie gehabt, das binary von dpkg-scanpackages sichern, alles purgen und das binary wieder zurückspielen?
Wurde mir mal was in der Richtung empfohlen, wenn ich recht erinnere.
Grüße, Günther
Code: Alles auswählen
$ debootstrap wheezy freshinstall
Bedenke, dass debootstrap erheblich sparsamer installiert, als eine Installation der Grundsystems via installer.
Was hältst du von folgendem Versuch: Installieren wie gehabt, das binary von dpkg-scanpackages sichern, alles purgen und das binary wieder zurückspielen?
Wurde mir mal was in der Richtung empfohlen, wenn ich recht erinnere.
Grüße, Günther
Re: dpkg-scanpackages isolieren
Mann, Mann - du hast immer Probleme…
dpkg-scanpackages ist doch nur nen Perlscriptchen. Schau dir in den 1. 34 Zeilen die use-Abhängigkeiten an, drösele die entspr. Perlpakete dahinter auf und schnüre dir ein eigenes Paket. Wenn du doch eh schon ein repository betreibst, wird sich das für dich doch lohnen.
Das ist quasi nen Einzeiler:
P.S.
pdreker kennen durchaus noch mehr Leute als du ahnst
dpkg-scanpackages ist doch nur nen Perlscriptchen. Schau dir in den 1. 34 Zeilen die use-Abhängigkeiten an, drösele die entspr. Perlpakete dahinter auf und schnüre dir ein eigenes Paket. Wenn du doch eh schon ein repository betreibst, wird sich das für dich doch lohnen.
Code: Alles auswählen
use IO::Handle;
use IO::File;
use Getopt::Long qw(:config posix_default bundling no_ignorecase);
use Dpkg;
use Dpkg::Gettext;
use Dpkg::ErrorHandling;
use Dpkg::Control;
use Dpkg::Version;
use Dpkg::Checksums;
use Dpkg::Compression::FileHandle;
use Dpkg::IPC;
Code: Alles auswählen
$ sed -n '1,34p' /usr/bin/dpkg-scanpackages > /tmp/dpkg-scanpackages; chmod +x /tmp/dpkg-scanpackages
$ strace -e open /tmp/dpkg-scanpackages 2>&1 | awk -F\" '/usr\/share\/perl5/{print $2}' | xargs dlocate
libdpkg-perl: /usr/share/perl5/Dpkg/Control.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Gettext.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Compression/FileHandle.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Compression/Process.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Control/Types.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Control/Fields.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Control/Hash.pm
libdpkg-perl: /usr/share/perl5/Dpkg/ErrorHandling.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Compression.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Version.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Vendor.pm
libdpkg-perl: /usr/share/perl5/Dpkg/BuildEnv.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Interface/Storable.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Checksums.pm
libdpkg-perl: /usr/share/perl5/Dpkg/BuildOptions.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Path.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Arch.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Vendor/Debian.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Vendor/Default.pm
libdpkg-perl: /usr/share/perl5/Dpkg/Vendor/Ubuntu.pm
libdpkg-perl: /usr/share/perl5/Dpkg/IPC.pm
libdpkg-perl: /usr/share/perl5/Dpkg.pm
pdreker kennen durchaus noch mehr Leute als du ahnst
Re: dpkg-scanpackages isolieren
Offensichtlich Nr.4ThorstenS hat geschrieben:pdreker kennen durchaus noch mehr Leute als du ahnst
Wenn ich das so aus dem Stand könnte, hätte ich nicht "immer Probleme ..."Schau dir in den 1. 34 Zeilen die use-Abhängigkeiten an, drösele die entspr. Perlpakete dahinter auf und schnüre dir ein eigenes Paket.
Aber ich geh's durch, vielleicht komm' ich ja weiter.
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: dpkg-scanpackages isolieren
Spar dir die Zeit fuers naechste Kernel kompilieren.
Re: dpkg-scanpackages isolieren
Alternative 'apt-ftparchive' aus apt-utils.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: dpkg-scanpackages isolieren
apt-ftparchive ist mir für meine bescheidenen Zwecke zu professionell und damit umständlich. Ich will kein "öffentliches" Repository kreieren, auf dem ich rendegast mit meinen bescheidenen Paketchen langweile.
Grüße, Günther
Grüße, Günther
- KBDCALLS
- Moderator
- Beiträge: 22443
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: dpkg-scanpackages isolieren
Was ist denn der Unterschied zwischen apt-ftarchive und dpkg-scan-packages/dpkg-scan-sources? Von dem was tun garkeiner. apt-ftarchive ist nur beides in eins. Von daher kanns garnicht komplizierter sein. Und egal mit welchem Tool man sein lokales repository verwaltet , es zwingt einen ja keiner es öffentlich zu machen.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Re: dpkg-scanpackages isolieren
Ich hatte mir das hier angetan: http://www.pro-linux.de/artikel/2/1459/ ... chive.html und das hat mich abgeschreckt. Ich weiß, dass du ein Fan von ftparchive bist und es sei dir gegönnt.
Ich wollte nur wissen, ob man vieleicht mit einem Trick dpkg-scanpackages ohne dpkg-dev bekommen kann. Bezweifle zwar, dass ich ThorstenS folgen kann, aber wenn ich Zeit kriege, mal sehen, und sooo umfangreich ist dpkg-dev ja nun auch wieder nicht, da hat syssi recht.
rendegast hatte das hier mal empfohlen:
Grüße, Günther
Ich wollte nur wissen, ob man vieleicht mit einem Trick dpkg-scanpackages ohne dpkg-dev bekommen kann. Bezweifle zwar, dass ich ThorstenS folgen kann, aber wenn ich Zeit kriege, mal sehen, und sooo umfangreich ist dpkg-dev ja nun auch wieder nicht, da hat syssi recht.
rendegast hatte das hier mal empfohlen:
Mal schauen, vielleicht probier ich's mal. Lassen wir's gut sein.als Versuch dpkg-dev herunterladen und mit 'dpkg-deb -x' entpacken.
Das Skript nach zBsp. /usr/local/bin/.
Ob das funktioniert?
Grüße, Günther
Re: (gelöst) dpkg-scanpackages isolieren
Es funktioniert:
dpkg-scanpackages aus dpkg-dev extrahiert und nach /usr/local/bin verbracht. Dann noch diese beiden libs installiert: libdpkg-perl libtimedate-perl. Ob beide benötigt werden, habe ich nicht geprüft, jedenfalls läuft's damit.
Danke rendegast! und ThorstenS!
dpkg-scanpackages aus dpkg-dev extrahiert und nach /usr/local/bin verbracht. Dann noch diese beiden libs installiert: libdpkg-perl libtimedate-perl. Ob beide benötigt werden, habe ich nicht geprüft, jedenfalls läuft's damit.
Danke rendegast! und ThorstenS!
Re: (gelöst) dpkg-scanpackages isolieren
wunderbar, freut mich