nyuuzyou/wikis huggingface dataset:
Wayland

Wayland is a new display protocol that aims to replace X11. Display servers that implement the Wayland display server protocol are also called Wayland compositors because they additionally perform the task of a compositing window manager. 
Multiple compositor implementations exist, including Sway, Mutter (GNOME's compositor) and Kwin (KDE's compositor). A more exhaustive list is available in the ArchWiki.
Wayland requires a seat manager to work. 
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.
== XDG_RUNTIME_DIR ==
As per the protocol spec, Wayland compositors require the XDG_RUNTIME_DIR variable to be set. Elogind seat manager handles XDG_RUNTIME_DIR and also export other XDG environment variables automatically for each session. So do not follow further configuration, if using elogind. 
If Seatd is used then there are a few ways to create a XDG_RUNTIME_DIR directory and export this variable:
=== Use pam_rundir === 
pam_rundir is a PAM module that provides the runtime directory variable. Installing the package takes care of dependencies and no further configuration is required.
=== Use mkrundir ===
* mkrundir is an executable that can be used to initialise the runtime directory explicitly by each user. To use mkrundir</Code>, install the package available in testing repository. In your shell init script (e.g.: include an entry as follows at the top of the file 
As per mkrundir website, this might have issues inside containers, due to privilege escalation.
=== Configuring XDG_RUNTIME_DIR manually ===
Generally, care should be taken when configuring the XDG_* variables manually as this configuration may have errors or conflict with other utilities that do this automatically. Use this only on a system that's not using elogind and other solutions outlined above cannot handle this. 
The XDG_RUNTIME_DIR can be initialised manually by adding below snippet to shell init scripts (e.g.: ):
== See also ==
* Wayland - Arch Wiki
* Wayland - Gentoo Wiki
* Wayland (protocol) - Wikipedia
Category:Desktop
Category:Wayland
Category:Compositor
Web elements.lua

=== render_table ===
INPUT:<BR>
This library function required the following inputs/parameters.
* Element
** The element should be type 'table'
** Element could be: group, label, html, log, link, form
* Level
** Level should be a 'number'
OUTPUT:<BR>
This library function deliverers the following output/parameters.
* HTML
** HTML formated output/elements
** The output is partially generated by html.lua
=== render_mainmenu ===
INPUT:<BR>
This library function required the following inputs/parameters.
* menu
* prefix
* controller
* action
OUTPUT:<BR>
This library function deliverers the following output/parameters.
* MainMenu (HTML)
** HTML formated output/elements
** The output is partially generated by html.lua
=== render_submenu ===
INPUT:<BR>
This library function required the following inputs/parameters.
* menu
* group
* cat
* subcat
OUTPUT:<BR>
This library function deliverers the following output/parameters.
* SubMenu (HTML)
** HTML formated output/elements
** The output is partially generated by html.lua
Category:Lua
Webmin

== What is Webmin ==
A web-based interface for system administration for Unix or Linux. Setup user accounts, DNS, file sharing, etc.
== Set up Webmin on Alpine Linux ==
This document will be a quick c/p guide to setup webmin and dansguardian module on Alpine linux. We assume you have dansguardian installed and running. What we will install is the following:
* Perl
* Webmin 1.990
* Dansguardian 0.7.1 module (for webmin)
For more info about appropriate module: https://www.webmin.com/tgz.html
== Installing Perl with ssl module ==
Install Perl
== Installing and configuring Webmin ==
Install webmin
Download & Unpack
 
Folder
 
Setup
Note: Will ask distro, Alpine not listed. 
The closest distro might be Gentoo ES4.0 -- use your best judgement
 Config file directory [/etc/webmin]: enter
 Log file directory [/var/webmin]: /var/log/webmin
 Full path to perl: enter
 Operating system: 84 // 84 must be Gentoo
 Version: ES4.0
 Web server port (default 10000): enter (or other port number)
 Login name (default admin): admin
 Login password: admin-password
 Password again: admin-password
 Use SSL (y/n): n
 Start Webmin at boot time (y/n): y
Browse
http://IP_NUMBER:10000 (or the ip number you chose)
== To add dansguardian module ==
Link to module:
https://downloads.sourceforge.net/project/dgwebminmodule/dgwebmin-stable/0.7/dgwebmin-0.7.1.wbm
Browse to http://IP_NUMBER:10000 (or the ip number you chose)
* Click on: Webmin / Webmin Configuration / Webmin Modules
* In the Install Module box, enter link in: From HTTP or FTP URL text field and press Install Module below
* (Alternatively, can click on 🌐 button in Third party module from form and select from list)
* Click on: Servers / DansGuardian Web Content to configure and use dansguardian module.
Note: Webmin Modules you can add more modules, from “Standard module from www.webmin.com” or “Third party module from”, etc.
Category:Monitoring
Category:Server
Category:Perl
Category:Security
Weston

Weston is the reference implementation of a Wayland compositor, as well as a useful environment in and of itself. 
Out of the box, Weston provides a very basic desktop, or a full-featured environment for non-desktop uses such as automotive, embedded, in-flight, industrial, kiosks, set-top boxes and TVs. 
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.
== Installation ==
Steps to install Weston 
* Install weston and necessary dependencies:
== Configuration == 
=== 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.
If seatd is used, Set up XDG_RUNTIME_DIR.
== Starting weston ==
You can launch <Code>weston</Code> by issuing the command sway from TTY. 
== Troubleshooting == 
== See also ==
Weston
Category:Compositor
Category:Desktop
Category:Wayland
Wishlist

Project Wishlist
= Ports =
= Security =
== Offensive ==
== Defensive ==
= Administration =
= Networks =
= Hardening =
== capabilities ==
== tcb Logins ==
The goal of this is to remove the S currently needed for shadow logins.
=== tcb resources ===
* tcb - the alternative to /etc/shadow
* tcb - slides
== Removing SUIDs/SGIDs ==
It would be nice to see the elimination of these file permissions from Alpine. The reason for this is because throughout the years SUIDs/SGIDs have repeatedly been a source of exploits (esp. privilege escelation) for UNIX derivatives. It may be unfeasible or not unwise to completely ban these file permissions for all packages of Alpine but removing these permissions from Alpine base and X server has been proven to be doable and would provide safer Alpine systems out of the box.
= Packaging =
== gitian ==
* gitian
* gitian-builder
* libcoin gitian build code
* 31C3 - Reproducible Builds
== Nix ==
* NixOS Papers
* Nix Package Manger
* NixOS - Homepage
= Builds =
== Distros ==
Some ditros that would be cool to be able to build on top of Alpine. This is by no means intended to change how the core of Alpine is about, developed, or maintained.
* QubesOS
* OpenDaylight
* OpenStack
* CoreOS
* Tails
* Liberte
* Kali
* Pentoo
= Automation =
= Testing =
= Metrics =
== Benchmarks ==
= Community =
== Outreach ==
== Publicity ==
category:Development
WordPress

WordPress is web software you can use to create a beautiful website or blog. For Wordpress a bunch of plugins are available.
== Install lighttpd, PHP, and MySql ==
Install extra packages:
Restart Lighttpd:
== Installing and configuring WordPress ==
Create a directory named 
Download the latest Wordpress source files 
Unpack the archive and delete it afterwards
Change the folder persmissions
Create a symlink to the folder
== Config and start MySql ==
(Change the 'password' to a strong password)
==Create the WordPress database==
(Change the 'wordpress password' to a strong password)
== Config your WordPress ==
Browse to 
http://WEBSERVER_IP_ADDRESS/wordpress/
* Click on: "Create a Configuration File"
* Click on: "Let’s go!"
:* Database Name:	wordpress
:* User Name:		wordpress
:* Password:		<wordpress password>
:* Database Host: 	localhost
:* Table Prefix:	wp_
You may need create the wp-config.php manually, so modify define the 'DB_NAME', DB_USER and DB_PASSWORD, then copy and paste the text into it.
After you've done that, click "Run the install."
* Enter Information as needed
:* Site Title
:* Username
:* Password, twice
:* Your E-mail
After you've done that, click "Install WordPress" 
You have WordPress working, to access go to http://WEBSERVER_IP_ADDRESS/wordpress and enjoy!
Category:SQL
Writing ACF Models

The model provides the core functionality of ACF. The model can read and write files, launch applications, and do anything else necessary to implement the desired functionality. Generally, models provide the ability to modify the system configuration and start/stop services.
= Model Basics =
The model should implement functions that provide all of the application functionality for its particular purpose. Models should be limited in scope to a particular purpose - i.e. managing a particular service. The controller will call the model functions to implement the user-requested actions.
= Input =
Model function inputs are specific to the function. Models have access to all of the common Lua libraries. The modelfunctions library is specifically designed to be used by the model and handles some common functionality.
= Handling Forms =
One of the common functions in a model is to edit certain system variables. In order to work well with the controller (specifically the controllerfunctions.handle_form function), the model should implement a pair of get/set or read/write functions. The get function will create a group of cfe's describing the parameters and containing their current values. The set function will expect to receive the same group of cfe's with new values to be set. Both the get and set functions should validate the values and fill in the cfe errtxt fields. The set function should set all or none of the variables and should fill in the group cfe errtxt field if the set fails. For creating a new object, the same pattern can be followed, with the get function returning empty values.
= Advanced =
== Loading Another Controller ==
When writing some more advanced or higher-level models, a designer may need to use functionality already implemented in another controller/model. Rather than reimplementing the functionality, the model should load the existing controller and call the controller or model functions directly. Since the model is not using the dispatch function, access to this controller is outside the application's permission checking.
 local versioncontroller = self:new("alpine-baselayout/alpineversion")
 local versionresult = versioncontroller:read()
 -- Here's how you call the model directly
 local modelresult = versioncontroller.model:get()
Category:ACF
Writing User Documentation for ACF

= Guidelines on User Documentation for ACF =
Many users of Alpine Linux devices may use only the ACF Web interface. Therefore, it is beneficial to have a clear, consistent way of documenting procedures with ACF. These guidelines can be used to write concise documents that use ACF instead of the command line.
== Basic suggestions ==
*Write names and labels as they appear in ACF, such as "DNScache" instead of dnscache.
*Avoid using extra nouns such as "menu option," "tab," "section," etc. for simplicity. The formatting below should be sufficient.
* Specify the entire navigation, so that the user can follow the instructions no matter where he starts.
== Formatting ==
Here is an example of the suggested formatting:
 System: Local Backups > Status > Commit Changes: Commit
Below is the formatting for common items in user documentation. All navigation strings should be in italics (or in plaintext, use forward slashes /NAVIGATION > EXAMPLE/).
*Menu Choices, Tabs, Buttons, Links
**Any text the user needs to click on should be in bold (italic) typeface (or in plaintext, use asterisks *BUTTONNAME*). The text should then be followed by a greater-than symbol ">".
**Links may be preceded by a label and a colon ":".
*Section Headings
**Headings should be followed by a colon ":".
*Check Boxes
**Check boxes should be followed by [X] for selected, and [_] for unselected.
*Fields
**Field names have no special formatting.
*Drop-down Boxes
**Use a greater-than symbol ">" between the label of the box and the option to choose.
=== Examples ===
 System: Local Backups
 System: Local Backups > Status > Commit Changes: Simulate a commit [X]
 System: Local Backups > Status > Commit Changes: Simulate a commit [_]
 System: Local Backups > Config > System Info: Media for Commit > usb
 System: Local Backups > Config > Edit Included Files: Included item(s)
 System: Logfiles > Status > /var/log/messages: Tail
Category:ACF
X11vnc

x11vnc is a VNC server application that enables one to interact with real X11 displays. Unlike other VNC alternatives (e.g. TigerVNC) which create extra X11 desktop sessions displayed for remote control, x11vnc shows in real time the existing X11 display.
== Pre-requisites ==
* base installation of X.Org
* an X11 desktop environment/window manager
* Above mentioned DE/WM running before starting x11vnc
== Installation ==
Install the package from the community repository
== Setup ==
Start X either through your preferred Display Manager or by using the startx command.
Run the below command in a terminal emulator:
Now connect using your preferred VNC viewer.
Category:Security
Category:Remote Desktop
Xen Dom0 on USB or SD

This guide will show you how to perform a Xen Dom0 install on a USB device or SD card, so you can have your Dom0 running from tmpfs. This has some benefits, but you will need a place to store your guests (virtual machines) and a syslog server to redirect the logs to.
The first step is to set up a basic usb or SD install. To do that, boot from the Alpine install CD (minimal is fine) and follow one of the following guides:<BR>Create a Bootable USB or Create a Bootable Compact Flash.
Once you finish installing Alpine Linux on your device, boot from it and configure your newly installed system:
Set up the network interfaces:
# setup-interfaces
# ifup eth0
Continue by setting up the apk repositories:
# setup-apkrepos
[...]
# apk update
Now that you have your system properly configured, it's time to install Xen:
# Should this not be apk add xen xen-hypervisor ?
# apk add xen
Now that we have Xen installed, we need to modify the usb bootloader in order to load the Xen kernel. The first step is to remount /media/usb with write permissions:
# mount -o remount,rw /media/usb
Then, copy the Xen kernel and mboot.c32 to the usb boot partition:
# cp /boot/xen.gz /media/usb/boot/
# cp /boot/mboot.c32 /media/usb/boot/
Now that we have the necessary files to boot Xen from the usb device, it's time to change the bootloader and add a Xen entry.<BR>
To do so, open /media/usb/syslinux.cfg with your favorite editor and add one of the following entries:
Normal boot:
LABEL xen
 KERNEL /boot/mboot.c32
 APPEND /boot/xen.gz --- /boot/vmlinuz-hardened alpine_dev=usbdisk:vfat modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-hardened --- /boot/initramfs-hardened
Serial console boot:
LABEL xen
 KERNEL /boot/mboot.c32
 APPEND /boot/xen.gz com1=115200,8n1 console=com1 --- /boot/vmlinuz-hardened alpine_dev=usbdisk:vfat modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-hardened --- /boot/initramfs-hardened
Change the UUID to the correct one, and add the necessary modules for your system.<BR>It's also a good idea to check Xen Boot options and set, dom0_mem, dom0_vcpus_pin and dom0_max_vcpus.
The next step is to load the necessary kernel modules for Xen. We will add them to /etc/modules so they will be loaded automatically at boot time:
# echo "xen_netback" >> /etc/modules
# echo "xen_blkback" >> /etc/modules
# echo "tun" >> /etc/modules
The last step is to configure startup services. We will need udev and xencommons to start at boot time:
# rc-update add udev sysinit
# rc-update add udev-postmount
# rc-update add xenstored
# rc-update add xenconsoled
Now you have a fully functional Xen install. It's time to save your changes and boot into it.
# lbu commit
# reboot
Remember to configure at least one network bridge. Follow the Bridge guide.
== See also ==
* Xen Dom0
Category:Virtualization
Xen LiveCD

The Alpine Linux distribution provides a Xen LiveCD which can be used to run Xen without installing it. It comes with specific scripts that will help you set up a basic environment to create guests. To use it, just download the "Alpine Linux Xen" ISO. You need to burn it to a CD or create a bootable USB device. More information about this procedure can be found at Create a Bootable USB. Once you have your CD or USB device ready, boot from it. You will see the Xen Hypervisor kernel booting, and after that, the Linux kernel. When the boot process has finished, login as root and execute the following scripts:
When executing "setup-alpine" you will be asked several questions. When asked about the network configuration it is very important you set up at least one bridge so you are able to add the virtual network interfaces of guests to that bridge. You can find more information about Xen on the XenProject.org Wiki .
Category:Virtualization
Xen PCI Passthrough

This guide is to show how to configure PCI Passthrough on Alpine.
First, use lspci to find the the PCI-Address of the Device you want to Passthrough:
node03:~# lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 Processor Family DRAM Controller (rev 09)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 05)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation C204 Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
03:03.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)
In this example, I want to passthrough the SAS Controller. So the Address is 01:00.0
Currently there is a bug #3609in Alpine that prevents using default Kernelparameters.
Edit /etc/modules and reboot the server:
node03:~# grep pciback /etc/modules 
xen_pciback hide=(01:00.0)
After rebooting, you should be able to verify the pci-device is using the pciback Kernelmodule and that it's visible to passthrough via xl:
node03:~# lspci -k | grep -A2 '01:00.0'
01:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
 Subsystem: LSI Logic / Symbios Logic Device 3020
 Kernel driver in use: pciback
