19-04-2021



Up untill recently, using bitbucket pipelines with the alpine:latest image, I was able to simple run apk add python3 and with that I got the joys of pip3. Not exactly sure when this regression.

  1. Apk Install Alpine Fire
  2. Apk Install Telnet Alpine
  3. Apk Install Alpine Camera
  4. Apk Install Python Alpine
  5. Apk Install Chrome Alpine
  • 1New users: hostname and network wired connection
    • 1.2Network configuration
  • 2New users: common needed package to install
  • 3New users: management of users and logins
  • 5Alpine package management behavior
    • 5.3Alpine APK quick infrastructure

As explained in Alpine Linux:Overview, the system always will be minimalist, so if you expected a behavior like others fancy windows made linux, you are wrong: that's not the case here!

  1. Alpine Linux uses the OpenRC init system to start services. Don't confuse OpenRC init with our system init (the first process that is executed aka pid 1). Many of the current init.d script found in Alpine Linux are taken from Gentoo. If you want to save time you could search Gentoo's repository for an existing initscript for your service.
  2. Install curl on Alpine Linux from the command line: # apk -no-cache add curl. To install curl in Alpine-based Docker image, add the following line to a Dockerfile: RUN apk -no-cache add curl. Alpine Linux 3.3 and heigher: The -no-cache option has been added in Alpine Linux 3.3. It allows to install packages with an index that is updated.
  3. This article describes how to install.NET on Alpine. When an Alpine version falls out of support,.NET is no longer supported with that version. However, these instructions may help you to get.NET running on those versions, even though it isn't supported.

Packages provide the basic components of an operating system, along with shared libraries, applications, services, and documentation.

This document will guide new users through basic needs about:

  1. installing packages (software to install) and ..
  2. minimal started setups (configurations to the system).

If more in depth information is needed, see the Alpine package management behavior section in this document page.

Apk Install Alpine Fire

New users: hostname and network wired connection

After installing Alpine Linux, you might need to configure your system to properly work for your use case, since Alpine's main utilities are busybox-based:

Setting the hostname

A hostname is a unique name created to identify a machine on a network, configured in /etc/hostname.To change the computer's hostname edit the /etc/hostname file or execute the following command(make sure to replace myhostname with your desired hostname):

You should also add the hostname to your hosts file (/etc/hosts):

Network configuration

There are three types of internet connections: wired (Ethernet), wireless (WiFi) and PPTP (modems).This section will focus only on wired connections, for wireless configuration read the Connecting to a wireless access point article.

This section will help to update and configure your network interfaces, please plug your network cable in and then go to the console and run the DNS and interfaces configuration scripts.

Note: Due you just install we will assumed you already have network available by wired connection, if you have speciall need respect newtworking please read Alpine newbie network and internet connections to property setup your internet connection
Default root configurations

The root user are the god of the Linux Alpine system, run only the most deep in task, and must not be used as normal user neither for common task. For common users the last section of this page document will show you all the needs.

When Alpine Linux is first installed by default it comes with the user root with no password set so the first step after boot into alpine fresh install are set a password to the user root, if during install was run setup-alpine to change root password, that will be already set and can be changed with those setup steps described here. More info in the Setting users wiki page.

Of course you must changed 'secret_new_root_password' by a proper password provided by you.

New users: common needed package to install

Alpine apk install gitInstall

Packages and programs on alpine are described on Alpine_newbie: Packages overall info. 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.

Note: if you do not wired and only have modems or wifi, runs in any case those commands previusly described in network setup, and later after go to specific wiki pages Alpine newbie network and internet connections for that configurations. alpine linux need network internet connection available due still does not distribute a complete media install disc only minimal isos due extended isos are only for x86 and x64 machines
enable repository packages

Repositories are need due are where will be retrieve those packages of programs as described on Alpine_newbie: Packages overall info, run:

This will enable /community and /main repositories branch on your Alpine setup release.

install basic tools

As explain in Alpine Linux:Overview, the system always will be minimalist, so if you expected a behavior like others linux those will be provided a minimal similitude to, runs:

manpages in alpine

You noted in previous section, that some packages has a 'xxx-doc' related.. as explained beforein Alpine Linux:Overview, the system always will be minimalist, and if you wants a manpage of any program on a package of software, always must install the 'program' and also 'program-doc' related part package.

Take in consideration that in some earlier version of alpine not all package have a doc package yet available.

coreutils libc and utmps in alpine

Some programs like wall(1) depends on a libc feature named 'utmp', that cannot be implementedin the libc in a secure way. For this reason, musl (the libc that Alpine uses) does not implement utmp; instead, it provides stubs that do nothing.

