nyuuzyou/wikis huggingface dataset:
Kernels

Alpine Linux has several kernels (see ) designed to suit different situations.
* is the stock modular kernel and is configured for a generous selection of hardware.
* (, see the -virt configs) is recommended for Alpine Linux guests, and disables most hardware in favor of a commonly-virtualized subset of drivers.
* is optimized for the Raspberry Pi. For alpine 3.18 and older there is also and optimized for the raspberry pi 2 and 4 respectively. See for future plans.
For installing a custom kernel, see Custom Kernel. To select a specific kernel or firmware packages during installation from the Alpine ISO, simply install the desired kernel flavor and firmware packages with before running .
== Firmware ==
The meta-package is included in the default installation, and depends on all firmware. It is a large download. You may be better served by installing only the firmware you need (see ), or if you do not require any firmware. If you're unsure which firmware you need, boot with no firmware installed and run to get an idea. Be aware that most firmware is non-free.
== Experimental Kernels ==
Some kernels are not well tested and are therefor only available in the testing repository. Use at own risk.
* for Apple silicon
* for elm chromebooks
* for gru chromebooks
== See also ==
* How to build the Alpine Linux kernel
* Kernel - Archwiki
category:Kernel
Kexec

kexec is a system call that enables loading and booting into another kernel. This is useful for faster reboots that skip the firmware initialisation process and the bootloader.
==Preparing==
In Alpine 3.19 and up, the userspace tools required to use it can be installed via But note that not all kernels are compiled with the kexec syscall enabled. You should check the file for 
Most Alpine kernels have been hardened and return
kexec_load failed: Operation not permitted
if kexec is called without being unlocked with the kernel boot parameter
kexec_load_disabled=0.
Without it the sysctl setting kernel.kexec_load_disabled defaults to 1 and it can't be turned off in the running kernel, so you need to add the parameter to your bootloader configuration and reboot.
==Usage==
===Manually===
On a typical Alpine setup, it can be used via:
===Automatically on every reboot/shutdown===
kexec can be set to run automatically for faster rebooting. This is very useful on servers.
First create two openrc services and edit the BOOTPART, KERNEL, and INITRD variables if not using the defaults:
Now give these services execute permission and assign them to the appropriate runlevels:
kexec will run on your next reboot or poweroff enjoy!
== See also ==
* kexec-tools changelog
* Gentoo Wiki: Kexec
* ArchWiki: Kexec
Category: Booting
Category: Kernel
Kexec/kexec-exec

#! /sbin/openrc-run
description="kexec for faster reboot"
depend() {
	after killprocs savecache mount-ro
}
start() {
	ebegin "kexec-exec: Using kexec for faster reboot" 
	kexec -e
	ewend $? "kexec-exec No kernel loaded."
	return 0
}
Kexec/kexec-load

#!/sbin/openrc-run
description="kexec for faster reboot"
# Define defaults
: "${BOOTPART:=/boot}"
: "${KERNEL:=vmlinuz-$(uname -r | awk -F \- '{print $NF }')}"
: "${INITRD:=initramfs-$(uname -r | awk -F \- '{print $NF}')}"
depend() {
	need localmount
}
start() {
	:
}
stop() {
	if ! yesno ${RC_GOINGDOWN}; then
		einfo "kexec-load: Not rebooting or powering off; not loading kernel"
		exit
	fi
	ebegin "kexec-load: loading kernel for faster reboot"
	kexec -l "${BOOTPART}/${KERNEL}" \
		--initrd "${BOOTPART}/${INITRD}" \
		--reuse-cmdline
	ewend $? Failed.
}
LTTng

= Installation =
= Kernel tracing =
The kernel tracing part of LTTng requires out of tree modules to be built against the running kernel. These modules depend on the tracepoint facility which is disabled in the current Alpine Linux grsec kernel. However, the alternate vanilla kernel has all the required options built-in. 
Reboot with the vanilla kernel, you'll have to either change the default kernel flavour in /etc/update-extlinux.conf or uninstall the grsec kernel. Then build the LTTng modules from source.
If you have an already running lttng-sessiond at this point, it will need to be restarted to enable kernel tracing.
For more information on kernel tracing, read Tracing the Linux kernel in the lttng’s documentation.
= Userspace tracing =
The userspace tracing part of LTTng requires your application to be instrumented and linked with liblttng-ust, on Alpine you'll need the lttng-ust-dev package.
For more information on userspace tracing, read Tracing your own user application in the lttng’s documentation.
Category:Monitoring
LXD

