Post installation: Difference between revisions
(→Groups) |
(Fix formatting, improve wording) |
||
Line 5: | Line 5: | ||
== General Notes == | == General Notes == | ||
* When '''#''' is displayed before a command that means the command needs to be run with root privileges | * 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) | * 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 | * 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> | <br> | ||
Line 29: | Line 29: | ||
<br> | <br> | ||
== Creating a new user account == | == 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, | After installing Alpine by default you only get a root account. You will probably want to create an account that is not root, | ||
Line 38: | Line 38: | ||
<br> | <br> | ||
You will probably want to install '''doas''' so you can allow <YourUsername> to use root privileges | You will probably want to install '''doas''' so you can allow <YourUsername> to use root privileges: | ||
{{cmd|# apk add doas}} | {{cmd|# apk add doas}} | ||
<br> | <br> | ||
If you want your user to be able to use root privileges add them to the | If you want your user to be able to use root privileges, first add them to the '''wheel''' group: | ||
{{cmd|# adduser <YourUsername> wheel}} | {{cmd|# adduser <YourUsername> wheel}} | ||
<br> | <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}} | {{cmd|# <editor> /etc/doas.d/doas.conf}} | ||
Add the following line and save the file: | |||
{{cmd|permit persist :wheel}} | {{cmd|permit persist :wheel}} | ||
<br> | <br> | ||
To switch to your new account, type '''exit''' in the shell and login as the new user. | |||
<br> | <br> | ||
Line 63: | Line 66: | ||
==== Groups ==== | ==== Groups ==== | ||
Groups are needed for certain operations on your system (e.g <code>audio</code> to manage your system audio) | 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}} | {{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 | {{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 | lp:x:7:lp If you need use printing services and printers management | ||
floppy:x:11:root | 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 | 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 | 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 | 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 | 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, | 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 | 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 | kvm:x:34:kvm Only if as normal user will manage graphically virtual machines. Rarely used on servers | ||
Line 79: | Line 82: | ||
cdrw:x:80: To write RW-DVD, RW-BR or RW-CD disk on a disk writing device | 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 | 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: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 | 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) }} | input:x:23 Needed if you want your mouse and keyboard to work in a graphical desktop environment (xorg only? idk) }} | ||
Line 95: | Line 98: | ||
The Alpine software repositories have three branches: | The Alpine software repositories have three branches: | ||
* '''Main''': Main packages are the Alpine software that | * '''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. | * '''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 | * '''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> | <br> | ||
By default only the '''main''' repository is enabled | 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> | <br> | ||
Line 111: | Line 114: | ||
{{cat|/etc/apk/repositories|http://dl-cdn.alpinelinux.org/alpine/v3.15/community}} | {{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}} | {{cmd|# <editor> /etc/apk/repositories}} | ||
Line 128: | Line 131: | ||
#http://dl-cdn.alpinelinux.org/alpine/edge/testing}} | #http://dl-cdn.alpinelinux.org/alpine/edge/testing}} | ||
{{Note|The edge repositories contain unstable and/or possibly untested packages | {{Note|The edge repositories contain unstable and/or possibly untested packages. Use at your own risk!}} | ||
<br> | <br> | ||
To avoid having to manually update the verison in '''/etc/apk/repositories''' for each Alpine Linux update, change '''v3.15''' to '''latest-stable''' | To avoid having to manually update the verison in '''/etc/apk/repositories''' for each Alpine Linux update, change '''v3.15''' to '''latest-stable'''. | ||
Example: | Example: | ||
Line 142: | Line 145: | ||
#http://dl-cdn.alpinelinux.org/alpine/edge/testing}} | #http://dl-cdn.alpinelinux.org/alpine/edge/testing}} | ||
{{Note|Changing the repositories to latest-stable may initiate unexpected release upgrades | {{Note|Changing the repositories to latest-stable may initiate unexpected release upgrades. Do this at your own risk!}} | ||
<br> | <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''' | 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: | Example: | ||
Line 156: | Line 159: | ||
#https://dl-cdn.alpinelinux.org/alpine/edge/testing}} | #https://dl-cdn.alpinelinux.org/alpine/edge/testing}} | ||
{{Note| | {{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> | <br> | ||
Once you have edited '''/etc/apk/repositories''' sync the repositories with: | Once you have edited '''/etc/apk/repositories''', sync the repositories with: | ||
{{cmd|# apk update}} | {{cmd|# apk update}} | ||
Line 169: | Line 172: | ||
==== Xorg ==== | ==== Xorg ==== | ||
Most desktop | 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> | <br> | ||
There | There are two ways you can get Xorg installed. | ||
<br> | <br> | ||
By default Alpine Linux provides a script that will install Xorg | By default Alpine Linux provides a script that will install Xorg. Run the following command to install Xorg: | ||
{{cmd|# setup-xorg-base}} | {{cmd|# setup-xorg-base}} | ||
Line 196: | Line 199: | ||
== Fonts == | == Fonts == | ||
If you plan to use a graphical environment you may need/want to install 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}} | {{Note|depending on the desktop environment/window manager fonts may or may not be installed automatically or as dependencies}} | ||
Line 211: | Line 214: | ||
== Sound == | == Sound == | ||
By default Alpine | By default Alpine does not come with any sound management out of the box. These are your options: | ||
* [[PipeWire]] | * [[PipeWire]] | ||
Line 217: | Line 220: | ||
* [[ALSA]] | * [[ALSA]] | ||
{{Note|If | {{Note|If you are unsure, {{Pkg|pipewire}} is the recommended option}} | ||
<br> | <br> | ||
Line 239: | Line 242: | ||
Some other miscellaneous things that might be useful: | 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. | 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|# apk add sed attr dialog bash bash-completion grep util-linux pciutils usbutils binutils findutils readline lsof less nano curl}} | ||
Line 251: | Line 254: | ||
== Troubleshooting == | == Troubleshooting == | ||
==== I | ==== 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 | 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>}} | {{cmd|# chown <YourUserName> /home/<YourUserName> && chmod 700 /home/<YourUsername>}} |
Revision as of 20:06, 16 March 2022
This material is work-in-progress ... Still might be missing some things but (i think) it is mostly complete |
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.
Network setup
Wi-Fi
Ethernet (Wired)
This material needs expanding ... Documentation on Ethernet (Wired) internet setup needs to be created/expanded, maybe information from other wiki's/docs might be helpful? |
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,
# adduser <YourUsername>
You will probably want to install doas so you can allow <YourUsername> to use root privileges:
# apk add doas
If you want your user to be able to use root privileges, first add them to the wheel group:
# adduser <YourUsername> wheel
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:
# <editor> /etc/doas.d/doas.conf
Add the following line and save the file:
permit persist :wheel
To switch to your new account, type exit in the shell and login as the new user.
Groups
Groups are needed for certain operations on your system (e.g audio
to manage your system audio). Below is a list of groups:
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)
To add your user to a group use the following command:
# adduser <YourUsername> <group>
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.
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.
(Example) Disabled:
Contents of /etc/apk/repositories
(Example) Enabled:
Contents of /etc/apk/repositories
To edit the repositories, open the /etc/apk/repositories
file in a text editor:
# <editor> /etc/apk/repositories
Example default configuration:
Contents of /etc/apk/repositories
To avoid having to manually update the verison in /etc/apk/repositories for each Alpine Linux update, change v3.15 to latest-stable.
Example:
Contents of /etc/apk/repositories
For security reasons, it may be a good idea to change the url's from http to https
Example:
Contents of /etc/apk/repositories
Once you have edited /etc/apk/repositories, sync the repositories with:
# apk update
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.
There are two ways you can get Xorg installed.
By default Alpine Linux provides a script that will install Xorg. Run the following command to install Xorg:
# setup-xorg-base
or
# apk add xorg-server xorg-server-common xorg-server-dev xorgproto xorgxrdp xorgxrdp-dev
Wayland
See also: Wayland
This material needs expanding ... Wayland documentation needs to be expanded |
Fonts
If you plan to use a graphical desktop environment, you may need/want to install fonts.
See: Fonts
Installing a desktop environment or window manager
See: Desktop environments and Window managers
Sound
By default Alpine does not come with any sound management out of the box. These are your options:
Language support
This material needs expanding ... Please feel free to help us complete it. |
- Fix unicode defaults:
sed -i 's/#unicode="NO"/#unicode="NO"\nunicode="YES"/' /etc/rc.conf
apk add musl-locales
Installs a limited set of locales (languages) for musl (C library) generated console messages.- Listing defined locales is possible with
locale -a
cp /etc/profile.d/locale.sh /etc/profile.d/locale.sh.sh
Copies the default locale settings. Then the custom override file can be editednano /etc/profile.d/locale.sh.sh
.apk add lang
Pulls in the translation packages of all installed packages.apk list hunspell*
To list available hunspell dictionary packages.apk list *-xy *-xy-*
To list translation packages for your specific (xy) language (for example, pt for Portuguese).
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:
# apk add sed attr dialog bash bash-completion grep util-linux pciutils usbutils binutils findutils readline lsof less nano curl
$ export PAGER=less
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:
# chown <YourUserName> /home/<YourUserName> && chmod 700 /home/<YourUsername>
or
# chown <YourUserName> /home/<YourUserName> && chmod 750 /home/<YourUsername>