linux - How are apt-get Repositories Hosted/Managed/Architected? -
whether i'm setting new vps somewhere or installing ubuntu iso on old computer have sitting around, when want favorite programming enviornment setup need type
sudo apt-get install foo baz bar
and computer -- does something -- , @ end have software i'm after.
how work? apt-get
downloading precompiled binaries? or downloading source , building things me? or sort of other packaged thing installing? or three? regardless of which, who's building these binaries, managing these build recipes, or putting these packages? whatever apt-get doing -- bits sending me served from?
i'm vaguely aware composer/vps have list of apt-get
repositories checks packages. these feeds hosted on http server somewhere point @ things? or else? hosts these feeds?
when i'm using package manager composer (for php), know there's master list of packages @ packagist.org composer repository, user can specify other packages repositories, , repositories point version control systems package's source files stored. i'd have similar high level understanding of how apt-get
works.
i realize impossibly broad question -- pointers towards in fm read how gets tied acceptable answer me. (although if you're passionate linux package management please don't let stop answering)
my experience based on debian , ubuntu:
where apt-get software from?
by choosing distribution ubuntu 16.04 system installing bootstrap image has package repositories configured. apt-get
gets software installing/updating repositories. repositories system have configured in file /etc/apt/sources.list
. example installation of ubuntu 16.04 on vps @ german provider contains following lines point own mirrored package repositories:
deb http://mirror.hetzner.de/ubuntu/packages xenial main restricted universe multiverse deb http://mirror.hetzner.de/ubuntu/packages xenial-backports main restricted universe multiverse deb http://mirror.hetzner.de/ubuntu/packages xenial-updates main restricted universe multiverse deb http://mirror.hetzner.de/ubuntu/security xenial-security main restricted universe multiverse
(i left out) there many mirrored repositories run universities, companies, hosting providers etc.
what's in repository?
each of repositories has 1 or more index files contain lists of packages in it. apt-get
can determine packages available , solve dependencies. apt-get
installs/updates software repositories downloading packages via ftp or http , installing them program dpkg
.
the package format used debian based distributions (like ubuntu) .deb. contains binaries there different .deb files each architecture distribution supports "amd64" or "arm64" has match architecture of system. can .deb packages contain program source build software (lines startting deb-src
in /etc/apt/sources.list
).
who makes packages?
each package maintained 1 ore more package maintainers. take releases of original software - called "upstream" in context - , package them .deb put onto package repository. whole toolchain packaging exists automated testing/building/archiving based on package recipe.
Comments
Post a Comment