annotate posts/Bedrock_Linux.md @ 2:6891988cc526

Add first draft of old 'Bedrock Linux' post.
author Samuel Hodgkins <samuel.hodgkins@sky.com>
date Sun, 27 Aug 2017 02:46:18 +0100
parents
children 2307e281b4b7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
1 I am very much a fan of Linux, using it as my primary OS on my computer. Obviously, I have used multiple distributions of it.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
2 Each distribution has it's own independent software library that is integrated with the package manager and the system as a whole.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
3 (Note: I am very much aware that Linux From Scratch and similar exists. I'm talking about the general case where *some* form of package manager/management exists. )
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
4
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
5 This has some advantages:
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
6
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
7 - No random downloading of installers/executables from the Internet like on Windows
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
8 - You can browse and search for available software
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
9 - Everything in the repositories follows a single set of standards / policies that the user can apply to any installed program.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
10
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
11 All in all, it's a very wonderful user experience. However, it isn't perfect. Repositories provided are always finite.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
12 They cannot and will not include every program that exists, nor include variations of included programs.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
13 This can very easily become a problem, such as in the following situations:
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
14
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
15 - You want a different version of the program than the one available in the repositories.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
16 - You want a program that simply isn't in the repositories.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
17 - You want a program that is in the repositories..but was created using options you want to change.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
18
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
19 If you enter this situation, there are many many ways to manage/deal with it, each having their own trade-offs/side-effects
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
20 but today I'm going to focus on one particular case:
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
21 You are a user on Distro X that has somehow got into one of the 3 situations described above.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
22 While browsing the internet for solutions, you see that a package from Distro Y would get you out of this situation.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
23 How do you install that package from Distro Y onto your Distro X installation?
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
24
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
25 Normally, you simply *can't*. Distro Y packages are built to work on that one only, there's no support for Distro X
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
26 and you can't even install it, since Distro X's package manager only supports the specific format used by Distro X.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
27 Even if you did get it to install, you'd have problems with dependencies and other cross-distro differences.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
28
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
29 At this point you might be asking, 'What is Bedrock Linux and how does it come into this' to which I answer this:
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
30 Bedrock Linux allows you to *combine* multiple installed distributions. You're not limited to just 'Arch Linux' or just 'Debian'.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
31 Instead, you can have both Arch and Debian installed and be using programs with each concurrently. Of course, those two are just examples
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
32 - you can have any number of distros concurrently installed and functioning.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
33
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
34 It should be obvious how this applies to the hypothetical situation above. For someone using Bedrock Linux, the above is mostly a non-issue
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
35 as packages from Distro Y can easily be installed - even if most of the packages on your system come from Distro X.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
36 The full story of how this is achieved is somewhat complex and involves decent amounts of filesystem manipulation but to simplify, each
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
37 distribution/chunk of files is called a _stratum_ in Bedrock Linux terms. Aside from special strata, each stratum is a self-contained installation of a distribution.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
38 The combination of multiple strata as a single system results in something that not only has a much deeper pool of software to draw upon and use, but can leverage the strengths provided by each individual stratum.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
39
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
40 Under Bedrock Linux, you can install Distro Y packages on a mostly-Distro-X system because that Distro Y package is installed into a complete functional installation of Distro Y.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
41 (and is accessible via a filesystem directory specially maintained by a Bedrock Linux component)
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
42 There are certainly many other potential applications and use cases for Bedrock Linux, but this is one of the more obvious and immmediately useful ones.
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
43
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
44 Should you wish to find out more, there's plenty of documentation [here](https://bedrocklinux.org/).