Daily driver guide: Difference between revisions

From Alpine Linux
m (→‎Sandboxing: Fix red link.)
(replaced quickstart by setup-desktop)
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
Many people think that Alpine is only made for containers and servers, but it is actually a general purpose distro which can definitely be used as a daily driver.
<!-- COMMENT FOR EDITORS
Alpine is extremely small, simple and resource-efficient, making it easy to customize.


{{Note|This guide assumes you have already installed a minimal Alpine system by following the [[Installation|Installation guide]]}}
If you edit Post-Install,


== General system changes ==
Changes Made on this page also affects the Post-Install section of [[Installation|Installation guide]]. So, check that page too before making changes.
=== Set up your own user ===
When running <code>setup-alpine</code> there was an option to create a user.
If you didn't make one, you can do it now:
{{cmd|# adduser <username>}}


Then, you need to give your user access to temporary root privileges:
  * Consider that there are already [[Tutorials_and_Howtos#Post-Install]], [[Developer_Documentation#Package_management]] and the Handbook, please work towards reducing duplication and providing an overview, and maintaining topic details of considerable size on their own pages.
{{cmd|# adduser <username> wheel}}
  * Here, only the most relevant jumping off points are listed, not exact list duplicates!!!
If you are using <code>doas</code> then it will most likely work instantly, if using <code>sudo</code> then you will need to follow the [[Setting_up_a_new_user#Creating_a_new_user|install instructions]]
  * Keep short-list of links here, as overview to more detailed topic specific pages.
  * Don't aggregate different topics at yet another place.


=== Locking the root account ===
-->
To lock the root account you need to log into your account and then lock it using the <code>passwd</code> command:
{{cmd|# passwd -l root}}


=== Glibc compatability ===
Many people think that Alpine is only made for containers and servers, but it is actually a general purpose distro which can definitely be used as a daily driver.
Installing the <code>gcompat</code> package adds a compatability layer which (sometimes) lets you run binaries as normal:
{{cmd|# apk add {{pkg|gcompat|arch=}}}}


Another way is to use [[Flatpak]]. It is a program distribution technology which uses a universal package format that is compatible with any Linux system.
Alpine is extremely small, simple and resource-efficient, making it easy to customize.  


== Install a Desktop Environment/Window Manager ==
{{Note|This guide assumes you have already installed a minimal Alpine system by following the [[Installation|Installation guide]]}}
The preferred way to install a Desktop Environment is by using the <code>setup-desktop</code> script:
{{cmd|# setup-desktop}}
If it does not have the Desktop Environment (or Window Manager) you want, [[Desktop environments and Window managers|follow the specific installation instructions for it]].
 
After installation you should probably install some fonts (because some fonts may not be installed).
This is a good set of fonts for most setups:
{{cmd|# apk add {{pkg|font-terminus|arch=}} {{pkg|font-inconsolata|arch=}} {{pkg|font-dejavu|arch=}} {{pkg|font-noto|arch=}} {{pkg|font-noto-cjk|arch=}} {{pkg|font-awesome|arch=}} {{pkg|font-noto-extra|arch=}}}}
 
== Securing your system ==
=== Firewall ===
There are two main options: [[How-To_Alpine_Wall|awall]] or [[Uncomplicated Firewall|UFW]].
Please follow their wiki guide for installation and usage.
 
=== Sandboxing ===
The two choices are either [[AppArmor]] or [[Bubblewrap]].


AppArmor is more convenient but has less control than Bubblewrap.
==== Basics ====
Bubblewrap is harder to work with but has more control than AppArmor.
* Create a non-privileged [[Setting_up_a_new_user#Creating_a_new_user|user account]] for security reasons.
* Learn the [https://docs.alpinelinux.org/user-handbook/0.1a/Working/apk.html alpine package keeper basics] or refer [[Alpine Package Keeper|apk wiki]] for more details.
* Ensure that <code>community</code> repository is [[Repositories#Managing_repositories|enabled]]
* Install [[graphics driver]] for your video hardware.
* Install a desktop using [[Setup-desktop]] or manually install a [[Desktop environments and Window managers|desktop]] of your choice.
* [[fonts#Installation|Install]] some [[fonts]].
* Setup [[PipeWire]] to manage your audio, if setup-desktop did not install it for your already or you installed your desktop environment manually.
* Configure your [[Bluetooth]], if you have one. Also check [[PipeWire#Bluetooth_audio|pipewire bluetooth]], if needed.
* Configure your [[Printer_Setup|printer]].
* Enable [[Alpine_Linux:FAQ#Why don't I have man pages or where is the 'man' command?|docs]], so man pages are available.
* To keep your system secure, regularly [[Alpine_Linux_package_management#Upgrade_a_Running_System|check and apply updates]] with the package manager.
==== Advanced ====
* If you find busybox lacking in features or options, it is easy to [[How to get regular stuff working|get regular stuff working]]
* Use [[Flatpak]] to add packages that are not in the [[Repositories#repositories|repositories]].
* Install {{pkg|gcompat|arch=}} package to add a glibc compatability layer which lets you run [[Running glibc programs|glibc binaries]] as normal.
* Secure your system by installing firewall software like [[How-To_Alpine_Wall|awall]] or [[Uncomplicated Firewall|UFW]].
* Install a sandboxing application like [[AppArmor]] or [[Bubblewrap]].
* Learn [https://docs.alpinelinux.org/user-handbook/0.1a/Working/openrc.html basics of openrc],  the alpine Linux init system or refer [[OpenRC|Open rc wiki]]
* If You may want the rolling release version of Alpine Linux, [[Repositories#Managing_repositories|enable]] the [[Repositories#Edge|Edge]] repository.
* You may want to [[Repositories#Managing_repositories|enable]] the [[Repositories#Testing|testing ]] repository, as it provides a lot more applications.  


Bubblewrap has a simpler GUI frontend called {{pkg|bubblejail|arch=}}. It is easier to use than Bubblewrap, but may sometimes be a little unstable.
[[Category:Desktop]]
When installing Bubblejail, you first need to install the dependencies listed [https://github.com/igo95862/bubblejail/blob/master/docs/distro_notes/alpine.md here].
[[Category:Newbie]]

Latest revision as of 06:58, 11 September 2024


Many people think that Alpine is only made for containers and servers, but it is actually a general purpose distro which can definitely be used as a daily driver.

Alpine is extremely small, simple and resource-efficient, making it easy to customize.

Note: This guide assumes you have already installed a minimal Alpine system by following the Installation guide

Basics

Advanced