PULL-PKG(1)

πŸ’… PULL-PKG πŸ’…

okay bestie, so this is a General Commands Manual page, pull-pkg(1), and it's genuinely one of the most useful lil tools in the whole ubuntu-dev-tools fam. sit down, grab a boba, let's go πŸ§‹βœ¨


✨ NAME ✨

pull-pkg β€” download a package for Debian, Ubuntu, UCA, or a PPA 🫢


🌈 SYNOPSIS 🌈

pull-pkg [options] <package name> [release|version]

πŸ’– DESCRIPTION πŸ’–

so like, pull-pkg downloads the version of <package name> you ask for, or literally the latest version from the release you name. iconic behaviour, no notes.

if you want a version from a particular pocket, you say release-pocket β€” and there's a magic one, -release, that means only the release pocket. if you don't specify a pocket at all, every pocket gets searched except -backports. and if you don't specify a version or a release either? it just grabs the latest version in the development release. easy. slay. πŸ’…

now here's the part where it gets really cute: there are convenience scripts that already set your pull type and distribution for you, so you don't have to type all that out. obsessed:

  • pull-lp-source, pull-lp-debs, pull-lp-ddebs, and pull-lp-udebs β€” all pull Ubuntu packages
  • pull-debian-source, pull-debian-debs, pull-debian-ddebs, and pull-debian-udebs β€” all pull Debian packages
  • pull-uca-source, pull-uca-debs, pull-uca-ddebs, and pull-uca-udebs β€” all pull Ubuntu Cloud Archive packages
  • pull-ppa-source, pull-ppa-debs, pull-ppa-ddebs, and pull-ppa-udebs β€” all pull from a specified Personal Package Archive on Launchpad

and each one pulls the file type that's literally right there in its name, i.e. source, debs, ddebs, or udebs. the way that the name just tells you?? main character energy fr fr. πŸ‘‘


✨ OPTIONS ✨

here's the whole lineup of command line options for pull-pkg, bestie. every single one. we do not skip. πŸ’–

  • package name β€” this is the name of the package to be downloaded. you can use either the source package name, or the binary package name. either one works, we're not picky πŸŽ€
  • version β€” this is the version of the package to be downloaded.
  • release β€” this is the release to download from. for debian, you can use either the release name like jessie or sid, or you can use the special release names unstable, stable, or testing. for ubuntu, you can use either the release name like xenial or the release-pocket like xenial-proposed. for ubuntu cloud archive (uca) you can use either the uca release name like mitaka or the ubuntu and uca release names like trusty-mitaka. defaults to the current development release. 🌸
  • -h, --help β€” display a help message and exit. your lil emergency exit door πŸšͺ✨
  • -v, --verbose β€” be verbose about what is being done. it'll narrate its life to you, and honestly? we love a transparent queen πŸ’…
  • -d, --download-only β€” do not extract the source package (this only applies to source packages, jsyk). download and chill, no unpacking πŸ›‹οΈ
  • -m MIRROR, --mirror=MIRROR β€” use the specified mirror server. should be in the form http://archive.ubuntu.com/ubuntu or http://deb.debian.org/debian. if you don't specify one, or if the package isn't found on the mirror you specified, this will fall back to the default mirror(s) and/or mirror(s) from environment variables, and then will fall back to Launchpad or Debian Snapshot. and yes, you can specify this multiple times to try multiple mirrors. it's giving backup plan, backup backup plan πŸ”₯
  • --no-conf β€” do not use mirrors from the default configuration, or from any environment variables. just... none of them. going rogue, respect 🫑
  • -a ARCH, --arch=ARCH β€” get binary packages from the ARCH architecture. defaults to the local architecture, if it can be deteected. (yes, "deteected". we're keeping the typo, it's canon now πŸ˜­πŸ’€)
  • -p PULL, --pull=PULL β€” what to pull: source, debs, ddebs, udebs, or list. the list action only lists all a package's source and binary files, but does not actually download any. defaults to source. 🌈
  • -D DISTRO, --distro=DISTRO β€” pull from: debian, uca, ubuntu, or a ppa. lp can be used instead of ubuntu. any string containing cloud can be used instead of uca. if pulling from a ppa, you must specify the PPA. defaults to ubuntu. πŸ’œ
  • --ppa=ppa:USER/NAME β€” applies only when distro is ppa. can be provided either as a value to the --ppa option parameter, or as a plain option (like release or version). when specified as a plain option, the form must be ppa:USER/NAME; when specified as a value to the --ppa option parameter, the leading ppa: is optional. flexible but with ✨rules✨, iykyk πŸŽ€

🌸 ENVIRONMENT 🌸

all of the CONFIGURATION VARIABLES down below are also supported as environment variables, bestie. and listen: variables in the environment take precedence over those in configuration files. env wins, periodt. πŸ’…


πŸ¦‹ CONFIGURATION VARIABLES πŸ¦‹

the following variables can be set in the environment or in ubuntu-dev-tools(5) configuration files. and in each case, the script-specific variable takes precedence over the package-wide variable. hierarchy matters, we respect the chain of command πŸ‘‘

  • UBUNTUTOOLS_UBUNTU_MIRROR β€” the default mirror. 🌈
  • PULL_PKG_UBUNTU_MIRROR β€” the default mirror when using the pull-pkg script. πŸŽ€
  • PULL_[LP|DEBIAN|PPA|UCA]_[SOURCE|DEBS|DDEBS|UDEBS]_MIRROR β€” the default mirror when using the associated script. the square brackets go crazy, so many combos, so many vibes ✨

πŸ’œ SEE ALSO πŸ’œ

go read these too, they're all part of the friend group:

dget(1), pull-lp-source(1), pull-lp-debs(1), pull-lp-ddebs(1), pull-lp-udebs(1), pull-debian-source(1), pull-debian-debs(1), pull-debian-ddebs(1), pull-debian-udebs(1), pull-ppa-source(1), pull-ppa-debs(1), pull-ppa-ddebs(1), pull-ppa-udebs(1), pull-uca-source(1), pull-uca-debs(1), pull-uca-ddebs(1), pull-uca-udebs(1), pull-debian-debdiff(1), ubuntu-dev-tools(5)


🫢 AUTHOR 🫢

pull-pkg was written by Dan Streetman <ddstreet@canonical.com>, based on the original pull-lp-source; it and this manual page were written by Iain Lane <iain@orangesquash.org.uk>. all of them are released under the GNU General Public License, version 3 or later. give them their flowers, they earned them πŸ’πŸ‘‘


and that's the whole page, bestie!! this one's from the ubuntu-dev-tools manual, version dated 28 August 2017. go forth and pull those packages, you absolute legend πŸ¦‹βœ¨πŸ’–