COMP 3000 2011 Report: Alpine: Difference between revisions

From Soma-notes
Mevans (talk | contribs)
No edit summary
Mevans (talk | contribs)
No edit summary
Line 63: Line 63:


kernel:
kernel:
definition: The kernel with grsecurity
*definition: The kernel with grsecurity
Version: 3.0.8
*Version: 3.0.8
web: http://grsecurity.net
*web: http://grsecurity.net
why: Because a kernel is required
*why: Because a kernel is required


libc:
libc:
definitions: A library for c
*definitions: A library for c
version: 0.9.32
*version: 0.9.32
web: http://uclib.org
*web: http://uclib.org
why: Because a c library is required  
*why: Because a c library is required  


lua:
Lua:
definition: a powerful, lightweight programming language  
*definition: a powerful, lightweight programming language  
version: 5.1.4
*version: 5.1.4
web: http://www.lua.org
*web: http://www.lua.org
why: many programs on Alpine are dependent on it.
*why: many programs on Alpine are dependent on it.


fetchmail:
Fetchmail:
definition: a remote mail retrieval and forwarding utility
*definition: a remote mail retrieval and forwarding utility
version: 6.3.21
*version: 6.3.21
web: http://fetchmail.berlios.de
*web: http://fetchmail.berlios.de
why: to allow mail operations
*why: to allow mail operations


kamailio:
Kamailio:
definition: an open source SIP proxy
*definition: an open source SIP proxy
version: 3.2.0
*version: 3.2.0
web: http://kamailio.org
*web: http://kamailio.org
why: enhanced security
*why: enhanced security


Pearl:
Pearl:
definition: Pearl (Practical Extraction and Report Language)
*definition: Pearl (Practical Extraction and Report Language)
version: 5.14.2
*version: 5.14.2
web: http://www.pearl.org
*web: http://www.pearl.org
why: allows for pearl development
*why: allows for pearl development


Samba:
Samba:
definition: Tools to access a server's filespace and printers
*definition: Tools to access a server's filespace and printers
web: http://samba.org
*version: 3.6.1
why: helps for server manipulation
*web: http://samba.org
*why: helps for server manipulation


Shorewall:
Shorewall:
definition: a fire wall
*definition: a fire wall
version: 4.2.10
*version: 4.2.10
web: http://shorewall.net
*web: http://shorewall.net
why: to enhance security
*why: to enhance security


Squid
Squid:
definition: a full-featured web proxy cache server
*definition: a full-featured web proxy cache server
version: 3.2.0.12
*version: 3.2.0.12
web: http://www.squid-cache.org
*web: http://www.squid-cache.org
why: enhance security
*why: enhance security


util-linux
Util-Linux:
definition: a collection of Linux utilities
*definition: a collection of Linux utilities
version: 2.20
*version: 2.20
web: http://kernel.org/~kzak/util-linux/
*web: http://kernel.org/~kzak/util-linux/
why: allows for more versatility in linux
*why: allows for more versatility in Linux


no gui


== References ==
== References ==


http://alpinelinux.org/
http://alpinelinux.org/

Revision as of 00:59, 15 November 2011

Background

Alpine Linux is a free, small, and easy to install Linux distribution that began as a fork of the LEAF project (Linux Embedded Appliance Firewall). The main focus of this distribution is security, with features such as Pax and SSP, it prevents security hole exploitation. Alpine is designed for x86 Routers, VPNs, VoIP servers, and firewalls. This distribution is a unique blend of multiple others: the network configuration is like Debian's and the package management is similar to Debian's APT, RedHat's yum, and Arch Linux's PKGBUILDs (APKBUILD in Alpine). Its minuscule size is one of the main features of this distribution, this results in a size of around 5 MB instead of the traditional 100 MB of GNU/Linux (without the kernel).

Alpine is available for free at alpinelinux.org/downloads.

Installation

One of the unique features of Alpine is its simplicity and ease of use. This is evident in its installation process which are as follows.

  • Step 1: Download ISO.
  • Step 2: Burn to a CD.
  • Step 3: Boot from CD, login as root with no password.

It is then recommended to run setup-alpine.

Basic Operation

Alpine Linux excels at servers, firewalls, and networks, none of which I have any experience with. Thankfully the website offers some tutorials for a multitude of features. These features include, but are not limited to; hosting a mail server, setting up a satellite Internet connection, formatting a hard drive, and backing up flash memory.

Usage Evaluation

Overall I found Alpine Linux to be a complicated yet interesting system. This is most likely due to my lack of networking and server knowledge. The system has no GUI, it is just a terminal, this is likely due to the desire to keep the file size down. In the end this is a interesting and, I assume, competent Linux distribution, although definitely not meant for people who are new to Linux.


Part 2

packaging format Software packages for Alpine Linux are tar.gz archives containing programs, files, and dependency. They have the extension .apk", also called "a-packs"

The packages are stored in one or more repositories(a directory with a collection of *.apk files and an index file, named APKINDEX.tar.gz).

Listing Packages

To list all packages and their descriptions: "apk search -v"

Adding Packages

Use "add" to install packages and any required dependencies. If you have more than one repository, the add command installs the newest package.

"apk add openssh" "apk add openssh openntp vim"

Remove Packages

Use "del" to delete a package (and dependencies)

"apk del openssh" "apk del openssh openntp vim"

Catalog

Due to Alpine Linux's small size and portable nature, it has fewer packages than most. There are 365 .apk files on disk, compared to the 37,000 total packages in Ubuntu.

Major Package Versions

kernel:

  • definition: The kernel with grsecurity
  • Version: 3.0.8
  • web: http://grsecurity.net
  • why: Because a kernel is required

libc:

  • definitions: A library for c
  • version: 0.9.32
  • web: http://uclib.org
  • why: Because a c library is required

Lua:

  • definition: a powerful, lightweight programming language
  • version: 5.1.4
  • web: http://www.lua.org
  • why: many programs on Alpine are dependent on it.

Fetchmail:

  • definition: a remote mail retrieval and forwarding utility
  • version: 6.3.21
  • web: http://fetchmail.berlios.de
  • why: to allow mail operations

Kamailio:

  • definition: an open source SIP proxy
  • version: 3.2.0
  • web: http://kamailio.org
  • why: enhanced security

Pearl:

  • definition: Pearl (Practical Extraction and Report Language)
  • version: 5.14.2
  • web: http://www.pearl.org
  • why: allows for pearl development

Samba:

  • definition: Tools to access a server's filespace and printers
  • version: 3.6.1
  • web: http://samba.org
  • why: helps for server manipulation

Shorewall:

Squid:

Util-Linux:


References

http://alpinelinux.org/