Mercurial > ~samis > hgweb.cgi > blag
comparison 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 |
comparison
equal
deleted
inserted
replaced
1:eabcf4d80c92 | 2:6891988cc526 |
---|---|
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. | |
2 Each distribution has it's own independent software library that is integrated with the package manager and the system as a whole. | |
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. ) | |
4 | |
5 This has some advantages: | |
6 | |
7 - No random downloading of installers/executables from the Internet like on Windows | |
8 - You can browse and search for available software | |
9 - Everything in the repositories follows a single set of standards / policies that the user can apply to any installed program. | |
10 | |
11 All in all, it's a very wonderful user experience. However, it isn't perfect. Repositories provided are always finite. | |
12 They cannot and will not include every program that exists, nor include variations of included programs. | |
13 This can very easily become a problem, such as in the following situations: | |
14 | |
15 - You want a different version of the program than the one available in the repositories. | |
16 - You want a program that simply isn't in the repositories. | |
17 - You want a program that is in the repositories..but was created using options you want to change. | |
18 | |
19 If you enter this situation, there are many many ways to manage/deal with it, each having their own trade-offs/side-effects | |
20 but today I'm going to focus on one particular case: | |
21 You are a user on Distro X that has somehow got into one of the 3 situations described above. | |
22 While browsing the internet for solutions, you see that a package from Distro Y would get you out of this situation. | |
23 How do you install that package from Distro Y onto your Distro X installation? | |
24 | |
25 Normally, you simply *can't*. Distro Y packages are built to work on that one only, there's no support for Distro X | |
26 and you can't even install it, since Distro X's package manager only supports the specific format used by Distro X. | |
27 Even if you did get it to install, you'd have problems with dependencies and other cross-distro differences. | |
28 | |
29 At this point you might be asking, 'What is Bedrock Linux and how does it come into this' to which I answer this: | |
30 Bedrock Linux allows you to *combine* multiple installed distributions. You're not limited to just 'Arch Linux' or just 'Debian'. | |
31 Instead, you can have both Arch and Debian installed and be using programs with each concurrently. Of course, those two are just examples | |
32 - you can have any number of distros concurrently installed and functioning. | |
33 | |
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 | |
35 as packages from Distro Y can easily be installed - even if most of the packages on your system come from Distro X. | |
36 The full story of how this is achieved is somewhat complex and involves decent amounts of filesystem manipulation but to simplify, each | |
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. | |
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. | |
39 | |
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. | |
41 (and is accessible via a filesystem directory specially maintained by a Bedrock Linux component) | |
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. | |
43 | |
44 Should you wish to find out more, there's plenty of documentation [here](https://bedrocklinux.org/). |