Post installation: Difference between revisions

From Alpine Linux
m (added command to check if a package has documentation available)
(blanked page as all content moved and added REDIRECT)
Tag: New redirect
 
(13 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Draft|Still might be missing some things but (i think) it is mostly complete}}
#REDIRECT [[Installation#Post-Installation]]
 
{{Note|This [[Post installation|Post Installation]] wiki page has been created, however, its information is better to be kept in their (even already existing!) own and individually manageable ("authoritative") topic pages and only directly referenced (linked) from the list in the [[Installation]] overview page. (Not to be duplicated here and to never get updated again!) If you would like to help with this process please go ahead.}}
 
== General Notes ==
 
* When '''#''' is displayed before a command, that means the command needs to be run with root privileges.
 
* Anything in < > is likely just a placeholder that you need to replace (example: <editor> file.txt).
 
* Some information in here might be a repeat of information in other wiki pages. If you find a section where that is the case, please add a link to the original wiki page.
 
<br>
 
== Network setup ==
 
==== Wi-Fi ====
 
* [[Wi-Fi]]
* [[NetworkManager]]
 
==== Ethernet (Wired) ====
 
{{Expand|Documentation on Ethernet (Wired) internet setup needs to be created/expanded, maybe information from other wiki's/docs might be helpful?}}
 
* [[Ethernet|Ethernet]]
* [[NetworkManager]]
 
<br>
 
== Creating a new standard user account ==
 
After installing Alpine by default you only get a root account. You will probably want to create an account that is not root,
 
{{cmd|# adduser <YourUsername>}}
{{Note|replace <YourUsername> with the username of your choice}}
 
<br>
 
You will probably want to install '''doas''' so you can allow <YourUsername> to use root privileges:
 
{{cmd|# apk add doas}}
 
<br>
 
If you want your user to be able to use root privileges, first add them to the '''wheel''' group:
 
{{cmd|# adduser <YourUsername> wheel}}
 
<br>
 
You will then want to allow members of the '''wheel''' group to use root privileges with '''doas'''. To do this, open the '''doas''' config file:
 
{{cmd|# <editor> /etc/doas.d/doas.conf}}
 
Add the following line and save the file:
 
{{cmd|permit persist :wheel}}
 
<br>
 
To switch to your new account, type '''exit''' in the shell and login as the new user.
 
<br>
 
==== Groups ====
 
Groups are needed for certain operations on your system (e.g <code>audio</code> to manage your system audio). Below is a list of groups:
{{Note|may be incomplete, if you see a group missing please add it along with a description}}
 
{{Cmd|disk:x:6:root,adm      Only if need usage with virtual machines and access to other partitions over new disks for
lp:x:7:lp              If you need use printing services and printers management
floppy:x:11:root      Backward compatible group, use only if need access to external special devices
audio:x:18:            Need for audio listening and management of sound volumes as normal user
cdrom:x:19:            For access to disk writers and mounting DVD, BR or CD-ROM disk as normal user
dialout:x:20:root      Need for dial private connections and use of modems as normal users
tape:x:26:root        Need this if planning to use special devices for backup. Rarely used on servers
video:x:27:root        For usage of cameras, more than one GPU special features, as normal user
netdev:x:28:          For network connections management as normal user
kvm:x:34:kvm          Only if as normal user will manage graphically virtual machines. Rarely used on servers
games:x:35:            Need if you want to play games also especially needed to share score between users
cdrw:x:80:            To write RW-DVD, RW-BR or RW-CD disk on a disk writing device
apache:x:81:          Need if you will perform development as normal user and want to publish locally on web server
usb:x:85:              Need to access to special USB devices, deprecated group
users:x:100:games      If you plan to used common files for all users, mandatory as desktop usage
input:x:23            Needed if you want your mouse and keyboard to work in a graphical desktop environment (xorg only? idk) }}
<br>
 
To add your user to a group use the following command:
 
{{Cmd|# adduser <YourUsername> <group>}}
{{Note|you need to log out for the group change(s) to take effect}}
 
<br>
 
== Repositories ==
 
The Alpine software repositories have three branches:
 
* '''Main''': Main packages are the Alpine software that have direct support and updates from the Alpine core and main team. They also have official special documentation, are always available for all releases and will have substitutions if some are not continued from upstream. Commonly, those packages are selected due to their responsibility and stability with respect to upstream availability. When those in ''testing'' perform well or are mature, they go to the ''main'' branch.
* '''Community''': Community packages are those made by users in concert with the official developers and integrated into the Alpine packages. They are user supported. Support could end if the user ends support with respect to Alpine work. For example, could not include substitution in next release due to lack of support by the upstream author. They are in ''edge'', and when accepted, go to the ''community'' branch.
* '''Edge''': New packages come into testing repositories of the edge Alpine version and are those made by any contributor or manpower on Alpine. The edge contains unstable current development content. This branch has no release linked or related to Alpine. They are in ''testing'' and when accepted, go to the ''community'' branch.
 
<br>
 
By default only the '''main''' repository is enabled. Most users will probably want to enable the '''community''' repository. To enable a repository, remove the '''#''' in front of the URL along with any blank space.
 
<br>
 
(Example) Disabled:
{{cat|/etc/apk/repositories|#http://dl-cdn.alpinelinux.org/alpine/v3.15/community}}
 
(Example) Enabled:
{{cat|/etc/apk/repositories|http://dl-cdn.alpinelinux.org/alpine/v3.15/community}}
 
<br>
 
To edit the repositories, open the <code>/etc/apk/repositories</code> file in a text editor:
 
{{cmd|# <editor> /etc/apk/repositories}}
 
<br>
 
Example default configuration:
 
{{cat|/etc/apk/repositories|#/media/cdrom/apks
http://dl-cdn.alpinelinux.org/alpine/v3.15/main
# http://dl-cdn.alpinelinux.org/alpine/v3.15/community
#http://dl-cdn.alpinelinux.org/alpine/edge/main
#http://dl-cdn.alpinelinux.org/alpine/edge/community
#http://dl-cdn.alpinelinux.org/alpine/edge/testing}}
 
{{Note|The edge repositories contain unstable and/or possibly untested packages. Use at your own risk!}}
 
<br>
 
To avoid having to manually update the verison in '''/etc/apk/repositories''' for each Alpine Linux update, change '''v3.15''' to '''latest-stable'''.
 
Example:
{{cat|/etc/apk/repositories|#/media/cdrom/apks
http://dl-cdn.alpinelinux.org/alpine/latest-stable/main
http://dl-cdn.alpinelinux.org/alpine/latest-stable/community
#http://dl-cdn.alpinelinux.org/alpine/edge/main
#http://dl-cdn.alpinelinux.org/alpine/edge/community
#http://dl-cdn.alpinelinux.org/alpine/edge/testing}}
 
{{Note|Changing the repositories to latest-stable may initiate unexpected release upgrades. Do this at your own risk!}}
 
<br>
 
For [https://en.wikipedia.org/wiki/HTTPS#Technical security reasons], it may be a good idea to change the url's from '''http''' to '''https'''
 
Example:
{{cat|/etc/apk/repositories|#/media/cdrom/apks
https://dl-cdn.alpinelinux.org/alpine/v3.15/main
https://dl-cdn.alpinelinux.org/alpine/v3.15/community
#https://dl-cdn.alpinelinux.org/alpine/edge/main
#https://dl-cdn.alpinelinux.org/alpine/edge/community
#https://dl-cdn.alpinelinux.org/alpine/edge/testing}}
 
{{Note|Some Alpine Linux package mirrors may not support HTTPS. If that is the case, you will need to revert back or change mirrors.}}
 
<br>
 
Once you have edited '''/etc/apk/repositories''', sync the repositories with:
 
{{cmd|# apk update}}
 
<br>
 
== Installing a Display Server (for graphical sessions) ==
 
==== Xorg ====
Most desktop environments (DE) or Windows Managers (WM) require Xorg (also called: X11, X). While in the future many will fully migrate to [[Wayland]], currently Xorg is still widely used.
 
<br>
 
There are two ways you can get Xorg installed.
 
<br>
 
By default Alpine Linux provides a script that will install Xorg. Run the following command to install Xorg:
{{cmd|# setup-xorg-base}}
 
or
 
{{cmd|# apk add xorg-server xorg-server-common xorg-server-dev xorgproto xorgxrdp xorgxrdp-dev}}
{{Note| the apk add method is probably incomplete}}
 
<br>
 
==== Wayland ====
''See also: [[Wayland]]''
 
{{Expand|Wayland documentation needs to be expanded}}
 
<br>
 
== Fonts ==
 
If you plan to use a graphical desktop environment, you may need/want to install fonts.
{{Note|depending on the desktop environment/window manager fonts may or may not be installed automatically or as dependencies}}
 
'''See: [[Fonts|Fonts]]'''
 
<br>
 
== Installing a desktop environment or window manager ==
 
'''See: [[Desktop environments and Window managers]]'''
 
<br>
 
== Sound ==
 
By default Alpine does not come with any sound management out of the box. These are your options:
 
* [[PipeWire]]
* [[PulseAudio]]
* [[ALSA]]
 
{{Note|If you are unsure, {{Pkg|pipewire}} is the recommended option}}
 
<br>
 
== Language support ==
 
{{Expand}}
 
* Fix unicode defaults: <code>sed -i 's/#unicode="NO"/#unicode="NO"\nunicode="YES"/' /etc/rc.conf</code>
* <code>apk add musl-locales</code> Installs a limited set of locales (languages) for musl (C library) generated console messages.
* Listing defined locales is possible with <code>locale -a</code>
* <code>cp /etc/profile.d/locale.sh /etc/profile.d/locale.sh.sh</code> Copies the default locale settings. Then the custom override file can be edited <code>nano /etc/profile.d/locale.sh.sh</code>.
* <code>apk add lang</code> Pulls in the translation packages of all installed packages.
* <code>apk list hunspell*</code>  To list available hunspell dictionary packages.
* <code>apk list *-xy *-xy-*</code>  To list translation packages for your specific (xy) language (for example, pt for Portuguese).
 
<br>
 
== Miscellaneous ==
 
Some other miscellaneous things that might be useful:
 
==== Basic tools ====
 
Alpine is a minimalist Linux distribution. If you expected a behavior like other Linux distributions, the similarity to them will be minimal at best. To install a selection of commonly used packages, run:
 
{{Cmd|# apk add sed attr dialog bash bash-completion grep util-linux pciutils usbutils binutils findutils readline lsof less nano curl}}
 
{{Cmd|<nowiki>$ export PAGER=less</nowiki>}}
 
 
==== Manual pages ====
 
Manual pages are not included in the base install, but are just an apk command away:
 
{{Cmd|# apk add man-pages mandoc}}
 
In case you want to check if a specific command/program/configuration file has man pages:
 
{{Cmd|$ man -k dd/curl/host.conf}}
 
 
When installing new packages, man pages will be only installed if you install the documentation package ('''-doc''') as well:
 
{{Cmd|# apk add vim vim'''-doc'''}}
 
To check if a certain package has documentation available to install:
 
{{Cmd|$ apk search tmux-doc
tmux-doc-3.2a-r0}}
 
== Troubleshooting ==
 
==== I don't have permission to do anything in my user's home directory! ====
 
By default the permissions of your new user(s) home directory may be limited to the root account. Run one of these commands to change that:
 
{{cmd|# chown <YourUserName> /home/<YourUserName> && chmod 700 /home/<YourUsername>}}
 
or
 
{{cmd|# chown <YourUserName> /home/<YourUserName> && chmod 750 /home/<YourUsername>}}
 
<br>
 
== See also ==
* [[Installation]]
* [[Alpine newbie]]
* [[Comparison with other distros]]
 
[[Category:Newbie]]
[[Category:Installation]]

Latest revision as of 04:17, 29 May 2025