User:Ncopa: Difference between revisions

From Alpine Linux
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
draft:
{{Note|Draft and i do testing here. Don't follow this}}


= About =
[[User:Ncopa/Install Handbook]]
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 ==
[[User:Ncopa/buildmsg]]
Alpine is based on  and [http://busybox.org busybox] (and are thus not a GNU/Linux distro).


The base system, excluding the kernel, is less than 2MB. That includes:
[[User:Ncopa/Alpine Mirror with MQTT]]
* the C library runtime, [http://uclibc.org uclibc]
* standard tools from [http://busybox.net 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 [http://linux-vserver.org/ 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 [http://www.uclibc.org/ uClibc] are pulled into RAM for execution.  All packages are compiled with [http://www.grsecurity.net/ grsecurity patches] and [http://en.wikipedia.org/wiki/Stack-smashing_protection 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 ==
; depends
: Runtime dependencies that are not shared-object dependencies.
; depends_dev
: Runtime dependencies for -dev subpackage.
; install
: pre/post install/deinstall/remove scripts
; license
: License(s) for the package.
; makedepends
: Build time dependencies
; options
: build time options for package. Valid values are currently only ''!strip'' for avoid stripping the binaries.
; pkgdesc
: Short package description.
; pkggroups
: Groups to be created during buildtime
; 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--''.
; pkgusers
: Users to be created during buildtime
; pkgver
: The package version.
; replaces
: package(s) that this package replaces. Useful when files moves
; source
: URL(s) to sources and patches
; subpackages
: Subpackages built from this APKBUILD.
; url
: The homepage for the package. This is to help users find upstream developer, documentation etc.
from one package to another.
 
== Functions ==
The following functions are expected to be there
; prepare
: ''Optional''. Build preparation. Here should patches etc be applied. This is function is for convenience while working with the APKBUILD.
; build
: ''Required''. This is the compilation stage. This function will be called as normal user (unless the package() function is missing - for compatibility reasons)
; package
: "Required''. In this function the built application and files should be installed in "$pkgdir".

Latest revision as of 13:47, 12 November 2015

Note: Draft and i do testing here. Don't follow this

User:Ncopa/Install Handbook

User:Ncopa/buildmsg

User:Ncopa/Alpine Mirror with MQTT