annotate posts/Bedrock_Linux.md @ 47:8abe80157501

guess who doesn't preview :(
author Samuel Hodgkins <samuel.hodgkins@sky.com>
date Sat, 07 Apr 2018 02:58:47 +0100
parents 2307e281b4b7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
2307e281b4b7 tagify all the things
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents: 2
diff changeset
1 [[!tag tech linux bedrock old]]
2
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
2 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
3 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
4 (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
5
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
6 This has some advantages:
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
7
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
8 - 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
9 - 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
10 - 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
11
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
12 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
13 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
14 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
15
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
16 - 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
17 - 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
18 - 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
19
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
20 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
21 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
22 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
23 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
24 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
25
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
26 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
27 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
28 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
29
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
30 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
31 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
32 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
33 - 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
34
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
35 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
36 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
37 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
38 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
39 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
40
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
41 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
42 (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
43 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
44
6891988cc526 Add first draft of old 'Bedrock Linux' post.
Samuel Hodgkins <samuel.hodgkins@sky.com>
parents:
diff changeset
45 Should you wish to find out more, there's plenty of documentation [here](https://bedrocklinux.org/).