Enable Community Repository: Difference between revisions
m (Correction of some english typo) |
(edited for grammar and clarity) |
||
Line 1: | Line 1: | ||
Alpine software repositories have main packages and contributions made. Each Alpine release | Alpine software repositories have main packages and contributions made. Each Alpine release has two branches of repositories. The '''/community''' repository of each Alpine release contains community supported packages that were accepted from the '''/testing''' repository. Only '''/main''' repository of each version of Alpine release are supported for some Main Alpine Developers and Man Powers. | ||
* ''' | * '''Main packages''' are the Alpine package software that have direct support and updates from the Alpine core and main team, also have official documentation. Are always available for all releases and will have substitutions if some are not continued from upstream. Commonly those packages are selected due their responsibility and stability respecting upstream availability. Packages from ''testing'' that performs well or are mature goes to ''main'' branch. | ||
* ''' | * '''Community packages''' are those made by users in team with the official developers and well near integrated to the Alpine packages. Those have supported by those user contributions and could end if the user also ends respect with Alpine work, but may be removed in a future release due lack of support by upstream author. Packages from ''testing'' that are accept goes to ''community'' branch. | ||
* ''' | * '''Testing''' packages come into testing or edge repositories and are those made by any contributor on Alpine, the edge, this branch of repository has no release linked or related of Alpine. Those are in ''edge'' and when accepted goes to ''testing''. | ||
For | For further information check [[Alpine_newbie#APK|Alpine newbie APK]] section wiki page. | ||
== Using community repositories | == Using community repositories == | ||
The '''community''' repository was introduced with Alpine Linux version 3.3. To enable the repository, edit the file {{Path|/etc/apk/repositories}} using an editor ({{Pkg|nano}} for instance) and add (or uncomment) a line that points to the "community" directory, formatted as in: | The '''community''' repository was introduced with Alpine Linux version 3.3. To enable the repository, edit the file {{Path|/etc/apk/repositories}} using an editor ({{Pkg|nano}} for instance) and add (or uncomment) a line that points to the "community" directory, formatted as in: | ||
Line 16: | Line 16: | ||
After enabling the community repository, one needs to obtain the latest index of available packages with: | After enabling the community repository, one needs to obtain the latest index of available packages with: | ||
{{Cmd|apk update}} | {{Cmd|apk update}} | ||
=== Using specific version from testing or another version === | === Using specific version from testing or another version === | ||
Line 28: | Line 26: | ||
That will upgrade packages only until the specified version. You can then safely use <code>apk upgrade</code> to upgrade all packages, while packages with versions will remain with their version. To set a minimum version just use … | That will upgrade packages only until the specified version. You can then safely use <code>apk upgrade</code> to upgrade all packages, while packages with versions will remain with their version. To set a minimum version just use … | ||
== Using testing repositories | == Using testing repositories == | ||
The '''testing''' repository was introduced with Alpine Linux edge development. To enable the repository, edit the file {{Path|/etc/apk/repositories}} using an editor ({{Pkg|nano}} for instance) and add a line that points to the "testing" directory, formatted as in: | The '''testing''' repository was introduced with Alpine Linux edge development. To enable the repository, edit the file {{Path|/etc/apk/repositories}} using an editor ({{Pkg|nano}} for instance) and add a line that points to the "testing" directory, formatted as in: | ||
Line 39: | Line 36: | ||
{{Cmd|apk update}} | {{Cmd|apk update}} | ||
Inexperienced users should not enable this | Inexperienced users should not enable this. | ||
=== Using packages from testing (edge) === | === Using packages from testing (edge) === | ||
Line 45: | Line 42: | ||
Never pin packages from the "edge" branch of the alpine package repo, as these are in test and may be revoked. (At pkgs.alpinelinux.org/packages, click "edge" and change it to the alpine image version you use, and click "search" again.) | Never pin packages from the "edge" branch of the alpine package repo, as these are in test and may be revoked. (At pkgs.alpinelinux.org/packages, click "edge" and change it to the alpine image version you use, and click "search" again.) | ||
Inexperienced users should not enable this | Inexperienced users should not enable this. | ||
== NOTES about using package versions == | == NOTES about using package versions == | ||
Line 53: | Line 50: | ||
Alternately, you could simply set a minimum package version instead of an exact version. | Alternately, you could simply set a minimum package version instead of an exact version. | ||
We don't at the moment have resources to store all built packages indefinitely in our | We don't at the moment have resources to store all built packages indefinitely in our infrastructure. Thus we currently keep only the latest for each stable branch. | ||
= See also = | = See also = | ||
* [[Alpine_newbie#APK| | * [[Alpine_newbie#APK|Alpine newbie APK]] | ||
[[Category:Package Manager]] | [[Category:Package Manager]] |
Revision as of 03:22, 4 May 2021
Alpine software repositories have main packages and contributions made. Each Alpine release has two branches of repositories. The /community repository of each Alpine release contains community supported packages that were accepted from the /testing repository. Only /main repository of each version of Alpine release are supported for some Main Alpine Developers and Man Powers.
- Main packages are the Alpine package software that have direct support and updates from the Alpine core and main team, also have official documentation. Are always available for all releases and will have substitutions if some are not continued from upstream. Commonly those packages are selected due their responsibility and stability respecting upstream availability. Packages from testing that performs well or are mature goes to main branch.
- Community packages are those made by users in team with the official developers and well near integrated to the Alpine packages. Those have supported by those user contributions and could end if the user also ends respect with Alpine work, but may be removed in a future release due lack of support by upstream author. Packages from testing that are accept goes to community branch.
- Testing packages come into testing or edge repositories and are those made by any contributor on Alpine, the edge, this branch of repository has no release linked or related of Alpine. Those are in edge and when accepted goes to testing.
For further information check Alpine newbie APK section wiki page.
Using community repositories
The community repository was introduced with Alpine Linux version 3.3. To enable the repository, edit the file /etc/apk/repositories using an editor (nano for instance) and add (or uncomment) a line that points to the "community" directory, formatted as in:
https://<mirror-server>/alpine/<version>/community
After enabling the community repository, one needs to obtain the latest index of available packages with:
apk update
Using specific version from testing or another version
You can set "sticky" versions like this:
apk add packagename=1.2.3-suffix
apk add 'packagename<1.2.3-suffix'
That will upgrade packages only until the specified version. You can then safely use apk upgrade
to upgrade all packages, while packages with versions will remain with their version. To set a minimum version just use …
Using testing repositories
The testing repository was introduced with Alpine Linux edge development. To enable the repository, edit the file /etc/apk/repositories using an editor (nano for instance) and add a line that points to the "testing" directory, formatted as in:
https://<mirror-server>/alpine/edge/testing
After enabling the testing repository, one needs to obtain the latest index of available packages with:
apk update
Inexperienced users should not enable this.
Using packages from testing (edge)
Never pin packages from the "edge" branch of the alpine package repo, as these are in test and may be revoked. (At pkgs.alpinelinux.org/packages, click "edge" and change it to the alpine image version you use, and click "search" again.)
Inexperienced users should not enable this.
NOTES about using package versions
Pinning a package to an exact version carries the risk that the package will be dropped from the repo, and your Dockerfile will fail to build in the future. The official recommendation can be read here, citation below.
Alternately, you could simply set a minimum package version instead of an exact version.
We don't at the moment have resources to store all built packages indefinitely in our infrastructure. Thus we currently keep only the latest for each stable branch.