= Introduction =
LXD is a next generation system container manager. It offers a user experience similar to virtual machines but using Linux containers instead. 
It allows an easier management and deployment of LXC containers. 
First, enable the community repository.
Then, install the lxd and dbus packages (dbus is needed for some containers as they refuse to start if unavailable)
 apk add lxd lxd-client lxcfs dbus
Set some options to be able to run the containers as unprivileged:
 echo "session optional pam_cgfs.so -c freezer,memory,name=systemd,unified" >> /etc/pam.d/system-login
 echo "lxc.idmap = u 0 100000 65536" >> /etc/lxc/default.conf
 echo "lxc.idmap = g 0 100000 65536" >> /etc/lxc/default.conf
 echo "root:100000:65536" >> /etc/subuid
 echo "root:100000:65536" >> /etc/subgid
If you plan to run systemd based Linux distributions (Debian, Ubuntu, etc.), add this to /etc/conf.d/lxc:
 systemd_container=yes
and enable both lxc and lxd to start at boot:
 rc-update add lxc
 rc-update add lxd
 rc-update add lxcfs
If you have problems, try to enable dbus:
 rc-update add dbus
Reboot and lxd should be working.
LXDM

LXDM is a lightweight display manager with UI implemented in GTK+.
== Installation ==
Install X11 and set it up using the setup-xorg-base script.
To install lxdm, execute: 
== Configuration ==
The main configuration file is .
== See Also ==
* Xorg
* Official LXDM
* LXDM - Archwiki
category:Desktop
Category:Display Managers
LabWC

LabWC is a stacking Wayland compositor. LabWC can serve as a drop-in replacement for the Openbox window manager.
== Installation ==
The <Code>setup-wayland-base</Code> script installs and enables elogind as seat manager, enables community repository and enables eudev automatically as these are required for Wayland to work.
=== Set up eudev ===
=== Setup up a seat manager ===
Wayland compositors need raw access to input and output devices. This is mediated by a seat manager. 
Configure either seatd or elogind as both are supported. However using both may lead to conflicts.
=== Install fonts ===
Install DejaVu fonts, which has good Unicode coverage:
 
=== Install labwc ===
We can now install labwc:
== Running LabWC ==
To run labwc from console:
dbus-launch labwc is used because pipewire needs it, it is included in dbus-x11 and you may omit it.
(if you run labwc with seatd-launch, you will need to use $ dbus-launch seatd-launch labwc)
You can also create a simple alias in your shell rc file (e.g. .zshrc), like:
== Configuration ==
LabWC aims to implement the openbox 3.4 specification, so many things working in OpenBox should be compatible.
Moreover, the project provides examples for all the configuration files and some themes, explaining where it must be located each one of them.
For additional information, labwc manpages and wiki can be consulted.
== Troubleshooting ==
== See also ==
LabWC Official website
Category:Desktop
Category:Wayland
Category:compositor
Linfo

Linfo is a simple PHP application that displays information about the host it's running on. It's similar to Phpsysinfo.
The following stuff is shown
* CPU Type
* RAM Usage
* PCI/USB devices
* Hard drives
* File system mounts
* Network devices
* Temps/Voltages via hddtemp/mbmon
* Software raid arrays (either by mdadm or gmirror)
* System load / number of processes, threads
* Linux distribution, if possible
== Install lighttpd and PHP ==
== Installation of Linfo ==
Create a directory named 
Now get the current release of Linfo.
Unpack the archive in the current location and remove the archive afterwards.
A is needed to run Linfo. The fastest way is to make a copy of the template file.
Create a symlink that point to the webserver directory.
Change the permission of the directory.
Restart lighttpd
Now the page is up and running
http://IP-ADDRESS/linfo
Category:Monitoring
Category:PHP
LinuxDays2017