node03:~# xl pci-assignable-list
0000:01:00.0
Add the following line to your DomU's Config:
pci = [ '01:00.0' ]
====Known Issue with LSI Controllers====
As the Kernelmodule for LSI Controllers is built into the Alpine Initramfs, the real Module is loaded before the pciback Module can be assigned.
<BR>You'll need to blacklist the mpt2sas module in /etc/modprobe.d/blacklist.conf and rebuild your initramfs.
node03:~# grep sas /etc/modprobe.d/blacklist.conf 
blacklist mpt2sas
node03:~# mkinitfs 
==> initramfs: creating /boot/initramfs-grsec
11538 blocks
33641 blocks
Category:Virtualization
Xorg

== Video Drivers ==
To install X11 based desktop, you may want to install specific Xorg xf86 driver packages for your video card's chipset, as they may support specific features, effects and acceleration modes, and avoid error messages during X initialization. However, the most basic X features should work fine with just using the default kernel video-modesetting drivers. 
To see available xf86 video driver packages run:
* For Sis video chipset install 
* For VMware guests use 
* For VirtualBox guests use . Refer VirtualBox guest additions
* For Hyper-V guests use . Refer Hyper-V guest services.
* For KVM/QEMU guests refer Xorg within QEMU
== Input packages ==
If the Numlock settings are not working, or getting 'setleds not found' errors:
If some input device is not working at all, the available xf86-input drivers can be listed with:
You probably at least want or 
libinput is for Wayland with wrapper for Xorg. evdev is Xorg only.
Typical legacy drivers (not packaged. at least as of 2/2022):
And for touchpad tapping support on many laptops, also:
== Configure xorg-server (optional) ==
On most systems, xorg should be able to autodetect all devices. However you can still configure xorg-server by hand by launching:
This will create a file. You can modify this file to fit your needs.<BR>
(When finished modifying and testing the above configuration file, move it to for normal usage.)
== Keyboard Layout (optional) ==
If you use a keyboard layout different than "us", and you are using a window manager or desktop environment that does not support to configure the keyboard layout itself, then you need to
* Enable the "community" repository
and install setxkbmap:
Then try
In order to make it persistent add this section to :
Another way to change the keymap when logging into X is to use . The following example loads a British keymap, simply add this line to the beginning of the file:
setxkbmap gb &
If you need to create the file, you may also want to add a second line like exec openbox-session to still start the window manager with startx or xinit.
category:Graphics
category: Drivers
category: Desktop