That is why programs that use utmp - such as wall, who or w - output nothing but still exit successfully. This is expected, a feature, and cannot be quick-fixed.

Some has pretty solution, by example a utmps login monitoring are only in 'edge' repositories, so let's do that for some functionality aware, lest activate edge repository, install temporally software and later deactivating:

Warning: Do not install 'all/always' packages from edge, just only those not present in main/community, in the commands, coreutils ad/or ubase must be installed before change to edge mixed, if not, then future security patches not will be installed due edge are unstable only and security patches are applied to mains estable ones, so that's why in the next commands we first install coreutils and later the change to edge to install the utmps package.


Note: take in consideration that there's a more little thin alternative to coreutils named ubase (with a doc also packaged) that provides better functionality rather than build-in busybox but less than coreutils offers
fonts and fonts configuration

Default internal fb fonts (tty console) or xorg fonts (desktops) are enough for defaulters, but if you can't see your language, you need to install the font that has glyphs (little picture) created for it; font-misc-misc are installed with X server so fonts for most languages (Japanese, Korean, Latin, Cyrillic) are already covered except for Arabic, Persian, Thai, Tamil, etc from inspecting the Wikipedia Page left column on languages for article translation. For complete info about fonts in alpine see Fonts configurations and settings in Alpine this section will resume and configure most usefully needs for users:

Those selection will cover most used languages and best fit for many setups:

Those selection will added special support for cirilyc like russian and serbian or similar setups:

Those selection will cover special language for Asiatic like Japanese or similar setups:

Following will added some Chinese partial support fonts setups:

Those selection will cover in most manner Arabic, Thai, Ethiopic, Hebrew, Romanian, Persian, Korean Hangul, Greek, Persian, Russian/Slavic Cyrillic, Macedonian/Serbian, Armenian, Georgian, Lao, Devanagari, Urdu (Hindustani as in Northern India and Pakistan), Cherokee, Thaana languajes support for desktops setups:


The system font directory is located at /usr/share/fonts; user font location is at ~/.font due security. Configurations are reign by X server, using the ~/.Xresources file as main first reading of.

Configuration are made per user into ~/.fonts.confbut are XLM made and hard to configure.. more cheap and easy are into the ~/.Xresources file.

The following will setup for all users a minimal resource usage for fonts.. no antialiasing.. no hint... :

apk packages for sound base

Currently alsa packages are the minimal for linux Alpine sound, in desktops theres the gstreamer, phonon and pulseaudio frameworks but that's will be managed into the desktops wiki pages:


Tip: Moder machines have dual GPU and dual Sound cards, the second ones are always as primary and are a HDMI class sound card, commonly are bad detected and must be take care of that

Alsa service is not started on install, you need to start it and to add it on rc.

Apk Install Telnet Alpine

New users: management of users and logins

When Alpine Linux is first installed by default it comes with the user root with no password set so the first step after boot into alpine fresh install are set a password to the user root, if during install was run setup-alpine to change root password, that will be already assigned and can be changed with those setup steps described here. More info in the Setting users wiki page.

Users creation and defaults

Only root can manage users. Creating an account allows it to have it's own $HOME directory and allows you to limit access to the configuration of the operating system for security reasons. So the following commands will first setup root environment login and then assing a new password:

The remote management cannot be done with root directly by default, due ssh security, so we need to setup an remote connection account to made 'su' once connected.

The most recommended it's having a access user here named 'remote' and normal general usage user here named 'general' for convenience, in the next commands we will setup a very hardened limited environment for any new user and created those two users:

Tip: 'general' and 'remote' are the names of the users, MUST be only lowercase, no spaces with no symbols

Note that those users are created with minimal settings. Of course you must changed 'secret_new_remote_user_password' by a proper password provided by you, also equaly with 'secret_new_general_user_password' too.

Users management and system access

But this user will not have enough privileges for a desktop made purposes, Alpine comes with high security so administrator (the root account owner) must perform the management of that user. Take care, for a server made there's no similar procedure!

Management of users can be made with the default busybox, but there's some packages that makes the life easy of the admins, lest use the libuser package now from testing repository:

