User:Ncopa: Difference between revisions

From Alpine Linux
No edit summary
Line 35: Line 35:
; url
; url
: The homepage for the package. This is to help users find upstream developer, documentation etc.
: The homepage for the package. This is to help users find upstream developer, documentation etc.
; source
: URL(s) to sources and patches
; install
: pre/post install/deinstall/remove scripts
; pkgusers
: Users to be created during buildtime
; pkggroups
: Groups to be created during buildtime
; license
: License(s) for the package

Revision as of 15:55, 28 February 2010

draft:

About

Alpine Linux is an x86 Linux distribution suitable for firewalls, routers, VPN gateways, lightweight servers (http, sql, mail), resque livecd or other embedded devices.

Lightweight

Alpine is based on and busybox (and are thus not a GNU/Linux distro).

The base system, excluding the kernel, is less than 2MB. That includes:

  • the C library runtime, uclibc
  • standard tools from busybox (cp, ls, mv, wget, iproute, nc etc)
  • package manager, apk-tools
  • openrc init system

Proactive security

The default kernel is patched with the grsecurity patches and provides features like:

  • Address Space Randomization Layout
  • Memeory protection

Alpine Linux is a run-from RAM linux distribution. Its original target was small appliances like routers, VPN gateways, or embedded x86 devices. However, it supports hosting other Linux guest OSes under VServer control, making it an attractive hosting solution as well.

It can boot from a 1GB USB stick, CDrom, or hard drive. Packages compiled against uClibc are pulled into RAM for execution. All packages are compiled with grsecurity patches and SSP to provide a secure runtime environment. The lbu backup system stores all changes to /etc (and custom changes) to the boot media, making system disaster recovery brain-dead simple.

APKBUILD Reference

APKBUILDs are scripts to build alpine packages using the abuild tool.

Variables

pkgname
The name of the package. All letters should be lowercase. Lua libraries/modules should be prefixed with lua- (for example lua-posix), perl modules with perl- (for example perl-xml-parser), php modules with php- and python modules with py--.
pkgver
The package version.
pkgdesc
The package description, in one line.
url
The homepage for the package. This is to help users find upstream developer, documentation etc.
source
URL(s) to sources and patches
install
pre/post install/deinstall/remove scripts
pkgusers
Users to be created during buildtime
pkggroups
Groups to be created during buildtime
license
License(s) for the package