Difference between revisions of "Alpine newbie"

From Alpine Linux
Jump to: navigation, search
(Tutorial series: -> Document series)
m (APK quick usage demostration)
Line 48: Line 48:
|Searching for packages
|Searching for packages
|<code>apk search package/code>
|<code>apk search package</code>
|Installing a package
|Installing a package
Line 62: Line 62:
|<code>apk upgrade -U -a</code>
|<code>apk upgrade -U -a</code>
==== Alpine APK in deep for newbies ====
==== Alpine APK in deep for newbies ====

Revision as of 13:36, 12 August 2019

Note: This document will details all the parts that conforms the Alpine Operating System, see the overview at Newbie Alpine Ecosystem page.

Alpine Linux is designed for power users, security, simplicity and resource efficiency That explain the efficiency and minimalist and non-automatic setup of any thing.

An installation of Alpine are really what you want where you want, due you really know what you do, as you can note a real Linux OS for real Linux users.

In next sections you will find general topic about the main information necessary to start in the powered Alpine world related to the newbie behavior.

Feature Differences

Has fourth main differences:

  1. Alpine Linux is built around musl libc and not glibc
  2. Main commands are derived from busybox and suckless.
  3. Alpine Linux are minimalist.. you must know so are made for Linux users
  4. Alpine Linux so then are faster!

Main target of Alpine in Linux world are containers and embedded devices.. so if you will think that the what-ever-desktop you installed will be auto configured you are wrong.. that's, the true and main power difference of Alpine it's admins must know and really have it the real power!


All the users have different targets.. for many Linux and/or Unix-like users widely most common are the actual work of developing your application to respond appropriately in each environment, but that not means Alpine are only to those users, you may also face issues with tracking down dependencies, scaling your application, and updating individual components without affecting the entire system, a good installation will prevent part of that issues.

You believe that every system needs a DVD disc, or a USB to install it?, but Alpine may not even need it, so much so that it can even boot from its phone memory. Obviously the more exquisite the more complicated method.

Tip: The following wiki pages list the easiest of the already diverse modes (which are more than those listed here obviously), the numbers are to reflects the most likely way for you and the most common cases to the less common case, but for sure depends on your choice and your needs of course:
  1. Alpine Install: from a disc to a virtualbox machine single only, install Alpine into VirtualBox virtual machine, use if you have a VirtualBox virtual machine and only wants to take a shoot into it.
  2. Alpine Install: from a disc to a new computer single only boot, install Alpine into real modern machine by burning a CD/DVD disc that will boot if you have a UEFI or newer hardware and will be only Alpine into it.
  3. Alpine Install: from a disc to a old computer single only boot, install Alpine into real most common machine by burning a CD/DVD disc that will boot if you have common older hardware and will be only Alpine into it.
  4. Alpine Install: from a usb to a new computer single only boot, install Alpine into real modern machine by creating USB drive unit that will boot if you have a UEFI or newer hardware and will be only Alpine into it.
  5. Alpine Install: from a usb to a old computer dual boot linux Debian, install Alpine into most common machine by creating USB drive unit that will boot if you have common older hardware and will be other Linux as main OS.
  6. Alpine Install: from a usb to a old computer dual boot linux Alpine, install Alpine into most common machine by creating USB drive unit that will boot if you have common older hardware and will be Alpine as main OS.


Alpine take the better from two worlds, package installation like from Debian and package building like from Geento/Arch, and as in many distributions have been done, it have main packages and contributions made.

  • About the main packages: Main packages are the Alpine package software that have direct support adn updates from the Alpine core and main team, also have official special documentation. Are always available for all releases and will have almost substitutions if some are not continued from upstream.
  • About the contribution ones: User package contribution repositories are those made by users 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, by example could not have substitution in next release due lack of knowledge of the user maintainer.

APK quick usage demostration

As new user you can read the Alpine newbie apk packages page.. but please read the rest of this section to introduce to:

The apk package manager
Searching for packages apk search package
Installing a package apk add package1 package2
List installed packages apk version -l
Uninstall packages apk del package1 package2
Upgrade packages apk upgrade -U -a

Alpine APK in deep for newbies

Alpine users have two resources for the packaging management, the https://pkgs.alpinelinux.org/packages page for search friendly way, and the apk itself infrastructure usage.

Alpine APK local infrastructure
  • /sbin/apk : the command that provides, admin and manages the get of the packages of software
  • /etc/apk/ : place of the configurations files for the apk infrastructure
  • /etc/apk/cache : on place dir for local cache downloaded packages from the repositories
Alpine APK repositories

The software installed to Alpine comes from two places, a repositories with the following structure: http://<host>/alpine/<version>/<brach> (an URl that can be invoked from /etc/apk/repositories) and original upstream sources.

Alpine PAKS infrastructures

Software packages for Alpine Linux are digitally signed tar.gz archives containing programs, configuration files, and dependency metadata. They have the extension .apk, and are often called "a-packs".


The desktop environment in Alpine have two focus: official desktop for alpine as Xfce4 and community contributed desktops as Mate, LXDE. Main information about the desktops options on Alpine are in the Alpine_newbie_desktops wiki page, here in this section will be a overall of.

Alpine Desktops: Official Desktops

There's two official supported desktops, XFCE Desktop Environment as Main and LXDE Desktop as optional, that obviously make also optional the Openbox Window Manager.

  1. Alpine Newbies XFCE Desktop Environment
  2. Alpine Newbies LXDE Desktop Environment
  3. Alpine Newbies Openbox Window Manager

Alpine Desktops: Community Contributions

There's some contributions dekstops made available using the Community Repository Packages, those are not officially supported (those that make contribution are the ones that support those desktops):

  1. Alpine Newbies MATE Desktop Environment

Alpine Desktops: Upstream and external ones

All of the original upstream desktop can be installed by the traditional *nix-like method by downloading the sources from origin and compiling it.

  1. Alpine Newbies LXQT Desktop Environment


In earlier days, Alpine used a separate Gentoo build environment. Nowadays we can build in Alpine environment itself.

There's many kind of developers.. more are Distro targeted (like Alpine package development), others web orientes as Front-end web development or a Back-End Web Developer (like webpage design or applications services) , and others DevOpts (backend programing and/or software development (Dev) and information-technology operations (Ops))

In DevOpts and/or Web Development, Whatever will be, installation of the devel tools are the next step: the alpine-sdk is a metapackage that pulls in the most essential packages used to development environments; Also the crosstool-ng if you will setup different architectures or cross-compiling.

For development of packages.. there's two branchs: using the Alpine edge branch or using the Alpine stable, the only difference are the target, edge used the most up to date but not well tested software packages and the results are for the next Alpine releases. The recommendation to develop packages for newbies, are using Alpine Linux in a chroot, later when users got more experience.. must move to others way to develop packages.. at the actual status of a newbie it's the most easy and faster way.

All the Development process are detailed for newbie users in the Alpine newbie developer page.


Document series

Previous required What's next to read
Newbie Alpine Ecosystem Alpine newbie install manual

See Also

  1. Alpine newbie
  2. Alpine newbie install manual
  3. Alpine newbie apk packages
  4. Alpine newbie desktops
  5. Alpine newbie developer
  6. Alpine newbie lammers