Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
###### # # E-scripts on apt, "Packages" files, apt caches... # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/apt.e> # or at <http://angg.twu.net/e/apt.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### # «.Packages» (to "Packages") # «.override» (to "override") # «.rebuilding-the-Packages-file» (to "rebuilding-the-Packages-file") # «.Release» (to "Release") # «..disk» (to ".disk") # «.apt-move» (to "apt-move") # «.apt-move0» (to "apt-move0") # «.missing_upstream_debs1» (to "missing_upstream_debs1") # «.mini-potato» (to "mini-potato") # «.mini-potato:override» (to "mini-potato:override") # «.mini-potato:Packages» (to "mini-potato:Packages") # «.mini-potato:Release» (to "mini-potato:Release") # «.mini-potato:.disk» (to "mini-potato:.disk") # «.mini-potato:disks-i386» (to "mini-potato:disks-i386") # «.mini-potato:other_files» (to "mini-potato:other_files") # «.apt-get_update_upgrade» (to "apt-get_update_upgrade") # «.apt-get-source» (to "apt-get-source") # «.apt-howto-deb-src» (to "apt-howto-deb-src") # «.apt-howto-deb» (to "apt-howto-deb") # «.apt-howto» (to "apt-howto") # «.sources.list» (to "sources.list") # «.sources.list-deb822» (to "sources.list-deb822") # «.debtags» (to "debtags") # «.libapt» (to "libapt") # «.equivs» (to "equivs") # «.wajig» (to "wajig") # «.apt-cache» (to "apt-cache") # «.netselect-apt» (to "netselect-apt") # «.aptitude» (to "aptitude") # «.apt-deb-src» (to "apt-deb-src") # «.reprepro-deb-src» (to "reprepro-deb-src") # «.dpkg-source» (to "dpkg-source") # «.add-apt-repository» (to "add-apt-repository") # «.kept-back» (to "kept-back") # «.apt-file» (to "apt-file") # «.backports» (to "backports") # «.dist-upgrade» (to "dist-upgrade") # «.manually-installed» (to "manually-installed") # «.build-dep» (to "build-dep") # «.mk-build-deps» (to "mk-build-deps") # «.autoremove» (to "autoremove") # «.not-going-to-be-installed» (to "not-going-to-be-installed") # «.obsolete» (to "obsolete") # «.apt-transport-https» (to "apt-transport-https") # «.stretch-to-buster» (to "stretch-to-buster") # «.apt-pinning» (to "apt-pinning") # «.apt-patterns» (to "apt-patterns") # «.config-x-www-browser» (to "config-x-www-browser") # «.dget» (to "dget") # «.install-from-sid» (to "install-from-sid") # «.grep-aptavail» (to "grep-aptavail") # (find-fline "/etc/apt/sources.list") ##### # # Notes about apt and the many styles of .deb names # 2000jun13 # ##### A .deb starts (huh) as a .dsc, a .orig.tar.gz and a .diff.gz, that are uncompressed in a directory that has a name taken from the .dsc; running the debian/rules script on that dir we generates one or more .debs with names not necessarily similar to the .dsc and the directory (see the "control" files) and that have endings like _all.deb or _i386.deb; then we usually strip the "_all" or "_i386" part and move the .debs to the "local" sections of our repository of .debs (the other sections are generally parts of a mirror of (ftp|http).debian.org). If our local .debs are serious enough (if they have a "section" field in their control files?) then some tool that I don't know should be able to move them to an "upstream" place in main, contrib, non-free or non-US. The "binary-all" directories exist only to save space; things would work the same if we moved copies of its packages to each binary_arch directory. Apt never touches the "binary-all" dirs, except if it gets there through simlinks. Apt is able to check for new versions in the upstream distribution by reading the remote "Packages" files. It can download the new .debs and store them in /var/cache/apt/, where they get the long names with "_<arch>" and with epochs (but as ':'s as '%3a's: "bsdutils_1%3a2.10f-5_i386.deb", for example). I don't know if the long nomes of the .debs built from source also have explicit epochs. # (find-fline "/usr/bin/apt-move" "%3a") ##### # # apt # 2000apr01 # ##### # (find-status "apt") # (find-vldifile "apt.list") # (find-fline "/usr/doc/apt/") # (find-fline "/usr/doc/apt/guide.text.gz") # (find-fline "/usr/doc/apt/guide.text.gz" "apt-get check") # (find-fline "/usr/doc/apt/offline.text.gz") # (find-fline "/usr/doc/apt/offline.text.gz" "--print-uris") # (find-fline "/usr/doc/apt/examples/") # (find-fline "/usr/doc/apt/examples/sources.list") # (find-fline "/usr/doc/apt/examples/apt.conf.gz") # (find-udw3 "apt/guide.html/") # (find-udw3 "apt/guide.html/ch4.html" "Extra") # (find-udw3 "apt/offline.html/") dpkg -l |& tee ~/o # (find-fline "~/o") # (eeman "apt-get") # (eeman "apt-cache") # (eeman "apt-config") # (eeman "apt-cdrom") ##### # # The "Packages" files # 2000jul04 / 2017ago01 # ##### # «Packages» (to ".Packages") # (find-eev "eev-blinks.el" "find-Package") # (find-eev "eev-blinks.el" "find-Package" "find-status") # (find-eev "eev-blinks.el" "find-Package" "find-available") # (find-es "apt" "mini-potato:Packages") cd /new/potatojun2000/dists/potato/ ar p main/binary-i386/devel/icont_9.3.2-2.deb control.tar.gz \ | tar -xOzf - ./control \ > /tmp/control # (find-fline "$SDEBIAN/indices/override.potato" "icont") # (find-fline "$SPOTATO/main/binary-i386/Packages" "age: icont\n") # (find-fline "$SDEBIAN/indices/Packages-Master-i386" "age: icont\n") # (find-status "icont") # (find-fline "/tmp/control") # (find-pl5file "Debian/Package/") # (find-pl5file "Dpkg/Package/") dpkg -S '*Package*' # (find-debfaqfile "debian-faq.en.txt.gz" "Packages.gz") # (find-debfaqfile "debian-faq.en.txt.gz" "reads the file \"Packages.gz\"") # (find-es "dpkg" "dpkg-dev") # (eeman "8 dpkg-scanpackages") # (find-fline "/usr/bin/dpkg-scanpackages") ##### # # The "override" files # 2000jul04 # ##### # «override» (to ".override") # (find-es "apt" "mini-potato:override") # (find-fline "$SDEBIAN/indices/") # (find-fline "$SDEBIAN/indices/override.potato") # (find-fline "$SDEBIAN/indices/override.potato.contrib") # (find-fline "$SDEBIAN/indices/override.potato.non-free") # (find-fline "$SNUDEBIAN/indices/") # (eeman "8 dpkg-scanpackages" "THE OVERRIDE FILE") ##### # # dpkg-scanpackages # 2000jun06 # ##### # (eeman "8 dpkg-scanpackages") # (eeman "8 dpkg-scanpackages" "THE OVERRIDE FILE") # (find-fline "$SDEBIAN/indices/") # (find-es "dpkg" "dpkg-dev") dmissingp dpkg-scanpackages ##### # # Rebuilding the "Packages" files # 2000mar27 # ##### # «rebuilding-the-Packages-file» (to ".rebuilding-the-Packages-file") psnedeb <<'---' 408260 indices/Packages-Master-i386.gz 1053 indices/override.potato.contrib.gz 25044 indices/override.potato.gz 2587 indices/override.potato.non-free.gz 931 indices/override.slink.contrib.gz 14837 indices/override.slink.gz 2417 indices/override.slink.non-free.gz --- # (find-fline "$SDEBIAN/indices/") # (find-fline "$SDEBIAN/indices/Packages-Master-i386.gz") # (find-fline "$SDEBIAN/ls-lR.i" "Packages") # (find-fline "$SDEBIAN/dists/potato/contrib/binary-i386/Packages") # (find-fline "$SDEBIAN/dists/potato/main/binary-i386/Packages") # (find-fline "$SDEBIAN/dists/potato/non-free/binary-i386/Packages") # (find-fline "$SNUDEBIAN/dists/potato/non-US/main/binary-i386/Packages") # (find-fline "$SNUDEBIAN/dists/potato/non-US/non-free/binary-i386/Packages") # (find-fline "$SDEBIAN/dists/potato/contrib/binary-i386/Release") # (find-fline "$SDEBIAN/dists/potato/main/binary-i386/Release") # (find-fline "$SDEBIAN/dists/potato/non-free/binary-i386/Release") # (find-fline "$SNUDEBIAN/dists/potato/non-US/main/binary-i386/Release") # (find-fline "$SNUDEBIAN/dists/potato/non-US/non-free/binary-i386/Release") cd /big/potato/ (dpkg-scanpackages dists/frozen/contrib/binary-i386 \ $SDEBIAN/indices/override.potato.contrib \ > /tmp/Packages.contrib ) |& tee /tmp/o.contrib cd /big/potato/ (dpkg-scanpackages dists/frozen/non-free/binary-i386 \ $SDEBIAN/indices/override.potato.non-free \ > /tmp/Packages.non-free ) |& tee /tmp/o.non-free cd /big/potato/ (dpkg-scanpackages dists/frozen/main/binary-i386 \ $SDEBIAN/indices/override.potato \ > /tmp/Packages.main ) |& tee /tmp/o.main cp -v /tmp/Packages.contrib \ /big/potato/dists/potato/contrib/binary-i386/Packages cp -v /tmp/Packages.non-free \ /big/potato/dists/potato/non-free/binary-i386/Packages cp -v /tmp/Packages.main \ /big/potato/dists/potato/main/binary-i386/Packages # emacs lisp stuff... (set-windows 10 0 ' (find-fline "/tmp/Packages.contrib") 10 0 ' (find-fline "$SDEBIAN/dists/potato/contrib/binary-i386/Packages") 10 0 ' (find-fline "$SDEBIAN/indices/override.potato.contrib") 10 0 ' (find-fline "/tmp/o.contrib" "missing from override file:") ) (set-windows 10 0 ' (find-fline "/tmp/Packages.non-free") 10 0 ' (find-fline "$SDEBIAN/dists/potato/non-free/binary-i386/Packages") 10 0 ' (find-fline "$SDEBIAN/indices/override.potato.non-free") 10 0 ' (find-fline "/tmp/o.non-free" "missing from override file:") ) (set-windows 10 0 ' (find-fline "/tmp/Packages.main") 10 0 ' (find-fline "$SDEBIAN/dists/potato/non-free/binary-i386/Packages") 10 0 ' (find-fline "$SDEBIAN/indices/override.potato") 10 0 ' (find-fline "/tmp/o.main" "missing from override file:") ) # (find-node "(zsh)Redirection") # (find-fline "/usr/bin/dpkg-scanpackages") ##### # # apt source # 2000jun13 # ##### # (find-status "apt") # (find-vldifile "apt.list") # (find-fline "/usr/doc/apt/") pdsc $SDEBIAN/dists/potato/main/source/admin/apt_0.3.11.dsc /usr/src/apt-0.3.11/ # (find-aptsrcfile "") # (find-aptsrcfile "apt-pkg/") # (find-aptsrcfile "apt-pkg/packagemanager.cc") # (find-aptsrcfile "apt-pkg/packagemanager.h") # (find-aptsrcfile "apt-pkg/pkgcache.cc") # (find-aptsrcfile "apt-pkg/pkgcache.h") # (find-aptsrcfile "apt-pkg/pkgcachegen.cc") # (find-aptsrcfile "apt-pkg/pkgcachegen.h") # (find-aptsrcfile "apt-pkg/pkgrecords.cc") # (find-aptsrcfile "apt-pkg/pkgrecords.h") # (find-aptsrcfile "doc/files.sgml" "Binary Package Cache") # (find-aptsrcfile "doc/cache.sgml") # (find-aptsrcfile "doc/") # (find-aptsrcfile "doc/apt-cdrom.8.yo") ##### # # Dumping apt's /var/cache/apt/{,src}pkgcache.bin files # 2000jun13 # ##### # (eeman "8 apt-cache") apt-cache stats apt-cache dump apt-cache dumpavail > ~/o # (find-fline "~/o") grep-dctrl '' -s Package,Source,Version,Filename ~/o \ | tee ~/o2 # (find-fline "~/o2") # Oops - at which point do the packages get the "Filename" field? I # don't think it's present at packages that I recompile myself... # (find-fline "/usr/bin/dpkg-scanpackages" "has Filename field!") # (find-fline "/usr/src/.debs/") ar p /usr/src/.debs/dbuild_1.15_all.deb control.tar.gz \ | tar -O -xvzf - control ar p $POTATO/main/binary-i386/devel/dbuild_1.15.1.deb control.tar.gz \ | tar -O -xvzf - ./control # Weird: local has filenames with "./", upstream has filenames without! ##### # # The "Release" files # 2000jun13 # ##### # «Release» (to ".Release") # (find-es "apt" "mini-potato:Release") # (find-aptsrcfile "") # (find-aptsrcfile "doc/files.sgml" "<sect> The Release File") # (find-fline "$SPOTATO/") # (find-fline "$SPOTATO/main/binary-i386/Release") # (find-fline "$SPOTATO/contrib/binary-i386/Release") # (find-fline "$SPOTATO/non-free/binary-i386/Release") # (find-fline "$SDEBIAN/dists/potato/contrib/binary-i386/Release") # (find-fline "$SDEBIAN/dists/potato/main/binary-i386/Release") # (find-fline "$SDEBIAN/dists/potato/non-free/binary-i386/Release") # (find-fline "$SNUDEBIAN/dists/potato/non-US/main/binary-i386/Release") # (find-fline "$SNUDEBIAN/dists/potato/non-US/non-free/binary-i386/Release") # (find-fline "/var/state/apt/lists/") ##### # # The ".disk" directory of cdroms # 2000jun13 # ##### # «.disk» (to "..disk") # (find-es "dpkg" ".disk/info") # (find-aptsrcfile "doc/files.sgml" "'.disk/info'") # (find-aptsrcfile "doc/apt-cdrom.8.yo" "does not have a proper bf(.disk/)") # (find-aptsrcfile "cmdline/apt-cdrom.cc" ".disk") # (eeman "8 apt-cdrom" "\\.disk") # (find-fline "/var/state/apt/") # (find-fline "/var/state/apt/cdroms.list") # (find-fline "/usr/share/debian-cd/Makefile" ".disk") # (find-fline "/hdc6/bin1/.disk/info") # Debian GNU/Linux slink (2.1) 1/4 main binary-i386 section 1 SAM19990627 # (find-fline "/usr/share/debian-cd/Makefile" "BINDISKINFO") # (find-fline "/usr/share/debian-cd/CONF.sh") # (find-fline "/usr/share/debian-cd/tools/add_dirs") cd /usr/share/debian-cd/ agrep BINDISKINFO $(find *) ##### # # apt-move (trying again) # 2000dec19 # ##### # «apt-move» (to ".apt-move") #* laf /etc/apt-move* if [ ! -e /etc/apt-move.conf.orig ]; then mv -v /etc/apt-move.conf /etc/apt-move.conf.orig fi cat > /etc/apt-move.conf <<'---' # (find-fline "/etc/apt-move.conf.orig") ARCH=i386 LOCALDIR=/big/potato DEBSTABLE= DEBUNSTABLE= DEBFROZEN= DIST=potato PKGTYPE=binary SECTIONS="main" USSITE=127.0.0.1 NONUSSITE=ftp.unioeste-foz.br/pub FILECACHE=/var/cache/apt/archives LISTSTATE=/var/state/apt/lists DELETE=no MAXDELETE=20 LOGFILE=/var/log/apt-move.log MONITOR=/dev/null --- cd /var/cache/apt/archives/ #* # (find-fline "/etc/apt/sources.list") # (find-fline "/usr/bin/apt-move") # (find-fline "/usr/bin/apt-move" "Usage:") /usr/bin/apt-move -t getlocal |& tee /tmp/o1 sh -x /usr/bin/apt-move -t getlocal |& tee /tmp/o1 /usr/bin/apt-move -t packages |& tee /tmp/o2 sh -x /usr/bin/apt-move -t packages |& tee /tmp/o2 /usr/bin/apt-move -t move |& tee /tmp/o2 sh -x /usr/bin/apt-move -t move |& tee /tmp/o2 /usr/bin/apt-move -t update |& tee /tmp/o sh -x /usr/bin/apt-move -t update |& tee /tmp/oa # (find-fline "/tmp/o") # (find-fline "/tmp/oa") # (find-fline "/big/potato/.apt-move") #* ##### # # apt-move # 2000jun14 # ##### # «apt-move0» (to ".apt-move0") # Still too obscure to me; I'm synthesizing its functionality with the # Icon program used in the next block. # (find-status "apt-move") # (find-status "apt-move" "installed-packages only") # (find-vldifile "apt-move.list") # (find-fline "/usr/doc/apt-move/") # (eeman "8 apt-move") # (find-fline "/usr/bin/apt-move") # (find-fline "/etc/apt-move.conf") # (find-fline "/usr/doc/apt-move/README.gz") # (find-fline "/usr/doc/apt-move/README.gz" "apt-move -t update") # (find-fline "/usr/doc/apt-move/README.gz" "apt-move -bt mirror") # (find-fline "/usr/doc/apt-move/README.Debian") # (find-fline "/usr/doc/apt-move/examples/SAMPLE.exclude") #* egrep -v '^ *(#|$)' /etc/apt-move.conf \ | tee ~/o # (find-fline "~/o") #* sed s:/etc/apt-move.conf:$HOME/tmp/apt-move.conf:g \ < /usr/bin/apt-move \ > ~/tmp/apt-move chmod 755 ~/tmp/apt-move echo -n > ~/tmp/apt-move.conf #* export ARCH=i386 export LOCALDIR=/big/potato export DEBSTABLE= export DEBUNSTABLE= export DEBFROZEN= export DIST=potato export PKGTYPE=binary export SECTIONS="main" #export USSITE=ftp.unioeste-foz.br/pub export USSITE=127.0.0.1/debian export NONUSSITE=ftp.unioeste-foz.br/pub export FILECACHE=/var/cache/apt/archives export LISTSTATE=/var/state/apt/lists export DELETE=no export MAXDELETE=20 export LOGFILE=/var/log/apt-move.log export MONITOR=/dev/null cd /var/cache/apt/archives/ ~/tmp/apt-move -t update |& tee /tmp/oa # (find-fline "~/tmp/apt-move") # (find-fline "/tmp/oa") #* mkdir /hdd6/debian/indices/ cp -iv /debian/indices/* /hdd6/debian/indices/ cd $SDEBIAN/indices/ # (eeman "1 dpkg-name") # (find-fline "/usr/bin/dpkg-name") # (find-es "dpkg" "dpkg-dev") cd /var/cache/apt/archives/ apt-move -t move # (find-fline "/usr/bin/apt-move" "No master override files exist!") # (find-fline "/usr/bin/apt-move" "getout \"$funct\" \"$?\"") # (find-fline "/usr/bin/apt-move" "move)") # (find-fline "/usr/bin/apt-move" "makelist ()") # (find-fline "/usr/bin/apt-move" "domove ()") # (find-fline "/usr/bin/apt-move" "Creating Lists...") # (find-fline "/usr/bin/apt-move" "echo \"Move: $pname\"") cd /var/cache/apt/archives/ sh -x /usr/bin/apt-move -t move cd /var/cache/apt/archives/ apt-move -t getlocal # ls /var/state/apt/lists/ # (find-fline "/var/state/apt/lists/") # (find-fline "/etc/apt-move.conf") # (find-fline "/etc/apt/sources.list") egrep -v '^(#|$)' /etc/apt-move.conf debtartvzf $POTATO/main/binary-i386/admin/apt-move_3.0-13.deb getdatatargz $POTATO/main/binary-i386/admin/apt-move_3.0-13.deb \ | tar -xOvzf - ./etc/apt-move.conf ./etc/apt-move.conf # (find-fline "/etc/cron.weekly/apt-move") # (find-fline "/usr/doc/apt-move/TODO") # (find-fline "/usr/doc/apt-move/TODO.Debian") # (find-fline "/usr/doc/apt-move/changelog.Debian.gz") # (find-fline "/usr/doc/apt-move/changelog.gz") # (find-fline "/usr/doc/apt-move/copyright") # (find-fline "/usr/doc/apt-move/examples") # (find-fline "/usr/doc/apt-move/examples/SAMPLE.exclude") # (find-fline "/usr/bin/apt-move" "%3a") # (eeman "8 apt-move") # (find-fline "/var/cache/apt/") # (find-fline "/var/cache/apt/archives/") ##### # # Cross the data in the lists of local debs and upstream debs # 2000jun25 # ##### # «missing_upstream_debs1» (to ".missing_upstream_debs1") #* mkdir ~/DEBREP/ cd ~/DEBREP/ grep-status --show-field=Package,Version --field=Status ' installed' \ | perl -nle ' m/Package: (.*)/ and $s = $1; m/Version: ([0-9]+:)?(.*)/ and print "$s", "_$2.deb"; ' \ | sort \ | tee oinstalleddebs # Add some standard packages that are not installed but that I want in # the CD anyway cat >> oinstalleddebs <<'---' exim_3.12-10.deb kernel-image-2.2.15-idepci_2.2.15-2.deb kernel-image-2.2.15_2.2.15-2.deb --- # All debs in the local machine that weren't compiled by me: locate '' \ | grep '\.deb$' \ | egrep '/potato/|/slink/|/cache/' \ | grep -v 'potatojun2000/' \ | sort \ > alldebs_locate wc alldebs_locate # Almost the same as the previous one (in my home machine!), # but without symlinks and without needing an updatedb: find \ /hda2/ivoxpotato/ \ /hda2/potato/ \ /hdd2/snarf/ftp/ftp.debian.org/ \ /hdd2/debian/ \ /hda6/debian0/ \ /potato/ \ /var/cache/apt/archives \ /hda2/otherdebs \ -type f -and -name '*.deb' \ | grep -v binary-hurd-i386 \ > alldebs wc alldebs # /hdc6/bin1/dists/ \ # /hdc6/bin2/dists/ \ # /hdd2/slinkb1/ \ cat alldebs_locate \ | perl -nle 's:^(.*)/([^/]*)$:\1:; print' | sort | uniq \ > alldebdirs_locate cat alldebs \ | perl -nle 's:^(.*)/([^/]*)$:\1:; print' | sort | uniq \ > alldebdirs # diff alldebdirs alldebdirs_locate | sort | l -S #* function shortandlong () { perl -nle ' $s = $_; s/[0-9](:|%3a)//; s:^.*/([^/]*)$:\1:; s/_(i386|all)\.deb$/.deb/; print "$_\t$s" ' } cd ~/DEBREP/ shortandlong < alldebs \ | sort \ > alldebsshortandlong cat $SDEBIAN/ls-lR.i \ $SNUDEBIAN/ls-lR.i \ | perl -nle ' s/^([ 0-9]+[^ ]+)( ->.*$)?/\1/; print' \ | grep 'binary-i386.*\.deb$' \ | grep 'potato.*binary-i386' \ > upstreamdebs+ cat upstreamdebs+ \ | perl -nle 's/^[ 0-9]+(.*)/\1/; print' \ > upstreamdebs cat upstreamdebs \ | perl -nle 's:^(.*)/([^/]*)$:\1:; print' \ | sort \ | uniq \ | grep 'potato.*binary-i386' \ > upstreamdebdirs (cd ~/ICON/; icont -s debreputil.icn) # Show which installed packages do not correspond to .debs in the # upstream. # ~/ICON/debreputil -idebs_notin_upstream \ ~/DEBREP/oinstalleddebs \ ~/DEBREP/upstreamdebs+ \ |& tee ~/DEBREP/idebs_notin_upstream # Show which upstream files correspond to the installed debs, in case # we want to make a mini-mirror with only the installed packages. # ~/ICON/debreputil -idebs_as_upstream \ ~/DEBREP/oinstalleddebs \ ~/DEBREP/upstreamdebs+ \ |& tee ~/DEBREP/idebs_as_upstream # Classify the .debs in a file in basename/tab/localfilename form in # three groups: first copies of an upstream deb, redundant copies, and # debs that do not correspond to upstream versions. The first copies # are meant to be copied to the mirror, the redundant copies are to be # deleted, and the non-upstream debs are to be left in place. # ~/ICON/debreputil -upstream_fdebs_as_cpsrms \ ~/DEBREP/upstreamdebs+ \ ~/DEBREP/alldebsshortandlong \ > ~/DEBREP/upstream_fdebs_as_cpsrms # This one is even nicer if we want just one big repository. # ~/ICON/debreputil -upstream_fdebs_as_mvsrms \ ~/DEBREP/upstreamdebs+ \ ~/DEBREP/alldebsshortandlong \ > ~/DEBREP/upstream_fdebs_as_mvsrms l -S ~/DEBREP/upstream_fdebs_as_mvsrms egrep -v '^(rm|#)' ~/DEBREP/upstream_fdebs_as_cpsrms \ > ~/DEBREP/upstream_fdebs_as_cps egrep '^(rm|#)' ~/DEBREP/upstream_fdebs_as_cpsrms \ > ~/DEBREP/upstream_fdebs_as_rms # Almost the same but now to copy only the installed upstream debs. # Incomplete. # ~/ICON/debreputil -upstream_fdebs_as_cpsrms \ ~/DEBREP/idebs_as_upstream \ ~/DEBREP/alldebsshortandlong \ | egrep -v '^(rm|#)' \ > ~/DEBREP/upstream_idebs_as_cps # sh these only with EXTREME care or you'll end up by mixing i386 and # hurd-i386 debs and messing up with slink, home-compiled and # alien-compiled debs. # cd /new/potatojun2000/ && . ~/DEBREP/upstream_fdebs_as_cps |& tee ~/o # cd /new/potatojun2000/ && . ~/DEBREP/upstream_fdebs_as_cpsrms |& tee ~/o #* # This one would be pretty safe once it's tested... mkdir /debian/ cd /debian/ mkdir -p $(<~/DEBREP/upstreamdebdirs) # (find-node "(zsh)Description of Options" "ERR_EXIT") # (find-fline "~/DEBREP/upstream_fdebs_as_mvsrms") (unalias mv_or_rm; set -e; . ~/DEBREP/upstream_fdebs_as_mvsrms) |& tee ~/o #* # This is a dirty hack for an emergency... I need space, I need to # list all old debs that are old versions of debs stored in my main # repository, to delete the ones I don't want anymore... cd /debian/ find * -type f -and -name '*.deb' \ | perl -nle 'm:(/[^/_]+_): && print $1' \ | sort \ > /tmp/f find /potato /hda2/potato /hda6/debian0 /hda2/ivoxpotato /hdd2/{potato2,potatojun2000} $SPOTATO /hda2/otherdebs\ -type f -and -name '*.deb' \ | fgrep -f /tmp/f \ | awk '{ print "rm -v", $0 }' \ > /tmp/rms #* find /potato /hda2/potato /hda6/debian0 /hda2/ivoxpotato /hdd2/{potato2,potatojun2000} \ -type f -and -name '*.deb' \ | fgrep -v -f /tmp/f \ | awk '{ print "store_deb", $0 }' \ > /tmp/norms #* function mv_or_rm () { if [[ -e $2 ]]; then if [[ $1 -ef $2 ]]; then echo '# same as dest:' $1 else echo rm $1; rm $1 fi else echo mv $1 $2; mv $1 $2 fi } function store_deb () { mv_or_rm $1 $(debbasename $1) } #* # (find-fline "~/DEBREP/oinstalleddebs") # (find-fline "~/DEBREP/idebs_as_upstream") # (find-fline "~/DEBREP/idebs_notin_upstream") # (find-fline "~/DEBREP/alldebdirs") # (find-fline "~/DEBREP/alldebdirs_locate") # (find-fline "~/DEBREP/alldebs") # (find-fline "~/DEBREP/alldebs_locate") # (find-fline "~/DEBREP/alldebsshortandlong") # (find-fline "~/DEBREP/upstream_fdebs_as_cps") # (find-fline "~/DEBREP/upstream_fdebs_as_cpsrms") # (find-fline "~/DEBREP/upstream_fdebs_as_rms") # (find-fline "~/DEBREP/upstreamdebdirs") # (find-fline "~/DEBREP/upstreamdebs") # (find-fline "~/DEBREP/upstreamdebs+") # (find-fline "$SDEBIAN/ls-lR.i") # (find-fline "$SNUDEBIAN/ls-lR.i") # (find-fline "~/ICON/debreputil.icn") # (find-fline "~/ICON/debrepository.icn") # (find-fline "$ES/apt.e" "icone") ##### # # mini-potato # 2000jul13 # ##### # «mini-potato» (to ".mini-potato") # After running the two parts of the preceding block we're now able to # prepare a .deb repository with the installed packages; with a few # tricks more it can become the image of an installation CD, so... #rm -Rv /new/debian/ #* # Copy the .debs: mkdir /new/debian/; cd /new/debian/ && mkdir -p $(<~/DEBREP/upstreamdebdirs) cd /new/debian/ && . ~/DEBREP/upstream_idebs_as_cps |& tee ~/o # Make an important link: [[ -e dists/frozen ]] || ln -s potato dists/frozen # I don't know if I need this one; it's for local packages. [[ -e dists/unstable ]] || ln -s potato dists/unstable #* cd /new/debian/dists/potato/ mkdir -p local/main/binary-i386/ mkdir -p local/non-free/binary-i386/ # Copy some .debs to local. I'm putting some old kernels too just # because it was too painful to keep the kernels in sync with the # upstream (and old kernels are better than no kernels at all :-). # (find-fline "~/DEBREP/idebs_notin_upstream") # (find-fline "/usr/src/.debs/") # (find-angg ".zshrc" "debbasename") # for i in \ /hdd2/potatojun2000/dists/potato/main/binary-i386/base/kernel-image-2.2.15-idepci_2.2.15-2.deb \ /hdd2/potatojun2000/dists/potato/main/binary-i386/base/kernel-image-2.2.15_2.2.15-2.deb \ /usr/src/.debs/mktclapp_* do cp -v $i local/main/binary-i386/$(debbasename $i) done for i in \ /usr/src/.debs/glimpse_* \ /usr/src/.debs/ivox-server_* do cp -v $i local/non-free/binary-i386/$(debbasename $i) done #* # «mini-potato:override» (to ".mini-potato:override") # (find-es "apt" "override") # Copy the override files: cd /new/debian/ function cpzcat () { mkdir -p $2 cp -v $1/$2/$3 $2/$3 zcat $2/$3 > $2/$(basename $3 .gz) } cpzcat $SDEBIAN indices override.potato.contrib.gz cpzcat $SDEBIAN indices override.potato.gz cpzcat $SDEBIAN indices override.potato.non-free.gz cpzcat $SNUDEBIAN indices-non-US override.potato.contrib.gz cpzcat $SNUDEBIAN indices-non-US override.potato.gz cpzcat $SNUDEBIAN indices-non-US override.potato.non-free.gz laf indices indices-non-US #* # «mini-potato:Packages» (to ".mini-potato:Packages") # (find-es "apt" "Packages") cd /new/debian/ function dpkg-scanp () { mkdir -p dists/$1/$2/binary-i386/ (dpkg-scanpackages dists/$1/$2/binary-i386 $3 \ > dists/$1/$2/binary-i386/Packages \ ) |& tee /tmp/odsp$4 } dpkg-scanp frozen contrib indices/override.potato.contrib c dpkg-scanp frozen main indices/override.potato m dpkg-scanp frozen non-free indices/override.potato.non-free nf dpkg-scanp frozen non-US/contrib indices-non-US/override.potato.contrib nuc dpkg-scanp frozen non-US/main indices-non-US/override.potato num dpkg-scanp frozen non-US/non-free indices-non-US/override.potato.non-free nunf dpkg-scanp unstable local/main /dev/null lm dpkg-scanp unstable local/non-free /dev/null lnf # What about Packages-Master-i386? #* # «mini-potato:Release» (to ".mini-potato:Release") # (find-es "apt" "Release") function write-release () { mkdir -p $2/binary-$6 (echo "Archive: $1\nComponent: $2\nVersion: $3\nOrigin: $4\nLabel: $5" echo "Architecture: $6" ) > $2/binary-$6/Release # echo " $2/binary-$6/Release:" # cat $2/binary-$6/Release # echo } cd /new/debian/dists/potato/ write-release frozen contrib 2.2 Debian Debian i386 write-release frozen main 2.2 Debian Debian i386 write-release frozen non-free 2.2 Debian Debian i386 write-release frozen non-US/contrib 2.2 Debian Debian i386 write-release frozen non-US/main 2.2 Debian Debian i386 write-release frozen non-US/non-free 2.2 Debian Debian i386 write-release unstable local/main 2.2 Edrx Edrx i386 write-release unstable local/non-free 2.2 Edrx Edrx i386 #* # «mini-potato:.disk» (to ".mini-potato:.disk") # (find-es "apt" ".disk") # I'm supposing that .disk/info is more or less free-form... cd /new/debian/ mkdir .disk date "+Debian GNU/Linux potato (2.2) Ivox binary-i386 %Y%b%d" > .disk/info #* # «mini-potato:disks-i386» (to ".mini-potato:disks-i386") cd /new/debian/ # rm -Rv dists/potato/main/disks-i386/ mkdir -p dists/potato/main/disks-i386/ cd $SDEBIAN/dists/potato/main/disks-i386/ # find * cp -diPpvR \ 2.2.15-2000-06-07/base2_2.tgz \ 2.2.15-2000-06-07/drivers.tgz \ 2.2.15-2000-06-07/images-1.44/rescue.bin \ 2.2.15-2000-06-07/images-1.44/root.bin \ 2.2.15-2000-06-07/images-2.88/rescue.bin \ /new/debian/dists/potato/main/disks-i386/ cd /new/debian/ ln -s 2.2.15-2000-06-07 dists/potato/main/disks-i386/current #* # «mini-potato:other_files» (to ".mini-potato:other_files") cd $SDEBIAN/ cp -diPpvR \ README.mirrors.html \ README.mirrors.txt \ README.non-US \ dists/potato/Contents-i386.gz \ tools/fips20.zip \ tools/gzip124.exe \ tools/lodlin16.zip \ tools/rawrite1.zip \ tools/rawrite2.zip \ tools/unz512x3.exe \ /new/debian/ cd /new/debian/ zcat dists/potato/Contents-i386.gz \ > dists/potato/Contents-i386 # Add later: pu, pz, qedit, 4dos, dos622 images #* README.mirrors.html README.mirrors.txt README.non-US dists/potato/Contents-i386.gz ##### # # apt-get update / apt-get upgrade # 2000aug03 # ##### # «apt-get_update_upgrade» (to ".apt-get_update_upgrade") # (eeman "apt-get") # Uncomment the lines that refer to an externel Debian repository: # (find-fline "/etc/apt/sources.list") apt-get update apt-get upgrade ##### # # apt-get source # 2017fev05 # ##### # «apt-get-source» (to ".apt-get-source") # https://wiki.debian.org/SystemAdministration # https://wiki.debian.org/PackageManagement # https://wiki.debian.org/Packaging/SourcePackage # https://wiki.debian.org/Packaging/SourcePackage#How_to_Download_a_source_package # (find-man "8 apt-get") # (find-man "8 apt-get" " build-dep") # (find-man "8 apt-get" " source") # (find-man "8 apt-get" " -b, --compile, --build") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-sh "apt-cache show lua5.1") # (find-sh "apt-cache showsrc lua5.1") rm -Rv /tmp/d/ mkdir /tmp/d/ cd /tmp/d/ sudo apt-get build-dep -y lua5.1 apt-get source lua5.1 |& tee osource apt-get source --build lua5.1 |& tee osourceb # (find-fline "/tmp/d/") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-sh "apt-cache showsrc texlive-latex-base") sudo apt-get build-dep -y texlive-base ##### # # apt-howto (from the debian sources) # 2009jul26 # ##### # «apt-howto-deb-src» (to ".apt-howto-deb-src") # http://ftp.de.debian.org/debian/pool/main/a/apt-howto/ # http://ftp.de.debian.org/debian/pool/main/a/apt-howto/apt-howto_2.0.2-2.dsc # http://ftp.de.debian.org/debian/pool/main/a/apt-howto/apt-howto_2.0.2-2.diff.gz # http://ftp.de.debian.org/debian/pool/main/a/apt-howto/apt-howto_2.0.2.orig.tar.gz #* rm -Rv ~/usrc/apt-howto/ mkdir ~/usrc/apt-howto/ cd $S/http/ftp.de.debian.org/debian/pool/main/a/apt-howto/ cp -v apt-howto_2.0.2* ~/usrc/apt-howto/ cd ~/usrc/apt-howto/ dpkg-source -sn -x apt-howto_2.0.2-2.dsc cd ~/usrc/apt-howto/apt-howto-2.0.2/ dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb #* # (find-fline "~/usrc/apt-howto/") * (eepitch-shell) cd ~/usrc/apt-howto/ sudo dpkg -i *.deb #* # (code-c-d "apthowto" "~/usrc/apt-howto/apt-howto-2.0.2/") # (find-apthowtofile "") # «apt-howto-deb» (to ".apt-howto-deb") # (find-angg ".emacs" "debian-devel-docs") # (find-apthowtotext "") # A way to install it from the etch debs: # http://packages.debian.org/apt-howto # http://ftp.de.debian.org/debian/pool/main/a/apt-howto/apt-howto-en_2.0.2-2_all.deb # http://ftp.de.debian.org/debian/pool/main/a/apt-howto/apt-howto-common_2.0.2-2_all.deb * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd $S/http/ftp.de.debian.org/debian/pool/main/a/apt-howto/ sudo dpkg -i apt-howto-*.deb ##### # # apt-howto # 2008jul25 # ##### # «apt-howto» (to ".apt-howto") # http://www.debian.org/doc/manuals/ # http://www.debian.org/doc/manuals/apt-howto/ # (find-status "apt-howto-en") # (find-vldifile "apt-howto-en.list") # (find-udfile "apt-howto-en/") # (find-apthowtofile "") # (find-apthowtofile "apt-howto.en.txt.gz") # (find-apthowtow3m "apt-howto.en.html") # (find-apthowtow3m "ch-sourcehandling.en.html") # (find-apthowtow3m "ch-sourcehandling.en.html" "build-essential") # (find-apthowtow3m "ch-sourcehandling.en.html#s-build-dep" "apt-get build-dep") # (find-apthowtow3m "ch-sourcehandling.en.html#s-build-dep" "apt-cache showsrc") # (find-man "8 apt-get" " build-dep") # (find-man "8 apt-cache" "showsrc pkg(s)") # (find-man "1 dpkg-buildpackage") # http://packages.debian.org/bc # http://packages.debian.org/src:bc # http://ftp.debian.org/debian/pool/main/b/bc/ # (find-fline "/tmp/d/") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) apt-cache showsrc bc rm -Rv /tmp/d/ mkdir /tmp/d/ cd /tmp/d/ apt-get source bc sudo apt-get build-dep bc cd /tmp/d/bc-1.06.95/ dpkg-buildpackage -rfakeroot -uc -b cd /tmp/d/ ls -lAF ls -lAF *.deb sudo dpkg -i *.deb ##### # # sources.list # 2009jan19 # ##### # «sources.list» (to ".sources.list") # (find-man "5 sources.list") # (find-man "8 apt-cache") # (find-man "5 apt.conf") # (find-fline "/etc/apt/") # (find-fline "/etc/apt/sources.list") # (find-apthowtow3m "ch-basico.en.html#s-sources.list") deb file:/dvds/etch/debian etch main contrib deb http://ftp.squeak.org/debian/ stable main deb http://ftp.debian.org/ etch main contrib non-free deb file:/dvds/etch/debian etch main contrib deb-src http://ftp.debian.org/ etch main contrib non-free # (find-sh0 "sudo chown -v edrx:edrx /etc/apt/sources.list") # (find-fline "/etc/apt/sources.list") # Lenny: deb file:/dvds/lenny/debian lenny main contrib deb http://ftp.de.debian.org/debian lenny main contrib non-free deb-src http://ftp.de.debian.org/debian lenny main contrib non-free ##### # # sources.list-deb822 # 2023oct29 # ##### # «sources.list-deb822» (to ".sources.list-deb822") # (find-man "5 sources.list") # (find-fline "~/LOGS/2023oct28.emacs") # https://github.com/cyberitsolutions/bootstrap2020/blob/twb/debian-12.sources ##### # # debtags # 2009apr21 # ##### # «debtags» (to ".debtags") # (find-status "debtags") # (find-vldifile "debtags.list") # (find-udfile "debtags/") # (find-efile "textmodes/rst.el") # (find-man "1 debtags-updatecontrol") # (find-man "1 debtags") # (find-fline "/usr/share/debtags/tags-current.gz") # (find-fline "/usr/share/debtags/fetch") # (find-fline "/usr/share/debtags/vocabulary") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) debtags help sudo debtags update # (find-sh "debtags tagcat") debtags tagcat | grep mixer debtags tagshow sound::mixer debtags tagsearch sound::mixer debtags tagsearch x11::window-manager # (find-zsh "grep-available x11::window-manager") # (find-apthowtofile "apt-howto.en.txt.gz" "sources repository") # (find-man "apt-get" "\n source") #* mkdir ~/debsrc/ cd ~/debsrc/ apt-get --download-only --no-download source glibc #* ##### # # fakeroot debian/rules binary vs. dpkg-buildpackage -us -uc -b -rfakeroot # 2005jan08 # ##### # (find-man "1 dpkg-buildpackage") # (find-man "1 dpkg-checkbuilddeps") dpkg-buildpackage invokes dpkg-checkbuilddeps, that will check a control file and list (in a format that is easy to use) which packages in the build-depends field haven't been installed. # (find-fline "/usr/bin/dpkg-buildpackage" "debian/rules build") ##### # # libapt # 2009jul27 # ##### # «libapt» (to ".libapt") # (find-es "python" "python-apt") apti libapt-pkg-dev libapt-pkg-doc libapt-pkg-perl python-apt # (find-status "libapt-pkg-perl") # (find-vldifile "libapt-pkg-perl.list") # (find-udfile "libapt-pkg-perl/") # (find-status "libapt-pkg-dev") # (find-vldifile "libapt-pkg-dev.list") # (find-udfile "libapt-pkg-dev/") # (find-status "libapt-pkg-doc") # (find-vldifile "libapt-pkg-doc.list") # (find-udfile "libapt-pkg-doc/") # (find-status "apt") # (find-vldifile "apt.list") # (find-udfile "apt/") # (find-status "apt-utils") # (find-vldifile "apt-utils.list") # (find-udfile "apt-utils/") # (find-zsh "dmissing libapt-pkg-doc") # (find-status "libapt-pkg-doc") # (find-vldifile "libapt-pkg-doc.list") # (find-udfile "libapt-pkg-doc/") # (find-udfile "libapt-pkg-doc/dpkg-tech.text.gz" "\n3.3." "How dpkg compares version numbers") # (find-fline "/usr/include/apt-pkg/cacheiterators.h" "CompareVer") # (find-fline "/usr/doc/libapt-pkg-doc/files.text.gz") # (find-fline "/usr/doc/libapt-pkg-doc/cache.text.gz") # (find-fline "/usr/doc/libapt-pkg-doc/design.text.gz") # (find-fline "/usr/doc/libapt-pkg-doc/dpkg-tech.text.gz") # (find-fline "/usr/doc/libapt-pkg-doc/method.text.gz") # (find-fline "/usr/lib/perl5/AptPkg/Cache.pm") # (find-fline "/usr/lib/perl5/AptPkg/Config.pm") # (find-fline "/usr/lib/perl5/AptPkg/Config.pod") # (find-fline "/usr/lib/perl5/AptPkg/PkgRecords.pm") # (find-fline "/usr/lib/perl5/AptPkg/Policy.pm") # (find-fline "/usr/lib/perl5/AptPkg/Source.pm") # (find-fline "/usr/lib/perl5/AptPkg/System.pm") # (find-fline "/usr/lib/perl5/AptPkg/Version.pm") # (find-fline "/usr/lib/perl5/AptPkg/hash.pm") # (find-fline "/usr/lib/perl5/AptPkg.pm") # (find-man "3pm AptPkg") # (find-man "3pm AptPkg::Cache") # (find-man "3pm AptPkg::System") # (find-man "3pm AptPkg::Config") # (find-man "3pm AptPkg::Policy") # (find-man "3pm AptPkg::hash") # (find-man "3pm AptPkg::PkgRecords") # (find-man "3pm AptPkg::Version") # (find-man "3pm AptPkg::Source") # (find-udfile "libapt-pkg-perl/examples/apt-cache") # (find-udfile "libapt-pkg-perl/examples/apt-config") # (find-udfile "libapt-pkg-perl/examples/apt-version") * (eepitch-perl) * (eepitch-kill) * (eepitch-perl) use AptPkg::Config '$_config'; use AptPkg::System '$_system'; use AptPkg::Version; (my $self = $0) =~ s#.*/##; # initialise the global config object with the default values: $_config->init; # determine the appropriate system type: $_system = $_config->system; # fetch a versioning system: my $vs = $_system->versioning; # print '[System: ', $_system->label, '; Versioning type: ', $vs->label, "]\n"; ##### # # equivs # 2009aug01 # ##### # «equivs» (to ".equivs") # (find-available "equivs") ##### # # wajig # 2009aug18 # ##### # «wajig» (to ".wajig") # (find-status "wajig") # (find-vldifile "wajig.list") # (find-udfile "wajig/") # (find-udfile "wajig/README") # http://www.emacswiki.org/emacs/WajigMode # (find-man "1 wajig") # (find-sh "wajig -h") # (find-sh "wajig help") # (find-sh "wajig -v help") # (find-sh "wajig -vv help") # (find-sh "wajig commands") # (find-sh "wajig doc") # (find-man "1 wajig") # (find-fline "/usr/bin/gjig") # (find-fline "/usr/share/wajig/") ##### # # apt-cache # 2010nov12 # ##### # «apt-cache» (to ".apt-cache") # (find-es "dpkg" "dpkg-query") # (find-man "8 apt-cache") # (find-man "8 apt-cache" " search regex") # (find-sh "apt-cache") # (find-sh "apt-cache search flash") # (find-sh "apt-cache search flash | sort") # (find-sh "apt-cache dumpavail") # (find-man "1 grep-dctrl") # (find-sh "apt-cache dump | grep-dctrl -P flashplugin-nonfree") # (find-sh "apt-cache search flashplugin-nonfree") # (find-sh "apt-cache showpkg flashplugin-nonfree") # (find-sh "grep-aptavail -P flashplugin-nonfree") # (find-sh "apt-cache") # (find-sh "apt-cache showpkg flashplugin-nonfree") # (find-sh "apt-cache search flash | sort") # (find-efunction 'find-debpkg-links) # (find-debpkg-links "light-locker") ##### # # netselect-apt (not working well) # 2010nov27 # ##### # «netselect-apt» (to ".netselect-apt") # (find-es "net" "netselect") # (find-status "netselect") # (find-vldifile "netselect.list") # (find-udfile "netselect/") # (find-status "netselect-apt") # (find-vldifile "netselect-apt.list") # (find-udfile "netselect-apt/") # (find-man "1 netselect-apt") # (find-man "1 netselect") # (find-fline "/usr/bin/netselect-apt") # (find-fline "/usr/bin/netselect-apt" "run_netselect()") # http://www.debian.org/mirror/mirrors_full * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) R cd /tmp/ netselect -vvv www.de.debian.org www.debian.org www.br.debian.org netselect -vvv www.debian.org www.debian.at ftp.br.debian.org netselect -m 20 -vvv www.debian.org www.debian.at ftp.br.debian.org netselect -m 20 -vv www.debian.org www.debian.at ftp.br.debian.org ##### # # aptitude # 2011nov11 / 2019jan20 # ##### # «aptitude» (to ".aptitude") # (to "obsolete") # (find-status "aptitude") # (find-vldifile "aptitude.list") # (find-udfile "aptitude/") # (find-status "aptitude-doc") # (find-vldifile "aptitude-doc.list") # (find-udfile "aptitude-doc/") # (find-status "aptitude-doc-en") # (find-vldifile "aptitude-doc-en.list") # (find-udfile "aptitude-doc-en/") # (find-zsh "installeddebs | sort | grep aptitude") # (find-zsh "availabledebs | sort | grep aptitude") # file:///usr/share/doc/aptitude/html/en/ # file:///usr/share/doc/aptitude/html/en/ch02s04.html search patterns # file:///usr/share/doc/aptitude/html/en/ch02s04s05.html search term reference # file:///usr/share/doc/aptitude/html/en/ch02s04s05.html#searchObsolete aptitude -s remove python2.7 | grep 'will be freed' & After unpacking 9,728 kB will be freed. aptitude -s remove lua5.1 | grep 'will be freed' & After unpacking 315 kB will be freed. ##### # # apt (from the debian sources) # 2012mar05 # ##### # «apt-deb-src» (to ".apt-deb-src") # (find-es "debrepository" "apt-ftparchive") # (find-zsh "dmissing apt-ftparchive") # http://ftp.de.debian.org/debian/pool/main/a/apt/ # http://ftp.de.debian.org/debian/pool/main/a/apt/apt_0.8.10.3+squeeze1.dsc # http://ftp.de.debian.org/debian/pool/main/a/apt/apt_0.8.10.3+squeeze1.tar.gz #* rm -Rv ~/usrc/apt/ mkdir ~/usrc/apt/ cd $S/http/ftp.de.debian.org/debian/pool/main/a/apt/ cp -v apt_0.8.10.3+squeeze1* ~/usrc/apt/ cd ~/usrc/apt/ dpkg-source -sn -x apt_0.8.10.3+squeeze1.dsc cd ~/usrc/apt/apt-0.8.10.3+squeeze1/ dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb #* # (find-fline "~/usrc/apt/") * (eepitch-shell) cd ~/usrc/apt/ sudo dpkg -i *.deb #* # (code-c-d "apt" "~/usrc/apt/apt-0.8.10.3+squeeze1/") # (find-aptfile "") # (find-aptfile "ftparchive/") # (find-aptfile "ftparchive/apt-ftparchive.cc") # (find-aptfile "debian/NEWS") # (find-aptfile "doc/examples/") # (find-aptfile "doc/examples/apt-ftparchive.conf") # (find-udfile "apt-utils/examples/apt-ftparchive.conf") # http://people.connexer.com/~roberto/howtos/debrepository # http://www.debian-administration.org/articles/286 # (find-zsh "grep-available admin::package-management") # http://debtags.alioth.debian.org/tagindex/admin%3A%3Apackage-management.html ##### # # reprepro (from the debian sources) # 2012mar06 # ##### # «reprepro-deb-src» (to ".reprepro-deb-src") # http://ftp.de.debian.org/debian/pool/main/r/reprepro/ # http://ftp.de.debian.org/debian/pool/main/r/reprepro/reprepro_4.2.0-2squeeze1.dsc # http://ftp.de.debian.org/debian/pool/main/r/reprepro/reprepro_4.2.0-2squeeze1.debian.tar.gz # http://ftp.de.debian.org/debian/pool/main/r/reprepro/reprepro_4.2.0.orig.tar.gz #* rm -Rv ~/usrc/reprepro/ mkdir ~/usrc/reprepro/ cd $S/http/ftp.de.debian.org/debian/pool/main/r/reprepro/ cp -v reprepro_4.2.0* ~/usrc/reprepro/ cd ~/usrc/reprepro/ dpkg-source -sn -x reprepro_4.2.0-2squeeze1.dsc cd ~/usrc/reprepro/reprepro-4.2.0/ # dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb #* # (find-fline "~/usrc/reprepro/") * (eepitch-shell) cd ~/usrc/reprepro/ sudo dpkg -i *.deb #* # (code-c-d "reprepro" "~/usrc/reprepro/reprepro-4.2.0/") # (find-repreprofile "") # (find-status "reprepro") # (find-vldifile "reprepro.list") # (find-udfile "reprepro/") # http://mirrorer.alioth.debian.org/ ##### # # dpkg-source # 2012mar28 # ##### # «dpkg-source» (to ".dpkg-source") # (find-man "1 dpkg-source") # (find-man "1 dpkg-source" "--no-check") ##### # # add-apt-repository # 2014aug21 # ##### # «add-apt-repository» (to ".add-apt-repository") # (find-es "javascript" "nodejs-wheezy") # (find-fline "$S/https/deb.nodesource.com/setup") # (find-fline "$S/https/deb.nodesource.com/setup" "add-apt-repository") # (find-wget "https://deb.nodesource.com/setup" "add-apt-repository") # (find-es "apt" "add-apt-repository") # (find-man "1 add-apt-repository") # (find-fline "/etc/apt/sources.list.d/nodesource.list") ##### # # "The following packages have been kept back" # 2015dec06 / 2023jan26 # ##### # «kept-back» (to ".kept-back") # "The following packages have been kept back:" # http://unix.stackexchange.com/questions/38837/what-does-the-following-packages-have-been-kept-back-mean # http://www.debian-administration.org/article/69/Some_upgrades_show_packages_being_kept_back # https://debian-administration.org/article/69/Some_upgrades_show_packages_being_kept_back # https://www.techrepublic.com/article/how-to-fix-apts-the-following-packages-have-been-kept-back-issue/ # https://itslinuxfoss.com/fix-following-packages-have-been-kept-back-error/ # https://www.reddit.com/r/Ubuntu/comments/wfej65/the_following_packages_have_been_kept_back/ # https://askubuntu.com/questions/117088/aptitude-safe-upgrade-equivalence-with-apt-get # (find-man "8 aptitude") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo apt-get --with-new-pkgs upgrade # 2023jan26: sudo aptitude safe-upgrade sudo apt autoremove sudo apt-get autoremove # (find-man "8 apt-get") ##### # # apt-file # 2017jun14 # ##### # «apt-file» (to ".apt-file") # (find-status "apt-file") # (find-vldifile "apt-file.list") # (find-udfile "apt-file/") # (find-man "1 apt-file") # (find-man "1 apt-file" " find") # (find-man "1 apt-file" " search") # (find-man "1 apt-file" " update") # (find-man "1 rapt-file") # (find-man "1 diffindex-rred") # (find-man "1 diffindex-download") # (find-fline "/usr/bin/apt-file") # (find-fline "/usr/bin/rapt-file") # (find-fline "/usr/bin/diffindex-rred") # (find-fline "/usr/bin/diffindex-download") # (find-fline "/etc/apt/sources.list") # (find-fline "/etc/apt/sources.list.d/") # (find-fline "/etc/apt/apt-file.conf") # https://debian-administration.org/article/334/Finding_which_package_contains_a_file # http://askubuntu.com/questions/481/how-do-i-find-the-package-that-provides-a-file # (find-fline "/var/cache/apt/apt-file/") # Downloading complete file http://archive.ubuntu.com/ubuntu/dists/trusty/Contents-amd64.gz # Downloading complete file http://security.ubuntu.com/ubuntu/dists/trusty-security/Contents-amd64.gz # Downloading complete file http://archive.ubuntu.com/ubuntu/dists/trusty-updates/Contents-amd64.gz # (find-sh "apt-file search lualatex") # (find-sh "apt-file search stmaryrd") # (find-sh "apt-file search rsfs") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) sudo apt-file update ##### # # Backports # 2018abr24 # ##### # «backports» (to ".backports") # https://backports.debian.org/Instructions/ # https://wiki.debian.org/Backports # https://wiki.debian.org/SimpleBackportCreation # https://packages.debian.org/search?keywords=ocaml # (find-fline "/etc/apt/sources.list") # (find-asrootfile "/etc/apt/sources.list") deb http://deb.debian.org/debian buster-backports main contrib non-free ##### # # apt-get dist-upgrade # 2018mai17 # ##### # «dist-upgrade» (to ".dist-upgrade") # (find-man "8 apt-get") # (find-man "8 apt-get" " dist-upgrade") # https://www.debian.org/doc/manuals/debian-faq/uptodate.en.html # https://debian-handbook.info/browse/stable/sect.dist-upgrade.html # https://askubuntu.com/questions/81585/what-is-dist-upgrade-and-why-does-it-upgrade-more-than-upgrade ##### # # Listing the packages that were manually installed # 2018nov18 # ##### # «manually-installed» (to ".manually-installed") # https://stackoverflow.com/questions/41007182/debian-listing-all-user-installed-packages # https://unix.stackexchange.com/questions/369136/list-top-level-manually-installed-packages-without-their-dependencies # (find-status "apt") # (find-vldifile "apt.list") # (find-vldifile "apt.list" "/usr/bin/apt-mark") # (find-udfile "apt/") # (find-man "8 apt-mark") # (find-sh "apt-mark showmanual") apt-mark showmanual ##### # # apt-get build-dep # 2019jan15 # ##### # «build-dep» (to ".build-dep") # (find-man "8 apt-get" " build-dep") # (find-man "8 apt-get" " build-dep\n") ##### # # mk-build-deps # 2019jan15 # ##### # «mk-build-deps» (to ".mk-build-deps") # https://www.guyrutenberg.com/2017/09/23/use-mk-build-deps-instead-of-apt-get-build-dep/ # (find-status "devscripts") # (find-vldifile "devscripts.list") # (find-udfile "devscripts/") # (find-fline "/usr/bin/mk-build-deps") # (find-fline "/usr/share/devscripts/") # (find-fline "/usr/share/devscripts/conf.default") # (find-fline "/usr/share/devscripts/README.mk-build-deps") # (find-man "1 mk-build-deps") ##### # # get autoremove # 2019jan15 # ##### # «autoremove» (to ".autoremove") # The following packages were automatically installed and are no longer required: # linux-headers-4.4.0-139 linux-headers-4.4.0-139-generic # linux-image-4.4.0-139-generic linux-image-extra-4.4.0-139-generic # Use 'sudo apt autoremove' to remove them. # (find-man "8 apt" "autoremove") # (find-man "8 apt-get" " autoremove") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) sudo apt-get autoremove sudo apt autoremove ##### # # "Depends: ... but it is not going to be installed" # 2019jan19 # ##### # «not-going-to-be-installed» (to ".not-going-to-be-installed") The following packages have unmet dependencies: builddeps:network-manager : Depends: libgnutls-dev but it is not going to be installed E: Unable to correct problems, you have held broken packages. /home/edrx/usrc/NetworkManager(edrx:li)# apti libgnutls-dev Reading package lists... Done Building dependency tree 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: libgnutls-dev : Depends: libgnutls30 (= 3.4.10-4ubuntu1.4) but 3.5.18-1ubuntu1+8.0trisquel1 is to be installed Depends: libgnutls-openssl27 (= 3.4.10-4ubuntu1.4) but 3.5.18-1ubuntu1+8.0trisquel1 is to be installed Depends: libgnutlsxx28 (= 3.4.10-4ubuntu1.4) but 3.5.18-1ubuntu1+8.0trisquel1 is to be installed E: Unable to correct problems, you have held broken packages. <edrx> hi - this should be a standard question, keywords or key phrases for googling VERY welcome... <edrx> I'm trying to run "apt-get build-dep network-manager" but I'm getting this: <edrx> libgnutls-dev : Depends: libgnutls30 (= 3.4.10-4ubuntu1.4) but 3.5.18-1ubuntu1+8.0trisquel1 is to be installed <edrx> what is the standard way to fix this? hi - this should be a standard question, keywords or key phrases for googling VERY welcome... I'm trying to run "apt-get build-dep network-manager" on a Trisquel box but I'm getting this: "libgnutls-dev : Depends: libgnutls30 (= 3.4.10-4ubuntu1.4) but 3.5.18-1ubuntu1+8.0trisquel1 is to be installed" anyone knows a standard way to fix this? ##### # # Listing obsolete packages # 2019jan19 # ##### # «obsolete» (to ".obsolete") # (to "aptitude") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) aptitude search '?obsolete' # (find-man "8 aptitude") # (find-man "8 aptitude" "?") ##### # # apt-transport-https # 2019aug25 # ##### # «apt-transport-https» (to ".apt-transport-https") # (find-es "screencasts" "jitsi") # "E: The method driver /usr/lib/apt/methods/https could not be found." # https://unix.stackexchange.com/questions/263801/apt-get-fails-the-method-driver-usr-lib-apt-methods-https-could-not-be-found # https://unix.stackexchange.com/questions/338915/how-to-fix-apt-get-install-f-apt-transport-https-error-404-not-found * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) sudo apt-get -y install libcurl3-gnutls apt-transport-https # (find-status "apt-transport-https") # (find-vldifile "apt-transport-https.list") # (find-udfile "apt-transport-https/") ##### # # Upgrading from Stretch to Buster # 2019dec31 # ##### # «stretch-to-buster» (to ".stretch-to-buster") # https://linuxconfig.org/how-to-upgrade-debian-9-stretch-to-debian-10-buster # https://wiki.debian.org/DebianTesting # https://wiki.debian.org/DebianReleases # https://wiki.debian.org/DebianStretch # https://wiki.debian.org/DebianBuster * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) aptitude search '~i(!~ODebian)' sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo dpkg -C sudo apt-mark showhold sudo apt autoremove # (find-asrootfile "/etc/apt/sources.list") # (find-asrootfile "/etc/apt/sources.list_stretch") sudo apt update sudo apt list --upgradable sudo apt-get upgrade sudo apt-get dist-upgrade sudo dpkg --configure minissdpd ##### # # apt-pinning # 2021jan20 # ##### # «apt-pinning» (to ".apt-pinning") # http://jaqque.sbih.org/kplug/apt-pinning.html ##### # # apt-patterns # 2021sep06 # ##### # «apt-patterns» (to ".apt-patterns") # (find-man "7 apt-patterns") # (find-man "8 apt-get") # (find-man "8 apt") # (find-man "8 apt" "search (apt-cache(8))") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) dpkg-query -W 'libicu*' aptitude search '?installed ?name(libicu)' # (find-sh "dpkg-query -W 'libicu*'") # (find-sh "apt search 'libicu*'") # (find-debpkg-links "libicu") ##### # # config-x-www-browser # 2022apr04 # ##### # «config-x-www-browser» (to ".config-x-www-browser") • (eepitch-shell) • (eepitch-kill) • (eepitch-shell) sudo update-alternatives --config x-www-browser • (eepitch-shell) • (eepitch-kill) • (eepitch-shell) xdg-open https://www.lua.org/ # (find-bgprocess '("xdg-open" "https://www.lua.org/")) ##### # # dget # 2022aug18 # ##### # «dget» (to ".dget") # (find-status "devscripts") # (find-vldifile "devscripts.list") # (find-udfile "devscripts/") # https://wiki.debian.org/BuildingTutorial#Method_2:_dget # (find-man "1 dget") # (find-fline "/usr/bin/dget") ##### # # install-from-sid # 2022aug18 # ##### # «install-from-sid» (to ".install-from-sid") # (find-es "texinfo" "texinfo-6.8") # https://wiki.debian.org/DebianUnstable # https://superuser.com/questions/326684/how-to-install-a-single-package-from-debian-sid # https://wiki.debian.org/BuildingTutorial#Method_1:_apt_source # https://wiki.debian.org/BuildingTutorial#Method_2:_dget # http://packages.debian.org/sid/texinfo # http://packages.debian.org/source/sid/texinfo # http://deb.debian.org/debian/pool/main/t/texinfo/texinfo_6.8-6.dsc # (find-apt-get-source-links "texinfo") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-sh "apt-cache show texinfo") # (find-sh "apt-cache showsrc texinfo") rm -Rv /tmp/d/ mkdir /tmp/d/ cd /tmp/d/ sudo apt-get build-dep -y texinfo dget http://deb.debian.org/debian/pool/main/t/texinfo/texinfo_6.8-6.dsc # (find-fline "/tmp/d/") cd /tmp/d/texinfo-6.8/ debuild -b -uc -us cd /tmp/d/ laf *.deb ls *.deb | grep -v dbgsym sudo dpkg -i $(ls *.deb | grep -v dbgsym) ##### # # grep-aptavail # 2022sep05 # ##### # «grep-aptavail» (to ".grep-aptavail") # (find-status "dctrl-tools") # (find-vldifile "dctrl-tools.list") # (find-udfile "dctrl-tools/") # (find-man "1 grep-dctrl") # (find-man "1 grep-dctrl" "Output format modifiers") # (find-man "1 grep-aptavail") # (find-man "1 grep-available") # (find-man "1 grep-debtags") # (find-man "1 grep-status") # (find-debpkg-links "emacs") # (find-sh "grep-aptavail --help") # (find-sh "grep-aptavail -P emacs") # (find-sh "grep-aptavail -d -P emacs") # (find-sh "grep-aptavail -s Description -P emacs") # (find-sh "grep-aptavail -s Package -P emacs") # (find-sh "grep-aptavail -s Package,Version -P emacs") # (find-sh "grep-aptavail -s Package,Version,Section -P emacs") # (find-sh "grep-aptavail -FSection web") # (find-sh "grep-aptavail -FSection web -s Package,Description") # (find-sh "grep-status -FSection web -s Package,Description") # (find-sh "grep-status -FSection web -s Package") # (find-sh "grep-status -FSection web -s Package | sort") # (find-sh "grep-status -FSection httpd -s Package | sort") # (find-sh "locate systemd") # (find-status "minissdpd") # (find-vldifile "minissdpd.list") # (find-udfile "minissdpd/") # (find-fline "/usr/lib/minissdpd/minissdpd-systemd-wrapper") /home/edrx/ORG(edrx:ci)# sudo dpkg --configure minissdpd Setting up minissdpd (1.5.20190210-1) ... debconf: unable to initialize frontend: Dialog debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) debconf: falling back to frontend: Readline Job for minissdpd.service failed because the control process exited with error code. See "systemctl status minissdpd.service" and "journalctl -xe" for details. invoke-rc.d: initscript minissdpd, action "restart" failed. * minissdpd.service - keep memory of all UPnP devices that announced themselves Loaded: loaded (/lib/systemd/system/minissdpd.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Tue 2019-12-31 08:06:48 -03; 10ms ago Docs: man:minissdpd(1) Process: 29874 ExecStart=/usr/lib/minissdpd/minissdpd-systemd-wrapper ${MiniSSDPd_INTERFACE_ADDRESS} $MiniSSDPd_OTHER_OPTIONS (code=exited, status=1/FAILURE) Main PID: 699 (code=exited, status=0/SUCCESS) Dec 31 08:06:48 circe systemd[1]: Starting keep memory of all UPnP devices that announced themselves... Dec 31 08:06:48 circe minissdpd-systemd-wrapper[29874]: Usage: /usr/sbin/minissdpd [-d] [-6] [-s socket] [-p pidfile] [-t TTL] [-f device] -i <interface> [-i <interface2>] ... Dec 31 08:06:48 circe minissdpd-systemd-wrapper[29874]: <interface> is either an IPv4 address with mask such as Dec 31 08:06:48 circe minissdpd-systemd-wrapper[29874]: 192.168.1.42/255.255.255.0, or an interface name such as eth0. Dec 31 08:06:48 circe minissdpd-systemd-wrapper[29874]: By default, socket will be open as /var/run/minissdpd.sock Dec 31 08:06:48 circe minissdpd-systemd-wrapper[29874]: and pid written to file /var/run/minissdpd.pid Dec 31 08:06:48 circe systemd[1]: minissdpd.service: Control process exited, code=exited status=1 Dec 31 08:06:48 circe systemd[1]: Failed to start keep memory of all UPnP devices that announced themselves. Dec 31 08:06:48 circe systemd[1]: minissdpd.service: Unit entered failed state. Dec 31 08:06:48 circe systemd[1]: minissdpd.service: Failed with result 'exit-code'. dpkg: error processing package minissdpd (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: minissdpd /home/edrx/ORG(edrx:ci)# systemctl status minissdpd.service sudo journalctl -xe |& tee /tmp/o # (find-fline "/tmp/o") https://lists.debian.org/debian-user/2018/02/msg00037.html # (find-fline "/etc/default/minissdpd") # (find-asrootfile "/etc/default/minissdpd") Dec 31 12:30:32 circe systemd[1]: Starting keep memory of all UPnP devices that announced themselves... Dec 31 12:30:32 circe minissdpd-systemd-wrapper[1334]: Usage: /usr/sbin/minissdpd [-d] [-6] [-s socket] [-p pidfile] [-t TTL] [-f device] -i <interface> [-i <interface2>] ... Dec 31 12:30:32 circe minissdpd-systemd-wrapper[1334]: <interface> is either an IPv4 address with mask such as Dec 31 12:30:32 circe minissdpd-systemd-wrapper[1334]: 192.168.1.42/255.255.255.0, or an interface name such as eth0. Dec 31 12:30:32 circe minissdpd-systemd-wrapper[1334]: By default, socket will be open as /var/run/minissdpd.sock Dec 31 12:30:32 circe minissdpd-systemd-wrapper[1334]: and pid written to file /var/run/minissdpd.pid quilt # Debian cheat sheet: # http://carlo17.home.xs4all.nl/howto/debian.html # 2008jan29: # (find-fline "/etc/apt/sources.list") deb file:/dvds/etch/debian etch main contrib deb http://ftp.squeak.org/debian/ stable main deb http://ftp.debian.org/ etch main contrib non-free deb file:/dvds/etch/debian etch main contrib # (find-dekooningfile "") # Local Variables: # coding: utf-8-unix # End: