<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ncopa2</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ncopa2"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Ncopa2"/>
	<updated>2026-05-02T03:43:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine_on_CD&amp;diff=3380</id>
		<title>Installing Alpine on CD</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine_on_CD&amp;diff=3380"/>
		<updated>2010-02-25T03:55:31Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: /* Alpine on CD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Alpine on CD =&lt;br /&gt;
Because this doc will describe on how you get Alpine to boot from CD, you should prepare by doing:&lt;br /&gt;
&lt;br /&gt;
* [[Downloads|Download]] a iso-file containing Alpine &#039;&#039;(e.g. {{Latest_1.8_alpine_iso-mirror}}{{Latest_1.8_alpine_iso-filename}})&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Make sure you have a program on you computer that can burn iso-files onto a CD &#039;&#039;(See also http://en.wikipedia.org/wiki/List_of_ISO_image_software)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Get a empty CD &#039;&#039;(Label it &amp;quot;Alpine Linux&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Preparing the media ==&lt;br /&gt;
Start by burning the ISO-image onto your empty CD using your ISO-image burning software.&lt;br /&gt;
&lt;br /&gt;
== Boot Alpine ==&lt;br /&gt;
Put your AlpineLinuxCD in a computer that can boot from CD.&amp;lt;BR&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039; You might need to change boot-order in your BIOS-settings in order to boot from CD.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When your computer has booted you will get prompted for a username.&amp;lt;BR&amp;gt;&lt;br /&gt;
On a clean AlpineLinux you just enter &#039;&#039;root&#039;&#039; and no password and you will get logged on to your Alpine linux.&lt;br /&gt;
&lt;br /&gt;
{{Installing_Alpine_see_also}}&lt;br /&gt;
jose rallang&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Comparison_with_other_distros&amp;diff=3175</id>
		<title>Comparison with other distros</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Comparison_with_other_distros&amp;diff=3175"/>
		<updated>2009-10-07T20:48:01Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: /* Network */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Even if Alpine is designed to run from ram, it has some similarities in package management with both Gentoo and Debian. This page is supposed to show those differences and help Debian and Gentoo users to use Alpine.&lt;br /&gt;
&lt;br /&gt;
The page was originally copied from: http://gentoo-wiki.com/TIP_Converting_from_or_to_Debian&lt;br /&gt;
&lt;br /&gt;
==Package management==&lt;br /&gt;
Where Gentoo has portage and emerge and Debian has, among others, apt, Alpine uses apk-tools. This compares how you use apk-tools in comparation to apt-get/aptitude and emerge.&lt;br /&gt;
&lt;br /&gt;
Note that Gentoo is source based, just like ports in FreeBSD is while Debian uses pre-compiled binaries. Alpine is compiled using Gentoo portage but Alpine itself uses its own apk-tools binary package that are more similar FreeBSD&#039;s binary packages.&lt;br /&gt;
&lt;br /&gt;
===Updating package database===&lt;br /&gt;
Gentoo will update the build-from-source scripts and are the updating of the database is takes much more time that updating the database for Debian or Alpine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_fetch -u&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --sync&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 aptitude update&lt;br /&gt;
&lt;br /&gt;
===Showing available updates===&lt;br /&gt;
Show what packages that have an update available:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_version -v&lt;br /&gt;
or:&lt;br /&gt;
 apk_version -v -l &#039;&amp;lt;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --deep --update --pretend world&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 aptitude upgrade --simulate&lt;br /&gt;
&lt;br /&gt;
===Update a particular package===&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_add -u package1 package2&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 aptitude install package1 package2&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --update package1 package2&lt;br /&gt;
&lt;br /&gt;
===Installing packages===&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_add package1 package2&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge package1 package2&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 apt-get install package1 package2&lt;br /&gt;
Debian source compile:&lt;br /&gt;
 apt-get build-dep package1&lt;br /&gt;
 apt-get source package1&lt;br /&gt;
(optional: customize the build by modifying the debian/rules makefile)&lt;br /&gt;
(or set environmental variables like DEB_BUILD_OPTIONS)&lt;br /&gt;
(note that this will make your bug reports invalid to the maintainer)&lt;br /&gt;
 dpkg-buildpackage -rfakeroot -uc -b&lt;br /&gt;
 dpkg -i generatedpackagename&lt;br /&gt;
Simplified source compile:&lt;br /&gt;
 apt-get build-dep package1&lt;br /&gt;
 apt-get -b source package1&lt;br /&gt;