= LinuxDays 2017 (conference) =
* Date: 7th and 8th October 2017
* Location: Prague, Czech Republic, Central Europe
* Admission fee: none
* Contact person: Jakub Jirutka (jakub@jirutka.cz) 
* Web: https://www.linuxdays.cz/2017/en/
LinuxDays is a non-commercial conference focused on open-source technologies, mainly around Linux (and other unix systems), held annually in Prague – centre of Europe. It has long history and became the biggest non-commercial FOSS conference in Czech Republic (1 300 attendees in 2016).
The event is primarily held in the Czech language, but don’t worry, there will be talks in English as well! The goal for this year is to have at least 1/3 talks in English.
== Alpine Miniconf ==
We would like to create Alpine Miniconf as part of LinuxDays, similar to Gentoo Miniconf. This means that we will have our own presentation room and a classroom for workshops. The motivation is to create an opportunity for Alpine developers to meet each other in physical world, discuss some important topics, have some fun together etc. And of course increase awareness about Alpine Linux, prepare some interesting talks/workshops for attendees of the conference.
Accommodation and catering for speakers is provided in nearby dormitories.
Jakub knows organizational team of LinuxDays, it’s all agreed, we just need to convince enough people from Alpine community to register some talks/workshops and come to Prague. :)
=== Attendees ===
If you plan to attend this conference, please add yourself into the following list.
* Jakub Jirutka
* …
=== Suggestions for Talks ===
What would you like to hear about at LinuxDays / Alpine Miniconf, related to Alpine? Please put your ideas here.
* talk about init/rc systems, process supervisors and s6 by skarnet
=== Proposed Talks/Workshops ===
If you’d like to prepare some talk or workshop for LinuxDays / Alpine Miniconf, please write it here. Call for Papers is open until end of August.
* …
category:News
Linux iSCSI Target (tgt)

The Linux target framework (tgt) is a user space SCSI target framework that supports the iSCSI and iSER transport protocols and that supports multiple methods for accessing block storage. tgt consists of user-space daemon and tools. Being a user space server, it does not require a kernel module to run. In Alpine Linux, the package is called 
== Installation ==
In Alpine, is split over several packages:
* - the tgtd daemon.
* - tgt-admin helper utility. Makes it easier to configure targets via config files.
* - documentation, man pages and example configurations. 
* - init scripts for runnit tgt as a service. 
Only is required to run the tgt target daemon. A running daemon can be configured with command line tool. However, if you want to use configuration files you need the helper tool, which reads the config and emits appropriate commands. The tgt-admin tool is written in perl, and so depends on perl being installed, which is why we have it as a separate package. 
This guide assumes that you want to configure iSCSI targets via a configuration file, and have it automatically start during boot. 
To install scsi-tgt and the utilities to configure tgt:
Once you have editited the configuration file, you can activate the service with
=== Sample configuration ===
Here is an example configuration for exporting a local image file as a iSCSI target (virtual SCSI disk):
== tgt-admin ==
 is a convenience script to configure the running daemon. It is not needed if you want to manually configure using the tool.
Documentation can be found in the package (man tgt-admin), but also on upstream's GitHub page
Common commands are:
* 
Load new targets from . Existing targets won't be updated.
* 
Update selected targets. Targets in-use by initiators won't be updated.
* 
Query for running configuration.
* 
Only print what would be done and not make any changes.
=== tgt-admin examples ===
To see the status of the running configuration, use the command:
If you want to see that native commands are needed you can use the option. 
Here you can see the the actual commands used when issuing :
Removing target: iqn.2023-07.net.tnonline.wiki:server.target1
Adding target: iqn.2023-07.net.tnonline.wiki:server.target1
Write cache is enabled (default) for lun 1.
Category:Storage
Local APK cache

Alpine Package Keeper(APK) can keep a cache of installed packages on a local disk. 
In diskless installations, since these packages are available during boot, packages can then be automatically (re-)installed from local media into RAM when booting, without requiring, and even before there is a network connection. The cache can be stored on any writable media, or at the same location as the .apkovl file from the local backup utility lbu.
HDD or sys mode installs don't need an apk cache to maintain their state, it still allows to serve packages over the network, though, e.g. to get installed by other local machines.
== Enabling cocal cache ==
Execute the script setup-apkcache will assist in enabling a local cache. The script creates a symlink named that points to the cache directory.
 
