This repository has been archived by the owner on Jan 30, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathlinux.Rmd
122 lines (85 loc) · 6.06 KB
/
linux.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
---
title: "Linux Setup"
author:
name: "Thomas Roppelt"
affiliation: "Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)"
date: "`r format(file.info('linux.Rmd')$mtime, '%d %B, %Y')`"
bibliography: library.bib
---
```{r setup, echo = FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
## Linux distributions (distros)
Looking at Linux distributions and deciding for one can be a daunting task for newcomers.
Here are some key differences between distributions:
### Release Model
The release model decides how frequently updates reach your system.
Frequent smaller updates are called rolling release.
If only very big updates are released, it is a point or major release model.
Also, distros can either focus on well-tested and known software, while others focus on the bleeding edge.
### Basis and forks
This is where a lot of names are being dropped, e.g. Arch, Debian, RedHat.
While it is not important to remember every name in the beginning, it is important to understand the concept.
If a distribution derives from another distribution, it is called a fork (similar to the git concept).
The basis of a distribution defines e.g. which system tools you have available and thereby also which software packages you can install in general.
[See the linux distribution timeline](https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg) to make out which distro forked from where.
Example:
Manjaro Linux is based on Arch Linux.
Therefore, it is a fork of Arch.
And while it has its own software repository, due to being derived from Arch it can also install software packages from the Arch User Repository.
However, it is not related to Ubuntu, a fork of Debian.
Refer to the distro timeline image to see how distros are related.
Related distros have similar tools and may install the same packages.
So it is basically not possible to install Debian packages in Manjaro, since they are not related.
Luckily there are almost always ways to work around such limitations in case you need a specific program.
### Design principles
Each distro has its own principles.
Some try to be as beginner-friendly as possible (e.g. Ubuntu) and take a lot of choices from the user, while others encourage users to really learn the system (e.g. Arch).
Pick a distro and read a little about it to find one that you believe suits your needs.
### User interface
This is might be the most surprising aspect about linux and it is a big difference to other operating systems.
Looking at a distro, you see its Desktop Environment.
In the Linux world, this is just like another package you can install or remove anytime.
So if you find a distro that has everything you need, but does not look pleasing to you, there is a good chance you can install a different Desktop Environment and have the same system with different looks.
Summing it up, there are quite substantial differences between the linux distributions.
Since it is impossible to understand every linux distro in the necessary detail to make an informed decision, think about what you really need and then just get started.
### Resources
Here are some resources to help you with the first steps.
- [DistroWatch](http://distrowatch.org/).
This page has all the distros and sorts them by popularity. You will find key information about the distros and useful user ratings here.
- [A linux beginner's guide article](https://www.pcworld.com/article/2918397/how-to-get-started-with-linux-a-beginners-guide.html)
- [Overview about the best linux distros 2019](https://linoxide.com/linux-how-to/what-are-best-linux-distros/)
- [Choose the best linux distro for your need](https://www.lifewire.com/choose-best-linux-distro-for-needs-2201172)
- [Choose the best linux distro for beginners in 2019](https://techlog360.com/linux-distro-beginners/)
- [Great and easy-to-understand comparison between several distros](https://haydenjames.io/best-linux-distro/)
## Tools
Software should ideally be installed via the package manager that comes with your distro.
Using package managers is more secure and faster than downloading the software from some website.
So package managers should always be the starting point for installing software.
Some examples for package managers are:
- [pacman](https://wiki.archlinux.org/index.php/Pacman)
- [octopi](https://wiki.manjaro.org/index.php?title=Octopi)
- [APT](https://wiki.ubuntuusers.de/APT/)
- [homebrew](https://brew.sh/) (which now works for macOS *and* Linux)
### Backup
Backups are essential.
No matter if a system error was caused by an update or misconfiguration by the user, having a backup can save a lot of hassle.
- Software: *Timeshift*, [Link to GitHub Project](https://github.com/teejee2008/timeshift)
- Functionality: Timeshift makes it easy to create and restore backups.
By default it saves the system configuration, but it can also be configured to backup configuration and all your files.
While Timeshift offers a graphical interface, you may also use it via bash.
Frequent commands could be `timeshift --check` which will give you an overview about your existing backups as well as create one if needed.
Using the `--restore` function, you can restore an earlier state of your PC.
Knowing about restoring via bash is essential in case the GUI does not work anymore.
Calling `timeshift --help` will get you an overview about all the functions you may call.
- Comment: Put the Timeshift backups on an external medium, e.g. a USB-drive.
In case something goes horribly wrong, the backups won't be affected.
Also, having a "rescue system" ready can be helpful to restore these backups.
A rescue system can be e.g. a USB-Drive or even a disk with a bootable linux distribution on it.
Instructions how to create a bootable medium can be found on the website of most distros.
### Keyboard shortcuts
CTRL+ALT+F1 to F12 switch virtual consoles.
This means that with e.g. CTRL+ALT+F3 you get no graphical user interface, but only bash.
This can help in combination with bash restoring of backups if your system breaks.
### Resources
[Cheat sheet for essential linux commands](http://www.unixguide.net/linux/linuxshortcuts.shtml)