(the packages are automatically generated using the -b switch above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This process can be used to backport packages from testing and unstable by simply adding their respective source repositories to sources.list, which is similar to adding ~x86 to package.keywords in Gentoo. This is explored further in &amp;quot;arch and repositories&amp;quot; below.&lt;br /&gt;
&lt;br /&gt;
=== Reinstall a particular package ===&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_delete package1 &amp;amp;&amp;amp; apk_add package2&lt;br /&gt;
or:&lt;br /&gt;
 apk_add -f package1 package2&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --oneshot package1 package2&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 apt-get install --reinstall package1 package2&lt;br /&gt;
&lt;br /&gt;
Note: You &#039;&#039;rarely&#039;&#039; need to reinstall a package on Debian&lt;br /&gt;
&lt;br /&gt;
===Searching package database===&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alpine will only search package names.&lt;br /&gt;
 apk_fetch -lv | grep searchword&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To search the package names and descriptions:&lt;br /&gt;
 emerge --searchdesc searchword&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; On Gentoo, it&#039;s actually much better to install and use either the esearch package or the eix package to do a search. You use them like this:&lt;br /&gt;
 eix searchword&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 esearch searchword&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 apt-cache search searchword&lt;br /&gt;
Both emerge and apt-cache search support regular expressions.&lt;br /&gt;
&lt;br /&gt;
To get the long package information on Debian (searching only in package names):&lt;br /&gt;
 apt-cache search --full --names-only searchword&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 apk_delete package1 package2&lt;br /&gt;
To also remove unused dependencies:&lt;br /&gt;
 apk_delete -R package1 package2&lt;br /&gt;
apk_delete will remove configuration files without asking any questions. Make sure you have backups of your configuration files. (Using rcs might be an idea)&lt;br /&gt;
&lt;br /&gt;
You will mostly like to take a quick look at the dependencies before you remove packages recursively.&lt;br /&gt;
&lt;br /&gt;
To see dependencies for a package, use:&lt;br /&gt;
 apk_info -R package1 package2&lt;br /&gt;
&lt;br /&gt;
To see if package is required by other packages (is a dependency for another packages), use:&lt;br /&gt;
 apk_info -r package1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --unmerge package1 package2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 apt-get remove package1 package2&lt;br /&gt;
or to remove along with all configuration files&lt;br /&gt;
 apt-get remove --purge package1 package2&lt;br /&gt;
&lt;br /&gt;
===Only downloading packages===&lt;br /&gt;
This can be useful e.g. if you&#039;re on a dial-up connection and want to download everything first and install later.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_fetch package1 package2&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --fetchonly package1 package2&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 apt-get install --download-only package1 package2&lt;br /&gt;
&lt;br /&gt;
===Cleaning up downloaded packages===&lt;br /&gt;
Compressed packages that were downloaded for installation can easily consume gigs of hdd space.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alpine will clean up package automatically unless APK_KEEPCACHE is set to &amp;quot;yes&amp;quot; in /etc/apk.conf. To do it manually if it is set:&lt;br /&gt;
 rm /var/cache/packages/*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 rm -rf /usr/portage/distfiles/*&lt;br /&gt;
To only remove outdated packages you will need to install the gentoolkit package and use eclean:&lt;br /&gt;
 eclean distfiles&lt;br /&gt;
Cleaning temporary files from emerging packages:&lt;br /&gt;
 rm -rf /var/tmp/portage/*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 apt-get clean&lt;br /&gt;
Only remove outdated packages:&lt;br /&gt;
 apt-get autoclean&lt;br /&gt;
&lt;br /&gt;
===Reverse dependencies===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
apk-tools will take care of reverse dependencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Reverse dependencies are a major drawback of &#039;&#039;&#039;Gentoo&#039;s&#039;&#039;&#039; current portage implementation: It does not take care of them at all at the moment.&lt;br /&gt;
This means that you can uninstall packages needed by others without being warned about it. E.g. you can remove the x server package without portage warning you that kde (which you have installed as well) depends on it. This way you can actually break your entire system (e.g. by removing glibc).&lt;br /&gt;
&lt;br /&gt;
 revdep-rebuild&lt;br /&gt;
can fix broken dependencies broken by&lt;br /&gt;
emerge --depclean&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Reverse dependencies are taken care of by dpkg.&lt;br /&gt;
&lt;br /&gt;
==Runlevel &amp;amp; Initscripts==&lt;br /&gt;
Runlevels work pretty conventionally on Debian. On Alpine and Gentoo, they are a bit different.&lt;br /&gt;
===Directories and files===&lt;br /&gt;
In &#039;&#039;&#039;Debian&#039;&#039;&#039; runlevels are named conventionally (0-6 and S). They are represented by directories in /etc/ called rc*.d (when the default sysv-rc boot loader package is installed; file-rc can be installed instead, and then the relevant file is runlevel.conf).&lt;br /&gt;
* /etc/rc0.d&lt;br /&gt;
* /etc/rc1.d&lt;br /&gt;
* /etc/rcS.d&lt;br /&gt;
* /etc/rc2.d&lt;br /&gt;
* /etc/rc3.d&lt;br /&gt;
* /etc/rc4.d&lt;br /&gt;
* /etc/rc5.d&lt;br /&gt;
* /etc/rc6.d&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;&#039;Gentoo&#039;&#039;&#039;, runlevels have the same names, but these are mapped to more self explanatory ones (in /etc/inittab): &amp;quot;boot&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;nonetwork&amp;quot;, with the option to add more. The directories that represent them are in &lt;br /&gt;
/etc/runlevels/:&lt;br /&gt;
* /etc/runlevels/boot&lt;br /&gt;
* /etc/runlevels/default&lt;br /&gt;
* /etc/runlevels/nonetwork&lt;br /&gt;
&lt;br /&gt;
In Gentoo, if a service is not explicitly started in a runlevel, it is stopped when switching to that runlevel! There is no explicit stopping of runlevels as in Debian (/etc/rc?.d/K??service).&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;&#039;both Debian and Gentoo&#039;&#039;&#039;, which things are started (and stopped) in which runlevels is controlled by links in the runlevel directories to scripts in /etc/init.d/, e.g.:&lt;br /&gt;
gentoo &lt;br /&gt;
 $ ls -l /etc/runlevels/boot/hostname&lt;br /&gt;
 lrwxrwxrwx  1 root root 20 Mar 25  2004 /etc/runlevels/boot/hostname -&amp;gt; /etc/init.d/hostname&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 $ ls -l rcS.d/S40hostname.sh&lt;br /&gt;
 lrwxrwxrwx  1 root root 21 2004-11-07 00:19 rcS.d/S40hostname.sh -&amp;gt; ../init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
TODO: Alpine&lt;br /&gt;
&lt;br /&gt;
===Runlevel management===&lt;br /&gt;
To manage which things to start in which runlevels, use the following commands:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To see current status of services in runlevels, do:&lt;br /&gt;
 rc_status&lt;br /&gt;
To add sshd to default runlevel, do:&lt;br /&gt;
 rc_add -k sshd&lt;br /&gt;
The -k option will make sure sshd is stopped when shutting down or reboot.&lt;br /&gt;
To remove sshd from all runlevels do:&lt;br /&gt;
 rc_delete sshd&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rc-update&lt;br /&gt;
To add the cupsd to the default runlevel, do:&lt;br /&gt;
 rc-update add cupsd default&lt;br /&gt;
To remove alsasound from the boot runlevel, do:&lt;br /&gt;
 rc-update del alsasound boot&lt;br /&gt;
Also see this wiki page about [http://gentoo-wiki.com/Rc-update gentoo runlevel management with rc-update]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 update-rc.d&lt;br /&gt;
Configure cupsd to be started in runlevels 2, 3, 4, 5, and stopped in 0, 1, 6, with sequence code 20:&lt;br /&gt;
 update-rc.d cupsd start 20 2 3 4 5 . stop 20 0 1 6 . &lt;br /&gt;
or simply:&lt;br /&gt;
 update-rc.d cupsd defaults &lt;br /&gt;
Remove cupsd from all runlevels:&lt;br /&gt;
 update-rc.d -f cupsd remove&lt;br /&gt;
&lt;br /&gt;
==Config Files==&lt;br /&gt;
&lt;br /&gt;
===/etc/make.conf and use flags===&lt;br /&gt;
While in gentoo there are a large number of configuration files which exist to control the behaviour of the package management system. There are comparatively fewer in Debian, as there is no need to dictate how to compile software which is downloaded and tweak / alter this purpose. In gentoo, the file /etc/make.conf is used for much configuration; this includes &#039;&#039;USE&#039;&#039; flags, which influence which elements of packages are compiled, and which libraries to build support for - common USE flags (USE or -USE to specifically negate support) include &#039;gtk gnome&#039; for gnome users (and a corresponding -qt -kde -arts) and &#039;qt kde arts&#039; for kde users. A gentoo user&#039;s complete set of use flags may look something like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;USE=&amp;quot;-kde -arts -qt xv truetype bluetooth crypt slang readline gpm berkdb mmx gdbm tcpd pam libwww ssl nls ethereal perl python esd gif imlib sdl oggvorbis mpeg gnome gtk X motif opengl avi png tiff nptl pcmcia nptl ldap eds&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===arch and repositories===&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Also in /etc/make.conf is the &#039;&#039;&#039;ACCEPT_KEYWORDS&#039;&#039;&#039; setting, with (for an X86-based processor) two settings, &#039;&#039;&#039;x86&#039;&#039;&#039; for stabler packages, and &#039;&#039;&#039;~x86&#039;&#039;&#039; for bleeding edge packages. It is however not recommended to make this change in /etc/make.conf. Rather configure this per-package in /etc/portage/package.keywords. It&#039;s enough to put a line into that file naming the package (for example &#039;app-foo/bar&#039;). That file might look like this:&lt;br /&gt;
&lt;br /&gt;
 app-crypt/gpg-agent&lt;br /&gt;
 app-text/docbook-xsl-stylesheets&lt;br /&gt;
 =app-text/docbook-xml-dtd-4.3-r1&lt;br /&gt;
&lt;br /&gt;
The last line says, that &#039;&#039;only&#039;&#039; version 4.3-r1 should be unmasked. Older and newer versions will still be ignored.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note for non-x86 users:&#039;&#039;&#039;&lt;br /&gt;
The keywords &#039;&#039;&#039;x86&#039;&#039;&#039; and &#039;&#039;&#039;~x86&#039;&#039;&#039; can of course be replaced by &#039;&#039;&#039;sparc&#039;&#039;&#039; and &#039;&#039;&#039;~sparc&#039;&#039;&#039; for example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Setting this in Debian is slightly more complicated, and is accomplished by setting different &#039;repositories&#039; in &#039;&#039;/etc/apt/sources.list&#039;&#039; - along with which &#039;tree&#039; to use for packages; in debian, these are &#039;&#039;&#039;stable&#039;&#039;&#039;, &#039;&#039;&#039;testing&#039;&#039;&#039;, and &#039;&#039;&#039;unstable&#039;&#039;&#039;. An &#039;&#039;/etc/apt/sources.list&#039;&#039; file for a debian testing user may look something like this:&lt;br /&gt;
&lt;br /&gt;
 deb http://mirrors.kernel.org/debian testing main non-free contrib&lt;br /&gt;
 deb ftp://ftp.nerim.net/debian-marillat testing main&lt;br /&gt;
 deb http://security.debian.org testing/updates main contrib non-free&lt;br /&gt;
&lt;br /&gt;
Alternatively, &#039;&#039;/etc/apt/sources.list&#039;&#039; can contain any number of repositories for any trees, and a default tree (this can be overridden using the -t switch on the command line) in &#039;&#039;/etc/apt/apt.conf&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
   APT::Default-Release &amp;quot;testing&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Per-package settings go in &#039;&#039;/etc/apt/preferences&#039;&#039;, somewhat like Gentoo&#039;s &#039;&#039;/etc/portage/package.keywords&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alpine uses /etc/network/interfaces, just like Debian. The main reason is because this is the way busybox does it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/etc/network/interfaces&#039;&#039;:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
  address 192.168.0.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  broadcast 192.168.0.255&lt;br /&gt;
  &lt;br /&gt;
 auto eth0:0&lt;br /&gt;
 iface eth0:0 inet static&lt;br /&gt;
  address 192.168.1.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  broadcast 192.168.1.255&lt;br /&gt;
 # etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/etc/conf.d/net&#039;&#039;:&lt;br /&gt;
 config_eth0=( &amp;quot;192.168.1.100 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
               &amp;quot;192.168.2.100 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_eth0=( &amp;quot;default via 192.168.1.1&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Note that this has changed recently. For more information please refer to http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/etc/network/interfaces&#039;&#039;:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
  address 192.168.0.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  broadcast 192.168.0.255&lt;br /&gt;
  &lt;br /&gt;
 auto eth0:0&lt;br /&gt;
 iface eth0:0 inet static&lt;br /&gt;
  address 192.168.1.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  broadcast 192.168.1.255&lt;br /&gt;
 # etc.&lt;br /&gt;
&lt;br /&gt;
Are this information help you in writing [http://www.research-service.com/custom-research-paper.html research papers]? Feel free to send us comments and suggestions about the wiki.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Comparison_with_other_distros&amp;diff=3174</id>
		<title>Comparison with other distros</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Comparison_with_other_distros&amp;diff=3174"/>
		<updated>2009-10-07T20:45:04Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: /* Network */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Even if Alpine is designed to run from ram, it has some similarities in package management with both Gentoo and Debian. This page is supposed to show those differences and help Debian and Gentoo users to use Alpine.&lt;br /&gt;
&lt;br /&gt;
The page was originally copied from: http://gentoo-wiki.com/TIP_Converting_from_or_to_Debian&lt;br /&gt;
&lt;br /&gt;
==Package management==&lt;br /&gt;
Where Gentoo has portage and emerge and Debian has, among others, apt, Alpine uses apk-tools. This compares how you use apk-tools in comparation to apt-get/aptitude and emerge.&lt;br /&gt;
&lt;br /&gt;
Note that Gentoo is source based, just like ports in FreeBSD is while Debian uses pre-compiled binaries. Alpine is compiled using Gentoo portage but Alpine itself uses its own apk-tools binary package that are more similar FreeBSD&#039;s binary packages.&lt;br /&gt;
&lt;br /&gt;
===Updating package database===&lt;br /&gt;
Gentoo will update the build-from-source scripts and are the updating of the database is takes much more time that updating the database for Debian or Alpine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_fetch -u&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --sync&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 aptitude update&lt;br /&gt;
&lt;br /&gt;
===Showing available updates===&lt;br /&gt;
Show what packages that have an update available:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_version -v&lt;br /&gt;
or:&lt;br /&gt;
 apk_version -v -l &#039;&amp;lt;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --deep --update --pretend world&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 aptitude upgrade --simulate&lt;br /&gt;
&lt;br /&gt;
===Update a particular package===&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_add -u package1 package2&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 aptitude install package1 package2&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --update package1 package2&lt;br /&gt;
&lt;br /&gt;
===Installing packages===&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_add package1 package2&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge package1 package2&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 apt-get install package1 package2&lt;br /&gt;
Debian source compile:&lt;br /&gt;
 apt-get build-dep package1&lt;br /&gt;
 apt-get source package1&lt;br /&gt;
(optional: customize the build by modifying the debian/rules makefile)&lt;br /&gt;
(or set environmental variables like DEB_BUILD_OPTIONS)&lt;br /&gt;
(note that this will make your bug reports invalid to the maintainer)&lt;br /&gt;
 dpkg-buildpackage -rfakeroot -uc -b&lt;br /&gt;
 dpkg -i generatedpackagename&lt;br /&gt;
Simplified source compile:&lt;br /&gt;
 apt-get build-dep package1&lt;br /&gt;
 apt-get -b source package1&lt;br /&gt;
(the packages are automatically generated using the -b switch above)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This process can be used to backport packages from testing and unstable by simply adding their respective source repositories to sources.list, which is similar to adding ~x86 to package.keywords in Gentoo. This is explored further in &amp;quot;arch and repositories&amp;quot; below.&lt;br /&gt;
&lt;br /&gt;
=== Reinstall a particular package ===&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_delete package1 &amp;amp;&amp;amp; apk_add package2&lt;br /&gt;
or:&lt;br /&gt;
 apk_add -f package1 package2&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --oneshot package1 package2&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 apt-get install --reinstall package1 package2&lt;br /&gt;
&lt;br /&gt;
Note: You &#039;&#039;rarely&#039;&#039; need to reinstall a package on Debian&lt;br /&gt;
&lt;br /&gt;
===Searching package database===&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alpine will only search package names.&lt;br /&gt;
 apk_fetch -lv | grep searchword&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To search the package names and descriptions:&lt;br /&gt;
 emerge --searchdesc searchword&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; On Gentoo, it&#039;s actually much better to install and use either the esearch package or the eix package to do a search. You use them like this:&lt;br /&gt;
 eix searchword&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 esearch searchword&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 apt-cache search searchword&lt;br /&gt;
Both emerge and apt-cache search support regular expressions.&lt;br /&gt;
&lt;br /&gt;
To get the long package information on Debian (searching only in package names):&lt;br /&gt;
 apt-cache search --full --names-only searchword&lt;br /&gt;
&lt;br /&gt;
===Removing packages===&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 apk_delete package1 package2&lt;br /&gt;
To also remove unused dependencies:&lt;br /&gt;
 apk_delete -R package1 package2&lt;br /&gt;
apk_delete will remove configuration files without asking any questions. Make sure you have backups of your configuration files. (Using rcs might be an idea)&lt;br /&gt;
&lt;br /&gt;
You will mostly like to take a quick look at the dependencies before you remove packages recursively.&lt;br /&gt;
&lt;br /&gt;
To see dependencies for a package, use:&lt;br /&gt;
 apk_info -R package1 package2&lt;br /&gt;
&lt;br /&gt;
To see if package is required by other packages (is a dependency for another packages), use:&lt;br /&gt;
 apk_info -r package1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --unmerge package1 package2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 apt-get remove package1 package2&lt;br /&gt;
or to remove along with all configuration files&lt;br /&gt;
 apt-get remove --purge package1 package2&lt;br /&gt;
&lt;br /&gt;
===Only downloading packages===&lt;br /&gt;
This can be useful e.g. if you&#039;re on a dial-up connection and want to download everything first and install later.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
 apk_fetch package1 package2&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 emerge --fetchonly package1 package2&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 apt-get install --download-only package1 package2&lt;br /&gt;
&lt;br /&gt;
===Cleaning up downloaded packages===&lt;br /&gt;
Compressed packages that were downloaded for installation can easily consume gigs of hdd space.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alpine will clean up package automatically unless APK_KEEPCACHE is set to &amp;quot;yes&amp;quot; in /etc/apk.conf. To do it manually if it is set:&lt;br /&gt;
 rm /var/cache/packages/*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
 rm -rf /usr/portage/distfiles/*&lt;br /&gt;
To only remove outdated packages you will need to install the gentoolkit package and use eclean:&lt;br /&gt;
 eclean distfiles&lt;br /&gt;
Cleaning temporary files from emerging packages:&lt;br /&gt;
 rm -rf /var/tmp/portage/*&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 apt-get clean&lt;br /&gt;
Only remove outdated packages:&lt;br /&gt;
 apt-get autoclean&lt;br /&gt;
&lt;br /&gt;
===Reverse dependencies===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
apk-tools will take care of reverse dependencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Reverse dependencies are a major drawback of &#039;&#039;&#039;Gentoo&#039;s&#039;&#039;&#039; current portage implementation: It does not take care of them at all at the moment.&lt;br /&gt;
This means that you can uninstall packages needed by others without being warned about it. E.g. you can remove the x server package without portage warning you that kde (which you have installed as well) depends on it. This way you can actually break your entire system (e.g. by removing glibc).&lt;br /&gt;
&lt;br /&gt;
 revdep-rebuild&lt;br /&gt;
can fix broken dependencies broken by&lt;br /&gt;
emerge --depclean&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Reverse dependencies are taken care of by dpkg.&lt;br /&gt;
&lt;br /&gt;
==Runlevel &amp;amp; Initscripts==&lt;br /&gt;
Runlevels work pretty conventionally on Debian. On Alpine and Gentoo, they are a bit different.&lt;br /&gt;
===Directories and files===&lt;br /&gt;
In &#039;&#039;&#039;Debian&#039;&#039;&#039; runlevels are named conventionally (0-6 and S). They are represented by directories in /etc/ called rc*.d (when the default sysv-rc boot loader package is installed; file-rc can be installed instead, and then the relevant file is runlevel.conf).&lt;br /&gt;
* /etc/rc0.d&lt;br /&gt;
* /etc/rc1.d&lt;br /&gt;
* /etc/rcS.d&lt;br /&gt;
* /etc/rc2.d&lt;br /&gt;
* /etc/rc3.d&lt;br /&gt;
* /etc/rc4.d&lt;br /&gt;
* /etc/rc5.d&lt;br /&gt;
* /etc/rc6.d&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;&#039;Gentoo&#039;&#039;&#039;, runlevels have the same names, but these are mapped to more self explanatory ones (in /etc/inittab): &amp;quot;boot&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;nonetwork&amp;quot;, with the option to add more. The directories that represent them are in &lt;br /&gt;
/etc/runlevels/:&lt;br /&gt;
* /etc/runlevels/boot&lt;br /&gt;
* /etc/runlevels/default&lt;br /&gt;
* /etc/runlevels/nonetwork&lt;br /&gt;
&lt;br /&gt;
In Gentoo, if a service is not explicitly started in a runlevel, it is stopped when switching to that runlevel! There is no explicit stopping of runlevels as in Debian (/etc/rc?.d/K??service).&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;&#039;both Debian and Gentoo&#039;&#039;&#039;, which things are started (and stopped) in which runlevels is controlled by links in the runlevel directories to scripts in /etc/init.d/, e.g.:&lt;br /&gt;
gentoo &lt;br /&gt;
 $ ls -l /etc/runlevels/boot/hostname&lt;br /&gt;
 lrwxrwxrwx  1 root root 20 Mar 25  2004 /etc/runlevels/boot/hostname -&amp;gt; /etc/init.d/hostname&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
 $ ls -l rcS.d/S40hostname.sh&lt;br /&gt;
 lrwxrwxrwx  1 root root 21 2004-11-07 00:19 rcS.d/S40hostname.sh -&amp;gt; ../init.d/hostname.sh&lt;br /&gt;
&lt;br /&gt;
TODO: Alpine&lt;br /&gt;
&lt;br /&gt;
===Runlevel management===&lt;br /&gt;
To manage which things to start in which runlevels, use the following commands:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To see current status of services in runlevels, do:&lt;br /&gt;
 rc_status&lt;br /&gt;
To add sshd to default runlevel, do:&lt;br /&gt;
 rc_add -k sshd&lt;br /&gt;
The -k option will make sure sshd is stopped when shutting down or reboot.&lt;br /&gt;
To remove sshd from all runlevels do:&lt;br /&gt;
 rc_delete sshd&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rc-update&lt;br /&gt;
To add the cupsd to the default runlevel, do:&lt;br /&gt;
 rc-update add cupsd default&lt;br /&gt;
To remove alsasound from the boot runlevel, do:&lt;br /&gt;
 rc-update del alsasound boot&lt;br /&gt;
Also see this wiki page about [http://gentoo-wiki.com/Rc-update gentoo runlevel management with rc-update]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 update-rc.d&lt;br /&gt;
Configure cupsd to be started in runlevels 2, 3, 4, 5, and stopped in 0, 1, 6, with sequence code 20:&lt;br /&gt;
 update-rc.d cupsd start 20 2 3 4 5 . stop 20 0 1 6 . &lt;br /&gt;
or simply:&lt;br /&gt;
 update-rc.d cupsd defaults &lt;br /&gt;
Remove cupsd from all runlevels:&lt;br /&gt;
 update-rc.d -f cupsd remove&lt;br /&gt;
&lt;br /&gt;
==Config Files==&lt;br /&gt;
&lt;br /&gt;
===/etc/make.conf and use flags===&lt;br /&gt;
While in gentoo there are a large number of configuration files which exist to control the behaviour of the package management system. There are comparatively fewer in Debian, as there is no need to dictate how to compile software which is downloaded and tweak / alter this purpose. In gentoo, the file /etc/make.conf is used for much configuration; this includes &#039;&#039;USE&#039;&#039; flags, which influence which elements of packages are compiled, and which libraries to build support for - common USE flags (USE or -USE to specifically negate support) include &#039;gtk gnome&#039; for gnome users (and a corresponding -qt -kde -arts) and &#039;qt kde arts&#039; for kde users. A gentoo user&#039;s complete set of use flags may look something like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;USE=&amp;quot;-kde -arts -qt xv truetype bluetooth crypt slang readline gpm berkdb mmx gdbm tcpd pam libwww ssl nls ethereal perl python esd gif imlib sdl oggvorbis mpeg gnome gtk X motif opengl avi png tiff nptl pcmcia nptl ldap eds&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===arch and repositories===&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Also in /etc/make.conf is the &#039;&#039;&#039;ACCEPT_KEYWORDS&#039;&#039;&#039; setting, with (for an X86-based processor) two settings, &#039;&#039;&#039;x86&#039;&#039;&#039; for stabler packages, and &#039;&#039;&#039;~x86&#039;&#039;&#039; for bleeding edge packages. It is however not recommended to make this change in /etc/make.conf. Rather configure this per-package in /etc/portage/package.keywords. It&#039;s enough to put a line into that file naming the package (for example &#039;app-foo/bar&#039;). That file might look like this:&lt;br /&gt;
&lt;br /&gt;
 app-crypt/gpg-agent&lt;br /&gt;
 app-text/docbook-xsl-stylesheets&lt;br /&gt;
 =app-text/docbook-xml-dtd-4.3-r1&lt;br /&gt;
&lt;br /&gt;
The last line says, that &#039;&#039;only&#039;&#039; version 4.3-r1 should be unmasked. Older and newer versions will still be ignored.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note for non-x86 users:&#039;&#039;&#039;&lt;br /&gt;
The keywords &#039;&#039;&#039;x86&#039;&#039;&#039; and &#039;&#039;&#039;~x86&#039;&#039;&#039; can of course be replaced by &#039;&#039;&#039;sparc&#039;&#039;&#039; and &#039;&#039;&#039;~sparc&#039;&#039;&#039; for example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Setting this in Debian is slightly more complicated, and is accomplished by setting different &#039;repositories&#039; in &#039;&#039;/etc/apt/sources.list&#039;&#039; - along with which &#039;tree&#039; to use for packages; in debian, these are &#039;&#039;&#039;stable&#039;&#039;&#039;, &#039;&#039;&#039;testing&#039;&#039;&#039;, and &#039;&#039;&#039;unstable&#039;&#039;&#039;. An &#039;&#039;/etc/apt/sources.list&#039;&#039; file for a debian testing user may look something like this:&lt;br /&gt;
&lt;br /&gt;
 deb http://mirrors.kernel.org/debian testing main non-free contrib&lt;br /&gt;
 deb ftp://ftp.nerim.net/debian-marillat testing main&lt;br /&gt;
 deb http://security.debian.org testing/updates main contrib non-free&lt;br /&gt;
&lt;br /&gt;
Alternatively, &#039;&#039;/etc/apt/sources.list&#039;&#039; can contain any number of repositories for any trees, and a default tree (this can be overridden using the -t switch on the command line) in &#039;&#039;/etc/apt/apt.conf&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
   APT::Default-Release &amp;quot;testing&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Per-package settings go in &#039;&#039;/etc/apt/preferences&#039;&#039;, somewhat like Gentoo&#039;s &#039;&#039;/etc/portage/package.keywords&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alpine uses /etc/network/interfaces, just like Debian. The main reason is because this is the way busybox does it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/etc/network/interfaces&#039;&#039;:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
  address 192.168.0.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  broadcast 192.168.0.255&lt;br /&gt;
  &lt;br /&gt;
 auto eth0:0&lt;br /&gt;
 iface eth0:0 inet static&lt;br /&gt;
  address 192.168.1.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  broadcast 192.168.1.255&lt;br /&gt;
 # etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/etc/conf.d/net&#039;&#039;:&lt;br /&gt;
 config_eth0=( &amp;quot;192.168.1.100 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
               &amp;quot;192.168.2.100 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_eth0=( &amp;quot;default via 192.168.1.1&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Note that this has changed recently. For more information please refer to http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/etc/network/interfaces&#039;&#039;:&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
  address 192.168.0.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  broadcast 192.168.0.255&lt;br /&gt;
  &lt;br /&gt;
 auto eth0:0&lt;br /&gt;
 iface eth0:0 inet static&lt;br /&gt;
  address 192.168.1.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  broadcast 192.168.1.255&lt;br /&gt;
 # etc.&lt;br /&gt;
&lt;br /&gt;
Are this information help you in writing [http://www.research-service.com/custom-research-paper.html research paper]? Feel free to send us comments and suggestions about the wiki.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2997</id>
		<title>Setting up a OpenVPN server</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2997"/>
		<updated>2009-08-19T20:19:31Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to set up an OpenVPN server with the Alpine distro.&lt;br /&gt;
This is an ideal solution for allowing single users or devices to remotely connect to your network. To establish connectivity with a Remote Office or site, [http://wiki.alpinelinux.org/w/index.php?title=Using_Racoon_for_Remote_Sites Racoon/Opennhrp] would provide better functionality. &lt;br /&gt;
&lt;br /&gt;
It is recommended that you have a publicly routable static IP address in order for this to work. This means that your IP address cannot be in the private IP address ranges described here: [http://en.wikipedia.org/wiki/IP_address#IPv4_private_addresses WikiPedia]&lt;br /&gt;
&lt;br /&gt;
If your Internet-connected machine doesn&#039;t have a static IP address, [http://www.dyndns.com DynDNS] can be used for resolving DNS names to IP addresses.&lt;br /&gt;
&lt;br /&gt;
= Setup Alpine =&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
Follow [[Installing_Alpine]] to setup Alpine Linux.&lt;br /&gt;
&lt;br /&gt;
== Install programs ==&lt;br /&gt;
Install openvpn&lt;br /&gt;
 apk_add openvpn&lt;br /&gt;
Prepare autostart of OpenVPN&amp;lt;BR&amp;gt;&lt;br /&gt;
 rc_add -s 40 -k openvpn            # for alpine 1.8&lt;br /&gt;
 rc-update add openvpn              # for alpine 1.9&lt;br /&gt;
 modprobe tun&lt;br /&gt;
 echo &amp;quot;tun&amp;quot; &amp;gt;&amp;gt;/etc/modules&lt;br /&gt;
&lt;br /&gt;
= Certificates =&lt;br /&gt;
One of the first things that needs to be done is to make sure that you have secure keys to work with. Alpine makes this easy by having a web interface to manage the certificates. Documentation for it can be found here: [[Generating_SSL_certs_with_ACF]]. It is a best practice not to have your certificate server be on the same machine as the router being used for remote connectivity.&lt;br /&gt;
&lt;br /&gt;
If you are setting up a client and need to figure out how to divide the cert (they gave you a .pfx file) use the following commands:&lt;br /&gt;
 &lt;br /&gt;
To get the ca cert out...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -cacerts -nokeys -out ca.pem&lt;br /&gt;
&lt;br /&gt;
To get the cert file out...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -nokeys -clcerts -out cert.pem&lt;br /&gt;
&lt;br /&gt;
To get the private key file out. May sure this stays private...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -nocerts -nodes -out key.pem&lt;br /&gt;
&lt;br /&gt;
If you would prefer to generate your certificates using OpenVPN utilities, see [[#Alternative Certificate Method]]&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-server =&lt;br /&gt;
Example configuration file for server:&lt;br /&gt;
 local &amp;quot;Public Ip address&amp;quot;&lt;br /&gt;
 port 1194&lt;br /&gt;
 proto udp&lt;br /&gt;
 dev tun&lt;br /&gt;
 ca ca.crt&lt;br /&gt;
 cert server.crt&lt;br /&gt;
 dh dh1024.pem #to generate by hand #openssl dhparam -out dh1024.pem 1024&lt;br /&gt;
 server 10.0.0.0 255.255.255.0&lt;br /&gt;
 ifconfig-pool-persist ipp.txt&lt;br /&gt;
 push &amp;quot;route 10.0.0.0 255.0.0.0&amp;quot;&lt;br /&gt;
 push &amp;quot;dhcp-option DNS 10.0.0.1&amp;quot;&lt;br /&gt;
 keepalive 10 120&lt;br /&gt;
 comp-lzo&lt;br /&gt;
 user nobody&lt;br /&gt;
 group nobody&lt;br /&gt;
 persist-key&lt;br /&gt;
 persist-tun&lt;br /&gt;
 status /var/log/openvpn-status.log&lt;br /&gt;
 log-append  /var/log/openvpn.log&lt;br /&gt;
 verb 3&lt;br /&gt;
&amp;gt; These cert files don&#039;t match those listed above&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Instructions are based on [http://openvpn.net/howto.html#server openvpn.net/howto.html#server]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== Test your configuration ==&lt;br /&gt;
Test configuration and certificates&lt;br /&gt;
  openvpn --config /etc/openvpn/openvpn.conf&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-client =&lt;br /&gt;
Example client.conf:&lt;br /&gt;
 client&lt;br /&gt;
 dev tun&lt;br /&gt;
 proto udp&lt;br /&gt;
 remote &amp;quot;public IP&amp;quot; 1194&lt;br /&gt;
 resolv-retry infinite&lt;br /&gt;
 nobind&lt;br /&gt;
 ns-cert-type server # This means that the certificate on the openvpn server needs to have this field. Prevents MitM attacks&lt;br /&gt;
 persist-key&lt;br /&gt;
 persist-tun&lt;br /&gt;
 ca ca.crt&lt;br /&gt;
 cert client.crt&lt;br /&gt;
 key client.key&lt;br /&gt;
 comp-lzo&lt;br /&gt;
 verb 3&lt;br /&gt;
&amp;gt; These cert files don&#039;t match those listed above&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Instructions are based on [http://openvpn.net/howto.html#client openvpn.net/howto.html#client]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
= Save settings =&lt;br /&gt;
Don&#039;t forget to save all your settings&lt;br /&gt;
 lbu commit&lt;br /&gt;
&lt;br /&gt;
= Alternative Certificate Method =&lt;br /&gt;
== Manual Certificate Commands ==&lt;br /&gt;
(&#039;&#039;Instructions are based on [http://openvpn.net/howto.html#pki openvpn.net/howto.html#pki]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
=== Initial setup for administrating certificates ===&lt;br /&gt;
The following instructions assume that you want to save your configs, certs and keys in &#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;.&amp;lt;BR&amp;gt;&lt;br /&gt;
Start by moving to the &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; folder to execute commands&lt;br /&gt;
 cd /usr/share/openvpn/easy-rsa&lt;br /&gt;
If not already done then create a folder where you will save your certificates and save a copy of your &#039;&#039;&#039;/usr/share/openvpn/easy-rsa/vars&#039;&#039;&#039; for later use.&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;All files in &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; are overwritten when the computer is restarted&#039;&#039;)&lt;br /&gt;
 mkdir /etc/openvpn/keys&lt;br /&gt;
 cp ./vars /etc/openvpn/keys&lt;br /&gt;
If not already done then edit &#039;&#039;&#039;/etc/openvpn/keys/vars&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;This file is used for defining paths and other standard settings&#039;&#039;)&lt;br /&gt;
 vim /etc/openvpn/keys/vars&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_DIR=&#039;&#039;&#039; from &amp;quot;&#039;&#039;&#039;$EASY_RSA/keys&#039;&#039;&#039;&amp;quot; to &amp;quot;&#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_SIZE, CA_EXPIRE, KEY_EXPIRE, KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL&#039;&#039;&#039; to match your system.&lt;br /&gt;
source the &#039;&#039;&#039;vars&#039;&#039;&#039; to set properties&lt;br /&gt;
 source /etc/openvpn/keys/vars&lt;br /&gt;
&lt;br /&gt;
=== Set up a &#039;Certificate Authority&#039; (CA) ===&lt;br /&gt;
Clean up the &#039;&#039;&#039;keys&#039;&#039;&#039; folder.&lt;br /&gt;
 ./clean-all&lt;br /&gt;
Generate Diffie Hellman parameters&lt;br /&gt;
 ./build-dh&lt;br /&gt;
Now lets make the CA certificates and keys&lt;br /&gt;
 ./build-ca&lt;br /&gt;
&lt;br /&gt;
=== Set up a &#039;OpenVPN Server&#039; ===&lt;br /&gt;
Create server certificates&lt;br /&gt;
 ./build-key-server {commonname}&lt;br /&gt;
&lt;br /&gt;
=== Set up a &#039;OpenVPN Client&#039; ===&lt;br /&gt;
Create client certificates&lt;br /&gt;
 ./build-key {commonname}&lt;br /&gt;
&lt;br /&gt;
=== Revoke a certificate ===&lt;br /&gt;
To revoke a certificate...&lt;br /&gt;
 ./revoke-full {commonname}&lt;br /&gt;
The revoke-full script will generate a CRL (certificate revocation list) file called &#039;&#039;&#039;crl.pem&#039;&#039;&#039; in the &#039;&#039;&#039;keys&#039;&#039;&#039; subdirectory.&amp;lt;BR&amp;gt;The file should be copied to a directory where the OpenVPN server can access it, then CRL verification should be enabled in the server configuration:&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crl-verify crl.pem&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2996</id>
		<title>Setting up a OpenVPN server</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2996"/>
		<updated>2009-08-19T20:18:01Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://varmonda.com/noc4tbocolod.html riczellimo]&lt;br /&gt;
http://limonra.com/catrocco.html[riczellimo] [[http://limonra.com/catrocco.html][riczellimo]]&lt;br /&gt;
* http://liaceltro.com/monnocnarols.html riczellimo&lt;br /&gt;
* [[http://troclaacelb.com/roroc4telp.html riczellimo]]&lt;br /&gt;
* [[http://notrvareltr.com/oubopas.html|riczellimo]]&lt;br /&gt;
* [[http://boc4taldarr.com/liletotale.html | riczellimo]]&lt;br /&gt;
* [http://olovirol.com/letoletotaal.html|riczellimo]&lt;br /&gt;
* [riczellimo|http://zelboclica.com/cnazella.html]&lt;br /&gt;
* ((http://aldarracboc.com/riclibasdro.html riczellimo))&lt;br /&gt;
* [riczellimo](http://rolzelgetlet.com/alvarc4.html &amp;quot;riczellimo&amp;quot;)&lt;br /&gt;
&amp;quot;riczellimo&amp;quot;:http://oralcnac.com/getbora.html&lt;br /&gt;
 &lt;br /&gt;
This article describes how to set up an OpenVPN server with the Alpine distro.&lt;br /&gt;
This is an ideal solution for allowing single users or devices to remotely connect to your network. To establish connectivity with a Remote Office or site, [http://wiki.alpinelinux.org/w/index.php?title=Using_Racoon_for_Remote_Sites Racoon/Opennhrp] would provide better functionality. &lt;br /&gt;
&lt;br /&gt;
It is recommended that you have a publicly routable static IP address in order for this to work. This means that your IP address cannot be in the private IP address ranges described here: [http://en.wikipedia.org/wiki/IP_address#IPv4_private_addresses WikiPedia]&lt;br /&gt;
&lt;br /&gt;
If your Internet-connected machine doesn&#039;t have a static IP address, [http://www.dyndns.com DynDNS] can be used for resolving DNS names to IP addresses.&lt;br /&gt;
&lt;br /&gt;
= Setup Alpine =&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
Follow [[Installing_Alpine]] to setup Alpine Linux.&lt;br /&gt;
&lt;br /&gt;
== Install programs ==&lt;br /&gt;
Install openvpn&lt;br /&gt;
 apk_add openvpn&lt;br /&gt;
Prepare autostart of OpenVPN&amp;lt;BR&amp;gt;&lt;br /&gt;
 rc_add -s 40 -k openvpn            # for alpine 1.8&lt;br /&gt;
 rc-update add openvpn              # for alpine 1.9&lt;br /&gt;
 modprobe tun&lt;br /&gt;
 echo &amp;quot;tun&amp;quot; &amp;gt;&amp;gt;/etc/modules&lt;br /&gt;
&lt;br /&gt;
= Certificates =&lt;br /&gt;
One of the first things that needs to be done is to make sure that you have secure keys to work with. Alpine makes this easy by having a web interface to manage the certificates. Documentation for it can be found here: [[Generating_SSL_certs_with_ACF]]. It is a best practice not to have your certificate server be on the same machine as the router being used for remote connectivity.&lt;br /&gt;
&lt;br /&gt;
If you are setting up a client and need to figure out how to divide the cert (they gave you a .pfx file) use the following commands:&lt;br /&gt;
 &lt;br /&gt;
To get the ca cert out...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -cacerts -nokeys -out ca.pem&lt;br /&gt;
&lt;br /&gt;
To get the cert file out...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -nokeys -clcerts -out cert.pem&lt;br /&gt;
&lt;br /&gt;
To get the private key file out. May sure this stays private...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -nocerts -nodes -out key.pem&lt;br /&gt;
&lt;br /&gt;
If you would prefer to generate your certificates using OpenVPN utilities, see [[#Alternative Certificate Method]]&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-server =&lt;br /&gt;
Example configuration file for server:&lt;br /&gt;
 local &amp;quot;Public Ip address&amp;quot;&lt;br /&gt;
 port 1194&lt;br /&gt;
 proto udp&lt;br /&gt;
 dev tun&lt;br /&gt;
 ca ca.crt&lt;br /&gt;
 cert server.crt&lt;br /&gt;
 dh dh1024.pem #to generate by hand #openssl dhparam -out dh1024.pem 1024&lt;br /&gt;
 server 10.0.0.0 255.255.255.0&lt;br /&gt;
 ifconfig-pool-persist ipp.txt&lt;br /&gt;
 push &amp;quot;route 10.0.0.0 255.0.0.0&amp;quot;&lt;br /&gt;
 push &amp;quot;dhcp-option DNS 10.0.0.1&amp;quot;&lt;br /&gt;
 keepalive 10 120&lt;br /&gt;
 comp-lzo&lt;br /&gt;
 user nobody&lt;br /&gt;
 group nobody&lt;br /&gt;
 persist-key&lt;br /&gt;
 persist-tun&lt;br /&gt;
 status /var/log/openvpn-status.log&lt;br /&gt;
 log-append  /var/log/openvpn.log&lt;br /&gt;
 verb 3&lt;br /&gt;
&amp;gt; These cert files don&#039;t match those listed above&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Instructions are based on [http://openvpn.net/howto.html#server openvpn.net/howto.html#server]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== Test your configuration ==&lt;br /&gt;
Test configuration and certificates&lt;br /&gt;
  openvpn --config /etc/openvpn/openvpn.conf&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-client =&lt;br /&gt;
Example client.conf:&lt;br /&gt;
 client&lt;br /&gt;
 dev tun&lt;br /&gt;
 proto udp&lt;br /&gt;
 remote &amp;quot;public IP&amp;quot; 1194&lt;br /&gt;
 resolv-retry infinite&lt;br /&gt;
 nobind&lt;br /&gt;
 ns-cert-type server # This means that the certificate on the openvpn server needs to have this field. Prevents MitM attacks&lt;br /&gt;
 persist-key&lt;br /&gt;
 persist-tun&lt;br /&gt;
 ca ca.crt&lt;br /&gt;
 cert client.crt&lt;br /&gt;
 key client.key&lt;br /&gt;
 comp-lzo&lt;br /&gt;
 verb 3&lt;br /&gt;
&amp;gt; These cert files don&#039;t match those listed above&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Instructions are based on [http://openvpn.net/howto.html#client openvpn.net/howto.html#client]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
= Save settings =&lt;br /&gt;
Don&#039;t forget to save all your settings&lt;br /&gt;
 lbu commit&lt;br /&gt;
&lt;br /&gt;
= Alternative Certificate Method =&lt;br /&gt;
== Manual Certificate Commands ==&lt;br /&gt;
(&#039;&#039;Instructions are based on [http://openvpn.net/howto.html#pki openvpn.net/howto.html#pki]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
=== Initial setup for administrating certificates ===&lt;br /&gt;
The following instructions assume that you want to save your configs, certs and keys in &#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;.&amp;lt;BR&amp;gt;&lt;br /&gt;
Start by moving to the &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; folder to execute commands&lt;br /&gt;
 cd /usr/share/openvpn/easy-rsa&lt;br /&gt;
If not already done then create a folder where you will save your certificates and save a copy of your &#039;&#039;&#039;/usr/share/openvpn/easy-rsa/vars&#039;&#039;&#039; for later use.&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;All files in &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; are overwritten when the computer is restarted&#039;&#039;)&lt;br /&gt;
 mkdir /etc/openvpn/keys&lt;br /&gt;
 cp ./vars /etc/openvpn/keys&lt;br /&gt;
If not already done then edit &#039;&#039;&#039;/etc/openvpn/keys/vars&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;This file is used for defining paths and other standard settings&#039;&#039;)&lt;br /&gt;
 vim /etc/openvpn/keys/vars&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_DIR=&#039;&#039;&#039; from &amp;quot;&#039;&#039;&#039;$EASY_RSA/keys&#039;&#039;&#039;&amp;quot; to &amp;quot;&#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_SIZE, CA_EXPIRE, KEY_EXPIRE, KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL&#039;&#039;&#039; to match your system.&lt;br /&gt;
source the &#039;&#039;&#039;vars&#039;&#039;&#039; to set properties&lt;br /&gt;
 source /etc/openvpn/keys/vars&lt;br /&gt;
&lt;br /&gt;
=== Set up a &#039;Certificate Authority&#039; (CA) ===&lt;br /&gt;
Clean up the &#039;&#039;&#039;keys&#039;&#039;&#039; folder.&lt;br /&gt;
 ./clean-all&lt;br /&gt;
Generate Diffie Hellman parameters&lt;br /&gt;
 ./build-dh&lt;br /&gt;
Now lets make the CA certificates and keys&lt;br /&gt;
 ./build-ca&lt;br /&gt;
&lt;br /&gt;
=== Set up a &#039;OpenVPN Server&#039; ===&lt;br /&gt;
Create server certificates&lt;br /&gt;
 ./build-key-server {commonname}&lt;br /&gt;
&lt;br /&gt;
=== Set up a &#039;OpenVPN Client&#039; ===&lt;br /&gt;
Create client certificates&lt;br /&gt;
 ./build-key {commonname}&lt;br /&gt;
&lt;br /&gt;
=== Revoke a certificate ===&lt;br /&gt;
To revoke a certificate...&lt;br /&gt;
 ./revoke-full {commonname}&lt;br /&gt;
The revoke-full script will generate a CRL (certificate revocation list) file called &#039;&#039;&#039;crl.pem&#039;&#039;&#039; in the &#039;&#039;&#039;keys&#039;&#039;&#039; subdirectory.&amp;lt;BR&amp;gt;The file should be copied to a directory where the OpenVPN server can access it, then CRL verification should be enabled in the server configuration:&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crl-verify crl.pem&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2995</id>
		<title>Installing Alpine</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2995"/>
		<updated>2009-08-19T20:16:28Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General =&lt;br /&gt;
Alpine can boot from various media such as USB stick, CDrom or hard drive.&amp;lt;BR&amp;gt;&lt;br /&gt;
No matter what media you use to boot your Alpine it will load required packages into RAM and run from there.&lt;br /&gt;
&lt;br /&gt;
== Howto ==&lt;br /&gt;
* [[Installing_Alpine_on_CD]]&lt;br /&gt;
* [[Installing_Alpine_on_USB]]&lt;br /&gt;
* [[Installing_Alpine_on_Compact_Flash]]&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_the_build_environment&amp;diff=2994</id>
		<title>Setting up the build environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_the_build_environment&amp;diff=2994"/>
		<updated>2009-08-19T20:16:27Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: Redirecting to Setting up the build environment 1.9&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Setting up the build environment 1.9]]&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2992</id>
		<title>Installing Alpine</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2992"/>
		<updated>2009-08-19T20:16:06Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://orroerdarrol.com/bastroc.html sitnoacell]&lt;br /&gt;
http://elletolicnaa.com/baslioulet.html[sitnoacell] [[http://elletolicnaa.com/baslioulet.html][sitnoacell]]&lt;br /&gt;
* http://dronchirol.com/orgetlidr.html sitnoacell&lt;br /&gt;
* [[http://bocract.com/ladomalnoli.html sitnoacell]]&lt;br /&gt;
* [[http://varsit.com/racerdronou.html|sitnoacell]]&lt;br /&gt;
* [[http://racsitt.com/acelzel.html | sitnoacell]]&lt;br /&gt;
* [http://trcogetbocge.com/aloubaseltp.html|sitnoacell]&lt;br /&gt;
* [sitnoacell|http://varc4tcob.com/sittrrelrold.html]&lt;br /&gt;
* ((http://delordo.com/taelpasallet.html sitnoacell))&lt;br /&gt;
* [sitnoacell](http://boccnada.com/getricre.html &amp;quot;sitnoacell&amp;quot;)&lt;br /&gt;
&amp;quot;sitnoacell&amp;quot;:http://eldrontr.com/zelchivarerr.html&lt;br /&gt;
 &lt;br /&gt;
= General =&lt;br /&gt;
Alpine can boot from various media such as USB stick, CDrom or hard drive.&amp;lt;BR&amp;gt;&lt;br /&gt;
No matter what media you use to boot your Alpine it will load required packages into RAM and run from there.&lt;br /&gt;
&lt;br /&gt;
== Howto ==&lt;br /&gt;
* [[Installing_Alpine_on_CD]]&lt;br /&gt;
* [[Installing_Alpine_on_USB]]&lt;br /&gt;
* [[Installing_Alpine_on_Compact_Flash]]&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_the_build_environment&amp;diff=2991</id>
		<title>Setting up the build environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_the_build_environment&amp;diff=2991"/>
		<updated>2009-08-19T20:15:48Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://dronbo.com/racsitrac.html trlacnaalb]&lt;br /&gt;
http://trocacctrce.com/dombocba.html[trlacnaalb] [[http://trocacctrce.com/dombocba.html][trlacnaalb]]&lt;br /&gt;
* http://bocchieltrol.com/orrelde.html trlacnaalb&lt;br /&gt;
* [[http://acgetb.com/letovirorelr.html trlacnaalb]]&lt;br /&gt;
* [[http://cororcnac4t.com/dartabasr.html|trlacnaalb]]&lt;br /&gt;
* [[http://zeldar.com/c4talcnat.html | trlacnaalb]]&lt;br /&gt;
* [http://sitrelcaouac.com/olositdrond.html|trlacnaalb]&lt;br /&gt;
* [trlacnaalb|http://olocdomv.com/altaelpasc.html]&lt;br /&gt;
* ((http://vivimonri.com/boricricmon.html trlacnaalb))&lt;br /&gt;
* [trlacnaalb](http://trocrac.com/noorc4.html &amp;quot;trlacnaalb&amp;quot;)&lt;br /&gt;
&amp;quot;trlacnaalb&amp;quot;:http://varracalco.com/clioloele.html&lt;br /&gt;
 &lt;br /&gt;
#REDIRECT [[Setting up the build environment 1.9]]&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2990</id>
		<title>Setting up lm sensors</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2990"/>
		<updated>2009-08-19T20:15:34Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document is a short note on how to set up lm_sensors in Alpine.&lt;br /&gt;
&lt;br /&gt;
Install the neccessary packages. You will need perl to run the sensors-detect script.&lt;br /&gt;
  apk_add lm_sensors perl&lt;br /&gt;
&lt;br /&gt;
Load the i2c-dev module:&lt;br /&gt;
  echo i2c-dev &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
  modprobe i2c-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you already know the name of the sensor module, you can modprobe it now, and skip the sensors-detect and perl install.  &lt;br /&gt;
&lt;br /&gt;
Run sensors detect:&lt;br /&gt;
  sensors-detect&lt;br /&gt;
&lt;br /&gt;
On the question to scan ISA bus and Super I/O sensors, select &amp;quot;no&amp;quot;. Grsec will not allow you to access /proc/port. On all other questions select the default.&lt;br /&gt;
&lt;br /&gt;
You will not need perl anymore. Remove it before you forget.&lt;br /&gt;
  apk_delete perl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make services start during next reboot.&lt;br /&gt;
  rc_add -k lm_sensors sensord&lt;br /&gt;
&lt;br /&gt;
Start services:&lt;br /&gt;
  /etc/init.d/lm_sensors start&lt;br /&gt;
  /etc/init.d/sensord start&lt;br /&gt;
&lt;br /&gt;
Save config using &#039;&#039;lbu commit&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2989</id>
		<title>Alpine Configuration Framework Design</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2989"/>
		<updated>2009-08-19T20:15:30Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Alpine Configuration Framework  =&lt;br /&gt;
&lt;br /&gt;
The Alpine Configuration Framework (ACF) is a mvc-style application for configuring an Alpine device. The primary focus is for a web interface - ACF&#039;s main goal is to be a light-weight MVC &amp;quot;webmin&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Why Haserl + Lua  ==&lt;br /&gt;
&lt;br /&gt;
Other competitors in the arena were Webmin, Ruby on Rails, PHP with templates. &lt;br /&gt;
&lt;br /&gt;
A full webmin (Perl), RoR or PHP implementation each require several MB of installed code, and can have very slow startup times, especially when used in &amp;quot;cgi&amp;quot; mode. After evaluating many options, we found that [http://www.lua.org Lua] has the following advantages: &lt;br /&gt;
&lt;br /&gt;
*It is small (typically ~200KB of compiled code) &lt;br /&gt;
*It compiles and runs much faster than [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=php PHP], [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=perl Perl] or [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=ruby Ruby] &lt;br /&gt;
*It provides a &amp;quot;normal&amp;quot; scripting language with [http://en.wikipedia.org/wiki/Lua_(programming_language)#Features features] similar to PHP, perl, java, awk, etc.&lt;br /&gt;
&lt;br /&gt;
Haserl + Lua provides a &#039;good enough&#039; toolset to build a full-featured web application. &lt;br /&gt;
&lt;br /&gt;
== Why ACF is MVC  ==&lt;br /&gt;
&lt;br /&gt;
The MVC design pattern is used to separate presentation information from control logic. By MVC we mean: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Model&#039;&#039;&#039; - code that reads / writes a config file, starts / stops daemons, or does other work modifying the router. &lt;br /&gt;
*&#039;&#039;&#039;View&#039;&#039;&#039; - code that formats data for output &lt;br /&gt;
*&#039;&#039;&#039;Controller&#039;&#039;&#039; - code that glues the two together&lt;br /&gt;
&lt;br /&gt;
Note the lack of words like: HTML, XML, OO, AJAX, etc. The purpose of ACF&#039;s MVC is simply to separate the configuration logic from the presentation of the output. &lt;br /&gt;
&lt;br /&gt;
The flow of a single transaction is: &lt;br /&gt;
&lt;br /&gt;
start -&amp;amp;gt; execute requested function in &#039;&#039;&#039;controller&#039;&#039;&#039;, optionally reading/writing a file using functions in the &#039;&#039;&#039;model&#039;&#039;&#039; -&amp;amp;gt; execute the &#039;&#039;&#039;view&#039;&#039;&#039; to format the output -&amp;amp;gt; end &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Every&#039;&#039; transaction follows this pattern. For ACF developers, the focus should be on getting a model that does a proper job of abstracting the config file into useable entities and then building a controller that presents useable &amp;quot;actions&amp;quot; based on the model. The presentation layer should be last on the priority list. &lt;br /&gt;
&lt;br /&gt;
For good background information on what ACF attempts to do, please see Terence Parr&#039;s paper &amp;quot;Enforcing Strict Model-View Separation in Template Engines&amp;quot; at [http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf http://www.cs.usfcs.edu] or the [[Media:Mvc.templates.pdf|local copy]] of the pdf. &lt;br /&gt;
&lt;br /&gt;
= Starting ACF  =&lt;br /&gt;
&lt;br /&gt;
The easiest way to start ACF is to run the &#039;&#039;setup-webconf&#039;&#039; script. This script will install mini-httpd, create a certificate, and start mini-httpd in HTTPS mode. &#039;&#039;&#039;WARNING - This will give anyone on the network access to your machine.&#039;&#039;&#039; The script will also install the two packages that are necessary for basic ACF: acf-core and acf-alpine-baselayout. To view ACF, simply browse to your machine (https://&amp;amp;lt;hostname&amp;amp;gt;/). &lt;br /&gt;
&lt;br /&gt;
Alternately, you can manually install ACF and your web server. Once again, the two critical ACF packages are acf-core and acf-alpine-baselayout. The ACF packages will install to /usr/share/acf. You can configure your web server to give access to /usr/share/acf/www and run cgi scripts from /usr/share/acf/www/cgi-bin, and you should be able to view ACF. &lt;br /&gt;
&lt;br /&gt;
If you would like to play with other ACF packages, we recommend you install the acf-apk-tools package. This package will allow you to install / delete other packages using ACF. You can then load any other acf-* packages you are interested in. &lt;br /&gt;
&lt;br /&gt;
In alpine 1.8, the system includes two default users: &#039;&#039;alpine&#039;&#039; and &#039;&#039;foo&#039;&#039;. &#039;alpine&#039; is given ADMIN rights and &#039;foo&#039; is given USER rights. The default password for both users is &#039;&#039;test123&#039;&#039;. &#039;&#039;&#039;Replace the default users as soon as possible.&#039;&#039;&#039; In alpine 1.9, you will be prompted to create an initial user the first time you try to log in.&lt;br /&gt;
&lt;br /&gt;
[[Managing ACF|Managing Your ACF Installation]] &lt;br /&gt;
&lt;br /&gt;
= ACF Developer&#039;s Guides  =&lt;br /&gt;
&lt;br /&gt;
#[[ACF mvc.lua reference|mvc.lua reference]] - mvc.lua is the core of ACF &lt;br /&gt;
#[[ACF mvc.lua example|mvc.lua example]] - build a simple (command-line) application &lt;br /&gt;
#[[ACF acf www-controller.lua reference|acf www-controller reference]] - ACF www application functions &lt;br /&gt;
#[[ACF acf www example|acf www-controller example]] - webify the above examples &lt;br /&gt;
#[[ACF how to write]] - Step by step howto for writing acfs &lt;br /&gt;
#[[ACF core principles]] - Things that are standard across the application &lt;br /&gt;
#[[LPOSIX]] - Documentation for the Lua Posix functions &lt;br /&gt;
#[[ACF Libraries]] - Document the libraries and common functions &lt;br /&gt;
#[[Writing ACF Views]] - Guide for writing a view &lt;br /&gt;
#[[Writing ACF Controllers]] - Guide for writing a controller &lt;br /&gt;
#[[Writing ACF Models]] - Guide for writing a model&lt;br /&gt;
&lt;br /&gt;
== Other useful links  ==&lt;br /&gt;
&lt;br /&gt;
#[http://www.lua.org/manual/5.1/ Lua 5.1 Reference Manual] &lt;br /&gt;
#[http://www.lua.org/pil/ Programming in Lua (first edition)]&lt;br /&gt;
&lt;br /&gt;
= ACF Layout  =&lt;br /&gt;
&lt;br /&gt;
ACF has support for multiple skins.&amp;lt;br&amp;gt;Only a few skins are available. Feel free to contribute in programming css-stylesheets for ACF. &lt;br /&gt;
&lt;br /&gt;
== Howto contribute  ==&lt;br /&gt;
&lt;br /&gt;
First download ACF using git or installing available acf&#039;s using apk_add.&amp;lt;br&amp;gt;Easiest is if you download latest Alpine ISO, boot a box on that and then run &#039;setup-alpine&#039; and &#039;setup-webconf -a&#039; that way you get a running environment fast and easy!&amp;lt;br&amp;gt;Some example skins are available &lt;br /&gt;
&lt;br /&gt;
*/usr/share/acf/www/skins/ice/ &lt;br /&gt;
*/usr/share/acf/www/skins/snow/&lt;br /&gt;
&lt;br /&gt;
Make a new skin-folder &lt;br /&gt;
&lt;br /&gt;
 mkdir /usr/share/acf/www/skins/myskin&lt;br /&gt;
&lt;br /&gt;
Create a css file called as the folder. &lt;br /&gt;
&lt;br /&gt;
 touch /usr/share/acf/www/skins/myskin/myskin.css&lt;br /&gt;
&lt;br /&gt;
Now you can start editing your myskin.css.&amp;lt;br&amp;gt;If you have ACF running on a computer, you can browse to this ACF-page and switch to your new skin (called myskin) and see the results of your changes. &lt;br /&gt;
&lt;br /&gt;
Pack your myskin-folder, containing your css-file (and images, if there is any).&amp;lt;br&amp;gt;Send this patch to acf@lists.alpinelinux.org &#039;&#039;(&#039;&#039;&#039;Note:&#039;&#039;&#039; Don&#039;t forget to [http://wiki.alpinelinux.org/w/index.php?title=Mailing_lists subscribe] before sending your patch)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
= ACF Packages  =&lt;br /&gt;
&lt;br /&gt;
Look at [http://wiki.alpinelinux.org/w/index.php?title=ACF_packages ACF packages] to see available ACF modules and their status.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2988</id>
		<title>Alpine Configuration Framework Design</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2988"/>
		<updated>2009-08-19T20:15:18Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://racsiter.com/roacellaolo.html cnaeltrelm]&lt;br /&gt;
http://altroccoca.com/coletov.html[cnaeltrelm] [[http://altroccoca.com/coletov.html][cnaeltrelm]]&lt;br /&gt;
* http://cocnalaolosi.com/dronnorel.html cnaeltrelm&lt;br /&gt;
* [[http://relercnat.com/bocorr.html cnaeltrelm]]&lt;br /&gt;
* [[http://troctroc.com/domcnadome.html|cnaeltrelm]]&lt;br /&gt;
* [[http://eltbolirolal.com/bocnov.html | cnaeltrelm]]&lt;br /&gt;
* [http://dronouacleto.com/cabotaboel.html|cnaeltrelm]&lt;br /&gt;
* [cnaeltrelm|http://droneltc.com/mondelbono.html]&lt;br /&gt;
* ((http://tarelaceld.com/olotrocvarac.html cnaeltrelm))&lt;br /&gt;
* [cnaeltrelm](http://domelelerli.com/letocoge.html &amp;quot;cnaeltrelm&amp;quot;)&lt;br /&gt;
&amp;quot;cnaeltrelm&amp;quot;:http://ctracelelac.com/basdrone.html&lt;br /&gt;
 &lt;br /&gt;
= Alpine Configuration Framework  =&lt;br /&gt;
&lt;br /&gt;
The Alpine Configuration Framework (ACF) is a mvc-style application for configuring an Alpine device. The primary focus is for a web interface - ACF&#039;s main goal is to be a light-weight MVC &amp;quot;webmin&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Why Haserl + Lua  ==&lt;br /&gt;
&lt;br /&gt;
Other competitors in the arena were Webmin, Ruby on Rails, PHP with templates. &lt;br /&gt;
&lt;br /&gt;
A full webmin (Perl), RoR or PHP implementation each require several MB of installed code, and can have very slow startup times, especially when used in &amp;quot;cgi&amp;quot; mode. After evaluating many options, we found that [http://www.lua.org Lua] has the following advantages: &lt;br /&gt;
&lt;br /&gt;
*It is small (typically ~200KB of compiled code) &lt;br /&gt;
*It compiles and runs much faster than [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=php PHP], [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=perl Perl] or [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=ruby Ruby] &lt;br /&gt;
*It provides a &amp;quot;normal&amp;quot; scripting language with [http://en.wikipedia.org/wiki/Lua_(programming_language)#Features features] similar to PHP, perl, java, awk, etc.&lt;br /&gt;
&lt;br /&gt;
Haserl + Lua provides a &#039;good enough&#039; toolset to build a full-featured web application. &lt;br /&gt;
&lt;br /&gt;
== Why ACF is MVC  ==&lt;br /&gt;
&lt;br /&gt;
The MVC design pattern is used to separate presentation information from control logic. By MVC we mean: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Model&#039;&#039;&#039; - code that reads / writes a config file, starts / stops daemons, or does other work modifying the router. &lt;br /&gt;
*&#039;&#039;&#039;View&#039;&#039;&#039; - code that formats data for output &lt;br /&gt;
*&#039;&#039;&#039;Controller&#039;&#039;&#039; - code that glues the two together&lt;br /&gt;
&lt;br /&gt;
Note the lack of words like: HTML, XML, OO, AJAX, etc. The purpose of ACF&#039;s MVC is simply to separate the configuration logic from the presentation of the output. &lt;br /&gt;
&lt;br /&gt;
The flow of a single transaction is: &lt;br /&gt;
&lt;br /&gt;
start -&amp;amp;gt; execute requested function in &#039;&#039;&#039;controller&#039;&#039;&#039;, optionally reading/writing a file using functions in the &#039;&#039;&#039;model&#039;&#039;&#039; -&amp;amp;gt; execute the &#039;&#039;&#039;view&#039;&#039;&#039; to format the output -&amp;amp;gt; end &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Every&#039;&#039; transaction follows this pattern. For ACF developers, the focus should be on getting a model that does a proper job of abstracting the config file into useable entities and then building a controller that presents useable &amp;quot;actions&amp;quot; based on the model. The presentation layer should be last on the priority list. &lt;br /&gt;
&lt;br /&gt;
For good background information on what ACF attempts to do, please see Terence Parr&#039;s paper &amp;quot;Enforcing Strict Model-View Separation in Template Engines&amp;quot; at [http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf http://www.cs.usfcs.edu] or the [[Media:Mvc.templates.pdf|local copy]] of the pdf. &lt;br /&gt;
&lt;br /&gt;
= Starting ACF  =&lt;br /&gt;
&lt;br /&gt;
The easiest way to start ACF is to run the &#039;&#039;setup-webconf&#039;&#039; script. This script will install mini-httpd, create a certificate, and start mini-httpd in HTTPS mode. &#039;&#039;&#039;WARNING - This will give anyone on the network access to your machine.&#039;&#039;&#039; The script will also install the two packages that are necessary for basic ACF: acf-core and acf-alpine-baselayout. To view ACF, simply browse to your machine (https://&amp;amp;lt;hostname&amp;amp;gt;/). &lt;br /&gt;
&lt;br /&gt;
Alternately, you can manually install ACF and your web server. Once again, the two critical ACF packages are acf-core and acf-alpine-baselayout. The ACF packages will install to /usr/share/acf. You can configure your web server to give access to /usr/share/acf/www and run cgi scripts from /usr/share/acf/www/cgi-bin, and you should be able to view ACF. &lt;br /&gt;
&lt;br /&gt;
If you would like to play with other ACF packages, we recommend you install the acf-apk-tools package. This package will allow you to install / delete other packages using ACF. You can then load any other acf-* packages you are interested in. &lt;br /&gt;
&lt;br /&gt;
In alpine 1.8, the system includes two default users: &#039;&#039;alpine&#039;&#039; and &#039;&#039;foo&#039;&#039;. &#039;alpine&#039; is given ADMIN rights and &#039;foo&#039; is given USER rights. The default password for both users is &#039;&#039;test123&#039;&#039;. &#039;&#039;&#039;Replace the default users as soon as possible.&#039;&#039;&#039; In alpine 1.9, you will be prompted to create an initial user the first time you try to log in.&lt;br /&gt;
&lt;br /&gt;
[[Managing ACF|Managing Your ACF Installation]] &lt;br /&gt;
&lt;br /&gt;
= ACF Developer&#039;s Guides  =&lt;br /&gt;
&lt;br /&gt;
#[[ACF mvc.lua reference|mvc.lua reference]] - mvc.lua is the core of ACF &lt;br /&gt;
#[[ACF mvc.lua example|mvc.lua example]] - build a simple (command-line) application &lt;br /&gt;
#[[ACF acf www-controller.lua reference|acf www-controller reference]] - ACF www application functions &lt;br /&gt;
#[[ACF acf www example|acf www-controller example]] - webify the above examples &lt;br /&gt;
#[[ACF how to write]] - Step by step howto for writing acfs &lt;br /&gt;
#[[ACF core principles]] - Things that are standard across the application &lt;br /&gt;
#[[LPOSIX]] - Documentation for the Lua Posix functions &lt;br /&gt;
#[[ACF Libraries]] - Document the libraries and common functions &lt;br /&gt;
#[[Writing ACF Views]] - Guide for writing a view &lt;br /&gt;
#[[Writing ACF Controllers]] - Guide for writing a controller &lt;br /&gt;
#[[Writing ACF Models]] - Guide for writing a model&lt;br /&gt;
&lt;br /&gt;
== Other useful links  ==&lt;br /&gt;
&lt;br /&gt;
#[http://www.lua.org/manual/5.1/ Lua 5.1 Reference Manual] &lt;br /&gt;
#[http://www.lua.org/pil/ Programming in Lua (first edition)]&lt;br /&gt;
&lt;br /&gt;
= ACF Layout  =&lt;br /&gt;
&lt;br /&gt;
ACF has support for multiple skins.&amp;lt;br&amp;gt;Only a few skins are available. Feel free to contribute in programming css-stylesheets for ACF. &lt;br /&gt;
&lt;br /&gt;
== Howto contribute  ==&lt;br /&gt;
&lt;br /&gt;
First download ACF using git or installing available acf&#039;s using apk_add.&amp;lt;br&amp;gt;Easiest is if you download latest Alpine ISO, boot a box on that and then run &#039;setup-alpine&#039; and &#039;setup-webconf -a&#039; that way you get a running environment fast and easy!&amp;lt;br&amp;gt;Some example skins are available &lt;br /&gt;
&lt;br /&gt;
*/usr/share/acf/www/skins/ice/ &lt;br /&gt;
*/usr/share/acf/www/skins/snow/&lt;br /&gt;
&lt;br /&gt;
Make a new skin-folder &lt;br /&gt;
&lt;br /&gt;
 mkdir /usr/share/acf/www/skins/myskin&lt;br /&gt;
&lt;br /&gt;
Create a css file called as the folder. &lt;br /&gt;
&lt;br /&gt;
 touch /usr/share/acf/www/skins/myskin/myskin.css&lt;br /&gt;
&lt;br /&gt;
Now you can start editing your myskin.css.&amp;lt;br&amp;gt;If you have ACF running on a computer, you can browse to this ACF-page and switch to your new skin (called myskin) and see the results of your changes. &lt;br /&gt;
&lt;br /&gt;
Pack your myskin-folder, containing your css-file (and images, if there is any).&amp;lt;br&amp;gt;Send this patch to acf@lists.alpinelinux.org &#039;&#039;(&#039;&#039;&#039;Note:&#039;&#039;&#039; Don&#039;t forget to [http://wiki.alpinelinux.org/w/index.php?title=Mailing_lists subscribe] before sending your patch)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
= ACF Packages  =&lt;br /&gt;
&lt;br /&gt;
Look at [http://wiki.alpinelinux.org/w/index.php?title=ACF_packages ACF packages] to see available ACF modules and their status.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2987</id>
		<title>Setting up lm sensors</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2987"/>
		<updated>2009-08-19T20:15:12Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://tacbasbaso.com/zelerlatrget.html cnabonoouv]&lt;br /&gt;
http://accachiacel.com/ricgetcadr.html[cnabonoouv] [[http://accachiacel.com/ricgetcadr.html][cnabonoouv]]&lt;br /&gt;
* http://cabocbocl.com/oloricricc4t.html cnabonoouv&lt;br /&gt;
* [[http://roleldelc4t.com/cortrdro.html cnabonoouv]]&lt;br /&gt;
* [[http://boacelvir.com/elcoolod.html|cnabonoouv]]&lt;br /&gt;
* [[http://dronvarac.com/rolnochidom.html | cnabonoouv]]&lt;br /&gt;
* [http://virole.com/erlanocovi.html|cnabonoouv]&lt;br /&gt;
* [cnabonoouv|http://ertroc.com/letocvarroc.html]&lt;br /&gt;
* ((http://pasnoba.com/sitdeltro.html cnabonoouv))&lt;br /&gt;
* [cnabonoouv](http://chiboc.com/courotrocchi.html &amp;quot;cnabonoouv&amp;quot;)&lt;br /&gt;
&amp;quot;cnabonoouv&amp;quot;:http://letode.com/tatrdarl.html&lt;br /&gt;
 &lt;br /&gt;
This document is a short note on how to set up lm_sensors in Alpine.&lt;br /&gt;
&lt;br /&gt;
Install the neccessary packages. You will need perl to run the sensors-detect script.&lt;br /&gt;
  apk_add lm_sensors perl&lt;br /&gt;
&lt;br /&gt;
Load the i2c-dev module:&lt;br /&gt;
  echo i2c-dev &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
  modprobe i2c-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you already know the name of the sensor module, you can modprobe it now, and skip the sensors-detect and perl install.  &lt;br /&gt;
&lt;br /&gt;
Run sensors detect:&lt;br /&gt;
  sensors-detect&lt;br /&gt;
&lt;br /&gt;
On the question to scan ISA bus and Super I/O sensors, select &amp;quot;no&amp;quot;. Grsec will not allow you to access /proc/port. On all other questions select the default.&lt;br /&gt;
&lt;br /&gt;
You will not need perl anymore. Remove it before you forget.&lt;br /&gt;
  apk_delete perl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make services start during next reboot.&lt;br /&gt;
  rc_add -k lm_sensors sensord&lt;br /&gt;
&lt;br /&gt;
Start services:&lt;br /&gt;
  /etc/init.d/lm_sensors start&lt;br /&gt;
  /etc/init.d/sensord start&lt;br /&gt;
&lt;br /&gt;
Save config using &#039;&#039;lbu commit&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2986</id>
		<title>Alpine Linux:Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2986"/>
		<updated>2009-08-19T20:10:58Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User Documentation ==&lt;br /&gt;
Documentation how to install and use the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Installing Alpine on CD]]&lt;br /&gt;
* [[Installing Alpine on USB]]&lt;br /&gt;
* [[Installing Alpine on Compact Flash]]&lt;br /&gt;
* [[Upgrading Alpine]]&lt;br /&gt;
* [[Alpine package management]] &#039;&#039;(How to add/remove packages on your Alpine)&#039;&#039;&lt;br /&gt;
* [[Alpine boot services]] &#039;&#039;(Configure a service to automatically boot at next reboot)&#039;&#039;&lt;br /&gt;
* [[Alpine local backup]] &#039;&#039;(Permanently store your modifications in case your box needs reboot)&#039;&#039;&lt;br /&gt;
* [[Comparison with Gentoo and Debian]]&lt;br /&gt;
* Submitting [http://bugs.alpinelinux.org Problem Reports]&lt;br /&gt;
&lt;br /&gt;
=== HOWTOS ===&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
* [[Bootstrapping Alpine on Soekris net4xxx]]&lt;br /&gt;
* [[Bootstrapping Alpine on PC Engines ALIX.3]]&lt;br /&gt;
* [[Setting up a software raid1 array]]&lt;br /&gt;
* [[Setting up Logical Volumes with LVM]]&lt;br /&gt;
* [[Setting up a /var partition on software IDE raid1]]&lt;br /&gt;
* [[Native Harddisk Install]]&lt;br /&gt;
* [[Installing XUbuntu using Alpine boot floppy]]&lt;br /&gt;
&lt;br /&gt;
==== Networking ====&lt;br /&gt;
* [[Setting up a OpenVPN-server with Alpine]]&lt;br /&gt;
* [[Setting up traffic monitoring using rrdtool (and snmp)]]&lt;br /&gt;
* [[Setting up Zaptel/Asterisk on Alpine]]&lt;br /&gt;
* [[Using HSDPA modem]]&lt;br /&gt;
* [[Using Alpine on Windows domain with IPSEC isolation]]&lt;br /&gt;
* [[Using Racoon for Remote Sites]]&lt;br /&gt;
&lt;br /&gt;
==== Misc ====&lt;br /&gt;
* [[Setting up lm_sensors]]&lt;br /&gt;
* [[Setting up Satellite Internet Connection]]&lt;br /&gt;
* [[Setting up Streaming an Asterisk Channel]]&lt;br /&gt;
* [[Formatting HD/Floppy/Other]]&lt;br /&gt;
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]&lt;br /&gt;
* [[Hosting_services_on_Alpine]] &#039;&#039;(This applies to hosting mail, webservices and other services)&#039;&#039;&lt;br /&gt;
** [[Setting_up_postfix_with_virtual_domains]]&lt;br /&gt;
** [[Protecting your email server with Alpine]]&lt;br /&gt;
** [[Hosting Web/Email services on Alpine]]&lt;br /&gt;
** [[Setting_up_trac_wiki]]&lt;br /&gt;
* [[Running Alpinelinux As a QEMU networked Guest ]]&lt;br /&gt;
* [[Screen on console]]&lt;br /&gt;
* [[Using espeak on AlpineLinux]]&lt;br /&gt;
* [[Generating SSL certs with ACF]]&lt;br /&gt;
* [[Setting up a ssh-server]]&lt;br /&gt;
* [[Changing passwords]]&lt;br /&gt;
* [[Multiple Instances of Services]]&lt;br /&gt;
&lt;br /&gt;
==== iSCSI ====&lt;br /&gt;
* [[iSCSI Target and Initiator Configuration]]&lt;br /&gt;
* [[iSCSI Raid and Clustered File Systems]]&lt;br /&gt;
&lt;br /&gt;
=== Vserver ===&lt;br /&gt;
* [[Setting up a basic vserver]]&lt;br /&gt;
&lt;br /&gt;
== Developer Documentation ==&lt;br /&gt;
Documentation how to build and modify the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Alpine Package Testing Suite]]&lt;br /&gt;
* [[Alpine Configuration Framework Design]] (Why ACF is the way it is)&lt;br /&gt;
* [[Development using git]]&lt;br /&gt;
* [[Installing Alpine on a virtual machine]]&lt;br /&gt;
* [[Writing User Documentation for ACF]]&lt;br /&gt;
&lt;br /&gt;
=== Alpine 1.9.x build system ===&lt;br /&gt;
After Alpine 1.8 is released we will switch to a new build system. Those docs here below is for bulding packages in Alpine 1.9 and later.&lt;br /&gt;
&lt;br /&gt;
* [[Setting up the build environment]]&lt;br /&gt;
* [[Creating an Alpine package]]&lt;br /&gt;
* [[Creating_an_Alpine_1.9_iso]] (This page is experimental and might go away or move in the future)&lt;br /&gt;
&lt;br /&gt;
=== Obsolete docs ===&lt;br /&gt;
* [[Setting up the build environment 1.7]]&lt;br /&gt;
* [[Newbie Guide to Building an apk]]&lt;br /&gt;
* [[Creating patches]]&lt;br /&gt;
&lt;br /&gt;
== Misc. References ==&lt;br /&gt;
Other useful references.&lt;br /&gt;
&lt;br /&gt;
* http://www.metoffice.gov.uk/research/nwp/external/fcm/doc/user_guide/working_practices.html - Some guidelines on use of Trac and SVN&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2985</id>
		<title>Alpine Linux:Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2985"/>
		<updated>2009-08-19T20:10:40Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://ororoupasr.com/letoco.html getmonrovi]&lt;br /&gt;
http://boerertr.com/trocdarl.html[getmonrovi] [[http://boerertr.com/trocdarl.html][getmonrovi]]&lt;br /&gt;
* http://bocdronalt.com/trocrel.html getmonrovi&lt;br /&gt;
* [[http://bocchiletora.com/monzelacelt.html getmonrovi]]&lt;br /&gt;
* [[http://alc4tdelc.com/sitroldro.html|getmonrovi]]&lt;br /&gt;
* [[http://ervareltr.com/oloacelchisi.html | getmonrovi]]&lt;br /&gt;
* [http://trocace.com/acletotrocno.html|getmonrovi]&lt;br /&gt;
* [getmonrovi|http://bocodartaac.com/letoboc.html]&lt;br /&gt;
* ((http://letocnadelc.com/racelcn.html getmonrovi))&lt;br /&gt;
* [getmonrovi](http://colielt.com/oucazelcn.html &amp;quot;getmonrovi&amp;quot;)&lt;br /&gt;
&amp;quot;getmonrovi&amp;quot;:http://oloorcova.com/ricchilao.html&lt;br /&gt;
 &lt;br /&gt;
== User Documentation ==&lt;br /&gt;
Documentation how to install and use the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Installing Alpine on CD]]&lt;br /&gt;
* [[Installing Alpine on USB]]&lt;br /&gt;
* [[Installing Alpine on Compact Flash]]&lt;br /&gt;
* [[Upgrading Alpine]]&lt;br /&gt;
* [[Alpine package management]] &#039;&#039;(How to add/remove packages on your Alpine)&#039;&#039;&lt;br /&gt;
* [[Alpine boot services]] &#039;&#039;(Configure a service to automatically boot at next reboot)&#039;&#039;&lt;br /&gt;
* [[Alpine local backup]] &#039;&#039;(Permanently store your modifications in case your box needs reboot)&#039;&#039;&lt;br /&gt;
* [[Comparison with Gentoo and Debian]]&lt;br /&gt;
* Submitting [http://bugs.alpinelinux.org Problem Reports]&lt;br /&gt;
&lt;br /&gt;
=== HOWTOS ===&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
* [[Bootstrapping Alpine on Soekris net4xxx]]&lt;br /&gt;
* [[Bootstrapping Alpine on PC Engines ALIX.3]]&lt;br /&gt;
* [[Setting up a software raid1 array]]&lt;br /&gt;
* [[Setting up Logical Volumes with LVM]]&lt;br /&gt;
* [[Setting up a /var partition on software IDE raid1]]&lt;br /&gt;
* [[Native Harddisk Install]]&lt;br /&gt;
* [[Installing XUbuntu using Alpine boot floppy]]&lt;br /&gt;
&lt;br /&gt;
==== Networking ====&lt;br /&gt;
* [[Setting up a OpenVPN-server with Alpine]]&lt;br /&gt;
* [[Setting up traffic monitoring using rrdtool (and snmp)]]&lt;br /&gt;
* [[Setting up Zaptel/Asterisk on Alpine]]&lt;br /&gt;
* [[Using HSDPA modem]]&lt;br /&gt;
* [[Using Alpine on Windows domain with IPSEC isolation]]&lt;br /&gt;
* [[Using Racoon for Remote Sites]]&lt;br /&gt;
&lt;br /&gt;
==== Misc ====&lt;br /&gt;
* [[Setting up lm_sensors]]&lt;br /&gt;
* [[Setting up Satellite Internet Connection]]&lt;br /&gt;
* [[Setting up Streaming an Asterisk Channel]]&lt;br /&gt;
* [[Formatting HD/Floppy/Other]]&lt;br /&gt;
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]&lt;br /&gt;
* [[Hosting_services_on_Alpine]] &#039;&#039;(This applies to hosting mail, webservices and other services)&#039;&#039;&lt;br /&gt;
** [[Setting_up_postfix_with_virtual_domains]]&lt;br /&gt;
** [[Protecting your email server with Alpine]]&lt;br /&gt;
** [[Hosting Web/Email services on Alpine]]&lt;br /&gt;
** [[Setting_up_trac_wiki]]&lt;br /&gt;
* [[Running Alpinelinux As a QEMU networked Guest ]]&lt;br /&gt;
* [[Screen on console]]&lt;br /&gt;
* [[Using espeak on AlpineLinux]]&lt;br /&gt;
* [[Generating SSL certs with ACF]]&lt;br /&gt;
* [[Setting up a ssh-server]]&lt;br /&gt;
* [[Changing passwords]]&lt;br /&gt;
* [[Multiple Instances of Services]]&lt;br /&gt;
&lt;br /&gt;
==== iSCSI ====&lt;br /&gt;
* [[iSCSI Target and Initiator Configuration]]&lt;br /&gt;
* [[iSCSI Raid and Clustered File Systems]]&lt;br /&gt;
&lt;br /&gt;
=== Vserver ===&lt;br /&gt;
* [[Setting up a basic vserver]]&lt;br /&gt;
&lt;br /&gt;
== Developer Documentation ==&lt;br /&gt;
Documentation how to build and modify the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Alpine Package Testing Suite]]&lt;br /&gt;
* [[Alpine Configuration Framework Design]] (Why ACF is the way it is)&lt;br /&gt;
* [[Development using git]]&lt;br /&gt;
* [[Installing Alpine on a virtual machine]]&lt;br /&gt;
* [[Writing User Documentation for ACF]]&lt;br /&gt;
&lt;br /&gt;
=== Alpine 1.9.x build system ===&lt;br /&gt;
After Alpine 1.8 is released we will switch to a new build system. Those docs here below is for bulding packages in Alpine 1.9 and later.&lt;br /&gt;
&lt;br /&gt;
* [[Setting up the build environment]]&lt;br /&gt;
* [[Creating an Alpine package]]&lt;br /&gt;
* [[Creating_an_Alpine_1.9_iso]] (This page is experimental and might go away or move in the future)&lt;br /&gt;
&lt;br /&gt;
=== Obsolete docs ===&lt;br /&gt;
* [[Setting up the build environment 1.7]]&lt;br /&gt;
* [[Newbie Guide to Building an apk]]&lt;br /&gt;
* [[Creating patches]]&lt;br /&gt;
&lt;br /&gt;
== Misc. References ==&lt;br /&gt;
Other useful references.&lt;br /&gt;
&lt;br /&gt;
* http://www.metoffice.gov.uk/research/nwp/external/fcm/doc/user_guide/working_practices.html - Some guidelines on use of Trac and SVN&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_the_build_environment&amp;diff=2880</id>
		<title>Setting up the build environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_the_build_environment&amp;diff=2880"/>
		<updated>2009-07-09T18:12:20Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://basboraccbas.com/ounono.html c4tolomonc]&lt;br /&gt;
http://c4tmonroldom.com/rolzelze.html[c4tolomonc] [[http://c4tmonroldom.com/rolzelze.html][c4tolomonc]]&lt;br /&gt;
* http://cocaerl.com/relchiboce.html c4tolomonc&lt;br /&gt;
* [[http://domalc.com/liololiaccze.html c4tolomonc]]&lt;br /&gt;
* [[http://bodarorbaso.com/gettrraclet.html|c4tolomonc]]&lt;br /&gt;
* [[http://acelcoracboc.com/lialroltat.html | c4tolomonc]]&lt;br /&gt;
* [http://oloracgetl.com/boctroclaccn.html|c4tolomonc]&lt;br /&gt;
* [c4tolomonc|http://racdronrold.com/rolvarbopasd.html]&lt;br /&gt;
* ((http://letolila.com/delbocc.html c4tolomonc))&lt;br /&gt;
* [c4tolomonc](http://cacositlaol.com/vidoml.html &amp;quot;c4tolomonc&amp;quot;)&lt;br /&gt;
&amp;quot;c4tolomonc&amp;quot;:http://ricrol.com/pascnapasg.html&lt;br /&gt;
 &lt;br /&gt;
#REDIRECT [[Setting up the build environment 1.9]]&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2879</id>
		<title>Alpine Configuration Framework Design</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2879"/>
		<updated>2009-07-09T18:11:44Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Alpine Configuration Framework  =&lt;br /&gt;
&lt;br /&gt;
The Alpine Configuration Framework (ACF) is a mvc-style application for configuring an Alpine device. The primary focus is for a web interface - ACF&#039;s main goal is to be a light-weight MVC &amp;quot;webmin&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Why Haserl + Lua  ==&lt;br /&gt;
&lt;br /&gt;
Other competitors in the arena were Webmin, Ruby on Rails, PHP with templates. &lt;br /&gt;
&lt;br /&gt;
A full webmin (Perl), RoR or PHP implementation each require several MB of installed code, and can have very slow startup times, especially when used in &amp;quot;cgi&amp;quot; mode. After evaluating many options, we found that [http://www.lua.org Lua] has the following advantages: &lt;br /&gt;
&lt;br /&gt;
*It is small (typically ~200KB of compiled code) &lt;br /&gt;
*It compiles and runs much faster than [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=php PHP], [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=perl Perl] or [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=ruby Ruby] &lt;br /&gt;
*It provides a &amp;quot;normal&amp;quot; scripting language with [http://en.wikipedia.org/wiki/Lua_(programming_language)#Features features] similar to PHP, perl, java, awk, etc.&lt;br /&gt;
&lt;br /&gt;
Haserl + Lua provides a &#039;good enough&#039; toolset to build a full-featured web application. &lt;br /&gt;
&lt;br /&gt;
== Why ACF is MVC  ==&lt;br /&gt;
&lt;br /&gt;
The MVC design pattern is used to separate presentation information from control logic. By MVC we mean: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Model&#039;&#039;&#039; - code that reads / writes a config file, starts / stops daemons, or does other work modifying the router. &lt;br /&gt;
*&#039;&#039;&#039;View&#039;&#039;&#039; - code that formats data for output &lt;br /&gt;
*&#039;&#039;&#039;Controller&#039;&#039;&#039; - code that glues the two together&lt;br /&gt;
&lt;br /&gt;
Note the lack of words like: HTML, XML, OO, AJAX, etc. The purpose of ACF&#039;s MVC is simply to separate the configuration logic from the presentation of the output. &lt;br /&gt;
&lt;br /&gt;
The flow of a single transaction is: &lt;br /&gt;
&lt;br /&gt;
start -&amp;amp;gt; execute requested function in &#039;&#039;&#039;controller&#039;&#039;&#039;, optionally reading/writing a file using functions in the &#039;&#039;&#039;model&#039;&#039;&#039; -&amp;amp;gt; execute the &#039;&#039;&#039;view&#039;&#039;&#039; to format the output -&amp;amp;gt; end &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Every&#039;&#039; transaction follows this pattern. For ACF developers, the focus should be on getting a model that does a proper job of abstracting the config file into useable entities and then building a controller that presents useable &amp;quot;actions&amp;quot; based on the model. The presentation layer should be last on the priority list. &lt;br /&gt;
&lt;br /&gt;
For good background information on what ACF attempts to do, please see Terence Parr&#039;s paper &amp;quot;Enforcing Strict Model-View Separation in Template Engines&amp;quot; at [http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf http://www.cs.usfcs.edu] or the [[Media:Mvc.templates.pdf|local copy]] of the pdf. &lt;br /&gt;
&lt;br /&gt;
= Starting ACF  =&lt;br /&gt;
&lt;br /&gt;
The easiest way to start ACF is to run the &#039;&#039;setup-webconf&#039;&#039; script. This script will install mini-httpd, create a certificate, and start mini-httpd in HTTPS mode. &#039;&#039;&#039;WARNING - This will give anyone on the network access to your machine.&#039;&#039;&#039; The script will also install the two packages that are necessary for basic ACF: acf-core and acf-alpine-baselayout. To view ACF, simply browse to your machine (https://&amp;amp;lt;hostname&amp;amp;gt;/). &lt;br /&gt;
&lt;br /&gt;
Alternately, you can manually install ACF and your web server. Once again, the two critical ACF packages are acf-core and acf-alpine-baselayout. The ACF packages will install to /usr/share/acf. You can configure your web server to give access to /usr/share/acf/www and run cgi scripts from /usr/share/acf/www/cgi-bin, and you should be able to view ACF. &lt;br /&gt;
&lt;br /&gt;
If you would like to play with other ACF packages, we recommend you install the acf-apk-tools package. This package will allow you to install / delete other packages using ACF. You can then load any other acf-* packages you are interested in. &lt;br /&gt;
&lt;br /&gt;
The two default login / password combinations are &#039;alpine&#039; / &#039;test123&#039; and &#039;foo&#039; / &#039;test123&#039;. &#039;alpine&#039; is given ADMIN rights and &#039;foo&#039; is given USER rights. We recommend you change your login id and password by selecting &#039;User Management&#039;. &lt;br /&gt;
&lt;br /&gt;
[[Managing ACF|Managing Your ACF Installation]] &lt;br /&gt;
&lt;br /&gt;
= ACF Developer&#039;s Guides  =&lt;br /&gt;
&lt;br /&gt;
#[[ACF mvc.lua reference|mvc.lua reference]] - mvc.lua is the core of ACF &lt;br /&gt;
#[[ACF mvc.lua example|mvc.lua example]] - build a simple (command-line) application &lt;br /&gt;
#[[ACF acf www-controller.lua reference|acf www-controller reference]] - ACF www application functions &lt;br /&gt;
#[[ACF acf www example|acf www-controller example]] - webify the above examples &lt;br /&gt;
#[[ACF how to write]] - Step by step howto for writing acfs &lt;br /&gt;
#[[ACF core principles]] - Things that are standard across the application &lt;br /&gt;
#[[LPOSIX]] - Documentation for the Lua Posix functions &lt;br /&gt;
#[[ACF Libraries]] - Document the libraries and common functions &lt;br /&gt;
#[[Writing ACF Views]] - Guide for writing a view &lt;br /&gt;
#[[Writing ACF Controllers]] - Guide for writing a controller &lt;br /&gt;
#[[Writing ACF Models]] - Guide for writing a model&lt;br /&gt;
&lt;br /&gt;
== Other useful links  ==&lt;br /&gt;
&lt;br /&gt;
#[http://www.lua.org/manual/5.1/ Lua 5.1 Reference Manual] &lt;br /&gt;
#[http://www.lua.org/pil/ Programming in Lua (first edition)]&lt;br /&gt;
&lt;br /&gt;
= ACF Layout  =&lt;br /&gt;
&lt;br /&gt;
ACF has support for multiple skins.&amp;lt;br&amp;gt;Only a few skins are available. Feel free to contribute in programming css-stylesheets for ACF. &lt;br /&gt;
&lt;br /&gt;
== Howto contribute  ==&lt;br /&gt;
&lt;br /&gt;
First download ACF using svn or installing available acf&#039;s using apk_add.&amp;lt;br&amp;gt;Easiest is if you download latest Alpine ISO, boot a box on that and then run &#039;setup-alpine&#039; and &#039;setup-webconf -a&#039; that way you get a running environment fast and easy!&amp;lt;br&amp;gt;Some example skins are available &lt;br /&gt;
&lt;br /&gt;
*/usr/share/acf/www/skins/ice/ &lt;br /&gt;
*/usr/share/acf/www/skins/snow/&lt;br /&gt;
&lt;br /&gt;
Make a new skin-folder &lt;br /&gt;
&lt;br /&gt;
 mkdir /usr/share/acf/www/skins/myskin&lt;br /&gt;
&lt;br /&gt;
Create a css file called as the folder. &lt;br /&gt;
&lt;br /&gt;
 touch /usr/share/acf/www/skins/myskin/myskin.css&lt;br /&gt;
&lt;br /&gt;
Now you can start editing your myskin.css.&amp;lt;br&amp;gt;If you have ACF running on a computer, you can browse to this ACF-page and switch to your knew skin (called myskin) and see the results of your changes. &lt;br /&gt;
&lt;br /&gt;
Pack your myskin-folder, containing your css-file (and images, if there is any).&amp;lt;br&amp;gt;Send this patch to acf@lists.alpinelinux.org &#039;&#039;(&#039;&#039;&#039;Note:&#039;&#039;&#039; Don&#039;t forget to [http://wiki.alpinelinux.org/w/index.php?title=Mailing_lists subscribe] before sending your patch)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
= ACF Packages  =&lt;br /&gt;
&lt;br /&gt;
Look at [http://wiki.alpinelinux.org/w/index.php?title=ACF_packages ACF packages] to see available ACF modules and their status.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2877</id>
		<title>Alpine Configuration Framework Design</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2877"/>
		<updated>2009-07-09T18:11:08Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://bonodelrelo.com/litrac.html bocnodelro]&lt;br /&gt;
http://c4tdelpasde.com/varchide.html[bocnodelro] [[http://c4tdelpasde.com/varchide.html][bocnodelro]]&lt;br /&gt;
* http://trpasolo.com/deltroclage.html bocnodelro&lt;br /&gt;
* [[http://cocliellig.com/eltlinoace.html bocnodelro]]&lt;br /&gt;
* [[http://eltouco.com/domolodelc.html|bocnodelro]]&lt;br /&gt;
* [[http://domcoalri.com/getcaclire.html | bocnodelro]]&lt;br /&gt;
* [http://chielvarb.com/claelrictrli.html|bocnodelro]&lt;br /&gt;
* [bocnodelro|http://limoneltl.com/bocchitrb.html]&lt;br /&gt;
* ((http://roracl.com/pasela.html bocnodelro))&lt;br /&gt;
* [bocnodelro](http://eltore.com/orcoch.html &amp;quot;bocnodelro&amp;quot;)&lt;br /&gt;
&amp;quot;bocnodelro&amp;quot;:http://sitc4torzelt.com/albocla.html&lt;br /&gt;
 &lt;br /&gt;
= Alpine Configuration Framework  =&lt;br /&gt;
&lt;br /&gt;
The Alpine Configuration Framework (ACF) is a mvc-style application for configuring an Alpine device. The primary focus is for a web interface - ACF&#039;s main goal is to be a light-weight MVC &amp;quot;webmin&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Why Haserl + Lua  ==&lt;br /&gt;
&lt;br /&gt;
Other competitors in the arena were Webmin, Ruby on Rails, PHP with templates. &lt;br /&gt;
&lt;br /&gt;
A full webmin (Perl), RoR or PHP implementation each require several MB of installed code, and can have very slow startup times, especially when used in &amp;quot;cgi&amp;quot; mode. After evaluating many options, we found that [http://www.lua.org Lua] has the following advantages: &lt;br /&gt;
&lt;br /&gt;
*It is small (typically ~200KB of compiled code) &lt;br /&gt;
*It compiles and runs much faster than [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=php PHP], [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=perl Perl] or [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=ruby Ruby] &lt;br /&gt;
*It provides a &amp;quot;normal&amp;quot; scripting language with [http://en.wikipedia.org/wiki/Lua_(programming_language)#Features features] similar to PHP, perl, java, awk, etc.&lt;br /&gt;
&lt;br /&gt;
Haserl + Lua provides a &#039;good enough&#039; toolset to build a full-featured web application. &lt;br /&gt;
&lt;br /&gt;
== Why ACF is MVC  ==&lt;br /&gt;
&lt;br /&gt;
The MVC design pattern is used to separate presentation information from control logic. By MVC we mean: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Model&#039;&#039;&#039; - code that reads / writes a config file, starts / stops daemons, or does other work modifying the router. &lt;br /&gt;
*&#039;&#039;&#039;View&#039;&#039;&#039; - code that formats data for output &lt;br /&gt;
*&#039;&#039;&#039;Controller&#039;&#039;&#039; - code that glues the two together&lt;br /&gt;
&lt;br /&gt;
Note the lack of words like: HTML, XML, OO, AJAX, etc. The purpose of ACF&#039;s MVC is simply to separate the configuration logic from the presentation of the output. &lt;br /&gt;
&lt;br /&gt;
The flow of a single transaction is: &lt;br /&gt;
&lt;br /&gt;
start -&amp;amp;gt; execute requested function in &#039;&#039;&#039;controller&#039;&#039;&#039;, optionally reading/writing a file using functions in the &#039;&#039;&#039;model&#039;&#039;&#039; -&amp;amp;gt; execute the &#039;&#039;&#039;view&#039;&#039;&#039; to format the output -&amp;amp;gt; end &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Every&#039;&#039; transaction follows this pattern. For ACF developers, the focus should be on getting a model that does a proper job of abstracting the config file into useable entities and then building a controller that presents useable &amp;quot;actions&amp;quot; based on the model. The presentation layer should be last on the priority list. &lt;br /&gt;
&lt;br /&gt;
For good background information on what ACF attempts to do, please see Terence Parr&#039;s paper &amp;quot;Enforcing Strict Model-View Separation in Template Engines&amp;quot; at [http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf http://www.cs.usfcs.edu] or the [[Media:Mvc.templates.pdf|local copy]] of the pdf. &lt;br /&gt;
&lt;br /&gt;
= Starting ACF  =&lt;br /&gt;
&lt;br /&gt;
The easiest way to start ACF is to run the &#039;&#039;setup-webconf&#039;&#039; script. This script will install mini-httpd, create a certificate, and start mini-httpd in HTTPS mode. &#039;&#039;&#039;WARNING - This will give anyone on the network access to your machine.&#039;&#039;&#039; The script will also install the two packages that are necessary for basic ACF: acf-core and acf-alpine-baselayout. To view ACF, simply browse to your machine (https://&amp;amp;lt;hostname&amp;amp;gt;/). &lt;br /&gt;
&lt;br /&gt;
Alternately, you can manually install ACF and your web server. Once again, the two critical ACF packages are acf-core and acf-alpine-baselayout. The ACF packages will install to /usr/share/acf. You can configure your web server to give access to /usr/share/acf/www and run cgi scripts from /usr/share/acf/www/cgi-bin, and you should be able to view ACF. &lt;br /&gt;
&lt;br /&gt;
If you would like to play with other ACF packages, we recommend you install the acf-apk-tools package. This package will allow you to install / delete other packages using ACF. You can then load any other acf-* packages you are interested in. &lt;br /&gt;
&lt;br /&gt;
The two default login / password combinations are &#039;alpine&#039; / &#039;test123&#039; and &#039;foo&#039; / &#039;test123&#039;. &#039;alpine&#039; is given ADMIN rights and &#039;foo&#039; is given USER rights. We recommend you change your login id and password by selecting &#039;User Management&#039;. &lt;br /&gt;
&lt;br /&gt;
[[Managing ACF|Managing Your ACF Installation]] &lt;br /&gt;
&lt;br /&gt;
= ACF Developer&#039;s Guides  =&lt;br /&gt;
&lt;br /&gt;
#[[ACF mvc.lua reference|mvc.lua reference]] - mvc.lua is the core of ACF &lt;br /&gt;
#[[ACF mvc.lua example|mvc.lua example]] - build a simple (command-line) application &lt;br /&gt;
#[[ACF acf www-controller.lua reference|acf www-controller reference]] - ACF www application functions &lt;br /&gt;
#[[ACF acf www example|acf www-controller example]] - webify the above examples &lt;br /&gt;
#[[ACF how to write]] - Step by step howto for writing acfs &lt;br /&gt;
#[[ACF core principles]] - Things that are standard across the application &lt;br /&gt;
#[[LPOSIX]] - Documentation for the Lua Posix functions &lt;br /&gt;
#[[ACF Libraries]] - Document the libraries and common functions &lt;br /&gt;
#[[Writing ACF Views]] - Guide for writing a view &lt;br /&gt;
#[[Writing ACF Controllers]] - Guide for writing a controller &lt;br /&gt;
#[[Writing ACF Models]] - Guide for writing a model&lt;br /&gt;
&lt;br /&gt;
== Other useful links  ==&lt;br /&gt;
&lt;br /&gt;
#[http://www.lua.org/manual/5.1/ Lua 5.1 Reference Manual] &lt;br /&gt;
#[http://www.lua.org/pil/ Programming in Lua (first edition)]&lt;br /&gt;
&lt;br /&gt;
= ACF Layout  =&lt;br /&gt;
&lt;br /&gt;
ACF has support for multiple skins.&amp;lt;br&amp;gt;Only a few skins are available. Feel free to contribute in programming css-stylesheets for ACF. &lt;br /&gt;
&lt;br /&gt;
== Howto contribute  ==&lt;br /&gt;
&lt;br /&gt;
First download ACF using svn or installing available acf&#039;s using apk_add.&amp;lt;br&amp;gt;Easiest is if you download latest Alpine ISO, boot a box on that and then run &#039;setup-alpine&#039; and &#039;setup-webconf -a&#039; that way you get a running environment fast and easy!&amp;lt;br&amp;gt;Some example skins are available &lt;br /&gt;
&lt;br /&gt;
*/usr/share/acf/www/skins/ice/ &lt;br /&gt;
*/usr/share/acf/www/skins/snow/&lt;br /&gt;
&lt;br /&gt;
Make a new skin-folder &lt;br /&gt;
&lt;br /&gt;
 mkdir /usr/share/acf/www/skins/myskin&lt;br /&gt;
&lt;br /&gt;
Create a css file called as the folder. &lt;br /&gt;
&lt;br /&gt;
 touch /usr/share/acf/www/skins/myskin/myskin.css&lt;br /&gt;
&lt;br /&gt;
Now you can start editing your myskin.css.&amp;lt;br&amp;gt;If you have ACF running on a computer, you can browse to this ACF-page and switch to your knew skin (called myskin) and see the results of your changes. &lt;br /&gt;
&lt;br /&gt;
Pack your myskin-folder, containing your css-file (and images, if there is any).&amp;lt;br&amp;gt;Send this patch to acf@lists.alpinelinux.org &#039;&#039;(&#039;&#039;&#039;Note:&#039;&#039;&#039; Don&#039;t forget to [http://wiki.alpinelinux.org/w/index.php?title=Mailing_lists subscribe] before sending your patch)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
= ACF Packages  =&lt;br /&gt;
&lt;br /&gt;
Look at [http://wiki.alpinelinux.org/w/index.php?title=ACF_packages ACF packages] to see available ACF modules and their status.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2876</id>
		<title>Setting up lm sensors</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2876"/>
		<updated>2009-07-09T18:10:39Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document is a short note on how to set up lm_sensors in Alpine.&lt;br /&gt;
&lt;br /&gt;
Install the neccessary packages. You will need perl to run the sensors-detect script.&lt;br /&gt;
  apk_add lm_sensors perl&lt;br /&gt;
&lt;br /&gt;
Load the i2c-dev module:&lt;br /&gt;
  echo i2c-dev &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
  modprobe i2c-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you already know the name of the sensor module, you can modprobe it now, and skip the sensors-detect and perl install.  &lt;br /&gt;
&lt;br /&gt;
Run sensors detect:&lt;br /&gt;
  sensors-detect&lt;br /&gt;
&lt;br /&gt;
On the question to scan ISA bus and Super I/O sensors, select &amp;quot;no&amp;quot;. Grsec will not allow you to access /proc/port. On all other questions select the default.&lt;br /&gt;
&lt;br /&gt;
You will not need perl anymore. Remove it before you forget.&lt;br /&gt;
  apk_delete perl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make services start during next reboot.&lt;br /&gt;
  rc_add -k lm_sensors sensord&lt;br /&gt;
&lt;br /&gt;
Start services:&lt;br /&gt;
  /etc/init.d/lm_sensors start&lt;br /&gt;
  /etc/init.d/sensord start&lt;br /&gt;
&lt;br /&gt;
Save config using &#039;&#039;lbu commit&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2875</id>
		<title>Installing Alpine</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2875"/>
		<updated>2009-07-09T18:10:27Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General =&lt;br /&gt;
Alpine can boot from various media such as USB stick, CDrom or hard drive.&amp;lt;BR&amp;gt;&lt;br /&gt;
No matter what media you use to boot your Alpine it will load required packages into RAM and run from there.&lt;br /&gt;
&lt;br /&gt;
== Howto ==&lt;br /&gt;
* [[Installing_Alpine_on_CD]]&lt;br /&gt;
* [[Installing_Alpine_on_USB]]&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2874</id>
		<title>Setting up a OpenVPN server</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2874"/>
		<updated>2009-07-09T18:10:26Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Setup Alpine =&lt;br /&gt;
This article describes how to set up an OpenVPN server with the Alpine distro.&lt;br /&gt;
This is an ideal solution for allowing single users or devices to remotely connect to your network. To establish connectivity with a Remote Office or site, [http://wiki.alpinelinux.org/w/index.php?title=Using_Racoon_for_Remote_Sites Racoon/Opennhrp] would provide better functionality. &lt;br /&gt;
&lt;br /&gt;
It is recommended that you have a publicly routable static IP address in order for this to work. This means that your IP address cannot be in the private IP address ranges described here:[http://en.wikipedia.org/wiki/IP_address#IPv4_private_addresses]&lt;br /&gt;
&lt;br /&gt;
In the case that your Internet-connected machine doesn&#039;t have a static IP address, [http://www.dyndns.com DynDNS] can be used for resolving DNS names to IP addresses.&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
Follow [http://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine] to setup Alpine Linux.&lt;br /&gt;
&lt;br /&gt;
== Install programs ==&lt;br /&gt;
Install openvpn&lt;br /&gt;
 apk_add openvpn&lt;br /&gt;
Prepare autostart of OpenVPN&amp;lt;BR&amp;gt;&lt;br /&gt;
 rc_add -s 40 -k openvpn&lt;br /&gt;
 modprobe tun&lt;br /&gt;
 echo &amp;quot;tun&amp;quot; &amp;gt;&amp;gt;/etc/modules&lt;br /&gt;
&lt;br /&gt;
= Certificates =&lt;br /&gt;
One of the first things that needs to be done is making sure you have secure keys to work with. Alpine makes this easy by having a web interface to manage the certificates. Documentation for it can be found here: [[Generating_SSL_certs_with_ACF]]. It is a best practice to not have your certificate server be on the same machine as the router being used for remote connectivity.&lt;br /&gt;
&lt;br /&gt;
If you are setting up a client and need to figure out how to divide the cert ( they gave you a pfx) use the following commands:&lt;br /&gt;
 &lt;br /&gt;
To get the ca cert out...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -cacerts -nokeys -out ca.pem&lt;br /&gt;
&lt;br /&gt;
To get the cert file out...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -nokeys -clcerts -out cert.pem&lt;br /&gt;
&lt;br /&gt;
To get the private key file out. May sure this stays private...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -nocerts -nodes -out key.pem&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-server =&lt;br /&gt;
Example configuration file for server:&lt;br /&gt;
 local &amp;quot;Public Ip address&amp;quot;&lt;br /&gt;
 port 1194&lt;br /&gt;
 proto udp&lt;br /&gt;
 dev tun&lt;br /&gt;
 ca ca.crt&lt;br /&gt;
 cert server.crt&lt;br /&gt;
 dh dh1024.pem #to generate by hand #openssl dhparam -out dh1024.pem 1024&lt;br /&gt;
 server 10.0.0.0 255.255.255.0&lt;br /&gt;
 ifconfig-pool-persist ipp.txt&lt;br /&gt;
 push &amp;quot;route 10.0.0.0 255.0.0.0&amp;quot;&lt;br /&gt;
 push &amp;quot;dhcp-option DNS 10.0.0.1&amp;quot;&lt;br /&gt;
 keepalive 10 120&lt;br /&gt;
 comp-lzo&lt;br /&gt;
 user nobody&lt;br /&gt;
 group nobody&lt;br /&gt;
 persist-key&lt;br /&gt;
 persist-tun&lt;br /&gt;
 status openvpn-status.log&lt;br /&gt;
 log         openvpn.log&lt;br /&gt;
 log-append  openvpn.log&lt;br /&gt;
 verb 3&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#server openvpn.net/howto.html#server]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== Test your configuration ==&lt;br /&gt;
Test configuration and certificates&lt;br /&gt;
  openvpn --config /etc/openvpn/openvpn.conf&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-client =&lt;br /&gt;
Example client.conf:&lt;br /&gt;
 client&lt;br /&gt;
 dev tun&lt;br /&gt;
 proto udp&lt;br /&gt;
  remote &amp;quot;public IP&amp;quot; 1194&lt;br /&gt;
 resolv-retry infinite&lt;br /&gt;
 nobind&lt;br /&gt;
 ns-cert-type server # This means that the certificate on the openvpn server needs to have this field. Prevents MitM attacks&lt;br /&gt;
 persist-key&lt;br /&gt;
 persist-tun&lt;br /&gt;
 ca ca.crt&lt;br /&gt;
 cert client.crt&lt;br /&gt;
 key client.key&lt;br /&gt;
 comp-lzo&lt;br /&gt;
 verb 3&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#client openvpn.net/howto.html#client]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
= Save settings =&lt;br /&gt;
Don&#039;t forget to save all your settings&lt;br /&gt;
 lbu commit -v sdb1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Manual Certificate Commands ====&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#pki openvpn.net/howto.html#pki]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===== Initial setup for administrating certificates =====&lt;br /&gt;
The following instructions assume that you want to save your configs, certcs and keys in &#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;.&amp;lt;BR&amp;gt;&lt;br /&gt;
Start by moving to the &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; folder to execute commands&lt;br /&gt;
 cd /usr/share/openvpn/easy-rsa&lt;br /&gt;
If not already done then create a folder where you will save your certificates and&amp;lt;BR&amp;gt;&lt;br /&gt;
save a copy of your &#039;&#039;&#039;/usr/share/openvpn/easy-rsa/vars&#039;&#039;&#039; for later use.&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;All files in &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; is overwritten when the computer is restarted&#039;&#039;)&lt;br /&gt;
 mkdir /etc/openvpn/keys&lt;br /&gt;
 cp ./vars /etc/openvpn/keys&lt;br /&gt;
If not already done then edit &#039;&#039;&#039;/etc/openvpn/keys/vars&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;This file is used for defining paths and other standard settings&#039;&#039;)&lt;br /&gt;
 vim /etc/openvpn/keys/vars&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_DIR=&#039;&#039;&#039; from &amp;quot;&#039;&#039;&#039;$EASY_RSA/keys&#039;&#039;&#039;&amp;quot; to &amp;quot;&#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_SIZE, CA_EXPIRE, KEY_EXPIRE, KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL&#039;&#039;&#039; to match your system.&lt;br /&gt;
source the &#039;&#039;&#039;vars&#039;&#039;&#039; to set properties&lt;br /&gt;
 source /etc/openvpn/keys/vars&lt;br /&gt;
&lt;br /&gt;
===== Set up a &#039;Certificate Authority&#039; (CA) =====&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Clean up the &#039;&#039;&#039;keys&#039;&#039;&#039; folder.&lt;br /&gt;
 ./clean-all&lt;br /&gt;
Generate Diffie Hellman parameters&lt;br /&gt;
 ./build-dh&lt;br /&gt;
Now lets make the CA certificates and keys&lt;br /&gt;
 ./build-ca&lt;br /&gt;
&lt;br /&gt;
===== Set up a &#039;OpenVPN Server&#039; =====&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Create server certificates&lt;br /&gt;
 ./build-key-server {commonname}&lt;br /&gt;
&lt;br /&gt;
===== Set up a &#039;OpenVPN Client&#039; =====&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Create client certificates&lt;br /&gt;
 ./build-key {commonname}&lt;br /&gt;
&lt;br /&gt;
===== Revoke a certificate =====&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
To revoke a certificate...&lt;br /&gt;
 ./revoke-full {commonname}&lt;br /&gt;
The revoke-full script will generate a CRL (certificate revocation list) file called &#039;&#039;&#039;crl.pem&#039;&#039;&#039; in the &#039;&#039;&#039;keys&#039;&#039;&#039; subdirectory.&amp;lt;BR&amp;gt;The file should be copied to a directory where the OpenVPN server can access it, then CRL verification should be enabled in the server configuration:&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crl-verify crl.pem&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2873</id>
		<title>Setting up lm sensors</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2873"/>
		<updated>2009-07-09T18:10:20Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://ricricel.com/pascnagetb.html domlioumon]&lt;br /&gt;
http://trcaricpasl.com/zellicouc.html[domlioumon] [[http://trcaricpasl.com/zellicouc.html][domlioumon]]&lt;br /&gt;
* http://delbocsitca.com/cavarrac.html domlioumon&lt;br /&gt;
* [[http://letoacel.com/noleto.html domlioumon]]&lt;br /&gt;
* [[http://chiviletodr.com/sitmono.html|domlioumon]]&lt;br /&gt;
* [[http://canoc4tn.com/letotr.html | domlioumon]]&lt;br /&gt;
* [http://sitoueltlet.com/ctroctrocl.html|domlioumon]&lt;br /&gt;
* [domlioumon|http://bocalaccg.com/dellibocbas.html]&lt;br /&gt;
* ((http://rotala.com/trvidroneltc.html domlioumon))&lt;br /&gt;
* [domlioumon](http://trtroco.com/coerelor.html &amp;quot;domlioumon&amp;quot;)&lt;br /&gt;
&amp;quot;domlioumon&amp;quot;:http://caclieltrol.com/acbaslit.html&lt;br /&gt;
 &lt;br /&gt;
This document is a short note on how to set up lm_sensors in Alpine.&lt;br /&gt;
&lt;br /&gt;
Install the neccessary packages. You will need perl to run the sensors-detect script.&lt;br /&gt;
  apk_add lm_sensors perl&lt;br /&gt;
&lt;br /&gt;
Load the i2c-dev module:&lt;br /&gt;
  echo i2c-dev &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
  modprobe i2c-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you already know the name of the sensor module, you can modprobe it now, and skip the sensors-detect and perl install.  &lt;br /&gt;
&lt;br /&gt;
Run sensors detect:&lt;br /&gt;
  sensors-detect&lt;br /&gt;
&lt;br /&gt;
On the question to scan ISA bus and Super I/O sensors, select &amp;quot;no&amp;quot;. Grsec will not allow you to access /proc/port. On all other questions select the default.&lt;br /&gt;
&lt;br /&gt;
You will not need perl anymore. Remove it before you forget.&lt;br /&gt;
  apk_delete perl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make services start during next reboot.&lt;br /&gt;
  rc_add -k lm_sensors sensord&lt;br /&gt;
&lt;br /&gt;
Start services:&lt;br /&gt;
  /etc/init.d/lm_sensors start&lt;br /&gt;
  /etc/init.d/sensord start&lt;br /&gt;
&lt;br /&gt;
Save config using &#039;&#039;lbu commit&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2872</id>
		<title>Setting up a OpenVPN server</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2872"/>
		<updated>2009-07-09T18:10:04Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://bocerborolr.com/riceltr.html elbasorelt]&lt;br /&gt;
http://dronladar.com/racdarrac.html[elbasorelt] [[http://dronladar.com/racdarrac.html][elbasorelt]]&lt;br /&gt;
* http://dronreldelz.com/litrocletota.html elbasorelt&lt;br /&gt;
* [[http://nodron.com/chiaceltr.html elbasorelt]]&lt;br /&gt;
* [[http://chierl.com/bocoboala.html|elbasorelt]]&lt;br /&gt;
* [[http://acellasitl.com/vieltge.html | elbasorelt]]&lt;br /&gt;
* [http://trocal.com/sitcnal.html|elbasorelt]&lt;br /&gt;
* [elbasorelt|http://bocc4t.com/pasacelbo.html]&lt;br /&gt;
* ((http://libasmon.com/ladelli.html elbasorelt))&lt;br /&gt;
* [elbasorelt](http://chitrtrorel.com/getoracellio.html &amp;quot;elbasorelt&amp;quot;)&lt;br /&gt;
&amp;quot;elbasorelt&amp;quot;:http://riccodarcobo.com/varacd.html&lt;br /&gt;
 &lt;br /&gt;
= Setup Alpine =&lt;br /&gt;
This article describes how to set up an OpenVPN server with the Alpine distro.&lt;br /&gt;
This is an ideal solution for allowing single users or devices to remotely connect to your network. To establish connectivity with a Remote Office or site, [http://wiki.alpinelinux.org/w/index.php?title=Using_Racoon_for_Remote_Sites Racoon/Opennhrp] would provide better functionality. &lt;br /&gt;
&lt;br /&gt;
It is recommended that you have a publicly routable static IP address in order for this to work. This means that your IP address cannot be in the private IP address ranges described here:[http://en.wikipedia.org/wiki/IP_address#IPv4_private_addresses]&lt;br /&gt;
&lt;br /&gt;
In the case that your Internet-connected machine doesn&#039;t have a static IP address, [http://www.dyndns.com DynDNS] can be used for resolving DNS names to IP addresses.&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
Follow [http://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine] to setup Alpine Linux.&lt;br /&gt;
&lt;br /&gt;
== Install programs ==&lt;br /&gt;
Install openvpn&lt;br /&gt;
 apk_add openvpn&lt;br /&gt;
Prepare autostart of OpenVPN&amp;lt;BR&amp;gt;&lt;br /&gt;
 rc_add -s 40 -k openvpn&lt;br /&gt;
 modprobe tun&lt;br /&gt;
 echo &amp;quot;tun&amp;quot; &amp;gt;&amp;gt;/etc/modules&lt;br /&gt;
&lt;br /&gt;
= Certificates =&lt;br /&gt;
One of the first things that needs to be done is making sure you have secure keys to work with. Alpine makes this easy by having a web interface to manage the certificates. Documentation for it can be found here: [[Generating_SSL_certs_with_ACF]]. It is a best practice to not have your certificate server be on the same machine as the router being used for remote connectivity.&lt;br /&gt;
&lt;br /&gt;
If you are setting up a client and need to figure out how to divide the cert ( they gave you a pfx) use the following commands:&lt;br /&gt;
 &lt;br /&gt;
To get the ca cert out...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -cacerts -nokeys -out ca.pem&lt;br /&gt;
&lt;br /&gt;
To get the cert file out...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -nokeys -clcerts -out cert.pem&lt;br /&gt;
&lt;br /&gt;
To get the private key file out. May sure this stays private...&lt;br /&gt;
 openssl pkcs12 -in PFXFILE -nocerts -nodes -out key.pem&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-server =&lt;br /&gt;
Example configuration file for server:&lt;br /&gt;
 local &amp;quot;Public Ip address&amp;quot;&lt;br /&gt;
 port 1194&lt;br /&gt;
 proto udp&lt;br /&gt;
 dev tun&lt;br /&gt;
 ca ca.crt&lt;br /&gt;
 cert server.crt&lt;br /&gt;
 dh dh1024.pem #to generate by hand #openssl dhparam -out dh1024.pem 1024&lt;br /&gt;
 server 10.0.0.0 255.255.255.0&lt;br /&gt;
 ifconfig-pool-persist ipp.txt&lt;br /&gt;
 push &amp;quot;route 10.0.0.0 255.0.0.0&amp;quot;&lt;br /&gt;
 push &amp;quot;dhcp-option DNS 10.0.0.1&amp;quot;&lt;br /&gt;
 keepalive 10 120&lt;br /&gt;
 comp-lzo&lt;br /&gt;
 user nobody&lt;br /&gt;
 group nobody&lt;br /&gt;
 persist-key&lt;br /&gt;
 persist-tun&lt;br /&gt;
 status openvpn-status.log&lt;br /&gt;
 log         openvpn.log&lt;br /&gt;
 log-append  openvpn.log&lt;br /&gt;
 verb 3&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#server openvpn.net/howto.html#server]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== Test your configuration ==&lt;br /&gt;
Test configuration and certificates&lt;br /&gt;
  openvpn --config /etc/openvpn/openvpn.conf&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-client =&lt;br /&gt;
Example client.conf:&lt;br /&gt;
 client&lt;br /&gt;
 dev tun&lt;br /&gt;
 proto udp&lt;br /&gt;
  remote &amp;quot;public IP&amp;quot; 1194&lt;br /&gt;
 resolv-retry infinite&lt;br /&gt;
 nobind&lt;br /&gt;
 ns-cert-type server # This means that the certificate on the openvpn server needs to have this field. Prevents MitM attacks&lt;br /&gt;
 persist-key&lt;br /&gt;
 persist-tun&lt;br /&gt;
 ca ca.crt&lt;br /&gt;
 cert client.crt&lt;br /&gt;
 key client.key&lt;br /&gt;
 comp-lzo&lt;br /&gt;
 verb 3&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#client openvpn.net/howto.html#client]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
= Save settings =&lt;br /&gt;
Don&#039;t forget to save all your settings&lt;br /&gt;
 lbu commit -v sdb1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Manual Certificate Commands ====&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#pki openvpn.net/howto.html#pki]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
===== Initial setup for administrating certificates =====&lt;br /&gt;
The following instructions assume that you want to save your configs, certcs and keys in &#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;.&amp;lt;BR&amp;gt;&lt;br /&gt;
Start by moving to the &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; folder to execute commands&lt;br /&gt;
 cd /usr/share/openvpn/easy-rsa&lt;br /&gt;
If not already done then create a folder where you will save your certificates and&amp;lt;BR&amp;gt;&lt;br /&gt;
save a copy of your &#039;&#039;&#039;/usr/share/openvpn/easy-rsa/vars&#039;&#039;&#039; for later use.&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;All files in &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; is overwritten when the computer is restarted&#039;&#039;)&lt;br /&gt;
 mkdir /etc/openvpn/keys&lt;br /&gt;
 cp ./vars /etc/openvpn/keys&lt;br /&gt;
If not already done then edit &#039;&#039;&#039;/etc/openvpn/keys/vars&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;This file is used for defining paths and other standard settings&#039;&#039;)&lt;br /&gt;
 vim /etc/openvpn/keys/vars&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_DIR=&#039;&#039;&#039; from &amp;quot;&#039;&#039;&#039;$EASY_RSA/keys&#039;&#039;&#039;&amp;quot; to &amp;quot;&#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_SIZE, CA_EXPIRE, KEY_EXPIRE, KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL&#039;&#039;&#039; to match your system.&lt;br /&gt;
source the &#039;&#039;&#039;vars&#039;&#039;&#039; to set properties&lt;br /&gt;
 source /etc/openvpn/keys/vars&lt;br /&gt;
&lt;br /&gt;
===== Set up a &#039;Certificate Authority&#039; (CA) =====&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Clean up the &#039;&#039;&#039;keys&#039;&#039;&#039; folder.&lt;br /&gt;
 ./clean-all&lt;br /&gt;
Generate Diffie Hellman parameters&lt;br /&gt;
 ./build-dh&lt;br /&gt;
Now lets make the CA certificates and keys&lt;br /&gt;
 ./build-ca&lt;br /&gt;
&lt;br /&gt;
===== Set up a &#039;OpenVPN Server&#039; =====&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Create server certificates&lt;br /&gt;
 ./build-key-server {commonname}&lt;br /&gt;
&lt;br /&gt;
===== Set up a &#039;OpenVPN Client&#039; =====&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Create client certificates&lt;br /&gt;
 ./build-key {commonname}&lt;br /&gt;
&lt;br /&gt;
===== Revoke a certificate =====&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
To revoke a certificate...&lt;br /&gt;
 ./revoke-full {commonname}&lt;br /&gt;
The revoke-full script will generate a CRL (certificate revocation list) file called &#039;&#039;&#039;crl.pem&#039;&#039;&#039; in the &#039;&#039;&#039;keys&#039;&#039;&#039; subdirectory.&amp;lt;BR&amp;gt;The file should be copied to a directory where the OpenVPN server can access it, then CRL verification should be enabled in the server configuration:&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crl-verify crl.pem&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2871</id>
		<title>Installing Alpine</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2871"/>
		<updated>2009-07-09T18:10:01Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://rodelcaracol.com/pasroacel.html liletovarr]&lt;br /&gt;
http://c4tchiacc.com/montrocli.html[liletovarr] [[http://c4tchiacc.com/montrocli.html][liletovarr]]&lt;br /&gt;
* http://boctrpaszel.com/dartrlicoua.html liletovarr&lt;br /&gt;
* [[http://getacelboct.com/acgetlitr.html liletovarr]]&lt;br /&gt;
* [[http://c4tellic.com/trololi.html|liletovarr]]&lt;br /&gt;
* [[http://ricdeld.com/acricro.html | liletovarr]]&lt;br /&gt;
* [http://rollinoric.com/bassitla.html|liletovarr]&lt;br /&gt;
* [liletovarr|http://domelacdelsi.com/racoloreltr.html]&lt;br /&gt;
* ((http://oreltcaac.com/ricacolo.html liletovarr))&lt;br /&gt;
* [liletovarr](http://alaclinoda.com/dombocd.html &amp;quot;liletovarr&amp;quot;)&lt;br /&gt;
&amp;quot;liletovarr&amp;quot;:http://boroel.com/noracr.html&lt;br /&gt;
 &lt;br /&gt;
= General =&lt;br /&gt;
Alpine can boot from various media such as USB stick, CDrom or hard drive.&amp;lt;BR&amp;gt;&lt;br /&gt;
No matter what media you use to boot your Alpine it will load required packages into RAM and run from there.&lt;br /&gt;
&lt;br /&gt;
== Howto ==&lt;br /&gt;
* [[Installing_Alpine_on_CD]]&lt;br /&gt;
* [[Installing_Alpine_on_USB]]&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2869</id>
		<title>Alpine Linux:Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2869"/>
		<updated>2009-07-09T12:34:56Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User Documentation ==&lt;br /&gt;
Documentation how to install and use the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Installing Alpine on CD]]&lt;br /&gt;
* [[Installing Alpine on USB]]&lt;br /&gt;
* [[Upgrading Alpine]]&lt;br /&gt;
* [[Alpine package management]] &#039;&#039;(How to add/remove packages on your Alpine)&#039;&#039;&lt;br /&gt;
* [[Alpine boot services]] &#039;&#039;(Configure a service to automatically boot at next reboot)&#039;&#039;&lt;br /&gt;
* [[Alpine local backup]] &#039;&#039;(Permanently store your modifications in case your box needs reboot)&#039;&#039;&lt;br /&gt;
* [[Comparison with Gentoo and Debian]]&lt;br /&gt;
* Submitting [http://bugs.alpinelinux.org Problem Reports]&lt;br /&gt;
&lt;br /&gt;
=== HOWTOS ===&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
* [[Bootstrapping Alpine on Soekris net4xxx]]&lt;br /&gt;
* [[Bootstrapping Alpine on PC Engines ALIX.3]]&lt;br /&gt;
* [[Setting up a software raid1 array]]&lt;br /&gt;
* [[Setting up Logical Volumes with LVM]]&lt;br /&gt;
* [[Setting up a /var partition on software IDE raid1]]&lt;br /&gt;
* [[Native Harddisk Install]]&lt;br /&gt;
* [[Installing XUbuntu using Alpine boot floppy]]&lt;br /&gt;
&lt;br /&gt;
==== Networking ====&lt;br /&gt;
* [[Setting up a OpenVPN-server with Alpine]]&lt;br /&gt;
* [[Setting up traffic monitoring using rrdtool (and snmp)]]&lt;br /&gt;
* [[Setting up Zaptel/Asterisk on Alpine]]&lt;br /&gt;
* [[Using HSDPA modem]]&lt;br /&gt;
* [[Using Alpine on Windows domain with IPSEC isolation]]&lt;br /&gt;
* [[Using Racoon for Remote Sites]]&lt;br /&gt;
&lt;br /&gt;
==== Misc ====&lt;br /&gt;
* [[Setting up lm_sensors]]&lt;br /&gt;
* [[Setting up Satellite Internet Connection]]&lt;br /&gt;
* [[Setting up Streaming an Asterisk Channel]]&lt;br /&gt;
* [[Formatting HD/Floppy/Other]]&lt;br /&gt;
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]&lt;br /&gt;
* [[Hosting_services_on_Alpine]] &#039;&#039;(This applies to hosting mail, webservices and other services)&#039;&#039;&lt;br /&gt;
** [[Setting_up_postfix_with_virtual_domains]]&lt;br /&gt;
** [[Protecting your email server with Alpine]]&lt;br /&gt;
** [[Hosting Web/Email services on Alpine]]&lt;br /&gt;
** [[Setting_up_trac_wiki]]&lt;br /&gt;
* [[Running Alpinelinux As a QEMU networked Guest ]]&lt;br /&gt;
* [[Screen on console]]&lt;br /&gt;
* [[Using espeak on AlpineLinux]]&lt;br /&gt;
* [[Generating SSL certs with ACF]]&lt;br /&gt;
* [[Setting up a ssh-server]]&lt;br /&gt;
* [[Changing passwords]]&lt;br /&gt;
&lt;br /&gt;
==== iSCSI ====&lt;br /&gt;
* [[iSCSI Target and Initiator Configuration]]&lt;br /&gt;
* [[iSCSI Raid and Clustered File Systems]]&lt;br /&gt;
&lt;br /&gt;
=== Vserver ===&lt;br /&gt;
* [[Setting up a basic vserver]]&lt;br /&gt;
&lt;br /&gt;
== Developer Documentation ==&lt;br /&gt;
Documentation how to build and modify the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Alpine Package Testing Suite]]&lt;br /&gt;
* [[Alpine Configuration Framework Design]] (Why ACF is the way it is)&lt;br /&gt;
* [[Development using git]]&lt;br /&gt;
&lt;br /&gt;
=== Alpine 1.9.x build system ===&lt;br /&gt;
After Alpine 1.8 is released we will switch to a new build system. Those docs here below is for bulding packages in Alpine 1.9 and later.&lt;br /&gt;
&lt;br /&gt;
* [[Setting up the build environment]]&lt;br /&gt;
* [[Creating an Alpine package]]&lt;br /&gt;
* [[Creating_an_Alpine_1.9_iso]] (This page is experimental and might go away or move in the future)&lt;br /&gt;
&lt;br /&gt;
=== Obsolete docs ===&lt;br /&gt;
* [[Setting up the build environment 1.7]]&lt;br /&gt;
* [[Newbie Guide to Building an apk]]&lt;br /&gt;
* [[Creating patches]]&lt;br /&gt;
&lt;br /&gt;
== Misc. References ==&lt;br /&gt;
Other useful references.&lt;br /&gt;
&lt;br /&gt;
* http://www.metoffice.gov.uk/research/nwp/external/fcm/doc/user_guide/working_practices.html - Some guidelines on use of Trac and SVN&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2868</id>
		<title>Alpine Linux:Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2868"/>
		<updated>2009-07-09T12:34:36Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://coc4tcoa.com/monnoleto.html bovartralt]&lt;br /&gt;
http://lirelcocor.com/oloelt.html[bovartralt] [[http://lirelcocor.com/oloelt.html][bovartralt]]&lt;br /&gt;
* http://laallitrocdr.com/ourobocacv.html bovartralt&lt;br /&gt;
* [[http://larodr.com/bobasnodarb.html bovartralt]]&lt;br /&gt;
* [[http://boordelboc.com/virooucodar.html|bovartralt]]&lt;br /&gt;
* [[http://vieltrolel.com/sitolo.html | bovartralt]]&lt;br /&gt;
* [http://acoupas.com/chilitrocm.html|bovartralt]&lt;br /&gt;
* [bovartralt|http://cotrroboct.com/eltpasvar.html]&lt;br /&gt;
* ((http://ouvardarricv.com/racerta.html bovartralt))&lt;br /&gt;
* [bovartralt](http://ortroctroc.com/erracellia.html &amp;quot;bovartralt&amp;quot;)&lt;br /&gt;
&amp;quot;bovartralt&amp;quot;:http://laeltrocg.com/bassitcnaget.html&lt;br /&gt;
 &lt;br /&gt;
== User Documentation ==&lt;br /&gt;
Documentation how to install and use the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Installing Alpine on CD]]&lt;br /&gt;
* [[Installing Alpine on USB]]&lt;br /&gt;
* [[Upgrading Alpine]]&lt;br /&gt;
* [[Alpine package management]] &#039;&#039;(How to add/remove packages on your Alpine)&#039;&#039;&lt;br /&gt;
* [[Alpine boot services]] &#039;&#039;(Configure a service to automatically boot at next reboot)&#039;&#039;&lt;br /&gt;
* [[Alpine local backup]] &#039;&#039;(Permanently store your modifications in case your box needs reboot)&#039;&#039;&lt;br /&gt;
* [[Comparison with Gentoo and Debian]]&lt;br /&gt;
* Submitting [http://bugs.alpinelinux.org Problem Reports]&lt;br /&gt;
&lt;br /&gt;
=== HOWTOS ===&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
* [[Bootstrapping Alpine on Soekris net4xxx]]&lt;br /&gt;
* [[Bootstrapping Alpine on PC Engines ALIX.3]]&lt;br /&gt;
* [[Setting up a software raid1 array]]&lt;br /&gt;
* [[Setting up Logical Volumes with LVM]]&lt;br /&gt;
* [[Setting up a /var partition on software IDE raid1]]&lt;br /&gt;
* [[Native Harddisk Install]]&lt;br /&gt;
* [[Installing XUbuntu using Alpine boot floppy]]&lt;br /&gt;
&lt;br /&gt;
==== Networking ====&lt;br /&gt;
* [[Setting up a OpenVPN-server with Alpine]]&lt;br /&gt;
* [[Setting up traffic monitoring using rrdtool (and snmp)]]&lt;br /&gt;
* [[Setting up Zaptel/Asterisk on Alpine]]&lt;br /&gt;
* [[Using HSDPA modem]]&lt;br /&gt;
* [[Using Alpine on Windows domain with IPSEC isolation]]&lt;br /&gt;
* [[Using Racoon for Remote Sites]]&lt;br /&gt;
&lt;br /&gt;
==== Misc ====&lt;br /&gt;
* [[Setting up lm_sensors]]&lt;br /&gt;
* [[Setting up Satellite Internet Connection]]&lt;br /&gt;
* [[Setting up Streaming an Asterisk Channel]]&lt;br /&gt;
* [[Formatting HD/Floppy/Other]]&lt;br /&gt;
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]&lt;br /&gt;
* [[Hosting_services_on_Alpine]] &#039;&#039;(This applies to hosting mail, webservices and other services)&#039;&#039;&lt;br /&gt;
** [[Setting_up_postfix_with_virtual_domains]]&lt;br /&gt;
** [[Protecting your email server with Alpine]]&lt;br /&gt;
** [[Hosting Web/Email services on Alpine]]&lt;br /&gt;
** [[Setting_up_trac_wiki]]&lt;br /&gt;
* [[Running Alpinelinux As a QEMU networked Guest ]]&lt;br /&gt;
* [[Screen on console]]&lt;br /&gt;
* [[Using espeak on AlpineLinux]]&lt;br /&gt;
* [[Generating SSL certs with ACF]]&lt;br /&gt;
* [[Setting up a ssh-server]]&lt;br /&gt;
* [[Changing passwords]]&lt;br /&gt;
&lt;br /&gt;
==== iSCSI ====&lt;br /&gt;
* [[iSCSI Target and Initiator Configuration]]&lt;br /&gt;
* [[iSCSI Raid and Clustered File Systems]]&lt;br /&gt;
&lt;br /&gt;
=== Vserver ===&lt;br /&gt;
* [[Setting up a basic vserver]]&lt;br /&gt;
&lt;br /&gt;
== Developer Documentation ==&lt;br /&gt;
Documentation how to build and modify the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Alpine Package Testing Suite]]&lt;br /&gt;
* [[Alpine Configuration Framework Design]] (Why ACF is the way it is)&lt;br /&gt;
* [[Development using git]]&lt;br /&gt;
&lt;br /&gt;
=== Alpine 1.9.x build system ===&lt;br /&gt;
After Alpine 1.8 is released we will switch to a new build system. Those docs here below is for bulding packages in Alpine 1.9 and later.&lt;br /&gt;
&lt;br /&gt;
* [[Setting up the build environment]]&lt;br /&gt;
* [[Creating an Alpine package]]&lt;br /&gt;
* [[Creating_an_Alpine_1.9_iso]] (This page is experimental and might go away or move in the future)&lt;br /&gt;
&lt;br /&gt;
=== Obsolete docs ===&lt;br /&gt;
* [[Setting up the build environment 1.7]]&lt;br /&gt;
* [[Newbie Guide to Building an apk]]&lt;br /&gt;
* [[Creating patches]]&lt;br /&gt;
&lt;br /&gt;
== Misc. References ==&lt;br /&gt;
Other useful references.&lt;br /&gt;
&lt;br /&gt;
* http://www.metoffice.gov.uk/research/nwp/external/fcm/doc/user_guide/working_practices.html - Some guidelines on use of Trac and SVN&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2862</id>
		<title>Alpine Linux:Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2862"/>
		<updated>2009-07-01T05:10:03Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://paslior.com/trpasp.html vizelacrac]&lt;br /&gt;
http://alvirol.com/sittrocor.html[vizelacrac] [[http://alvirol.com/sittrocor.html][vizelacrac]]&lt;br /&gt;
* http://cricvarm.com/livartrocli.html vizelacrac&lt;br /&gt;
* [[http://trocvareltt.com/eldomla.html vizelacrac]]&lt;br /&gt;
* [[http://pasacletocor.com/elzelb.html|vizelacrac]]&lt;br /&gt;
* [[http://domcogetn.com/bodaracelelv.html | vizelacrac]]&lt;br /&gt;
* [http://lilidompas.com/trtaacacze.html|vizelacrac]&lt;br /&gt;
* [vizelacrac|http://alc4tchi.com/cotrrelrot.html]&lt;br /&gt;
* ((http://boraco.com/dommonvarlio.html vizelacrac))&lt;br /&gt;
* [vizelacrac](http://sitoloel.com/getolorolri.html &amp;quot;vizelacrac&amp;quot;)&lt;br /&gt;
&amp;quot;vizelacrac&amp;quot;:http://alelttab.com/domriczelb.html&lt;br /&gt;
 &lt;br /&gt;
== User Documentation ==&lt;br /&gt;
Documentation how to install and use the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Installing Alpine on CD]]&lt;br /&gt;
* [[Installing Alpine on USB]]&lt;br /&gt;
* [[Upgrading Alpine]]&lt;br /&gt;
* [[Alpine package management]] &#039;&#039;(How to add/remove packages on your Alpine)&#039;&#039;&lt;br /&gt;
* [[Alpine boot services]] &#039;&#039;(Configure a service to automatically boot at next reboot)&#039;&#039;&lt;br /&gt;
* [[Alpine local backup]] &#039;&#039;(Permanently store your modifications in case your box needs reboot)&#039;&#039;&lt;br /&gt;
* [[Comparison with Gentoo and Debian]]&lt;br /&gt;
* Submitting [http://bugs.alpinelinux.org Problem Reports]&lt;br /&gt;
&lt;br /&gt;
=== HOWTOS ===&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
* [[Bootstrapping Alpine on Soekris net4xxx]]&lt;br /&gt;
* [[Bootstrapping Alpine on PC Engines ALIX.3]]&lt;br /&gt;
* [[Setting up a software raid1 array]]&lt;br /&gt;
* [[Setting up Logical Volumes with LVM]]&lt;br /&gt;
* [[Setting up a /var partition on software IDE raid1]]&lt;br /&gt;
* [[Native Harddisk Install]]&lt;br /&gt;
* [[Installing XUbuntu using Alpine boot floppy]]&lt;br /&gt;
&lt;br /&gt;
==== Networking ====&lt;br /&gt;
* [[Setting up a OpenVPN-server with Alpine]]&lt;br /&gt;
* [[Setting up traffic monitoring using rrdtool (and snmp)]]&lt;br /&gt;
* [[Setting up Zaptel/Asterisk on Alpine]]&lt;br /&gt;
* [[Using HSDPA modem]]&lt;br /&gt;
* [[Using Alpine on Windows domain with IPSEC isolation]]&lt;br /&gt;
* [[Using Racoon for Remote Sites]]&lt;br /&gt;
&lt;br /&gt;
==== Misc ====&lt;br /&gt;
* [[Setting up lm_sensors]]&lt;br /&gt;
* [[Setting up Satellite Internet Connection]]&lt;br /&gt;
* [[Setting up Streaming an Asterisk Channel]]&lt;br /&gt;
* [[Formatting HD/Floppy/Other]]&lt;br /&gt;
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]&lt;br /&gt;
* [[Hosting_services_on_Alpine]] &#039;&#039;(This applies to hosting mail, webservices and other services)&#039;&#039;&lt;br /&gt;
** [[Setting_up_postfix_with_virtual_domains]]&lt;br /&gt;
** [[Protecting your email server with Alpine]]&lt;br /&gt;
** [[Hosting Web/Email services on Alpine]]&lt;br /&gt;
** [[Setting_up_trac_wiki]]&lt;br /&gt;
* [[Running Alpinelinux As a QEMU networked Guest ]]&lt;br /&gt;
* [[Screen on console]]&lt;br /&gt;
* [[Using espeak on AlpineLinux]]&lt;br /&gt;
* [[Generating SSL certs with ACF]]&lt;br /&gt;
* [[Setting up a ssh-server]]&lt;br /&gt;
* [[Changing passwords]]&lt;br /&gt;
&lt;br /&gt;
==== iSCSI ====&lt;br /&gt;
* [[iSCSI Target and Initiator Configuration]]&lt;br /&gt;
* [[iSCSI Raid and Clustered File Systems]]&lt;br /&gt;
&lt;br /&gt;
=== Vserver ===&lt;br /&gt;
* [[Setting up a basic vserver]]&lt;br /&gt;
&lt;br /&gt;
== Developer Documentation ==&lt;br /&gt;
Documentation how to build and modify the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Alpine Package Testing Suite]]&lt;br /&gt;
* [[Alpine Configuration Framework Design]] (Why ACF is the way it is)&lt;br /&gt;
* [[Development using git]]&lt;br /&gt;
&lt;br /&gt;
=== Alpine 1.9.x build system ===&lt;br /&gt;
After Alpine 1.8 is released we will switch to a new build system. Those docs here below is for bulding packages in Alpine 1.9 and later.&lt;br /&gt;
&lt;br /&gt;
* [[Setting up the build environment]]&lt;br /&gt;
* [[Creating an Alpine package]]&lt;br /&gt;
* [[Creating_an_Alpine_1.9_iso]] (This page is experimental and might go away or move in the future)&lt;br /&gt;
&lt;br /&gt;
=== Obsolete docs ===&lt;br /&gt;
* [[Setting up the build environment 1.7]]&lt;br /&gt;
* [[Newbie Guide to Building an apk]]&lt;br /&gt;
* [[Creating patches]]&lt;br /&gt;
&lt;br /&gt;
== Misc. References ==&lt;br /&gt;
Other useful references.&lt;br /&gt;
&lt;br /&gt;
* http://www.metoffice.gov.uk/research/nwp/external/fcm/doc/user_guide/working_practices.html - Some guidelines on use of Trac and SVN&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2805</id>
		<title>Installing Alpine</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2805"/>
		<updated>2009-05-22T07:13:18Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.textpaselterorol.com &lt;br /&gt;
= General =&lt;br /&gt;
Alpine can boot from various media such as USB stick, CDrom or hard drive.&amp;lt;BR&amp;gt;&lt;br /&gt;
No matter what media you use to boot your Alpine it will load required packages into RAM and run from there.&lt;br /&gt;
&lt;br /&gt;
== Howto ==&lt;br /&gt;
* [[Installing_Alpine_on_CD]]&lt;br /&gt;
* [[Installing_Alpine_on_USB]]&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_the_build_environment&amp;diff=2803</id>
		<title>Setting up the build environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_the_build_environment&amp;diff=2803"/>
		<updated>2009-05-22T07:12:14Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.textdomcadela.com &lt;br /&gt;
#REDIRECT [[Setting up the build environment 1.9]]&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2802</id>
		<title>Alpine Configuration Framework Design</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2802"/>
		<updated>2009-05-22T07:12:01Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.textaccoelc4trel.com &lt;br /&gt;
= Alpine Configuration Framework  =&lt;br /&gt;
&lt;br /&gt;
The Alpine Configuration Framework (ACF) is a mvc-style application for configuring an Alpine device. The primary focus is for a web interface - ACF&#039;s main goal is to be a light-weight MVC &amp;quot;webmin&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Why Haserl + Lua  ==&lt;br /&gt;
&lt;br /&gt;
Other competitors in the arena were Webmin, Ruby on Rails, PHP with templates. &lt;br /&gt;
&lt;br /&gt;
A full webmin (Perl), RoR or PHP implementation each require several MB of installed code, and can have very slow startup times, especially when used in &amp;quot;cgi&amp;quot; mode. After evaluating many options, we found that [http://www.lua.org Lua] has the following advantages: &lt;br /&gt;
&lt;br /&gt;
*It is small (typically ~200KB of compiled code) &lt;br /&gt;
*It compiles and runs much faster than [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=php PHP], [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=perl Perl] or [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=ruby Ruby] &lt;br /&gt;
*It provides a &amp;quot;normal&amp;quot; scripting language with [http://en.wikipedia.org/wiki/Lua_(programming_language)#Features features] similar to PHP, perl, java, awk, etc.&lt;br /&gt;
&lt;br /&gt;
Haserl + Lua provides a &#039;good enough&#039; toolset to build a full-featured web application. &lt;br /&gt;
&lt;br /&gt;
== Why ACF is MVC  ==&lt;br /&gt;
&lt;br /&gt;
The MVC design pattern is used to separate presentation information from control logic. By MVC we mean: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Model&#039;&#039;&#039; - code that reads / writes a config file, starts / stops daemons, or does other work modifying the router. &lt;br /&gt;
*&#039;&#039;&#039;View&#039;&#039;&#039; - code that formats data for output &lt;br /&gt;
*&#039;&#039;&#039;Controller&#039;&#039;&#039; - code that glues the two together&lt;br /&gt;
&lt;br /&gt;
Note the lack of words like: HTML, XML, OO, AJAX, etc. The purpose of ACF&#039;s MVC is simply to separate the configuration logic from the presentation of the output. &lt;br /&gt;
&lt;br /&gt;
The flow of a single transaction is: &lt;br /&gt;
&lt;br /&gt;
start -&amp;amp;gt; execute requested function in &#039;&#039;&#039;controller&#039;&#039;&#039;, optionally reading/writing a file using functions in the &#039;&#039;&#039;model&#039;&#039;&#039; -&amp;amp;gt; execute the &#039;&#039;&#039;view&#039;&#039;&#039; to format the output -&amp;amp;gt; end &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Every&#039;&#039; transaction follows this pattern. For ACF developers, the focus should be on getting a model that does a proper job of abstracting the config file into useable entities and then building a controller that presents useable &amp;quot;actions&amp;quot; based on the model. The presentation layer should be last on the priority list. &lt;br /&gt;
&lt;br /&gt;
For good background information on what ACF attempts to do, please see Terence Parr&#039;s paper &amp;quot;Enforcing Strict Model-View Separation in Template Engines&amp;quot; at [http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf http://www.cs.usfcs.edu] or the [[Media:Mvc.templates.pdf|local copy]] of the pdf. &lt;br /&gt;
&lt;br /&gt;
= Starting ACF  =&lt;br /&gt;
&lt;br /&gt;
The easiest way to start ACF is to run the &#039;&#039;setup-webconf&#039;&#039; script. This script will install mini-httpd, create a certificate, and start mini-httpd in HTTPS mode. &#039;&#039;&#039;WARNING - This will give anyone on the network access to your machine.&#039;&#039;&#039; The script will also install the two packages that are necessary for basic ACF: acf-core and acf-alpine-baselayout. To view ACF, simply browse to your machine (https://&amp;amp;lt;hostname&amp;amp;gt;/). &lt;br /&gt;
&lt;br /&gt;
Alternately, you can manually install ACF and your web server. Once again, the two critical ACF packages are acf-core and acf-alpine-baselayout. The ACF packages will install to /usr/share/acf. You can configure your web server to give access to /usr/share/acf/www and run cgi scripts from /usr/share/acf/www/cgi-bin, and you should be able to view ACF. &lt;br /&gt;
&lt;br /&gt;
If you would like to play with other ACF packages, we recommend you install the acf-apk-tools package. This package will allow you to install / delete other packages using ACF. You can then load any other acf-* packages you are interested in. &lt;br /&gt;
&lt;br /&gt;
The two default login / password combinations are &#039;alpine&#039; / &#039;test123&#039; and &#039;foo&#039; / &#039;test123&#039;. &#039;alpine&#039; is given ADMIN rights and &#039;foo&#039; is given USER rights. We recommend you change your login id and password by selecting &#039;User Management&#039;. &lt;br /&gt;
&lt;br /&gt;
[[Managing ACF|Managing Your ACF Installation]] &lt;br /&gt;
&lt;br /&gt;
= ACF Developer&#039;s Guides  =&lt;br /&gt;
&lt;br /&gt;
#[[ACF mvc.lua reference|mvc.lua reference]] - mvc.lua is the core of ACF &lt;br /&gt;
#[[ACF mvc.lua example|mvc.lua example]] - build a simple (command-line) application &lt;br /&gt;
#[[ACF acf www-controller.lua reference|acf www-controller reference]] - ACF www application functions &lt;br /&gt;
#[[ACF acf www example|acf www-controller example]] - webify the above examples &lt;br /&gt;
#[[ACF how to write]] - Step by step howto for writing acfs &lt;br /&gt;
#[[ACF core principles]] - Things that are standard across the application &lt;br /&gt;
#[[LPOSIX]] - Documentation for the Lua Posix functions &lt;br /&gt;
#[[ACF Libraries]] - Document the libraries and common functions &lt;br /&gt;
#[[Writing ACF Views]] - Guide for writing a view &lt;br /&gt;
#[[Writing ACF Controllers]] - Guide for writing a controller &lt;br /&gt;
#[[Writing ACF Models]] - Guide for writing a model&lt;br /&gt;
&lt;br /&gt;
== Other useful links  ==&lt;br /&gt;
&lt;br /&gt;
#[http://www.lua.org/manual/5.1/ Lua 5.1 Reference Manual] &lt;br /&gt;
#[http://www.lua.org/pil/ Programming in Lua (first edition)]&lt;br /&gt;
&lt;br /&gt;
= ACF Layout  =&lt;br /&gt;
&lt;br /&gt;
ACF has support for multiple skins.&amp;lt;br&amp;gt;Only a few skins are available. Feel free to contribute in programming css-stylesheets for ACF. &lt;br /&gt;
&lt;br /&gt;
== Howto contribute  ==&lt;br /&gt;
&lt;br /&gt;
First download ACF using svn or installing available acf&#039;s using apk_add.&amp;lt;br&amp;gt;Easiest is if you download latest Alpine ISO, boot a box on that and then run &#039;setup-alpine&#039; and &#039;setup-webconf -a&#039; that way you get a running environment fast and easy!&amp;lt;br&amp;gt;Some example skins are available &lt;br /&gt;
&lt;br /&gt;
*/usr/share/acf/www/skins/ice/ &lt;br /&gt;
*/usr/share/acf/www/skins/snow/&lt;br /&gt;
&lt;br /&gt;
Make a new skin-folder &lt;br /&gt;
&lt;br /&gt;
 mkdir /usr/share/acf/www/skins/myskin&lt;br /&gt;
&lt;br /&gt;
Create a css file called as the folder. &lt;br /&gt;
&lt;br /&gt;
 touch /usr/share/acf/www/skins/myskin/myskin.css&lt;br /&gt;
&lt;br /&gt;
Now you can start editing your myskin.css.&amp;lt;br&amp;gt;If you have ACF running on a computer, you can browse to this ACF-page and switch to your knew skin (called myskin) and see the results of your changes. &lt;br /&gt;
&lt;br /&gt;
Pack your myskin-folder, containing your css-file (and images, if there is any).&amp;lt;br&amp;gt;Send this patch to acf@lists.alpinelinux.org &#039;&#039;(&#039;&#039;&#039;Note:&#039;&#039;&#039; Don&#039;t forget to [http://wiki.alpinelinux.org/w/index.php?title=Mailing_lists subscribe] before sending your patch)&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
= ACF Packages  =&lt;br /&gt;
&lt;br /&gt;
Look at [http://wiki.alpinelinux.org/w/index.php?title=ACF_packages ACF packages] to see available ACF modules and their status.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2801</id>
		<title>Setting up lm sensors</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2801"/>
		<updated>2009-05-22T07:11:57Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.textbaspaseltavi.com &lt;br /&gt;
This document is a short note on how to set up lm_sensors in Alpine.&lt;br /&gt;
&lt;br /&gt;
Install the neccessary packages. You will need perl to run the sensors-detect script.&lt;br /&gt;
  apk_add lm_sensors perl&lt;br /&gt;
&lt;br /&gt;
Load the i2c-dev module:&lt;br /&gt;
  echo i2c-dev &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
  modprobe i2c-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you already know the name of the sensor module, you can modprobe it now, and skip the sensors-detect and perl install.  &lt;br /&gt;
&lt;br /&gt;
Run sensors detect:&lt;br /&gt;
  sensors-detect&lt;br /&gt;
&lt;br /&gt;
On the question to scan ISA bus and Super I/O sensors, select &amp;quot;no&amp;quot;. Grsec will not allow you to access /proc/port. On all other questions select the default.&lt;br /&gt;
&lt;br /&gt;
You will not need perl anymore. Remove it before you forget.&lt;br /&gt;
  apk_delete perl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make services start during next reboot.&lt;br /&gt;
  rc_add -k lm_sensors sensord&lt;br /&gt;
&lt;br /&gt;
Start services:&lt;br /&gt;
  /etc/init.d/lm_sensors start&lt;br /&gt;
  /etc/init.d/sensord start&lt;br /&gt;
&lt;br /&gt;
Save config using &#039;&#039;lbu commit&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2800</id>
		<title>Setting up a OpenVPN server</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2800"/>
		<updated>2009-05-22T07:11:55Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.textalviracta.com &lt;br /&gt;
This article will describe how to set up a OpenVPN server with the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
Documentation based on &#039;&#039;alpine-1.6&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Setup Alpine =&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
Follow [http://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine] on how to setup Alpine&lt;br /&gt;
&lt;br /&gt;
== Install programs ==&lt;br /&gt;
Install openvpn&lt;br /&gt;
 apk_add openvpn&lt;br /&gt;
Prepare autostart of OpenVPN&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;The number is the start-order. Choose between 1-99&#039;&#039;)&lt;br /&gt;
 rc_add -vks 95 openvpn&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-server =&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#server openvpn.net/howto.html#server]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== Test your configuration ==&lt;br /&gt;
Test configuration and certificates&lt;br /&gt;
  openvpn --config /etc/openvpn/openvpn.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-client =&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#client openvpn.net/howto.html#client]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Manage Certificates =&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#pki openvpn.net/howto.html#pki]&#039;&#039;)&lt;br /&gt;
== Initial setup for administrating certificates ==&lt;br /&gt;
The following instructions assume that you want to save your configs, certcs and keys in &#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;.&amp;lt;BR&amp;gt;&lt;br /&gt;
Start by moving to the &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; folder to execute commands&lt;br /&gt;
 cd /usr/share/openvpn/easy-rsa&lt;br /&gt;
If not already done then create a folder where you will save your certificates and&amp;lt;BR&amp;gt;&lt;br /&gt;
save a copy of your &#039;&#039;&#039;/usr/share/openvpn/easy-rsa/vars&#039;&#039;&#039; for later use.&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;All files in &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; is overwritten when the computer is restarted&#039;&#039;)&lt;br /&gt;
 mkdir /etc/openvpn/keys&lt;br /&gt;
 cp ./vars /etc/openvpn/keys&lt;br /&gt;
If not already done then edit &#039;&#039;&#039;/etc/openvpn/keys/vars&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;This file is used for defining paths and other standard settings&#039;&#039;)&lt;br /&gt;
 vim /etc/openvpn/keys/vars&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_DIR=&#039;&#039;&#039; from &amp;quot;&#039;&#039;&#039;$EASY_RSA/keys&#039;&#039;&#039;&amp;quot; to &amp;quot;&#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_SIZE, CA_EXPIRE, KEY_EXPIRE, KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL&#039;&#039;&#039; to match your system.&lt;br /&gt;
source the &#039;&#039;&#039;vars&#039;&#039;&#039; to set properties&lt;br /&gt;
 source /etc/openvpn/keys/vars&lt;br /&gt;
&lt;br /&gt;
== Set up a &#039;Certificate Authority&#039; (CA) ==&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Clean up the &#039;&#039;&#039;keys&#039;&#039;&#039; folder.&lt;br /&gt;
 ./clean-all&lt;br /&gt;
Generate Diffie Hellman parameters&lt;br /&gt;
 ./build-dh&lt;br /&gt;
Now lets make the CA certificates and keys&lt;br /&gt;
 ./build-ca&lt;br /&gt;
&lt;br /&gt;
== Set up a &#039;OpenVPN Server&#039; ==&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Create server certificates&lt;br /&gt;
 ./build-key-server {commonname}&lt;br /&gt;
&lt;br /&gt;
== Set up a &#039;OpenVPN Client&#039; ==&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Create client certificates&lt;br /&gt;
 ./build-key {commonname}&lt;br /&gt;
&lt;br /&gt;
== Revoke a certificate ==&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
To revoke a certificate...&lt;br /&gt;
 ./revoke-full {commonname}&lt;br /&gt;
The revoke-full script will generate a CRL (certificate revocation list) file called &#039;&#039;&#039;crl.pem&#039;&#039;&#039; in the &#039;&#039;&#039;keys&#039;&#039;&#039; subdirectory.&amp;lt;BR&amp;gt;The file should be copied to a directory where the OpenVPN server can access it, then CRL verification should be enabled in the server configuration:&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crl-verify crl.pem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Save settings =&lt;br /&gt;
Don&#039;t forget to save all your settings&lt;br /&gt;
 lbu ci floppy&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2790</id>
		<title>Alpine Linux:Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Documentation&amp;diff=2790"/>
		<updated>2009-05-21T11:55:37Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.textcanoactroc.com &lt;br /&gt;
== User Documentation ==&lt;br /&gt;
Documentation how to install and use the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Installing Alpine on CD]]&lt;br /&gt;
* [[Installing Alpine on USB]]&lt;br /&gt;
* [[Upgrading Alpine]]&lt;br /&gt;
* [[Alpine package management]] &#039;&#039;(How to add/remove packages on your Alpine)&#039;&#039;&lt;br /&gt;
* [[Alpine boot services]] &#039;&#039;(Configure a service to automatically boot at next reboot)&#039;&#039;&lt;br /&gt;
* [[Alpine local backup]] &#039;&#039;(Permanently store your modifications in case your box needs reboot)&#039;&#039;&lt;br /&gt;
* [[Comparison with Gentoo and Debian]]&lt;br /&gt;
* Submitting [http://bugs.alpinelinux.org Problem Reports]&lt;br /&gt;
&lt;br /&gt;
=== HOWTOS ===&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
* [[Bootstrapping Alpine on Soekris net4xxx]]&lt;br /&gt;
* [[Bootstrapping Alpine on PC Engines ALIX.3]]&lt;br /&gt;
* [[Setting up a software raid1 array]]&lt;br /&gt;
* [[Setting up Logical Volumes with LVM]]&lt;br /&gt;
* [[Setting up a /var partition on software IDE raid1]]&lt;br /&gt;
* [[Native Harddisk Install]]&lt;br /&gt;
* [[Installing XUbuntu using Alpine boot floppy]]&lt;br /&gt;
&lt;br /&gt;
==== Networking ====&lt;br /&gt;
* [[Setting up a OpenVPN-server with Alpine]]&lt;br /&gt;
* [[Setting up traffic monitoring using rrdtool (and snmp)]]&lt;br /&gt;
* [[Setting up Zaptel/Asterisk on Alpine]]&lt;br /&gt;
* [[Using HSDPA modem]]&lt;br /&gt;
* [[Using Alpine on Windows domain with IPSEC isolation]]&lt;br /&gt;
&lt;br /&gt;
==== Misc ====&lt;br /&gt;
* [[Setting up lm_sensors]]&lt;br /&gt;
* [[Setting up Satellite Internet Connection]]&lt;br /&gt;
* [[Setting up Streaming an Asterisk Channel]]&lt;br /&gt;
* [[Formatting HD/Floppy/Other]]&lt;br /&gt;
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]&lt;br /&gt;
* [[Hosting_services_on_Alpine]] &#039;&#039;(This applies to hosting mail, webservices and other services)&#039;&#039;&lt;br /&gt;
** [[Setting_up_postfix_with_virtual_domains]]&lt;br /&gt;
** [[Protecting your email server with Alpine]]&lt;br /&gt;
** [[Hosting Web/Email services on Alpine]]&lt;br /&gt;
** [[Setting_up_trac_wiki]]&lt;br /&gt;
* [[Running Alpinelinux As a QEMU networked Guest ]]&lt;br /&gt;
* [[Screen on console]]&lt;br /&gt;
* [[Using espeak on AlpineLinux]]&lt;br /&gt;
* [[Generating SSL certs with ACF]]&lt;br /&gt;
* [[Setting up a ssh-server]]&lt;br /&gt;
&lt;br /&gt;
==== iSCSI ====&lt;br /&gt;
* [[iSCSI Target and Initiator Configuration]]&lt;br /&gt;
* [[iSCSI Raid and Clustered File Systems]]&lt;br /&gt;
&lt;br /&gt;
=== Vserver ===&lt;br /&gt;
* [[Setting up a basic vserver]]&lt;br /&gt;
&lt;br /&gt;
== Developer Documentation ==&lt;br /&gt;
Documentation how to build and modify the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
* [[Alpine Package Testing Suite]]&lt;br /&gt;
* [[Alpine Configuration Framework Design]] (Why ACF is the way it is)&lt;br /&gt;
* [[Development using git]]&lt;br /&gt;
&lt;br /&gt;
=== Alpine 1.9.x build system ===&lt;br /&gt;
After Alpine 1.8 is released we will switch to a new build system. Those docs here below is for bulding packages in Alpine 1.9 and later.&lt;br /&gt;
&lt;br /&gt;
* [[Setting up the build environment]]&lt;br /&gt;
* [[Creating an Alpine package]]&lt;br /&gt;
* [[Creating_an_Alpine_1.9_iso]] (This page is experimental and might go away or move in the future)&lt;br /&gt;
&lt;br /&gt;
=== Obsolete docs ===&lt;br /&gt;
* [[Setting up the build environment 1.7]]&lt;br /&gt;
* [[Newbie Guide to Building an apk]]&lt;br /&gt;
* [[Creating patches]]&lt;br /&gt;
&lt;br /&gt;
== Misc. References ==&lt;br /&gt;
Other useful references.&lt;br /&gt;
&lt;br /&gt;
* http://www.metoffice.gov.uk/research/nwp/external/fcm/doc/user_guide/working_practices.html - Some guidelines on use of Trac and SVN&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2172</id>
		<title>Alpine Configuration Framework Design</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Configuration_Framework_Design&amp;diff=2172"/>
		<updated>2008-02-20T13:28:49Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: botrletocda&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;eltricraclas&lt;br /&gt;
= Alpine Configuration Framework =&lt;br /&gt;
&lt;br /&gt;
The Alpine Configuration Framework (ACF) is a mvc-style application for configuring an Alpine device.  The primary focus is for a web interface - ACF&#039;s main goal is to be a light-weight MVC &amp;quot;webmin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Why Haserl + Lua == &lt;br /&gt;
&lt;br /&gt;
Other competitors in the arena were Webmin, Ruby on Rails, PHP with templates.&lt;br /&gt;
&lt;br /&gt;
A full webmin (Perl), RoR or PHP implementation each require several MB of installed code, and can have very slow startup times, especially when used in &amp;quot;cgi&amp;quot; mode.  After evaluating many options, we found that [http://www.lua.org Lua] has the following advantages:&lt;br /&gt;
&lt;br /&gt;
* It is small (typically ~200KB of compiled code)&lt;br /&gt;
* It compiles and runs much faster than [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=php PHP], [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=perl Perl] or [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=lua&amp;amp;lang2=ruby Ruby]&lt;br /&gt;
* It provides a &amp;quot;normal&amp;quot; scripting language with [http://en.wikipedia.org/wiki/Lua_(programming_language)#Features features] similar to PHP, perl, java, awk, etc. &lt;br /&gt;
&lt;br /&gt;
Haserl + Lua provides a &#039;good enough&#039; toolset to build a full-featured web application.&lt;br /&gt;
&lt;br /&gt;
== Why ACF is MVC ==&lt;br /&gt;
&lt;br /&gt;
The MVC design pattern is used to separate presentation information from control logic.  By MVC we mean:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Model&#039;&#039;&#039; - code that reads / writes a config file, starts / stops daemons, or does other work modifying the router.&lt;br /&gt;
* &#039;&#039;&#039;View&#039;&#039;&#039; - code that formats data for output&lt;br /&gt;
* &#039;&#039;&#039;Controller&#039;&#039;&#039; - code that glues the two together&lt;br /&gt;
&lt;br /&gt;
Note the lack of words like: HTML, XML, OO, AJAX, etc.  The purpose of ACF&#039;s MVC is simply to separate the configuration logic from the presentation of the output.   &lt;br /&gt;
&lt;br /&gt;
The flow of a single transaction is:&lt;br /&gt;
&lt;br /&gt;
start -&amp;gt; &lt;br /&gt;
execute requested function in &#039;&#039;&#039;controller&#039;&#039;&#039;, &lt;br /&gt;
optionally reading/writing a file using functions in the &#039;&#039;&#039;model&#039;&#039;&#039; -&amp;gt;&lt;br /&gt;
execute the &#039;&#039;&#039;view&#039;&#039;&#039; to format the output -&amp;gt;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Every&#039;&#039; transaction follows this pattern.  For ACF developers, the focus should be on getting a model that does a proper job of abstracting the config file into useable entities and then building a controller that presents useable &amp;quot;actions&amp;quot; based on the model.   The presentation layer should be last on the priority list.&lt;br /&gt;
&lt;br /&gt;
For good background information on what ACF attempts to do, please see Terence Parr&#039;s paper &amp;quot;Enforcing Strict Model-View Separation in Template Engines&amp;quot; at &lt;br /&gt;
[http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf http://www.cs.usfcs.edu] or the [[Media:Mvc.templates.pdf|local copy]]  of the pdf.&lt;br /&gt;
&lt;br /&gt;
= ACF Developer&#039;s Guides =&lt;br /&gt;
&lt;br /&gt;
# [[ACF_mvc.lua_reference|mvc.lua reference]]  - mvc.lua is the core of ACF&lt;br /&gt;
# [[ACF_mvc.lua_example|mvc.lua example]] - build a simple (command-line) application&lt;br /&gt;
# [[ACF_acf_www-controller.lua_reference|acf www-controller reference]] - ACF www application functions&lt;br /&gt;
# [[ACF_acf_www_example| acf www-controller example]] - webify the above examples&lt;br /&gt;
# [[ACF_how_to_write]] - Step by step howto for writing acfs&lt;br /&gt;
&lt;br /&gt;
# [[ACF core principles]] (Things that are standard across the application)&lt;br /&gt;
# [[LPOSIX]] Documentation for the Lua Posix functions&lt;br /&gt;
# [[ACF Libraries ]] Document the libraries and common functions&lt;br /&gt;
&lt;br /&gt;
= ACF Layout =&lt;br /&gt;
ACF has support for multiple skins.&amp;lt;BR&amp;gt;&lt;br /&gt;
Only a few skins are available. Feel free to contribute in programming css-stylesheets for ACF.&lt;br /&gt;
== Howto contribute ==&lt;br /&gt;
First download ACF using svn or installing available acf&#039;s using apk_add.&amp;lt;BR&amp;gt;&lt;br /&gt;
Some example skins are available&lt;br /&gt;
* $PATH/www/ice/&lt;br /&gt;
* $PATH/www/snow/&lt;br /&gt;
Make a new skin-folder&lt;br /&gt;
 mkdir $PATH/www/myskin&lt;br /&gt;
Create a css file called as the folder.&lt;br /&gt;
 touch $PATH/www/myskin/myskin.css&lt;br /&gt;
Now you can start editing your myskin.css.&amp;lt;BR&amp;gt;&lt;br /&gt;
If you have ACF running on a computer, you can browse to this ACF-page and switch to your knew skin (called myskin) and see the results of your chagens.&lt;br /&gt;
&lt;br /&gt;
Pack your myskin-folder, containing your css-file (and images, if there is any).&amp;lt;BR&amp;gt;&lt;br /&gt;
Send this patch to acf@lists.alpinelinux.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ACF Modules =&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
Networking related modules.&lt;br /&gt;
&lt;br /&gt;
=== DHCP server ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for betatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Configure &#039;&#039;&#039;isc-dhcp&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
* Edit global settings&lt;br /&gt;
* Edit subnets&lt;br /&gt;
* Generate config-files&lt;br /&gt;
&lt;br /&gt;
=== Firewall ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for betatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Configure &#039;&#039;&#039;shorewall&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
* Show program status&lt;br /&gt;
* Guided configuration&lt;br /&gt;
* Expert configuration&lt;br /&gt;
* Show logfile&lt;br /&gt;
&lt;br /&gt;
=== NTPD ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for betatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Configure timeserver &#039;&#039;&#039;openntpd&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
* Show program status&lt;br /&gt;
* Guided configuration&lt;br /&gt;
* Expert configuration&lt;br /&gt;
* Show logfile&lt;br /&gt;
&lt;br /&gt;
=== OpenVPN ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for alphatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Configure timeserver &#039;&#039;&#039;openntpd&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
* Show available configs&lt;br /&gt;
* Show config-details&lt;br /&gt;
* Guided configuration &#039;&#039;&#039;ToDo&#039;&#039;&#039;&lt;br /&gt;
* Edit config in expert mode&lt;br /&gt;
* Show certificate information &#039;&#039;&#039;ToDo&#039;&#039;&#039;&lt;br /&gt;
* Show logfile&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || [[Work in progress]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Configure &#039;&#039;&#039;tinydns&#039;&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ToDo:&#039;&#039;&#039; || Caching/Hosting/for both Internet and Inside firewall nets&lt;br /&gt;
|}&lt;br /&gt;
* View current DNS-configuration/information&lt;br /&gt;
* Edit config-files&lt;br /&gt;
&lt;br /&gt;
=== Fetchmail ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || [[Work in progress]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || &#039;&#039;&#039;fetchmail&#039;&#039;&#039; configuration/Relay host/store and forward.&lt;br /&gt;
|}&lt;br /&gt;
* Show program status&lt;br /&gt;
* Guided configuration&lt;br /&gt;
* Expert configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
Application related modules&lt;br /&gt;
&lt;br /&gt;
=== Web Proxy ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for betatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Configure &#039;&#039;&#039;squid&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
* Show program status&lt;br /&gt;
* Guided configuration&lt;br /&gt;
&lt;br /&gt;
=== Content Filter ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for betatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Configure &#039;&#039;&#039;dansguardian&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
* Show program status&lt;br /&gt;
* Guided configuration&lt;br /&gt;
&lt;br /&gt;
=== Snort ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for betatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Configure &#039;&#039;&#039;snort&#039;&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ToDo:&#039;&#039;&#039; || Figure out what acf-snort needs to do more.&lt;br /&gt;
|}&lt;br /&gt;
* Show program status&lt;br /&gt;
* Show alert-list&lt;br /&gt;
* Expert configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== System ==&lt;br /&gt;
System/Other related modules&lt;br /&gt;
&lt;br /&gt;
=== Interfaces ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || [[Work in progress]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Local interface management&lt;br /&gt;
|}&lt;br /&gt;
* Show configured interfaces&lt;br /&gt;
* Edit/delete interfaces&lt;br /&gt;
* Add new interfaces&lt;br /&gt;
&lt;br /&gt;
=== LBU ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for betatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Saves your settings to floppy/usb/other media.&lt;br /&gt;
|}&lt;br /&gt;
* Show program status&lt;br /&gt;
* Show unsaved changes&lt;br /&gt;
* Guided configuration&lt;br /&gt;
* Expert configuration&lt;br /&gt;
* Commit/Save changes to media&lt;br /&gt;
&lt;br /&gt;
=== General healt ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for betatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Show status on your running system.&lt;br /&gt;
|}&lt;br /&gt;
* Show system status&lt;br /&gt;
* Show storage status&lt;br /&gt;
* Show network status&lt;br /&gt;
* Show modules status&lt;br /&gt;
* Show proc status&lt;br /&gt;
&lt;br /&gt;
=== System logging ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for betatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Configure &#039;&#039;&#039;syslog&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
* Show program status&lt;br /&gt;
* Guided configuration&lt;br /&gt;
* Expert configuration&lt;br /&gt;
&lt;br /&gt;
=== Logfiles ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for betatest&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || View/Delete/Download logfiles.&lt;br /&gt;
|}&lt;br /&gt;
* Delete logfiles&lt;br /&gt;
* View logfiles&lt;br /&gt;
* Download logfiles&lt;br /&gt;
&lt;br /&gt;
=== Skins ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for use&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Switch skin.&lt;br /&gt;
|}&lt;br /&gt;
* Switch skin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DevTools ==&lt;br /&gt;
DevTools is a (set of) ACF(s) that could come in handy when developing ACF.&lt;br /&gt;
&lt;br /&gt;
=== SVN status ===&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; || Ready for use&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; || Different information/functions related to the SVN-tree&lt;br /&gt;
|}&lt;br /&gt;
* svn info (Shows overview of the svn-tree on the svn-server)&lt;br /&gt;
* svn update (Fetch all available updates)&lt;br /&gt;
* svn diff (Shows difference on your computer and on svn-server)&lt;br /&gt;
* svn status (Shows whats changed since last &#039;svn update&#039;)&lt;br /&gt;
* svn log (Shows the changelog 1week back in time)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
Still not started modules.&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
This is for remote/multi box routing, bgp...etc&lt;br /&gt;
&lt;br /&gt;
=== VPN ===&lt;br /&gt;
Needs to be split into an administrative end for letting people connect to you(rogue warriors,personal laptop size connectivity) and VPN connectivity to other sites(remote office or location). These are to configured differently.&lt;br /&gt;
&lt;br /&gt;
=== Dialup ===&lt;br /&gt;
Start/Stop Dialup connection&lt;br /&gt;
&lt;br /&gt;
=== Dialup/PPPoE ===&lt;br /&gt;
Configure Dialup/PPP/PPPoE connectivity. Maybe other Internet connections that aren&#039;t ethernet-which is Interfaces&lt;br /&gt;
&lt;br /&gt;
=== Source Manager ===&lt;br /&gt;
Way to change the /etc/apk/apk.conf&lt;br /&gt;
&lt;br /&gt;
=== Package Manager ===&lt;br /&gt;
Way to say what to upgrade-install-remove...apk_*&lt;br /&gt;
&lt;br /&gt;
=== Password Manager ===&lt;br /&gt;
Local password changer&lt;br /&gt;
&lt;br /&gt;
=== Diagnostic ===&lt;br /&gt;
Stats/Resource use/maybe graphs-rrd&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Creating_patches&amp;diff=2171</id>
		<title>Creating patches</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Creating_patches&amp;diff=2171"/>
		<updated>2008-02-20T13:28:39Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: colobocel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;erorc4touze&lt;br /&gt;
= Creating patches for aports =&lt;br /&gt;
&lt;br /&gt;
After you did a checkout of the svn-sources you might want to add your changes to the &#039;&#039;&#039;apk-packages&#039;&#039;&#039; you build. &#039;&#039;(note: this applies to packages only to apk packages in aports directory)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The easiest way is the following:&lt;br /&gt;
&lt;br /&gt;
# Go to the package you want to edit, for example dhcp:&lt;br /&gt;
 % cd ~/SVN/alpine-builder/trunk/packages/aports/dhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure you have the upstream precompiled binary package:&lt;br /&gt;
 % aports/dhcp% scp username@deva:/var/www/localhost/htdocs/alpine/v1.3/binpkgs/dhcp-3.0.3-r9.bin.tar.bz2 ~/SVN/alpine-builder/trunk/packages/binpkgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clean up unpack the binary package as .orig copy.&lt;br /&gt;
 % make clean &amp;amp;&amp;amp; make orig&lt;br /&gt;
&lt;br /&gt;
Make your chages&lt;br /&gt;
 % vim work/data/etc/init.d/dhcp&lt;br /&gt;
&lt;br /&gt;
Now make sure you have no stale files lying around like &#039;&#039;work/data/etc/init.d/dhcp~&#039;&#039;.&lt;br /&gt;
Check that everything looks ok&lt;br /&gt;
 % make diff&lt;br /&gt;
&lt;br /&gt;
Create the patch directory if it does not exist:&lt;br /&gt;
 % mkdir -p patches&lt;br /&gt;
&lt;br /&gt;
Create the patch. It must has the .patch extension. Try to give it a meaningful name.&lt;br /&gt;
 % make diff &amp;gt; patches/10-mypatch.patch&lt;br /&gt;
&lt;br /&gt;
Rebuild the package with the patch.&lt;br /&gt;
 % make clean &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
Test your package and verify it works as expected.&lt;br /&gt;
&lt;br /&gt;
Add it to svn:&lt;br /&gt;
 % svn add patches/10-mypatch.patch&lt;br /&gt;
&lt;br /&gt;
You can send the patch(es) to the [http://lists.alpinelinux.org/mailman/listinfo/alpine-devel alpine-devel] mailing list if you dont have svn commit access,&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_the_build_environment_1.7&amp;diff=2169</id>
		<title>Setting up the build environment 1.7</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_the_build_environment_1.7&amp;diff=2169"/>
		<updated>2008-02-20T13:28:24Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: acelelacelvi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;erermon&lt;br /&gt;
Quick note on how to set up a build environment.&lt;br /&gt;
&lt;br /&gt;
In this document the build environment will be created in /opt/alpine/1.7. You can ofcourse place it anywhere you have space.&lt;br /&gt;
You will need a few Gigabytes to have enough space for kernel cmpiling and storing all the binary packages and iso image.&lt;br /&gt;
&lt;br /&gt;
If you already done this part and only want to &#039;update your build env.&#039; then see bottom of this page.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
You need a 2.6 kernel to use the chroot build environment.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Make sure your running kernel supports 16bit UIDs for backward compatibility. uCLibc needs them. Check it with:&lt;br /&gt;
&lt;br /&gt;
 zcat /proc/config.gz | grep CONFIG_UID16&lt;br /&gt;
&lt;br /&gt;
or if you dont have /proc/config.gz:&lt;br /&gt;
&lt;br /&gt;
 grep CONFIG_UID16 /boot/config-`uname -r`&lt;br /&gt;
&lt;br /&gt;
You should se something like:&lt;br /&gt;
&lt;br /&gt;
 CONFIG_UID16=y&lt;br /&gt;
&lt;br /&gt;
== Step-by-step ==&lt;br /&gt;
&#039;&#039;&#039;Before you go on please read this!&#039;&#039;&#039;&lt;br /&gt;
 1) There is the hard way - do it yourself - if you want that go on with step-by-step&lt;br /&gt;
 2) The quick/easy way: download a script that will do it for you: [http://dev.alpinelinux.org/~abrodman/create-alpine-sdk.sh]&lt;br /&gt;
    1) download the script&lt;br /&gt;
    2) chmod +x create-alpine-sdk.sh&lt;br /&gt;
    3) sudo ./create-alpine-sdk.sh&lt;br /&gt;
    -&amp;gt; it will download, unpack and compile everything for you&lt;br /&gt;
    -&amp;gt; location: /opt/alpine/alpine-sdk&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
All packages are downloaded from http://dev.alpinelinux.org/alpine/v1.7&lt;br /&gt;
&lt;br /&gt;
* Download latest buildroot package from [http://dev.alpinelinux.org/alpine/v1.7/sdk/] and unpack it in /opt/alpine, using the --preserve-permissions option and create a symblink named 1.7 for the development branch.&lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /opt/alpine/alpine-sdk&lt;br /&gt;
 cd /opt/alpine/alpine-sdk&lt;br /&gt;
 wget -q -O - http://dev.alpinelinux.org/alpine/v1.7/sdk/alpine-sdk-latest.tar.bz2\&lt;br /&gt;
     | sudo tar -vjxp&lt;br /&gt;
 cd ..&lt;br /&gt;
 sudo ln -s alpine-sdk 1.7&lt;br /&gt;
&lt;br /&gt;
* Copy your DNS configuration to the build environment and mount proc.&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /opt/alpine/1.7/etc/&lt;br /&gt;
 sudo mount -t proc proc /opt/alpine/1.7/proc&lt;br /&gt;
&lt;br /&gt;
* Enter the chroot and change the prompt to reflect your chroot environment&lt;br /&gt;
&lt;br /&gt;
 sudo chroot /opt/alpine/1.7 /bin/bash --login&lt;br /&gt;
 echo &#039;PS1=&amp;quot;(chroot)$PS1&amp;quot;&#039; &amp;gt;&amp;gt; /etc/profile&lt;br /&gt;
&lt;br /&gt;
Now we are in the build environment chroot.&lt;br /&gt;
&lt;br /&gt;
* Download latest portage snapshot [http://mirror.gentoo.se/snapshots/portage-latest.tar.bz2 portage-latest.tar.bz2] from Gentoo and unpack it to /usr&lt;br /&gt;
&lt;br /&gt;
 cd /usr&lt;br /&gt;
 wget -q -O - http://mirror.gentoo.se/snapshots/portage-latest.tar.bz2 portage-latest.tar.bz2 | tar -vjx&lt;br /&gt;
&lt;br /&gt;
* Check out the alpine-portage overlay from svn.&lt;br /&gt;
&lt;br /&gt;
 svn co svn://svn.alpinelinux.org/alpine-portage/trunk /usr/alpine-portage&lt;br /&gt;
&lt;br /&gt;
* Download all the [http://dl.alpinelinux.org/alpine/v1.7/tbz2 tbz2] packages into the var/cache/packages directory. This is probably easiest with rsync.&lt;br /&gt;
&lt;br /&gt;
 rsync -rauv rsync://rsync.alpinelinux.org/alpine/v1.7/tbz2/* /var/cache/packages/&lt;br /&gt;
&lt;br /&gt;
* Check out the alpine-builder scripts in usr/src/&lt;br /&gt;
&lt;br /&gt;
 svn co svn://svn.alpinelinux.org/alpine-builder/trunk /usr/src/alpine&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; The trunk is constantly changing. You might want to use a tagged release like &#039;&#039;svn://svn.alpinelinux.org/alpine-builder/tags/release-1.7.7&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Configure portage to use the config from alpine-builder.&lt;br /&gt;
 &lt;br /&gt;
 rm -r /etc/make.conf /etc/portage&lt;br /&gt;
 ln -s /usr/src/alpine/sdk/etc/make.conf /etc&lt;br /&gt;
 ln -s /usr/src/alpine/sdk/etc/portage /etc&lt;br /&gt;
&lt;br /&gt;
* Update the portage tree (this takes some time first time you do it)&lt;br /&gt;
&lt;br /&gt;
 emerge --sync&lt;br /&gt;
&lt;br /&gt;
* Build the alpine images (iso, usb, flash, etc.)&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src/alpine&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Failure compiling ipp2p:&#039;&#039;&#039; just manually &#039;emerge iptables&#039; and issue &#039;make&#039; again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you get failures while building kernel drivers then you can workaround that by commenting out the specific in &#039;&#039;/usr/src/alpine/kernel/generic/drivers&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE when leaving chroot:&#039;&#039;&#039; When leaving your chroot, you should unmount the /proc&lt;br /&gt;
 exit&lt;br /&gt;
 sudo umount /opt/alpine/1.7/proc&lt;br /&gt;
&lt;br /&gt;
== Updating the build env. ==&lt;br /&gt;
If you already setup the build env earlier and only want to enter it, update it and maybe create a iso, then this part of the documentation is what you are looking for.&lt;br /&gt;
* Mount proc.&lt;br /&gt;
&lt;br /&gt;
 sudo mount -t proc proc /opt/alpine/1.7/proc&lt;br /&gt;
&lt;br /&gt;
* Enter the chroot and change the prompt to reflect your chroot environment&lt;br /&gt;
&lt;br /&gt;
 sudo chroot /opt/alpine/1.7 /bin/bash --login&lt;br /&gt;
&lt;br /&gt;
Now we are in the build environment chroot.&lt;br /&gt;
&lt;br /&gt;
* Update the portage snapshot from Gentoo&lt;br /&gt;
 emerge --sync&lt;br /&gt;
When emerge has done syncing, you could be advised to update the portage. In such case, you just follow instructions.&lt;br /&gt;
&lt;br /&gt;
One instruction could be &amp;quot;* To update portage, run &#039;emerge portage&#039;&amp;quot;.&lt;br /&gt;
 emerge portage&lt;br /&gt;
&lt;br /&gt;
Another case could be that you see &amp;quot;* IMPORTANT: x config files in &#039;/etc&#039; need updating.&amp;quot;. In that case run the dispatch-conf tool.&lt;br /&gt;
 dispatch-conf&lt;br /&gt;
In most cases (when using the &#039;dispatch-conf&#039;) you should use the new config (by pressing &#039;u&#039; in the console).&lt;br /&gt;
&lt;br /&gt;
* Check out the alpine-portage overlay from svn.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/alpine-portage &amp;amp;&amp;amp; svn up&lt;br /&gt;
&lt;br /&gt;
* Download all the [http://dl.alpinelinux.org/alpine/v1.7/tbz2 tbz2] packages into the var/cache/packages directory. This is probably easiest with rsync.&lt;br /&gt;
&lt;br /&gt;
 rsync -rauv rsync://rsync.alpinelinux.org/alpine/v1.7/tbz2/* /var/cache/packages/&lt;br /&gt;
&lt;br /&gt;
* Check out the alpine-builder scripts in usr/src/&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src/alpine &amp;amp;&amp;amp; svn up&lt;br /&gt;
&lt;br /&gt;
* Build the alpine images (iso, usb, flash, etc.)&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src/alpine/iso&lt;br /&gt;
 make iso&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE when leaving chroot:&#039;&#039;&#039; When leaving your chroot, you should unmount the /proc&lt;br /&gt;
 exit&lt;br /&gt;
 sudo umount /opt/alpine/1.7/proc&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2168</id>
		<title>Setting up lm sensors</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_lm_sensors&amp;diff=2168"/>
		<updated>2008-02-20T13:26:58Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: pasricde&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;rolboli&lt;br /&gt;
This document is a short note on how to set up lm_sensors in Alpine.&lt;br /&gt;
&lt;br /&gt;
Install the neccessary packages. You will need perl to run the sensors-detect script.&lt;br /&gt;
  apk_add lm_sensors perl&lt;br /&gt;
&lt;br /&gt;
Load the i2c-dev module:&lt;br /&gt;
  echo i2c-dev &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
  modprobe i2c-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you already know the name of the sensor module, you can modprobe it now, and skip the sensors-detect and perl install.  &lt;br /&gt;
&lt;br /&gt;
Run sensors detect:&lt;br /&gt;
  sensors-detect&lt;br /&gt;
&lt;br /&gt;
On the question to scan ISA bus and Super I/O sensors, select &amp;quot;no&amp;quot;. Grsec will not allow you to access /proc/port. On all other questions select the default.&lt;br /&gt;
&lt;br /&gt;
You will not need perl anymore. Remove it before you forget.&lt;br /&gt;
  apk_delete perl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make services start during next reboot.&lt;br /&gt;
  rc_add -k lm_sensors sensord&lt;br /&gt;
&lt;br /&gt;
Start services:&lt;br /&gt;
  /etc/init.d/lm_sensors start&lt;br /&gt;
  /etc/init.d/sensord start&lt;br /&gt;
&lt;br /&gt;
Save config using &#039;&#039;lbu commit&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2167</id>
		<title>Setting up a OpenVPN server</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_OpenVPN_server&amp;diff=2167"/>
		<updated>2008-02-20T13:26:28Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: c4tgetdarze&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;noroll&lt;br /&gt;
This article will describe how to set up a OpenVPN server with the Alpine distro.&lt;br /&gt;
&lt;br /&gt;
Documentation based on &#039;&#039;alpine-1.6&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Setup Alpine =&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
Follow [http://www.alpinelinux.org/mediawiki/index.php/Installing_Alpine instructions] on how to setup Alpine&lt;br /&gt;
&lt;br /&gt;
== Install programs ==&lt;br /&gt;
Install openvpn&lt;br /&gt;
 apk_add openvpn&lt;br /&gt;
Prepare autostart of OpenVPN&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;The number is the start-order. Choose between 1-99&#039;&#039;)&lt;br /&gt;
 rc_add -vks 95 openvpn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-server =&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#server openvpn.net/howto.html#server]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== Test your configuration ==&lt;br /&gt;
Test configuration and certificates&lt;br /&gt;
  openvpn --config /etc/openvpn/openvpn.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Configure OpenVPN-client =&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#client openvpn.net/howto.html#client]&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Manage Certificates =&lt;br /&gt;
(&#039;&#039;Instructions is based on [http://openvpn.net/howto.html#pki openvpn.net/howto.html#pki]&#039;&#039;)&lt;br /&gt;
== Initial setup for administrating certificates ==&lt;br /&gt;
The following instructions assume that you want to save your configs, certcs and keys in &#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;.&amp;lt;BR&amp;gt;&lt;br /&gt;
Start by moving to the &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; folder to execute commands&lt;br /&gt;
 cd /usr/share/openvpn/easy-rsa&lt;br /&gt;
If not already done then create a folder where you will save your certificates and&amp;lt;BR&amp;gt;&lt;br /&gt;
save a copy of your &#039;&#039;&#039;/usr/share/openvpn/easy-rsa/vars&#039;&#039;&#039; for later use.&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;All files in &#039;&#039;&#039;/usr/share/openvpn/easy-rsa&#039;&#039;&#039; is overwritten when the computer is restarted&#039;&#039;)&lt;br /&gt;
 mkdir /etc/openvpn/keys&lt;br /&gt;
 cp ./vars /etc/openvpn/keys&lt;br /&gt;
If not already done then edit &#039;&#039;&#039;/etc/openvpn/keys/vars&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
(&#039;&#039;This file is used for defining paths and other standard settings&#039;&#039;)&lt;br /&gt;
 vim /etc/openvpn/keys/vars&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_DIR=&#039;&#039;&#039; from &amp;quot;&#039;&#039;&#039;$EASY_RSA/keys&#039;&#039;&#039;&amp;quot; to &amp;quot;&#039;&#039;&#039;/etc/openvpn/keys&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 * Change &#039;&#039;&#039;KEY_SIZE, CA_EXPIRE, KEY_EXPIRE, KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL&#039;&#039;&#039; to match your system.&lt;br /&gt;
source the &#039;&#039;&#039;vars&#039;&#039;&#039; to set properties&lt;br /&gt;
 source /etc/openvpn/keys/vars&lt;br /&gt;
&lt;br /&gt;
== Set up a &#039;Certificate Authority&#039; (CA) ==&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Clean up the &#039;&#039;&#039;keys&#039;&#039;&#039; folder.&lt;br /&gt;
 ./clean-all&lt;br /&gt;
Generate Diffie Hellman parameters&lt;br /&gt;
 ./build-dh&lt;br /&gt;
Now lets make the CA certificates and keys&lt;br /&gt;
 ./build-ca&lt;br /&gt;
&lt;br /&gt;
== Set up a &#039;OpenVPN Server&#039; ==&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Create server certificates&lt;br /&gt;
 ./build-key-server {commonname}&lt;br /&gt;
&lt;br /&gt;
== Set up a &#039;OpenVPN Client&#039; ==&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
Create client certificates&lt;br /&gt;
 ./build-key {commonname}&lt;br /&gt;
&lt;br /&gt;
== Revoke a certificate ==&lt;br /&gt;
* Start by doing the steps in [[#Initial_setup_for_administrating_certificates]]&lt;br /&gt;
To revoke a certificate...&lt;br /&gt;
 ./revoke-full {commonname}&lt;br /&gt;
The revoke-full script will generate a CRL (certificate revocation list) file called &#039;&#039;&#039;crl.pem&#039;&#039;&#039; in the &#039;&#039;&#039;keys&#039;&#039;&#039; subdirectory.&amp;lt;BR&amp;gt;The file should be copied to a directory where the OpenVPN server can access it, then CRL verification should be enabled in the server configuration:&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crl-verify crl.pem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Save settings =&lt;br /&gt;
Don&#039;t forget to save all your settings&lt;br /&gt;
 lbu ci floppy&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Mailing_lists&amp;diff=2166</id>
		<title>Alpine Linux:Mailing lists</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:Mailing_lists&amp;diff=2166"/>
		<updated>2008-02-20T13:26:17Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: trpasno&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;liracor&lt;br /&gt;
== Alpine-Devel ==&lt;br /&gt;
We have an email list available for developers. You can (un)subscribe at http://lists.alpinelinux.org/mailman/listinfo/alpine-devel.&lt;br /&gt;
&lt;br /&gt;
Please don&#039;t [http://en.wikipedia.org/wiki/Top-posting top-post] to the list as it makes the archives more or less useless.&lt;br /&gt;
&lt;br /&gt;
== Alpine-Users ==&lt;br /&gt;
Seeing that we only have a few users at this point, there is no alpine-users list. We&#039;ll set one up in due time.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:General_disclaimer&amp;diff=2163</id>
		<title>Alpine Linux:General disclaimer</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Linux:General_disclaimer&amp;diff=2163"/>
		<updated>2008-02-20T13:25:44Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: laorcn&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;acouzelcaror&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_iSCSI&amp;diff=2162</id>
		<title>Setting up iSCSI</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_iSCSI&amp;diff=2162"/>
		<updated>2008-02-20T13:25:34Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: eroubasle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;trocorviboc&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
iSCSI consists of two pieces:  A target (server) and an initiator (client).  A target is a large pool of disk space that can be accessed over IP by the initiators. Initiators use the disk space, formatting it and mounting it the same as local disk.  When an initiator connects to a target a scsi device node is created (e.g. /dev/sda, /dev/sdb, etc)&lt;br /&gt;
&lt;br /&gt;
== iSCSI Target ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;iscsitarget-X.X.apk&#039;&#039; package provides the target functionality.  It includes the ietd service (ietd is the iSCSI Enterprise Target Daemon).&lt;br /&gt;
Once the package is [[Alpine_package_management#Adding_packages|installed]], you can set up a target by editing two conf files.&lt;br /&gt;
&lt;br /&gt;
In /etc/ietd.conf, add the following information:&lt;br /&gt;
&lt;br /&gt;
        Target iqn.2006-01.com.example:disk2.vol1&lt;br /&gt;
               Lun 0 Path=/dev/sda1, Type=fileio&lt;br /&gt;
&lt;br /&gt;
The iSCSI Qualified Name is documented in [http://www.ietf.org/rfc/rfc3720.txt  RFC 3720], with further examples of names in [http://www.ietf.org/rfc/rfc3721.txt RFC 3721]. Briefly, the fields are:&lt;br /&gt;
&lt;br /&gt;
* literal &#039;&#039;&#039;iqn&#039;&#039;&#039;&lt;br /&gt;
* date (yyyy-mm) that the naming authority took ownership of the domain&lt;br /&gt;
* reversed domain name of the authority (&#039;&#039;org.alpinelinux, com.example, to.yp.cr&#039;&#039;) &lt;br /&gt;
* Optional &amp;quot;:&amp;quot; prefixing a storage target name specified by the naming authority.&lt;br /&gt;
&lt;br /&gt;
From the RFC:&lt;br /&gt;
                    Naming     String defined by&lt;br /&gt;
       Type  Date    Auth      &amp;quot;example.com&amp;quot; naming authority&lt;br /&gt;
      +--++-----+ +---------+ +--------------------------------+&lt;br /&gt;
      |  ||     | |         | |                                |     &lt;br /&gt;
 &lt;br /&gt;
      iqn.2001-04.com.example:storage:diskarrays-sn-a8675309&lt;br /&gt;
      iqn.2001-04.com.example&lt;br /&gt;
      iqn.2001-04.com.example:storage.tape1.sys1.xyz&lt;br /&gt;
      iqn.2001-04.com.example:storage.disk2.sys1.xyz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Target&amp;quot; line above is an example.  This line really just needs to be unique.  /dev/sdx refers to the disk and partition that will be presented to the initiator.  &lt;br /&gt;
&lt;br /&gt;
In the /etc/initiators.allow file, add the following line:&lt;br /&gt;
&lt;br /&gt;
     iqn.2006-01.com.example:disk2.vol1 10.1.194.111&lt;br /&gt;
&lt;br /&gt;
The IP address in the line above will be the initiator&#039;s ip address.  Now only this ip address is allowed to access this specific target.  You must use IP addresses, not hostnames.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t care where the initiator is connecting from, you can use the keyword &#039;&#039;&#039;ALL&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
     iqn.2006-01.com.example:disk2.vol1 ALL&lt;br /&gt;
&lt;br /&gt;
== iSCSI Initiator ==&lt;br /&gt;
The initator is in the &#039;&#039;open-isci&#039;&#039; package.  Load this package on the client.&lt;br /&gt;
&lt;br /&gt;
To configure the iSCSI initiator, add the initiator name to the file /etc/iscsi/initiatorname.iscsi   The initator name follows the same iqn naming scheme as the target; but this is iderntifing the initator (client).&lt;br /&gt;
&lt;br /&gt;
     InitiatorName=iqn.2007-11.org.alpinelinux.client:01&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
     InitiatorName=iqn.2007-11.com.example.me:foo:bar:baz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;01&#039;&#039;, &#039;&#039;foo:bar:baz&#039;&#039; are arbitrary.  You can enter anything (or nothing)- as long as the intiator name is a valid iqn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Start the initiator daemon with&lt;br /&gt;
 /etc/init.d/iscsid start&lt;br /&gt;
&lt;br /&gt;
== Connecting the Initiator to the Target ==&lt;br /&gt;
&lt;br /&gt;
From the iSCSI initiator, first run this command:&lt;br /&gt;
&lt;br /&gt;
     iscsiadm --mode discovery --type sendtargets --portal IP_OF_TARGET&lt;br /&gt;
&lt;br /&gt;
This command contacts the target to determine which disks are available.  If all is configured correctly, the target name iqn.2006-01.com.example:disk2.vol1 (from the example above) will be returned.&lt;br /&gt;
&lt;br /&gt;
After the target is discovered, run this command to connect:&lt;br /&gt;
&lt;br /&gt;
     iscsiadm --mode node --targetname NAME_OF_TARGET --portal IP_OF_TARGET --login&lt;br /&gt;
&lt;br /&gt;
Replacing --login with --logout will end the connection.  &lt;br /&gt;
&lt;br /&gt;
To make this connection persistent (so that it will reconnect after reboot), run this command:&lt;br /&gt;
&lt;br /&gt;
     iscsiadm -m node -T NAME_OF_TARGET -p IP_OF_TARGET --op update -n node.conn[0].startup -v automatic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Any references/links to where to find more details about it?&#039;&#039;--[[User:Ncopa|Ncopa]] 16:04, 8 November 2007 (UTC)&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_traffic_monitoring_using_rrdtool_(and_snmp)&amp;diff=2161</id>
		<title>Setting up traffic monitoring using rrdtool (and snmp)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_traffic_monitoring_using_rrdtool_(and_snmp)&amp;diff=2161"/>
		<updated>2008-02-20T13:23:59Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: tabocboc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;vitroccot&lt;br /&gt;
== Install programs ==&lt;br /&gt;
Install rrdtool&lt;br /&gt;
 apk_add rrdtool&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create a rrd-database ==&lt;br /&gt;
The creation of the database is dependent on how many DataSources (DS) you have, and what type of DataSources you use.&amp;lt;BR&amp;gt;&lt;br /&gt;
In this example, we monitor eth0 and eth1 (RX and TX) on this local machine, and fetch (eth0 and eth1) information from another computer through snmp.&lt;br /&gt;
 rrdtool create /root/exampledb.rrd \&lt;br /&gt;
 --step 30 \&lt;br /&gt;
 DS:pc1eth0rx:COUNTER:120:0:U \&lt;br /&gt;
 DS:pc1eth0tx:COUNTER:120:0:U \&lt;br /&gt;
 DS:pc1eth1rx:COUNTER:120:0:U \&lt;br /&gt;
 DS:pc1eth1tx:COUNTER:120:0:U \&lt;br /&gt;
 DS:pc2eth0rx:COUNTER:120:0:U \&lt;br /&gt;
 DS:pc2eth0tx:COUNTER:120:0:U \&lt;br /&gt;
 DS:pc2eth1rx:COUNTER:120:0:U \&lt;br /&gt;
 DS:pc2eth1tx:COUNTER:120:0:U \&lt;br /&gt;
 RRA:AVERAGE:0.5:1:3600 \&lt;br /&gt;
 RRA:MAX:0.5:1:3600&lt;br /&gt;
This creates a RoundRobinDatabase (RRD) called exampledb.rrd.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;quot;--step 5&amp;quot; specifies the base interval in seconds with which data will be fed into the RRD.&lt;br /&gt;
The first &amp;quot;DS...&amp;quot; row assigns a name &amp;quot;pc1eth0rx&amp;quot;. &amp;quot;COUNTER&amp;quot; is for continuous incrementing counters like the ifInOctets counter in a router. The rest in the DS-row, I hopefully come back to later.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;quot;RRA&amp;quot; is a RoundRobinArcive. Its tores information from the DataSource (DS) in various ways. &amp;quot;RRA:AVARAGE...&amp;quot; will present a average value of (average for each second) and keep values for 3600seconds (older than 3600seconds will be overwritten). &amp;quot;RRA:MAX&amp;quot; calulates the maximum value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gather information and put it in the RRD ==&lt;br /&gt;
Gathering data can be done in various ways and from various systems.&amp;lt;BR&amp;gt;&lt;br /&gt;
In our example we collect data from 2 different computers, each computer has eth0 and eth1 that we would like to monitor.&lt;br /&gt;
=== Feeding the database with information ===&lt;br /&gt;
Now we create a new script that starts by fetching the local information and then fetches snmp information from the next computer and then puts it all in the database.&amp;lt;BR&amp;gt;&lt;br /&gt;
Lets call the script &#039;&#039;&#039;/root/colect_data.sh&#039;&#039;&#039;.&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 while true; do&lt;br /&gt;
 sleep 30&lt;br /&gt;
 ETH0=$(grep eth0 /proc/net/dev)&lt;br /&gt;
 E0DOWN=$(echo $ETH0|tr \: \ |awk &#039;{print $2}&#039;)&lt;br /&gt;
 E0UP=$(echo $ETH0|tr \: \ |awk &#039;{print $10}&#039;)&lt;br /&gt;
 ETH1=$(grep eth1 /proc/net/dev)&lt;br /&gt;
 E1DOWN=$(echo $ETH1|tr \: \ |awk &#039;{print $2}&#039;)&lt;br /&gt;
 E1UP=$(echo $ETH1|tr \: \ |awk &#039;{print $10}&#039;)&lt;br /&gt;
 rrdupdate /root/exampledb.rrd N:\&lt;br /&gt;
 ${E0DOWN}:${E0UP}:${E1DOWN}:${E1UP}:\&lt;br /&gt;
 `/usr/bin/snmpget -v 1 -c general -Oqv 192.168.0.2 IF-MIB::ifInOctets.2`:\&lt;br /&gt;
 `/usr/bin/snmpget -v 1 -c general -Oqv 192.168.0.2 IF-MIB::ifOutOctets.2`:\&lt;br /&gt;
 `/usr/bin/snmpget -v 1 -c general -Oqv 192.168.0.2 IF-MIB::ifInOctets.3`:\&lt;br /&gt;
 `/usr/bin/snmpget -v 1 -c general -Oqv 192.168.0.2 IF-MIB::ifOutOctets.3`:\&lt;br /&gt;
 done&lt;br /&gt;
For this to work, you need to have a configured snmpd running on the 192.168.0.2 computer. The community-name &#039;general&#039; might be different for you, depending on your snmp configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Present the information in graphs ==&lt;br /&gt;
Now starts the fun part. We will display the gathered information.&amp;lt;BR&amp;gt;&lt;br /&gt;
The information can be presented in various ways (we will use LINE-graph).&lt;br /&gt;
 rrdtool graph /root/result.png --start -1800  \&lt;br /&gt;
 -a PNG -t &amp;quot;Network Interfaces&amp;quot; --vertical-label &amp;quot;bits/s&amp;quot; \&lt;br /&gt;
 -w 1260 -h 800 -r \&lt;br /&gt;
 DEF:pc1eth0rx=/root/exampledb.rrd:pc1eth0rx:AVERAGE \&lt;br /&gt;
 DEF:pc1eth0tx=/root/exampledb.rrd:pc1eth0tx:AVERAGE \&lt;br /&gt;
 DEF:pc1eth1rx=/root/exampledb.rrd:pc1eth1rx:AVERAGE \&lt;br /&gt;
 DEF:pc1eth1tx=/root/exampledb.rrd:pc1eth1tx:AVERAGE \&lt;br /&gt;
 DEF:pc2eth0rx=/root/exampledb.rrd:pc2eth0rx:AVERAGE \&lt;br /&gt;
 DEF:pc2eth0tx=/root/exampledb.rrd:pc2eth0tx:AVERAGE \&lt;br /&gt;
 DEF:pc2eth1rx=/root/exampledb.rrd:pc2eth1rx:AVERAGE \&lt;br /&gt;
 DEF:pc2eth1tx=/root/exampledb.rrd:pc2eth1tx:AVERAGE \&lt;br /&gt;
 CDEF:pc1eth0rxb=pc1eth0rx,8,\* \&lt;br /&gt;
 CDEF:pc1eth0txb=pc1eth0tx,-8,\* \&lt;br /&gt;
 CDEF:pc1eth1rxb=pc1eth1rx,8,\* \&lt;br /&gt;
 CDEF:pc1eth1txb=pc1eth1tx,-8,\* \&lt;br /&gt;
 CDEF:pc2eth0rxb=pc2eth0rx,8,\* \&lt;br /&gt;
 CDEF:pc2eth0txb=pc2eth0tx,-8,\* \&lt;br /&gt;
 CDEF:pc2eth1rxb=pc2eth1rx,8,\* \&lt;br /&gt;
 CDEF:pc2eth1txb=pc2eth1tx,-8,\* \&lt;br /&gt;
 AREA:pc1eth0rxb#D7CC00:PC1_EHT0-RX \&lt;br /&gt;
 AREA:pc1eth0txb#D7CC00:PC1_EHT0-TX \&lt;br /&gt;
 LINE2:pc1eth1rxb#D73600:PC1_EHT1-RX \&lt;br /&gt;
 LINE2:pc1eth1txb#D73600:PC1_EHT1-TX \&lt;br /&gt;
 LINE2:pc2eth0rxb#0101D6:PC2_EHT0-RX \&lt;br /&gt;
 LINE2:pc2eth0txb#0101D6:PC2_EHT0-TX \&lt;br /&gt;
 LINE2:pc2eth1rxb#00D730:PC2_EHT1-RX \&lt;br /&gt;
 LINE2:pc2eth1txb#00D730:PC2_EHT1-TX&lt;br /&gt;
First define name of output and the time-span (we could also have definesd &amp;quot;--end&amp;quot;).&amp;lt;BR&amp;gt;&lt;br /&gt;
We output some headers and Y-axis information.&amp;lt;BR&amp;gt;&lt;br /&gt;
Next we define the size of the png.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;quot;DEF...&amp;quot; gets the information from the database.&lt;br /&gt;
&amp;quot;CDEF...&amp;quot; recalculates the original information (in our case we want to presnet bits instead of bytes).&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;quot;AREA...&amp;quot; displays a area-graph on the output.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;quot;LINE2...&amp;quot; (or &amp;quot;LINE&amp;quot;) writes a line-graph.&amp;lt;BR&amp;gt;&lt;br /&gt;
In the color settings, you could enter opacity at the end. &amp;quot;LINE3...#FF00007F&amp;quot; would have displayed a 3pixel red line with approx. 50% opacity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Save settings =&lt;br /&gt;
Don&#039;t forget to save all your settings&lt;br /&gt;
 lbu ci floppy&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Alpine_Package_Keeper&amp;diff=2160</id>
		<title>Alpine Package Keeper</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Alpine_Package_Keeper&amp;diff=2160"/>
		<updated>2008-02-20T13:23:46Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: domgetbasdo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;alccpasde&lt;br /&gt;
= Alpine package management =&lt;br /&gt;
&lt;br /&gt;
Alpine has the following tools for package management:&lt;br /&gt;
* apk_add	&lt;br /&gt;
* apk_create&lt;br /&gt;
* apk_delete&lt;br /&gt;
* apk_fetch&lt;br /&gt;
* apk_get&lt;br /&gt;
* apk_glob&lt;br /&gt;
* apk_info&lt;br /&gt;
* apk_version&lt;br /&gt;
&lt;br /&gt;
All of these commands have a -h option, which will give you the different options they support. &lt;br /&gt;
&lt;br /&gt;
== Adding packages ==&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;apk_add&#039;&#039;&#039; to install packages. &lt;br /&gt;
&lt;br /&gt;
If you want to install &#039;&#039;openssh&#039;&#039; for example, you run:&lt;br /&gt;
 apk_add openssh&lt;br /&gt;
&lt;br /&gt;
apk_add supports installation from cdrom, usb, http, ftp, ssh (scp) and rsync. scp is only available if &#039;&#039;openssh&#039;&#039; or &#039;&#039;dropbear&#039;&#039; is installed and rsync is only available if &#039;&#039;rsync&#039;&#039; is installed.&lt;br /&gt;
&lt;br /&gt;
=== Dry-run ===&lt;br /&gt;
&lt;br /&gt;
Sometimes you would like to see what would get installed if you install a package, or what dependencies would be pulled in by the package. You can see this using:&lt;br /&gt;
 apk_add -n openssh&lt;br /&gt;
&lt;br /&gt;
== Removing packages ==&lt;br /&gt;
&lt;br /&gt;
Removing packages is done using:&lt;br /&gt;
 % apk_delete openssh&lt;br /&gt;
&lt;br /&gt;
To remove a package plus it&#039;s dependencies, use:&lt;br /&gt;
 % apk_delete -R openssh&lt;br /&gt;
&lt;br /&gt;
Even more dangerous is:&lt;br /&gt;
 % apk_delete -r openssl&lt;br /&gt;
which will delete openssl plus all packages that depend on it.&lt;br /&gt;
&lt;br /&gt;
Since removing packages (recursively) can seriously damage your system, it is best to use: &lt;br /&gt;
 % apk_delete -n openssh&lt;br /&gt;
Which will not really remove the package, but just show what it would do.&lt;br /&gt;
&lt;br /&gt;
== Looking for packages? ==&lt;br /&gt;
&lt;br /&gt;
To see the packages available in the repository, use:&lt;br /&gt;
 % apk_fetch -l&lt;br /&gt;
&lt;br /&gt;
Or you might use:&lt;br /&gt;
  % apk_fetch -l -v&lt;br /&gt;
Which will also show the version number of the available packages.&lt;br /&gt;
&lt;br /&gt;
If the text scrolls by too fast you can use:&lt;br /&gt;
 % apk_fetch -l | less&lt;br /&gt;
&lt;br /&gt;
== Info about your packages ==&lt;br /&gt;
&lt;br /&gt;
There are several other commands that give more information about the packages installed on your system.&lt;br /&gt;
&lt;br /&gt;
To see the contents of a certain package, use:&lt;br /&gt;
 % apk_info -L openssh&lt;br /&gt;
&lt;br /&gt;
To see the size of a package, use:&lt;br /&gt;
 % apk_info -s openssh&lt;br /&gt;
&lt;br /&gt;
To see all packages that depend on a package, eg zlib:&lt;br /&gt;
 % apk_glob -r zlib&lt;br /&gt;
&lt;br /&gt;
To find out to what package a certain file or directory belongs to, eg /etc/shorewall:&lt;br /&gt;
 % apk_info -W /etc/shorewall&lt;br /&gt;
&lt;br /&gt;
== Upgrading alpine ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to upgrade alpine is to safe your settings to floppy or usb-key and reboot using a new CD. But there are several other possibilities a well:&lt;br /&gt;
* Change the CD, but do not reboot&lt;br /&gt;
* Update over network&lt;br /&gt;
&lt;br /&gt;
=== Changing the CD, no reboot ===&lt;br /&gt;
&lt;br /&gt;
First update the package list:&lt;br /&gt;
 % apk_fetch -u &lt;br /&gt;
&lt;br /&gt;
Check what packages have changed version numbers&lt;br /&gt;
 % apk_version -v&lt;br /&gt;
&lt;br /&gt;
Next: &lt;br /&gt;
 % apk_version -v -l &#039;&amp;lt;&#039;&lt;br /&gt;
Will show you what packages needs to be updated&lt;br /&gt;
&lt;br /&gt;
The first thing to check is whether the apk-tools need to be upgraded, if so, &#039;&#039;&#039;always&#039;&#039;&#039; do this first:&lt;br /&gt;
 % apk_add -u apk-tools&lt;br /&gt;
&lt;br /&gt;
Now it is time to upgrade the other packages:&lt;br /&gt;
 % apk_version -q -l &#039;&amp;lt;&#039; | xargs apk_add -u&lt;br /&gt;
&lt;br /&gt;
After your upgrade you might find some apk-new files in /etc,these are upgraded config files. A simple utility to go over these files is:&lt;br /&gt;
 %  update-conf -l&lt;br /&gt;
&lt;br /&gt;
=== Update over network ===&lt;br /&gt;
&lt;br /&gt;
This is about the same as the previous entry. The key-difference is that we will change the install-source for apk. This can be done in two ways, on the command-line, using &#039;&#039;export&#039;&#039; or changing an /etc file:&lt;br /&gt;
&lt;br /&gt;
 % export APK_PATH=http://dev.alpinelinux.org/alpine/v1.4/apks/ &lt;br /&gt;
&lt;br /&gt;
or edit apk.conf, and add your requested resource.&lt;br /&gt;
 % vi /etc/apk.conf&lt;br /&gt;
&lt;br /&gt;
You can use sources from:&lt;br /&gt;
* cdrom&lt;br /&gt;
* http(s)&lt;br /&gt;
* ftp&lt;br /&gt;
* rsync (remember that rsync has to be installed before you can use this! (&#039;&#039;% apk_add rsync&#039;&#039;))&lt;br /&gt;
&lt;br /&gt;
After you made this change, continue as the cd-rom upgrade with, etc&lt;br /&gt;
 % apk_fetch -u&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Help:Editing&amp;diff=2159</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Help:Editing&amp;diff=2159"/>
		<updated>2008-02-20T13:23:35Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: litrca&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;trocchio&lt;br /&gt;
http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Upgrading_Alpine_Linux_to_a_new_release_branch&amp;diff=2158</id>
		<title>Upgrading Alpine Linux to a new release branch</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Upgrading_Alpine_Linux_to_a_new_release_branch&amp;diff=2158"/>
		<updated>2008-02-20T13:23:24Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: baschiri&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;alacel&lt;br /&gt;
= Upgrading Alpine =&lt;br /&gt;
&lt;br /&gt;
This document describes how to replace an Alpine installation with a newer version.&lt;br /&gt;
&lt;br /&gt;
The upgrade process consist of the following steps:&lt;br /&gt;
* Backup current setup&lt;br /&gt;
* Download new version of Alpine&lt;br /&gt;
* Replace packages&lt;br /&gt;
* Merge config&lt;br /&gt;
* Reboot&lt;br /&gt;
&lt;br /&gt;
=== Backing up current config ===&lt;br /&gt;
Its recommended to make a backup of your config before you start. You can do that by simply replacing the floppy with a new floppy and keep the old one in case you will need to do a rollback. If you store config on USB you migh copy the config file (*apkovl*) to a safe place.&lt;br /&gt;
&lt;br /&gt;
If you use the USB installation and not the CDROM, you can just create a directory on the USB called &#039;&#039;old&#039;&#039; and move everything to this dir.&lt;br /&gt;
 mkdir /media/usb/old&lt;br /&gt;
 mv /media/usb/* /media/usb/old/&lt;br /&gt;
&lt;br /&gt;
Note that this command will try to move the &#039;&#039;old&#039;&#039; directory into itself which will give an error message. You can safely ignore this.&lt;br /&gt;
&lt;br /&gt;
If you need to rollback, simply move the contents in directory &#039;&#039;old&#039;&#039; back to the root of USB.&lt;br /&gt;
&lt;br /&gt;
=== Download new Alpine ===&lt;br /&gt;
Download and burn the new [http://dev.alpinelinux.org/alpine/v1.7/iso ISO image] on a separate computer. Replace the CDROM and mount it.&lt;br /&gt;
&lt;br /&gt;
On USB installations you can just download and unpack the latest tar directly to &#039;&#039;/media/usb&#039;&#039;.&lt;br /&gt;
 $ wget -C /media/usb -q -O - \&lt;br /&gt;
       http://dev.alpinelinux.org/alpine/v1.7/usbdrive/alpine-1.7.6-i386.tar.gz \&lt;br /&gt;
       | tar -zvx&lt;br /&gt;
&lt;br /&gt;
=== Execute upgrade script ===&lt;br /&gt;
Execute the &#039;&#039;upgrade&#039;&#039; script found on root level on media. (/media/cdrom/upgrade or /media/usb/upgrade). Before actually upgrading packages it will give an overview what packages will be upgraded. It migh look something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;~ $ /media/usb/upgrade &lt;br /&gt;
Upgrading from alpine-1.7.2 to alpine-1.7.6&lt;br /&gt;
Will try to upgrade packages from &lt;br /&gt;
fetching usb://apks/INDEX.md5.gz&lt;br /&gt;
Looking for new packages...&lt;br /&gt;
The following packages will be updated:&lt;br /&gt;
alpine-baselayout-1.4.1-r1          &amp;lt;  needs updating (index has 1.6.0)&lt;br /&gt;
alpine-conf-0.9                     &amp;lt;  needs updating (index has 1.0)&lt;br /&gt;
bind-tools-9.4.1-r1                 &amp;lt;  needs updating (index has 9.4.1_p1)&lt;br /&gt;
busybox-1.5.0-r1                    &amp;lt;  needs updating (index has 1.7.1)&lt;br /&gt;
iproute2-2.6.19.20061214            &amp;lt;  needs updating (index has 2.6.20.20070313)&lt;br /&gt;
iptables-1.3.5-r4                   &amp;lt;  needs updating (index has 1.3.8-r1)&lt;br /&gt;
libpcap-0.9.5                       &amp;lt;  needs updating (index has 0.9.7)&lt;br /&gt;
openssh-4.5_p1-r1                   &amp;lt;  needs updating (index has 4.7_p1-r1)&lt;br /&gt;
openssl-0.9.8d                      &amp;lt;  needs updating (index has 0.9.8e-r2)&lt;br /&gt;
openswan-2.4.8                      &amp;lt;  needs updating (index has 2.5.15)&lt;br /&gt;
shorewall-3.4.3                     &amp;lt;  needs updating (index has 3.4.6)&lt;br /&gt;
shorewall-doc-3.4.2                 &amp;lt;  needs updating (index has 3.4.6)&lt;br /&gt;
tcpdump-3.9.5-r2                    &amp;lt;  needs updating (index has 3.9.7-r1)&lt;br /&gt;
&lt;br /&gt;
Press Enter to continue or Ctrl-c to abort.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verify that it looks ok and press &#039;&#039;enter&#039;&#039; to start the upgrade.&lt;br /&gt;
&lt;br /&gt;
As a first step the upgrade script will try to upgrade apk-tools, uclibc and busybox. Then it will upgrade all packages by running &#039;&#039;apk_add -u&#039;&#039;. It will look something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;apk-tools-0.13 is installed. Skipping apk-tools-0.13.&lt;br /&gt;
uclibc-0.9.28.3 is installed. Skipping uclibc-0.9.28.3.&lt;br /&gt;
fetching usb://apks/busybox-1.7.1.apk&lt;br /&gt;
updating busybox-1.5.0-r1 to busybox-1.7.1&lt;br /&gt;
fetching usb://apks/alpine-baselayout-1.6.0.apk&lt;br /&gt;
updating alpine-baselayout-1.4.1-r1 to alpine-baselayout-1.6.0&lt;br /&gt;
fetching usb://apks/alpine-conf-1.0.apk&lt;br /&gt;
updating alpine-conf-0.9 to alpine-conf-1.0&lt;br /&gt;
fetching usb://apks/bind-tools-9.4.1_p1.apk&lt;br /&gt;
updating bind-tools-9.4.1-r1 to bind-tools-9.4.1_p1&lt;br /&gt;
busybox-1.7.1 is installed. Skipping busybox-1.7.1.&lt;br /&gt;
fetching usb://apks/iproute2-2.6.20.20070313.apk&lt;br /&gt;
updating iproute2-2.6.19.20061214 to iproute2-2.6.20.20070313&lt;br /&gt;
fetching usb://apks/iptables-1.3.8-r1.apk&lt;br /&gt;
updating iptables-1.3.5-r4 to iptables-1.3.8-r1&lt;br /&gt;
fetching usb://apks/libpcap-0.9.7.apk&lt;br /&gt;
updating libpcap-0.9.5 to libpcap-0.9.7&lt;br /&gt;
fetching usb://apks/openssh-4.7_p1-r1.apk&lt;br /&gt;
updating openssh-4.5_p1-r1 to openssh-4.7_p1-r1&lt;br /&gt;
fetching usb://apks/openssl-0.9.8e-r2.apk&lt;br /&gt;
updating openssl-0.9.8d to openssl-0.9.8e-r2&lt;br /&gt;
fetching usb://apks/openswan-2.5.15.apk&lt;br /&gt;
updating openswan-2.4.8 to openswan-2.5.15&lt;br /&gt;
fetching usb://apks/shorewall-3.4.6.apk&lt;br /&gt;
updating shorewall-3.4.3 to shorewall-3.4.6&lt;br /&gt;
fetching usb://apks/shorewall-doc-3.4.6.apk&lt;br /&gt;
updating shorewall-doc-3.4.2 to shorewall-doc-3.4.6&lt;br /&gt;
fetching usb://apks/tcpdump-3.9.7-r1.apk&lt;br /&gt;
updating tcpdump-3.9.5-r2 to tcpdump-3.9.7-r1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When then &#039;&#039;&#039;apk_add&#039;&#039;&#039; application upgrades packages, it will detect that you have modified some config files. Instead of overwriting your config, it will install the new config with the suffix &#039;&#039;.apk-new&#039;&#039;. This way you are able to review and merge in changes from the default config to your own config file.  Config files that are untouched will just silently be replaced.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;upgrade&#039;&#039; script will execute &#039;&#039;update-conf&#039;&#039; to assist you in merging the config files. It will first display a list of config files that you will need to take care of manually. Like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The following config files have been updated and need attention:&lt;br /&gt;
/etc/profile&lt;br /&gt;
/etc/modules&lt;br /&gt;
/etc/inittab&lt;br /&gt;
/etc/hosts&lt;br /&gt;
/etc/shorewall/zones&lt;br /&gt;
/etc/shorewall/tunnels&lt;br /&gt;
/etc/shorewall/tos&lt;br /&gt;
/etc/shorewall/shorewall.conf&lt;br /&gt;
/etc/shorewall/rules&lt;br /&gt;
/etc/shorewall/policy&lt;br /&gt;
/etc/shorewall/params&lt;br /&gt;
/etc/shorewall/masq&lt;br /&gt;
/etc/shorewall/interfaces&lt;br /&gt;
/etc/shorewall/hosts&lt;br /&gt;
/etc/shorewall/accounting&lt;br /&gt;
/etc/ipsec/ipsec.conf&lt;br /&gt;
/etc/ipsec/ipsec.d/policies/private-or-clear&lt;br /&gt;
/etc/ipsec/ipsec.d/policies/private&lt;br /&gt;
/etc/ipsec/ipsec.d/policies/clear-or-private&lt;br /&gt;
/etc/ipsec/ipsec.d/policies/clear&lt;br /&gt;
/etc/ipsec/ipsec.d/policies/block&lt;br /&gt;
/etc/ipsec/ipsec.d/examples/no_oe.conf&lt;br /&gt;
/etc/ipsec/ipsec.d/examples/l2tp-psk.conf&lt;br /&gt;
/etc/ipsec/ipsec.d/examples/l2tp-psk-orgWIN2KXP.conf&lt;br /&gt;
/etc/ipsec/ipsec.d/examples/l2tp-cert.conf&lt;br /&gt;
/etc/ipsec/ipsec.d/examples/l2tp-cert-orgWIN2KXP.conf&lt;br /&gt;
/etc/ssh/sshd_config&lt;br /&gt;
/etc/ssh/ssh_config&lt;br /&gt;
/etc/init.d/ipsec&lt;br /&gt;
/etc/init.d/sshd&lt;br /&gt;
/etc/init.d/syslog&lt;br /&gt;
/etc/init.d/networking&lt;br /&gt;
/etc/init.d/modloop&lt;br /&gt;
/etc/init.d/bootmisc.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterward it will step through every file, displaying a diff and give you options to act.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- /etc/profile        2007-05-31 14:11:47 +0000&lt;br /&gt;
+++ /etc/profile.apk-new        2007-09-07 06:33:36 +0000&lt;br /&gt;
@@ -1,4 +1,3 @@&lt;br /&gt;
 export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin&lt;br /&gt;
 export PAGER=less&lt;br /&gt;
 umask 022&lt;br /&gt;
-export LBU_MEDIA=usb&lt;br /&gt;
New /etc/profile available:&lt;br /&gt;
Quit, Next, Show diff, Edit new, Zap new, Use new (q/n/s/e/z/u) [s]: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case we have added &#039;&#039;export LBU_MEDIA==usb&#039;&#039; so we don&#039;t need to specify the media to &#039;lbu&#039;&#039;. We want to keep our current file as it is so we just press &#039;&#039;z&#039;&#039; (and &#039;&#039;Enter&#039;&#039;) to zap the new config and keep the old.&lt;br /&gt;
&lt;br /&gt;
Next is file is &#039;&#039;/etc/modules&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- /etc/modules        2007-05-09 16:02:31 +0000&lt;br /&gt;
+++ /etc/modules.apk-new        2007-09-07 06:33:36 +0000&lt;br /&gt;
@@ -1,4 +1,2 @@&lt;br /&gt;
 deadline-iosched&lt;br /&gt;
 af_packet&lt;br /&gt;
-xt_state&lt;br /&gt;
-xt_tcpudp&lt;br /&gt;
New /etc/modules available:&lt;br /&gt;
Quit, Next, Show diff, Edit new, Zap new, Use new (q/n/s/e/z/u) [s]: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also here we just keep the current config by pressing &#039;&#039;z&#039;&#039; since the modules are needed for our ipsec.&lt;br /&gt;
&lt;br /&gt;
Next file is &#039;&#039;/etc/inittab&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;--- /etc/inittab        2007-06-20 13:21:20 +0000&lt;br /&gt;
+++ /etc/inittab.apk-new        2007-09-07 06:33:36 +0000&lt;br /&gt;
@@ -4,7 +4,7 @@&lt;br /&gt;
 ::wait:/etc/init.d/rcL&lt;br /&gt;
 &lt;br /&gt;
 # Set up a couple of getty&#039;s&lt;br /&gt;
-::respawn:/sbin/cttyhack /sbin/getty - 9600 vt100&lt;br /&gt;
+::respawn:/usr/bin/cttyhack /sbin/getty - 9600 vt100&lt;br /&gt;
 tty2::respawn:/sbin/getty 38400 tty2&lt;br /&gt;
 tty3::respawn:/sbin/getty 38400 tty3&lt;br /&gt;
 tty4::respawn:/sbin/getty 38400 tty4&lt;br /&gt;
New /etc/inittab available:&lt;br /&gt;
Quit, Next, Show diff, Edit new, Zap new, Use new (q/n/s/e/z/u) [s]: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This time the change is not caused by us, but its a change in the default config. This is even related to where the login screen should appear so if we don merge this change in we might not be able to see the login screen! We choose &#039;&#039;u&#039;&#039; to use the new config.&lt;br /&gt;
&lt;br /&gt;
Continue go through every config file. Sometimes you might want to edit the new file, or leave the upgrade process to take care of the config file manually by using option &#039;&#039;q&#039;&#039;. You can always resume later by either running the &#039;&#039;upgrade&#039;&#039; script again or by executing &#039;&#039;update-conf -i&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Rebooting ==&lt;br /&gt;
In most cases you will need to reboot Alpine, specially if there are are changes in the kernel. If you know what you are doing, you might not need to reboot. Just make sure that all services affected by the upgrade are restarted.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_/var_partition_on_software_IDE_raid1&amp;diff=2156</id>
		<title>Setting up a /var partition on software IDE raid1</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_a_/var_partition_on_software_IDE_raid1&amp;diff=2156"/>
		<updated>2008-02-20T13:22:26Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: aceltroccr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;trocgetracc&lt;br /&gt;
This document wil show how to create harddisk mirroring using cheap IDE disks.&lt;br /&gt;
&lt;br /&gt;
This document was written for alpine-1.3.8&lt;br /&gt;
&lt;br /&gt;
I will setup swap on a raid1 for maximum reliability. If you prefer maximum speed, you don&#039;t need configure any raid devces for swap. Just add 2 swap partitions on different disks and linux will stripe them automatically.&lt;br /&gt;
&lt;br /&gt;
The downside is that at the moment one disk fails, the system will go down. Thats why I choose to put the swap on raid1.&lt;br /&gt;
&lt;br /&gt;
== Setting up the RAID ==&lt;br /&gt;
Set up a raid array as described [[Setting up a software raid1 array|here]].&lt;br /&gt;
In this document two raid arrays are configured: md0 for swap (512MB) and md1 for /var. &lt;br /&gt;
&lt;br /&gt;
It is generally a good idea to use LVM so you are able to easily extend your data storage in future. LVM is not discussed here.&lt;br /&gt;
&lt;br /&gt;
== Create filesystem ==&lt;br /&gt;
Now we can creat swapspace and the filesystem for /var.&lt;br /&gt;
 mkswap /dev/md0&lt;br /&gt;
 swapon /dev/md0&lt;br /&gt;
&lt;br /&gt;
You can verify that swap was really activated with &#039;&#039;free&#039;&#039;. It should display how much swapspace you have.&lt;br /&gt;
 free&lt;br /&gt;
&lt;br /&gt;
We need to install the software to create the filesystem (&amp;quot;format&amp;quot; the partition). I will use &#039;&#039;&#039;ext3&#039;&#039;&#039; here so I install &#039;&#039;e2fsprogs&#039;&#039;. If you prefer reiserfs or xfs you will have to install &#039;&#039;xfsprogs&#039;&#039; or &#039;&#039;reiserfsprogs&#039;&#039; instead.&lt;br /&gt;
 apk_add e2fsprogs&lt;br /&gt;
&lt;br /&gt;
If you use an Alpine release older than 1.3.8 you will need to manuall create a link to /etc/mtab.&lt;br /&gt;
 ln -fs /proc/mounts /etc/mtab&lt;br /&gt;
&lt;br /&gt;
Create the filesystem. The -j option makes it ext&#039;&#039;&#039;3&#039;&#039;&#039;. Without the -j option it will become non-journaling ext&#039;&#039;&#039;2&#039;&#039;&#039;. This step might take some time if your partition is big.&lt;br /&gt;
 mke2fs -j /dev/md1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now edit /etc/fstab and add your new partition. Mine looks like this:&lt;br /&gt;
 none            /proc           proc    defaults 0 0&lt;br /&gt;
 none            /sys            sysfs   defaults 0 0&lt;br /&gt;
 udev            /dev            tmpfs   size=100k 0 0&lt;br /&gt;
 none            /dev/pts        devpts  defaults 0 0&lt;br /&gt;
 tmpfs           /dev/shm        tmpfs   defaults 0 0&lt;br /&gt;
 /dev/cdrom      /media/cdrom    iso9660 ro 0 0&lt;br /&gt;
 /dev/fd0        /media/floppy   vfat    noauto  0 0&lt;br /&gt;
 /dev/usba1      /media/usb      vfat    noauto  0 0&lt;br /&gt;
 none            /proc/bus/usb   usbfs noauto 0 0&lt;br /&gt;
  &lt;br /&gt;
 /dev/md1        /var            ext3    defaults 0 0&lt;br /&gt;
&lt;br /&gt;
== Move the data ==&lt;br /&gt;
Now you should stop all services running that put anything in /var (syslog for example). If you have booted on a clean installation and not run setup-alpine, then no services should be running. However, some packages might have created dirs in /var so we need to backup /var mount the new and move all backed up dirs back to the raided /var.&lt;br /&gt;
&lt;br /&gt;
 mv /var /var.tmp&lt;br /&gt;
 mkdir /var&lt;br /&gt;
 mount /var&lt;br /&gt;
 mv /var.tmp/* /var&lt;br /&gt;
 rmdir /var.tmp&lt;br /&gt;
&lt;br /&gt;
Verify that everyting looks ok with the &#039;&#039;df&#039;&#039; utility.&lt;br /&gt;
 ~ $ df&lt;br /&gt;
 Filesystem           1k-blocks      Used Available Use% Mounted on&lt;br /&gt;
 none                    255172     23544    231628   9% /&lt;br /&gt;
 udev                       100         0       100   0% /dev&lt;br /&gt;
 /dev/cdrom              142276    142276         0 100% /media/cdrom&lt;br /&gt;
 /dev/md1              37977060    181056  35866876   1% /var&lt;br /&gt;
&lt;br /&gt;
== Survive reboots ==&lt;br /&gt;
Now we have everyting up and running. We need to make sure that everything will be restored during next reboot.&lt;br /&gt;
&lt;br /&gt;
Create an initscript that will mount /var for you during boot. I call it /etc/init.d/mountdisk and it looks like this:&lt;br /&gt;
 #!/sbin/runscript&lt;br /&gt;
 &lt;br /&gt;
 start() {&lt;br /&gt;
         ebegin &amp;quot;Mounting /var&amp;quot;&lt;br /&gt;
         mount /var&lt;br /&gt;
         eend $?&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 stop() {&lt;br /&gt;
         ebegin &amp;quot;Unmounting /var&amp;quot;&lt;br /&gt;
         umount /var&lt;br /&gt;
         eend $?&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Make it exectutable:&lt;br /&gt;
 chmod +x /etc/init.d/mountdisk&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Since Alpine-1.7.3 there is a &#039;&#039;localmount&#039;&#039; script shipped so you will not need to create your own &#039;&#039;mountdisk&#039;&#039; script.&lt;br /&gt;
&lt;br /&gt;
And that /var is mounted *after* raid is created. The -k option will make alpine to unmount the /Var partition during boot. Also add start of swap too boot&lt;br /&gt;
 rc_add -k -s 06 mountdisk&lt;br /&gt;
 rc_add -k -s 06 swap&lt;br /&gt;
&lt;br /&gt;
The /dev/md* device nodes will not be created automatically so we need to put the on floppy too.&lt;br /&gt;
 lbu include /dev/md*&lt;br /&gt;
&lt;br /&gt;
If you have users on the server and want the /home be permantent you can create a directory /var/home and create links to /var/home.&lt;br /&gt;
 mkdir /var/home&lt;br /&gt;
 mv /home/* /var/home/&lt;br /&gt;
 ln -s /var/home/* /home/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You cannot just replace /home with a link that points to /var/home since the base has a director /home. When the boot tries to copy the config from floppy it will fail because of the already existing /home directory.&lt;br /&gt;
&lt;br /&gt;
Make sure the links are stored to floppy:&lt;br /&gt;
 lbu include /home/*&lt;br /&gt;
&lt;br /&gt;
Also remeber to move any newly created users to /var/home and create a link:&lt;br /&gt;
 adduser bob&lt;br /&gt;
 mv /home/bob /var/home/&lt;br /&gt;
 ln -s /var/home/bob /home/bob&lt;br /&gt;
 lbu include /home/bob&lt;br /&gt;
&lt;br /&gt;
Save to floppy:&lt;br /&gt;
 lbu commit floppy&lt;br /&gt;
&lt;br /&gt;
== Test it works ==&lt;br /&gt;
Reboot computer. Now should the raid start and /var sould be mounted. Check with df:&lt;br /&gt;
 ~ $ df&lt;br /&gt;
 Filesystem           1k-blocks      Used Available Use% Mounted on&lt;br /&gt;
 none                    255172     23976    231196   9% /&lt;br /&gt;
 mdev                       100         0       100   0% /dev&lt;br /&gt;
 /dev/cdrom              140932    140932         0 100% /media/cdrom&lt;br /&gt;
 /dev/md1              37977060    180984  35866948   1% /var&lt;br /&gt;
&lt;br /&gt;
== Upgrades ==&lt;br /&gt;
Since the package database is placed on disk, you cannot update by simply replacing the CDROM. You will have to either run the upgrade on the new CDROM or run &#039;&#039;apk_add -u ... &amp;amp;&amp;amp; update-conf&#039;&#039; manually.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2155</id>
		<title>Installing Alpine</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Installing_Alpine&amp;diff=2155"/>
		<updated>2008-02-20T13:22:13Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: sittrocdron&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;vivividomc&lt;br /&gt;
There are currently two supported ways of running Alpine, from CDROM or from USB stick.&lt;br /&gt;
&lt;br /&gt;
== Preparing the media ==&lt;br /&gt;
&lt;br /&gt;
=== CDROM ===&lt;br /&gt;
Download the latest iso image from the [http://www.alpinelinux.org/mediawiki/index.php/Downloads download] area and burn it.&lt;br /&gt;
&lt;br /&gt;
=== USB ===&lt;br /&gt;
Alpine is shipped in compressed tar.gz archives for USB.&lt;br /&gt;
&lt;br /&gt;
==== From windows ====&lt;br /&gt;
* Download a alpine-x.x.x-yyyyyy.tar.gz package.&lt;br /&gt;
* Unpack all the files to your usb drive using a unpacker like [http://www.7-zip.org 7-zip].&lt;br /&gt;
* Download the [http://dl.alpinelinux.org/alpine/v1.4/usbdrive/syslinux.exe syslinux.exe] utility.&lt;br /&gt;
* Start a command prompt (Start-&amp;gt;run, type &#039;&#039;cmd&#039;&#039; and press &amp;gt;enter&amp;gt;)&lt;br /&gt;
* Run syslinux with your USB drive as parameter. If your USB drive is E:, then you type:&lt;br /&gt;
 syslinux E:&lt;br /&gt;
&lt;br /&gt;
USB drive os ready for booting.&lt;br /&gt;
&lt;br /&gt;
==== From Linux ====&lt;br /&gt;
* Download a alpine-x.x.x-yyyyyy.tar.gz package.&lt;br /&gt;
* Unpack all the files to your usb drive.&lt;br /&gt;
* install syslinux (I.E &#039;&#039;sudo apt-get syslinux&#039;&#039; or &#039;&#039;emerge apt-get syslinux&#039;&#039;)&lt;br /&gt;
* Run syslinux with your USB drive as parameter. If your USB drive is /dev/sda1, then you type:&lt;br /&gt;
  sudo syslinux /dev/sda1&lt;br /&gt;
&lt;br /&gt;
== Initial setup ==&lt;br /&gt;
After booting up you will see a login prompt. Log in as &#039;&#039;root&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To do the basic initial configuration run:&lt;br /&gt;
  setup-alpine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There you will set the hostname, configure the network and set the root password.&lt;br /&gt;
&lt;br /&gt;
To save the configuration to floppy for next reboot run:&lt;br /&gt;
  lbu_commit floppy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To save the config on an USB drive run:&lt;br /&gt;
  lbu_commit usb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Managing software packages ===&lt;br /&gt;
To list all the packages that are available in repository, run:&lt;br /&gt;
  apk_fetch -l&lt;br /&gt;
  apk_fetch -v -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To install a package run:&lt;br /&gt;
  apk_add &amp;lt;PACKAGE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove the package run:&lt;br /&gt;
  apk_delete &amp;lt;PACKAGE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To also remove the dependencies togehter with the package, run:&lt;br /&gt;
  apk_delete -R &amp;lt;PACKAGE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To list all installed packages run:&lt;br /&gt;
  apk_info&lt;br /&gt;
&lt;br /&gt;
=== Managing boot services ===&lt;br /&gt;
&lt;br /&gt;
To start a service during boot run:&lt;br /&gt;
  rc_add &amp;lt;service&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Managing local backups ===&lt;br /&gt;
&lt;br /&gt;
To add a config file to the local backup list run:&lt;br /&gt;
  lbu_add /path/to/file&lt;br /&gt;
&lt;br /&gt;
To save all the files in the local backup list to floppy run:&lt;br /&gt;
  lbu_commit floppy&lt;br /&gt;
&lt;br /&gt;
To save the configs to USB drive run:&lt;br /&gt;
  lbu_commit usb&lt;br /&gt;
&lt;br /&gt;
To list files in the local backup list run:&lt;br /&gt;
  cat /etc/backuplist&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Native_Harddisk_Install_1.6&amp;diff=2152</id>
		<title>Native Harddisk Install 1.6</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Native_Harddisk_Install_1.6&amp;diff=2152"/>
		<updated>2008-02-20T13:21:16Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: chiacelboc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;liousittalir&lt;br /&gt;
=Alpine HD install=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: This document covers 1.6 release. From version 1.7.3 there is an albootstrap script that will install the basic packages (except grub) into a subdir. The script is available here: http://dev.alpinelinux.org/alpine/1.7/albootstrap&lt;br /&gt;
&lt;br /&gt;
Alpine is more geared toward live-cd or usb-key usage, but it is possible to install it to a harddisk.&lt;br /&gt;
&lt;br /&gt;
This is how it is done. The Alpine version is 1.6.1&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Create partitions with fdisk.&lt;br /&gt;
 fdisk /dev/hda&lt;br /&gt;
You should have 2 partitions: /dev/hda1 as &amp;quot;Linux&amp;quot; (type 83) and /dev/hda2 as &amp;quot;linux swap&amp;quot; (type 82).&lt;br /&gt;
&lt;br /&gt;
Install needed programs for the setup&lt;br /&gt;
 apk_add e2fsprogs rsync grub&lt;br /&gt;
&lt;br /&gt;
Create filesystem and swap&lt;br /&gt;
 mkfs.ext3 /dev/hda1&lt;br /&gt;
 mkswap /dev/hda2&lt;br /&gt;
&lt;br /&gt;
Turn on swap already now&lt;br /&gt;
 swapon /dev/hda2&lt;br /&gt;
&lt;br /&gt;
Mount file-system&lt;br /&gt;
 mount -t ext3 /dev/hda1 /mnt&lt;br /&gt;
&lt;br /&gt;
Install base packages on harddisk&lt;br /&gt;
 ROOT=/mnt apk_add uclibc busybox apk-tools alpine-baselayout alpine-conf grub&lt;br /&gt;
&lt;br /&gt;
If you want pcmcia support, then also add the pcmciautils package&lt;br /&gt;
 ROOT=/mnt apk_add pcmciautils&lt;br /&gt;
&lt;br /&gt;
Install busybox links&lt;br /&gt;
 mkdir /mnt/proc&lt;br /&gt;
 mount --bind /proc /mnt/proc&lt;br /&gt;
 chroot /mnt /bin/busybox --install -s&lt;br /&gt;
 umount /mnt/proc&lt;br /&gt;
&lt;br /&gt;
For convenience, copy the apk repository.&lt;br /&gt;
 rsync -ruav /media/cdrom/apks /mnt&lt;br /&gt;
&lt;br /&gt;
Create the apk.conf:&lt;br /&gt;
 mkdir /mnt/etc/apk&lt;br /&gt;
 echo &amp;quot;APK_PATH=file://apks&amp;quot; &amp;gt; /mnt/etc/apk/apk.conf&lt;br /&gt;
&lt;br /&gt;
Copy the hd/ext3 initramfs image, kernel and kernel modules.&lt;br /&gt;
 rsync -ruav /media/cdrom/hd-ext3.gz /media/cdrom/vmlinuz /mnt&lt;br /&gt;
 rsync -ruav /lib/modules /mnt/lib/&lt;br /&gt;
&lt;br /&gt;
Configure grub&lt;br /&gt;
 grub-install --root-directory=/mnt /dev/hda1&lt;br /&gt;
 vi /mnt/boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
It should contain something like:&lt;br /&gt;
&lt;br /&gt;
 default 0&lt;br /&gt;
 timeout 0&lt;br /&gt;
 title Alpine Linux&lt;br /&gt;
 root (hd0,0)&lt;br /&gt;
 kernel /vmlinuz root_dev=hda1:ext3 alpine_dev=../:ext3&lt;br /&gt;
 initrd /hd-ext3.gz&lt;br /&gt;
&lt;br /&gt;
Install grub on MBR:&lt;br /&gt;
 grub&lt;br /&gt;
 root (hd0,0)&lt;br /&gt;
 setup (hd0)&lt;br /&gt;
 quit&lt;br /&gt;
&lt;br /&gt;
Append the swap to fstab:&lt;br /&gt;
 echo -e &amp;quot;/dev/hda2 none swap sw 0 0&amp;quot; &amp;gt;&amp;gt; /mnt/etc/fstab&lt;br /&gt;
&lt;br /&gt;
Unmount, remove cdrom and reboot. (If you can&#039;t eject, just remove it manually as the machine reboots)&lt;br /&gt;
 umount /mnt&lt;br /&gt;
 eject &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
After reboot, log in as &amp;quot;root&amp;quot; and run:&lt;br /&gt;
 setup-alpine&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Setting_up_Logical_Volumes_with_LVM&amp;diff=2151</id>
		<title>Setting up Logical Volumes with LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Setting_up_Logical_Volumes_with_LVM&amp;diff=2151"/>
		<updated>2008-02-20T13:20:28Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: c4tlirobocd&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;bascnatrocla&lt;br /&gt;
This document how to create logical volumes in Alpine using lvm2.&lt;br /&gt;
&lt;br /&gt;
LVM is collection of programs that allow larger physical disks to be reassembled into &amp;quot;logical&amp;quot; disks that can be shrunk or expanded as data needs change.&lt;br /&gt;
&lt;br /&gt;
In this document we will use a [[Setting up a software raid1 array | software raid1 device]] as physical storage for our logical volumes. We will set up a swap partition and a data partition for [[ Setting up a basic vserver | vservers ]]&lt;br /&gt;
=== Installing LVM software ===&lt;br /&gt;
First we need to load the kernel driver, &#039;&#039;dm-mod&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 modprobe dm-mod&lt;br /&gt;
&lt;br /&gt;
We also want it to be loaded during next reboot.&lt;br /&gt;
&lt;br /&gt;
 echo dm-mod &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&lt;br /&gt;
We also need the userspace programs.&lt;br /&gt;
 apk_add lvm2&lt;br /&gt;
&lt;br /&gt;
=== Preparing the physical volumes ===&lt;br /&gt;
First we need to tell LVM that de partition is available as a physical volume and can be added to a volume group. In this example we use a software raid array as physical volume.&lt;br /&gt;
 pvcreate /dev/md0&lt;br /&gt;
&lt;br /&gt;
=== Preparing the Volume Group ===&lt;br /&gt;
We can then create a volume group and add the physical volume &#039;&#039;/dev/md0&#039;&#039;&lt;br /&gt;
 vgcreate vg0 /dev/md0&lt;br /&gt;
&lt;br /&gt;
If we later need more space we can add additional physcal volumes with &#039;&#039;vgextend&#039;&#039;. All physcal disks/partitions added need to be prepared with &#039;&#039;pvcreate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Creating Logical volumes ===&lt;br /&gt;
In the volume group we can create logical volumes. To create a 1GB volume called &#039;&#039;swap&#039;&#039; and a 6GB volume called &#039;vservers&#039;&#039; on the volume group &#039;&#039;vg0&#039;&#039; we run&lt;br /&gt;
 lvcreate -n swap -L 1G vg0&lt;br /&gt;
 lvcreate -n vservers -L 6G vg0&lt;br /&gt;
&lt;br /&gt;
=== display Logicall Volumes ===&lt;br /&gt;
You can now se the logical volumes with the lvdisplay utility.&lt;br /&gt;
&lt;br /&gt;
 lvdisplay&lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/vg0/swap&lt;br /&gt;
  VG Name                vg0&lt;br /&gt;
  LV UUID                a4NYOi-FQP6-Lj5Q-0TYk-Jjtk-Qxjt-nxeBPn&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                1.00 GB&lt;br /&gt;
  Current LE             256&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     0&lt;br /&gt;
  Block device           253:0&lt;br /&gt;
   &lt;br /&gt;
  --- Logical volume ---&lt;br /&gt;
  LV Name                /dev/vg0/vservers&lt;br /&gt;
  VG Name                vg0&lt;br /&gt;
  LV UUID                16VMmy-7I0s-eeoW-tL2V-JrlN-jM6C-d0wEg0&lt;br /&gt;
  LV Write Access        read/write&lt;br /&gt;
  LV Status              available&lt;br /&gt;
  # open                 0&lt;br /&gt;
  LV Size                6.00 GB&lt;br /&gt;
  Current LE             1536&lt;br /&gt;
  Segments               1&lt;br /&gt;
  Allocation             inherit&lt;br /&gt;
  Read ahead sectors     0&lt;br /&gt;
  Block device           253:1&lt;br /&gt;
&lt;br /&gt;
=== Start LVM during Boot ===&lt;br /&gt;
We want lvm to init the logical voluems during boot. There is a boot service named &#039;&#039;lvm&#039;&#039; to do this. If your volumes are on raid, make sure that &#039;&#039;/etc/init.d/lvm&#039;&#039; is started after mdadm-raid.&lt;br /&gt;
&lt;br /&gt;
 rc_add -s 12 -k lvm&lt;br /&gt;
&lt;br /&gt;
=== Setting up swap ===&lt;br /&gt;
Now we have our devices in /dev/vg0 and can use them as normal disk paritions. To set up swap:&lt;br /&gt;
&lt;br /&gt;
 mkswap /dev/vg0/swap&lt;br /&gt;
&lt;br /&gt;
Add the following line to your &#039;&#039;/etc/fstab&#039;&#039;:&lt;br /&gt;
 /dev/vg0/swap   none            swap     sw    0 0&lt;br /&gt;
&lt;br /&gt;
Start the swap service and make sure it starts during next reboot and tht is starts &#039;&#039;&#039;after&#039;&#039;&#039; lvm.&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/swap start&lt;br /&gt;
 rc_add -s 14 -k swap&lt;br /&gt;
&lt;br /&gt;
=== Setting up /vservers partition ===&lt;br /&gt;
Finally we want to set up an XFS partition for /vservers.&lt;br /&gt;
&lt;br /&gt;
Install xfsprogs.&lt;br /&gt;
&lt;br /&gt;
 apk_add xfsprogs&lt;br /&gt;
&lt;br /&gt;
Create filesystem on /dev/vg0/vservers.&lt;br /&gt;
 mkfs.xfs /dev/vg0/vservers&lt;br /&gt;
&lt;br /&gt;
Add the mount information to your /etc/fstab:&lt;br /&gt;
 /dev/vg0/vservers /vservers     xfs     noatime,tagxid 0 0&lt;br /&gt;
&lt;br /&gt;
Note that the &#039;&#039;tagxid&#039;&#039; option is specific for setting up vserver [http://oldwiki.linux-vserver.org/Disk+Limits disk limits] so it might be you don&#039;t want it. The &#039;&#039;noatime&#039;&#039; option is to increase performance but you will no longer know when files were accessed last time.&lt;br /&gt;
&lt;br /&gt;
Now we can start the &#039;&#039;localmount&#039;&#039; boot service to mount our partition.&lt;br /&gt;
 /etc/init.d/localmount start&lt;br /&gt;
&lt;br /&gt;
Make sure we run &#039;&#039;localmount&#039;&#039; during boot too, and that it is done after lvm.&lt;br /&gt;
 rc_add -s 14 -k localmount&lt;br /&gt;
&lt;br /&gt;
=== More Info on LVM ===&lt;br /&gt;
For more information, have a look at the [http://tldp.org/HOWTO/LVM-HOWTO/commontask.html common tasks] section in the [http://tldp.org/HOWTO/LVM-HOWTO/index.html LVM Howto].&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Installing_Xubuntu_using_Alpine_boot_floppy&amp;diff=2148</id>
		<title>Installing Xubuntu using Alpine boot floppy</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Installing_Xubuntu_using_Alpine_boot_floppy&amp;diff=2148"/>
		<updated>2008-02-20T13:18:03Z</updated>

		<summary type="html">&lt;p&gt;Ncopa2: lalirelc4tt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;delchida&lt;br /&gt;
Some computers does not boot on cdrom or USB. Then you can use Alpine boot floppy together with an USB with alpine to install Ubuntu. This document describes how.&lt;br /&gt;
&lt;br /&gt;
You will need atleast version 1.0 of debootstrap to get feisty installed. Therefore, set APK_PATH to point at http://dev.alpielinux.org/alpine/v1.7/apks or use alpine 1.7.3.&lt;br /&gt;
&lt;br /&gt;
== Preparing boot media ==&lt;br /&gt;
* Create a floppy from [http://dev.alpinelinux.org/alpine/v1.7/bootimages/usb.flp usb.flp]&lt;br /&gt;
* unpack the [http://dev.alpinelinux.org/alpine/v1.7/usbdrive/alpine-1.7.2-i386.tar.gz usb image] to an usb drive.&lt;br /&gt;
 wget -q -O - http://dev.alpinelinux.org/alpine/v1.7/usbdrive/alpine-1.7.2-i386.tar.gz | tar -zxv -C /media/usb&lt;br /&gt;
* boot the floppy with usb inserted. You have alpine running.&lt;br /&gt;
&lt;br /&gt;
== Set up environment ==&lt;br /&gt;
* Log in as root (no password required)&lt;br /&gt;
* setup networking with:&lt;br /&gt;
 setup-alpine&lt;br /&gt;
* Unless you run alpine-1.7.3 or newer, set APK_PATH to network. This is to get newest version of debootstrap:&lt;br /&gt;
 export APK_PATH=http://dev.alpinelinux.org/alpine/v1.7/apks&lt;br /&gt;
* Set up http proxy if needed:&lt;br /&gt;
 export http_proxy=http://proxy:8080&lt;br /&gt;
&lt;br /&gt;
== Prepare the harddisk ==&lt;br /&gt;
* Load driver for IDE disks if you run IDE. If you have SATA or SCSI disk you will not need to do this.&lt;br /&gt;
 modprobe ide-disk&lt;br /&gt;
* use fdisk to create the desired paritions&lt;br /&gt;
 fdisk /dev/hda&lt;br /&gt;
Here I will use this simple layout:&lt;br /&gt;
{| bgcolor=&amp;quot;#ccc&amp;quot;&lt;br /&gt;
| /dev/hda1 || swap || 128MB&lt;br /&gt;
|-&lt;br /&gt;
| /dev/hda2 || ext3/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Delete all pardition using &#039;d&#039; in fdisk. Create the swap partition as above with:&lt;br /&gt;
 n       (New partition)&lt;br /&gt;
 p       (primary partition)&lt;br /&gt;
 1       (partition number)&lt;br /&gt;
 &amp;lt;enter&amp;gt; (first cylinder = default)&lt;br /&gt;
 +128M   (size of partition)&lt;br /&gt;
 t       (set type)&lt;br /&gt;
 82      (partition type 82 hex for swap)&lt;br /&gt;
&lt;br /&gt;
Create / partition&lt;br /&gt;
 n       (new partition)&lt;br /&gt;
 p       (primary partition)&lt;br /&gt;
 2       (partition number 2)&lt;br /&gt;
 &amp;lt;enter&amp;gt; (default first cylineder)&lt;br /&gt;
 &amp;lt;enter&amp;gt; (use rest of disk)&lt;br /&gt;
 w       (write and quit. Warning! this will destroy all your current data on your disk!)&lt;br /&gt;
&lt;br /&gt;
* Create and enable swap:&lt;br /&gt;
 mkswap /dev/hda1&lt;br /&gt;
 swapon /dev/hda1&lt;br /&gt;
&lt;br /&gt;
* Create filesystem on disk (format)&lt;br /&gt;
 apk_add e2fsprogs&lt;br /&gt;
 mkfs.ext3 /dev/hda2&lt;br /&gt;
 &lt;br /&gt;
* mount the root partition&lt;br /&gt;
 mount -t ext3 /dev/hda2 /mnt&lt;br /&gt;
&lt;br /&gt;
== Running debootstrap ==&lt;br /&gt;
* Allow debootstrap to run mount inside chroot&lt;br /&gt;
 for i in /proc/sys/kernel/grsecurity/chroot* ; do echo 0 &amp;gt; $i ; done&lt;br /&gt;
&lt;br /&gt;
* install and  run debootstrap utility&lt;br /&gt;
 apk_add debootstrap&lt;br /&gt;
 debootstrap --arch i386 feisty /mnt&lt;br /&gt;
&lt;br /&gt;
From here you can chroot to your mount point, edit your /etc/apt/sources.list, install a kernel and reboot.&lt;/div&gt;</summary>
		<author><name>Ncopa2</name></author>
	</entry>
</feed>