Cache can also be manually enabled by creating a cache dir and then symlink it to :
On a diskless installation, to make the disk where the cache directory is present be automatically mounted at boot create an empty file inside the cache directory.
== Automatically cleaning cache on reboot ==
To automatically attempt to validate your cache on reboot, you can add the above command to a file:
== Local cache on tmpfs volumes ==
In some circumstances it might be useful to have the cache reside on tmpfs, for example if you only wish for it to last as long as the system is up.
NOTE: apk is coded to ignore tmpfs caches, and this is correct behaviour in most instances. Using tmpfs as a package cache can consume large amounts of system memory if you install a lot of packages, possibly resulting in a crashed system. You can limit this by restricting the size of your cache to a small number (128M in the example below).
To do it, you need to create an image inside which your cache can live. We do this by creating an image file, formatting it with ext2, and mounting it at .
As usual, if you want to download currently installed packages into the cache, use apk cache sync.
== See also ==
* Local backup utility(LBU)
* Alpine Package Keeper(APK)
Category:Package Manager
Category:Diskless
Logbookd

logbookd is a syslogd implementation that uses an sqlite database as a backend.
The default mode of operation uses a reduced write mode, where lots are written to memory and only flushed to disk when the service is interrupted or receives SIGUSR1.
== Setup ==
Logbook is provided via the package.
Setting it up is quite straightforward:
 apk add logbookd
 
 # Disable and stop the default syslog.
 rc-update del syslog boot
 service syslog stop
 
 # Enable and start logbookd
 rc-update add logbookd boot
 service logbookd start
After the next reboot, you may want to review previous log files in /var/log, which will remain unused and stale. Only the sqlite database should remain relevant.
= See also =
* Looking closer at the syslog: an introductory article to syslog and logbookd.
Category:Services
Logcheck

