Mercurial > ~samis > hgweb.cgi > blag
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 |
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/). |