Alpine newbie

From Alpine Linux
Revision as of 11:05, 29 August 2020 by IsakBSD (talk | contribs) (→‎Lammers)
Jump to navigation Jump to search
Note: This document will details overall of the Alpine Operating System for new users, see the overview at Newbie Alpine Ecosystem page.

Alpine Linux is designed for power users, with security, simplicity and resource efficiency in mind.

Feature Differences

Alpine Linux is different from most other Linux distros in a few ways:

  1. it is built around musl libc, not glibc, which means there might be incompatibilites with some packages
  2. its main utilities (coreutils) are derived from busybox and suckless, but GNU coreutils can be installed
  3. it uses a hardened Linux kernel by default, but offers an optional vanilla original kernel for desktop users
  4. it compiles all userspace binaries as position-independent executables with stack-smashing protection

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.


Alpine installation are very flexible, maybe many Linux and/or Unix-like most common usage are the actual work of developing, but that not means Alpine are only to those users. Main leader target of Alpine are containers and almost all embedded devices as great example..

Here you have the most common case of, but please continue reading next section for complete overall of the Alpine software packages.

  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 burn a disc that will boot if you have a UEFI or newer hardware and will be only Alpine into it through CD/DVD drive.
  3. Alpine Install: from a disc to a old computer single only boot, install Alpine into real most common machine by burn a disc that will boot if you have common older hardware and will be only Alpine into it through CD/DVD drive.
  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 through USB drive.
  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 through USB boot.
  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 through USB boot.

For most install cases and installation overall, you can view the Alpine newbie install manual page.


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". As new user you can read the Alpine newbie apk packages page.. but please read the rest of this section to introduce to:

The programs, the software installed to Alpine comes from two places: repository with the following structure: http://<host>/alpine/<version>/<branch> (an URl that can be invoked with apk listed in the /etc/apk/repositories file) and original upstream sources (those compiled as Unix-like traditional way).

Are managed with the apk command, located at /sbin/apk, it uses /etc/apk/ place for the configurations files, and stores all downloaded "a-packs" files in /etc/apk/cache from the repositories before unpacks and put the package files compiled into the installed system.

Alpine Software Packages

Alpine software repositories have main packages and contributions made. Each Alpine release have two brach 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.

  • About the main packages: Main packages are the Alpine package software that have direct support and 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. Commonly those packages are selected due their responsibility and stability respect upstream availability. Those are in testing and when performs well or are mature goes to main branch.
  • About the contribution ones: User package contribution repositories 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, by example could not have substitution in next release due lack of support by upstream author. Those are in testing and when accepted goes to community branch.
  • About the testing ones: New packages come into testing repositories of edge Alpine version and are those made by any contributor or man power on Alpine, the edge is unstable current development, this branch of repository has no release linked or related of Alpine. Those are in testing and when accepted goes to community.

Please check Alpine_package_management_behavior section of newbie user wiki.

Alpine APK user resources

Alpine new users have two resources for the packaging management, the page for search friendly way, and the Alpine newbie apk packages page that describes how to use the apk-tool easy.

APK quick usage overview

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


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

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

There's some contributions desktop available using the Community Repository Packages like the MATE Desktop environment due some others need Wayland that has some compatibility problems.

All of the original upstream desktop can be installed by the traditional Unix-like method by downloading and compiling it. All the need information about Alpine Desktop choices are in the Alpine newbie desktops wiki page, now at this point you can continue reading this document or choose an option to use such desktops.


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 oriented as Front-end web development or a Back-End Web Developer (like webpage design or applications services) , and others DevOps (backend programming and/or software development (Dev) and information-technology operations (Ops))

In DevOps 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.


Try to be a skilled computer expert? Alpine provides best of, due if not you will be a a script kiddie, skiddie, or skid is an unskilled individual who uses scripts or programs developed by others. With Alpine you will learn all need to become real hacker and not a Cracker or Lamer.

Most distributions has too close and modified versions of own flavors of commands and administration tools.. so that demonstrates that with Alpine Linux you will learn true core Linux administration knowledge. The specific related pages are under the Alpine Hacking Ecosystem wiki page.

The terms "hacker" becomes popular due some tricks made to very stupid systems in old days, but today most of those people were only "lamer", due now Unix and Linux are the most used systems to powered the Internet/DataCenters based servers, such as web servers, mail servers or DNS servers on the Internet: the operating systems powering such servers are found by inspecting raw response messages. All of them are the reason of why today are not so famous viruses that exploit so many systems, also security holes are quickly mitigated with updates thanks to the networking and internet repositories. Learn real Linux (like Alpine) provides a good way to understand better that powered world.

Source Date Unix-like M$ like
All Linux FreeBSD Unknown
W3Techs Feb 2015 67.8% 35.9% 0.95% 30.9% 32.3%
Security Space Feb 2014 <79.3% >20.7%
W3Cook July 2015 98.1% 96.4% 1.7% 0% 1.9%
Stats to demonstrate the dominion of the Linux Operating System in servers targeting

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