Now we can changes some defaults and added to proper groups to access devices or perform connections so, those are the recommended groups where the user must have in:

  • disk:x:6:root,adm Only if need usage vith virtual machines and access to other partitions over new disks for
  • lp:x:7:lp IF will need to use printing services and printers management
  • floppy:x:11:root Backguard compatible group, use only if need access to external special devices
  • audio:x:18: Need for audio listening and management of sound volumes as normal user
  • cdrom:x:19: For access to disck writers and mounting DVD, BR or CD rom disk as normal user
  • dialout:x:20:root Need for dial private connections and use of modems as normal users
  • tape:x:26:root Need have into this if plan to use special devices for backup.. rarelly in no servers
  • video:x:27:root For usage of cameras, mor thant one GPU special features, as normal user
  • netdev:x:28: For network connections management as normal user
  • kvm:x:34:kvm Only if as normal user will manage graphically virtual machines.. rarelly on no servers
  • games:x:35: Need if you want to play games also specially need if will share score between users
  • cdrw:x:80: To write RW-DVD, RW-BR or RW-CD disk on a disk writing device
  • apache:x:81: Need if you will perfom development as normal user and want to publish locally on web server
  • usb:x:85: Need to access to special usb devices, deprecated group
  • users:x:100:games If you plan to used common files for all users, mandatory as desktop usage

Now we have libuser also can change default shell:

  • If you want to change the current user's shell, log in as that user and then inside their terminal session execute::
  • If you want to change a different user's shell, run as administration or as root:

Where 'general' was the name of a created user login in previous sections.

Continue to Desktop

Before you continue, you must have at least already done the previously described steps in the section New users: common needed package to install!


Alpine
Previous requiredWhat's next to read
Alpine newbie install manualAlpine newbie desktops

Alpine package management behavior

This section are not for new users, please go next to Alpine newbie desktops or Alpine Newbies: Xorg and Openbox if you only want to setup your system.

The programs, the software installed to Alpine comes from two places, a repository with the following structure: http://<host>/alpine/<version>/<brach> (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).

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

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.
Alpine APK user resources

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

Alpine APK quick infrastructure

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 apk command are located at /sbin/apk, admin and manages the getting of the packages of software, 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.

Table of busybox sustitutions
Table of comparison with other Linux/Unix-like OSes for packages
OSFile FormatTools
Alpine.apkapk
Debian.debapt,aptitude
Gentoo.tbz2emerge
FreeBSD.txzpkg
Previous requiredWhat's next to read
Alpine newbie install manualAlpine newbie desktops
Retrieved from 'http://wiki.alpinelinux.org/w/index.php?title=Alpine_newbie_apk_packages&oldid=18038'

Apk Install Alpine Camera

-->

This article describes how to install .NET on Alpine. When an Alpine version falls out of support, .NET is no longer supported with that version. However, these instructions may help you to get .NET running on those versions, even though it isn't supported.

Install the SDK (which includes the runtime) if you want to develop .NET apps. Or, if you only need to run apps, install the Runtime. If you're installing the Runtime, we suggest you install the ASP.NET Core Runtime as it includes both .NET and ASP.NET Core runtimes.

If you've already installed the SDK or Runtime, use the dotnet --list-sdks and dotnet --list-runtimes commands to see which versions are installed. For more information, see How to check that .NET is already installed.

Install

Installers aren't available for Alpine Linux. You must install .NET in one of the following ways:

Supported distributions

Apk Install Python Alpine

The following table is a list of currently supported .NET releases and the versions of Alpine they're supported on. These versions remain supported until either the version of .NET reaches end-of-support or the version of Alpine reaches end-of-life.

  • A ✔️ indicates that the version of Alpine or .NET is still supported.
  • A ❌ indicates that the version of Alpine or .NET isn't supported on that Alpine release.
  • When both a version of Alpine and a version of .NET have ✔️, that OS and .NET combination is supported.
Alpine.NET Core 2.1.NET Core 3.1.NET 5.0
✔️ 3.13✔️ 2.1✔️ 3.1✔️ 5.0
✔️ 3.12✔️ 2.1✔️ 3.1✔️ 5.0
✔️ 3.11✔️ 2.1✔️ 3.1✔️ 5.0
✔️ 3.10✔️ 2.1✔️ 3.1❌ 5.0
❌ 3.9✔️ 2.1✔️ 3.1❌ 5.0
❌ 3.8✔️ 2.1✔️ 3.1❌ 5.0
Apk

The following versions of .NET are no longer supported. The downloads for these still remain published:

  • 3.0
  • 2.2
  • 2.0

Apk Install Chrome Alpine

Dependencies

.NET on Alpine Linux requires the following dependencies installed:

  • bash
  • icu-libs
  • krb5-libs
  • libgcc
  • libgdiplus (if the .NET app requires the System.Drawing.Common assembly)
  • libintl
  • libssl1.1 (Alpine v3.9 or greater)
  • libssl1.0 (Alpine v3.8 or lower)
  • libstdc++
  • zlib

To install the needed requirements, run the following command:

To install libgdiplus, you may need to specify a repository:

Next steps