Logcheck is a simple tool which scans log files and emails reports out of unrecognized entries.
== Installing ==
At the moment grep and run-parts must be manually installed, otherwise logcheck won't work. Work is being done to remove these dependencies. 
Additionally, perl-mime-construct if you want to let logcheck to email reports.
User "logcheck" should be added to group adm so that it can read log files:
== Configuration ==
Default configuration in /etc/logcheck/logcheck.conf is quite a good starting point. It is meant for servers and will email reports to "logcheck" (should be changed if your mail configuration won't deliver such emails to desired destination or just let cron to send mails instead).
If you do not want logcheck to send mails to you you can let cron do it by just adding MAILOUT=1 to logcheck.conf.
=== Log files ===
Log files to be scanned are configured in /etc/logcheck/logcheck.logfiles.d. You want to comment out "journal" from journal.logfiles as we are not using systemd:
Additionally you want to add /var/log/messages and any other missing log file to syslog.logfiles and comment out log files not used by your particular syslog daemon i.e. for busybox syslog:
== Scheduling ==
Logcheck does not run as a daemon, instead it should be ran periodically. Create a hourly cron job:
And make it executable: 
== Busybox syslog ==
Busybox syslog is run using a group wheel which means logcheck cannot read log files created by it. It would be possible to add logcheck user to group wheel, but as group wheel is semantically meant for allowing users to elevate access to root (even though it would not work in practice as logcheck user should not have password set), it is not an optimal solution.
Instead busybox syslog could be made to run as adm instead:
This is how rsyslog and syslog-ng works without any changes anyways.
category:System Administration
Loongarch64

LoongArch is Officially supported by Alpine Linux since v3.21.
= Installation guide =
Visit: Loongarch64/Installation
= Docker with Alpine =
Running Alpine LoongArch containers on Docker: Loongarch64/Docker
= Known Issues =
Loongarch64/Known_Issues
= Tips =
= See Also =
* Unofficial yet comprehensive FAQ for LoongArch
* TSC descision to support LoongArch
Category:LoongArch64
MATE

The MATE Desktop Environment is the continuation of GNOME 2. It provides an intuitive and attractive desktop environment using traditional metaphors for Linux and other Unix-like operating systems.
= Manual Installation =
== Prerequisites ==
* Install Xorg
* Install and configure D-Bus with X11 add-ons
If you are running your Alpine installation from RAM, save the changes:
Try starting dbus and lxdm. This will start the display manager and should allow you to login.
If it worked, enable the services to start on reboot
= Misc =
=== TrueType fonts ===
Add all available TrueType Fonts:
=== Disabling standby and screensaver ===
Check the current configuration using xset:
To disable those timers issue the command:
Santiy check:
== See also ==
* MATE - Archwiki
* MATE - Gentoo Wiki
* MATE - postmarketOS Wiki
Category:Desktop
Category:Desktop Environments
MIPS64

== Background ==
Alpine's MIPS64 port mostly targets Octeon CPUs, Loongson and the MIPS Malta evaluation board. It can theoretically run on any MIPS64 CPU, but this hasn't been tested exhaustively.
== Docker ==
The port does not yet have a functioning Docker, but we are working on it. Assistance is welcome.
== Known Issues ==
See MIPS64/Known Issues.
== Builders and Dev Machines ==
Main builder is Ubiquiti EdgeRouter Infinity. It has 16-core OCTEON 3 CPU with 16 GB of RAM.
We have a second Ubiquiti EdgeRouter Infinity that will be used as a dev machine and for CI. If you need access to a MIPS64 machine to fix your packages, feel free to reach out, we can provision access to a container.
We also have various lower spec Ubiquiti boards and are working to source some Loongson boards as well.
== Tips ==
=== Firmware ===
In default Alpine installations, some firmware packages (linux-firmware-...) are installed. On most MIPS64 machines, these are unnecessary.
In order to remove them, install package linux-firmware-none by running: apk add linux-firmware-none.
MIPS64/Known Issues

These are the known issues with the MIPS64 port.
== Run from RAM ==
At present, not much work has been done on run from RAM, because many of the Octeon boards do not have named memory blocks support, which is necessary to use an initramfs under Cavium Executive.
For those which do support named memory blocks, you can load an initramfs into one and then specify it as rd_name=initramfs on the kernel command line.
== Floating Point ==
The MIPS64 port is soft-float, because many of the CPUs we are targeting have broken FPUs. This causes problems with math applications, such as those dependent on OpenBLAS. Similarly, binaries that are compiled with -mhard-float can't be linked on Alpine MIPS64. We may do a hard-float port later.
== Go ==
Go itself works fine on MIPS64, but many libraries which make syscalls directly either assume that MIPS environments are 32-bit or do not have code for making syscalls on MIPS at all. As such, many Go packages are presently blocked on MIPS64. The solution is to fix the Go libraries, unfortunately Go does not make this easy to do.
== Octeon 3 BGX ==
The recommended kernel for most Octeon devices is the one in our linux-octeon package. However, this kernel does not have the drivers to support the Octeon 3 BGX networking features which are used on the higher-end Octeon SOCs. For those devices, you will need to use a vendor-supplied kernel for now until the driver is ported.
== Endianness ==
The MIPS64 port is big-endian. This causes problems with some cryptographic and multimedia applications which either assume MIPS is little-endian or do not have any endian awareness at all. Such packages will have to either be fixed or blocked.
== Rust ==
Rust is not yet bootstrapped on MIPS64.
== Java ==
Java is not yet bootstrapped on MIPS64. To bootstrap Java, we would need to first fix the FTBFS issue in community/gcc6 so we have a functioning GCJ.
Mahara

At the simplest level, Mahara is two things: an e-portfolio and a social networking system combined. An e-portfolio is a system in which students can record "evidences of lifelong learning" - such as essays, artwork or other such things they produce that can be stored digitally. Such things are known as artefacts in Mahara. Social networking systems need little introduction - think Myspace, Facebook or Bebo. Basically, they give a way for people to interact with their friends and create their own online communities.
But Mahara is much more than just a place to store files. Mahara also includes blogging, a resumé builder, Moodle integration and the standout views framework. 
== Install lighttpd, PHP, and MySql ==
Install extra packages:
== Installing and configuring Mahara ==
Create the folder
Download the source code archive
Unpack the archive and delete it afterwards
Crate a symlink to the Mahara folder
== Edit the config file ==
Change
* Set: 
 // database connection details
 // valid values for dbtype are 'postgres8' and 'mysql5'
 $cfg->dbtype = 'mysql5';
 $cfg->dbhost = 'localhost';
 $cfg->dbport = null;
 $cfg->dbname = 'mahara';
 $cfg->dbuser = 'root';
 $cfg->dbpass = 'password';
 $cfg->dataroot = '/tmp/';
== Edit the php.ini ==
* Set:
 session.entropy_length = 16
 post_max_size = 50M
Restart lighttpd
== Config and start MySql ==
Create the Mahara database
== Config your Mahara ==
Browse to: http://WEBSERVER_IP_ADDRESS/ and click in Install Mahara
After the Successfully installed Mahara. click Continue
* Enter Information needed
:* Password, twice
:* Your E-mail
You have Mahara working, to access go to http://WEBSERVER_IP_ADDRESS/ and enjoy!
 PHP | SQL | Social Network