Mercurial > ~samis > hgweb.cgi > blag
annotate posts/Bedrock_Linux.md @ 34:226daad31c1b
Fix a missed typo.
| author | Samuel Hodgkins <samuel.hodgkins@sky.com> | 
|---|---|
| date | Wed, 25 Oct 2017 03:55:34 +0100 | 
| parents | 2307e281b4b7 | 
| children | 
| rev | line source | 
|---|---|
| 13 
2307e281b4b7
tagify all the things
 Samuel Hodgkins <samuel.hodgkins@sky.com> parents: 
2diff
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/). | 
