A "Tyro" Community Blog

Greetings Folks! I’m Tyro!

According to Webster, Tyro means “: a beginner in learning : novice”, which… folks, this is a sure understatement. In fact, it may be far too generous. TotallyF’nClueless would probably be a better name at the moment. But, in time, with help… with generous amount of help really, not to mention all the efforts I’m going to need to make, to push, and enforce through so much information past this rind and skull… that cluelessness should fade in some amount. And… as I’ll always be a beginner in learning something, it seemed about right. It’s about my present knowledgeable state, but also about a philosophical consideration too. And, in my choosing of it to be my identifier here, it’s also a question. How will this name look to me, to you, 5 years from now? I look forward to answering that, should I be able.

I am here to learn. This, I hope, is to be my self teaching grounds. I hope I’ve chosen wisely. I hope I can do all I wish to achieve. I hope I don’t destroy what… is very very expensive to replace, if I could at all. I hope I hope I hope, so, indeed… I’m certainly at ground floor in my learning. All I have right now is hope.

Yet, that’s not entirely fair to myself. I’ve been in some way self teaching about these silicon contraptions since. Oh… must be about around when my father was tinkering about with his Gateway PC. The Box was a COW! moo. Then after that, back when TechTV was a thing, Leo Laporte and whatever endeavors he was working on helped get me up to speed on all things tech. Still does, thanks to twit .tv, though I must admit I don’t really consume upon as much as I probably should.

And, indeed, in retrospect, I also did some pretty fancy “Kiddie Hacker” stuff overclocking a laptop (Thanks Guru3d)… I now know I could have caused it to burst into flames, what I did then was far riskier then I realized… but, I eventually did get the end result. New visual options in the games I was playing at the time, which were disabled at default spec. My young self did a victory lap for that, it was just so cool.

Then to now, I find myself in a strange state in my understanding. One where, I can smell the greener grass, but know not the journey I need to take. I can walk on my own two feet, and am aware of names, of a little basic surface this and that. But the passes, pitfalls, warnings… I need my own fellowship here to throw this ignorance into the fire! It’s a most uncomfortable gray, knowing enough to know you don’t know about (off the top of ones head)…

  • Virtual Machines
  • Memory Partitions
  • Home Servers
  • Networking
  • File Systems
  • Linux
  • Command Line
  • World Domination

Some pretty broad things in there, I know. That’s just a taste, the real nitty gritty is next.


The day I created my account, this account right here, was the day I got my Framework 16 Laptop. It’s to be my hands on playground, for the moment. Also relevant, is my AMD Ryzen Threadripper 1950X PC, which now grows long on the tooth in some ways, and in others still can hold it’s own, configured properly. Oh, and one more thing, from this point on -if it is in my wise power to do so- upon any computer I administrate, Windows (at the very least) will NEVER touch bare-metal again. Admittedly, that is a well aired rant for another day, short to say I remember when the idea was to make sure you weren’t installing a virus, even if a-bit a useful one.

Alright! So enough reminiscing, history lessons, hows and whys and BEHOLD; My Ambition! (For-which-I-am-too-stupid-to-reliably-fulfill-at-present-per-mentioning-in-my-previous-utterances.)

TL;DR (#1)

Framework 16 Laptop

  • It’s a modular laptop, so let’s go all in. I’ve got 96GB of unofficially supported (max size officially supported is 64GB) ram, and gosh darn it, I mean to use it! The Proxmox Virtual Environment will be it’s primary, and from there, an assortment of OS’s to play with. Ubuntu, CentOS, Debian, Fedora, and… ultimately… NixOS. HUGE learning potential, both in the process of implementation and resource. If I screw up, just make a new machine. I also intend to add a VERY locked down Modern Windows, as well as create an image of the (as I can’t seem to find my installation media) Windows 10 LTSB (note the “B”) OS I have running on my Threadripper Computer.

Framework 16 Laptop Notes/Stretch Goal

  • Frankly, what I would like to do may very well be overkill. Windows exists for me run my Windows exclusive programs, so frankly, I could very well focus instead on just bare-metal Linux, and use Docker Containers… as I understand it, I don’t know, to run whatever Windows exclusive program nonsense I want. But, again… I know names of things, not what it takes for the use of things. I’m going to screw up, and hard, so… I need to start with something that will let me do that without harm. Hopefully.

I’ll also add here that I’ve already installed Ubuntu LTS (only due to Framework offering full support) with in a partition (thanks internet). I have mostly no idea what a partition is, if the sizes I chosen are too big, too small, what anything means. Big Ol’ guessing with interspersed knowledge, plus the little help I got from the guide I found. I’ve done this as to test the hardware, make sure all things come on, not to mention… as EVERYTHING is new here, I need a back up in case I screw up the Proxmox Virtual Environment implementation.

WOO! Neck deep baby!

As for my AMD Ryzen Threadripper 1950X PC, well, a moment of preamble. This PC has been… in a holding pattern for quite some time. I knew the risks when I managed to, through official channels now gone, to get Windows 10 LTSB on this machine. I knew that at some point, things that I would need to update on here would start to break, and I had a plan for that in getting updated “LTSB” (LTSC) versions . What I didn’t plan on, for reasons, was the extensive *uckery against the word “Perpetual”. If uninstall or in anyway edit some of my Perpetual Standalone products, I won’t be able to put them back on thanks to Greed-tastc *uckery. And since this has been, before now, my ONLY computer, all I could do was wait, and save what cash I could. All in all, inadvertently trapped.

But now?

Ahh! After 10,000 years I’m free! Time to conquer Earth!..er, um… *Ahem* I mean, here is what I’m thinking about doing with my…

TL;DR (#2)

AMD Ryzen Threadripper 1950X PC

  • 64 Gigs of Ram, Plenty of CPU Cores, not to mention the workstation Vega GPU (the !only! card I could get at the time ~_~), this thing was made to gallop. Even 6 or 7 years later, there is still a fair amount of room to play with here, configured correctly. The laptop comes first, but, provided I learn my learnin’, I’d like to (some option of, mix and match?)…
  • Proxmox Virtual Environment
  • Docker Containers
  • Media Server

…and to really stretch things…

  • Build my own “AI” Generator
  • Build my own Smart Home Hub, with Octave/Code Keyed Voice Commands.
  • Build Human Shaped Automaton; commence world domination, over throw governments, and distribute free ponies/puppies/platypuses.

Admittedly, I’m so seemingly far away right now to ripping apart this machine into something new in purpose, that I’ve not put too much thought in what its new life or extent of purpose shall be. Just vague ideas and stretch goals at this point. I just know that since I have it, might as well use it.

…Well Gee, that is a lot of stuff, anything else? /s…

Well, actually, yeah. I wanna build my own router and flash it to Openwrt. Or maybe I’ll get something from pfSense or opnsense? Then Pi-Hole. WireGuard. All that jazz. It might be a Pi or some miniform or something else.

And, I know NONE of how to do this, just names really. Have I said that already?

…Heh heh heh, well, at least I’ll have something to do. ¯\_(ツ)_/¯

Conclusion

I know. It’s a whole lot. Probably fair to wager that all I want to learn is a solid few semesters worth of Information Technology stuff from all sorts of disciplines. And that I want to do this, to teach myself this tech, this protocol, this how and why and what it means and how one thing effects another… now that I have the ability to hands on with out fear.

I recognize that this project, this… massive massive project in whole, built among many parts, might be too big for even here. How do I learn all this without spamming this forum with my questions? Can I? Can I and still learn? How much to I leverage in search, against making a post (or bumping a post) and asking the direct question? I don’t know.

But! As someone who has been conceptualizing for far longer then he ever wanted, let me tell ya, at the end of the day, the only way to do it, is to do it. And then adapt to the result as needed. And my excitement is palpable.

Taking chances, making mistakes, and getting very very messy,

~Tyro

1 Like

Welcome to the forum!

:eyes:

You do realize that you won’t have a desktop environment on it, do you? You’ll have to access proxmox from the LAN from another PC, or install a desktop on it and access it in a browser on localhost.

Nice.

Mine’s a beefy hypervisor. Runs anything from Windows VM, virtualized infrastructure (like ceph) and a few other stuff.

Not to be an elitist, but run either a Linux or BSD distro on it directly, instead of going pfsense or opnsense. Otherwise, run OpenWRT. I’d say make a VM in proxmox and try that as a first step.

1 Like

World Domination

Ahhh, uh… blasted auto correct, it’s… uuuHHH world peace! Yeah! World peace. Don’t know why it autocorrected to world domination, heh heh.

Framework 16 Laptop … The Proxmox Virtual Environment will be it’s primary, and from there, an assortment of OS’s to play with

Aware of the default? Yes. Honestly the biggest question I have is the networking component in the set up. I’ll get to what I’ve found in a moment, but, I think I should note that Proxmox is actually a recent-ish change for me. At one point I was debating using Qubes or some combo with Xen/KVM/Kubernetes…THING. Names I know of, but… what to choose?

I know the jest of what I want… a Type One Hypervisor desktop environment, Ventoy but with the management and roll-back options of a VM, one window/screen has linux, another window/screen has windows, both hosted on the same machine running what I need to run… thing. The ability to play with this fascinating technical sandbox without fear, in the means I have to bare. But I don’t know what I would need to know software wise to make it happen. I’ve even debated using Unraid, not as a media server, but for OS hosting. I’m a terribly un-earned hacker that just wants to get shit to work, but I gotta earn my keep by learning how to do the thing, so that I can have an environment to learn the things. It’s quite frustrating.

So why Proxmox? Something I found in my searches. I don’t have the permissions to properly provide links here yet, so I’ve added some spaces to https: //pveproxmox. com/wiki/Developer_Workstations_with_Proxmox_VE_and_X11

“In some case it makes sense to have a full desktop running on Proxmox VE, for example for developers using Proxmox VE as their primary workstation/desktop.”

To me, this sounds like what I was looking for, that there was some alternate way to configure Proxmox to run with a GUI and without a dedicated server. Couldn’t seem to find any videos of anyone following this through to confirm so… taking chances, making mistakes, and getting very very messy, indeed.


Having said all that, here is a preemptive question I’ll answer, Why a Type 1 Hypervisor? Why not a Type 2? Sure would be alot easier for a beginner such as myself.

One of the few perks of being SO clueless is… no bad habits. The slate is clean, baby! And everything I do right now is foundational.

I do (me thinks) know enough to know I have two, two and one half options before me. The “one half” is running Linux bare metal, and just have Docker Containers. Then there is the Type 2, with Linux bare metal then Virt then Virt-Windows. Then finally, Type 1, bare metal Virt and… any and as many operating systems as my system can hold.

When it comes to options, the use of resources, and even… I am going to fail. I am going to screw stuff up, misconfigure things, screw up a command, what have you… the Type 1 offers the options I seek in spades, far as I can tell. So, if I’m going to learn something, I might as well go learn on the thing that allows the forgiveness. And what if I screw up configuring the type 1 hypervisor? I’m going to add a GUI, at least to start.

New Computer. I’m going to check and re-check, but hey, I screwed something up? Provided I’m not in too deep (and even then), wipe the whole gosh darn thing, start from scratch again. I’m going to learn me how to make a light bulb.

“You’re a kite dancing in a hurricane, Mister Bond.”

Thank you for calling this out though. There is alot to parse in this endeavor, and, tonight I’ll be double checking my notes, just to be sure.

I didn’t realize proxmox even supports such a thing. This is what I was suggesting you do (installing a desktop environment), but the proxmox folks got ahead of me. That’s also what I’d recommend if you are a beginner to virtualization.

The setup is not much different than just installing Debian with xfce (or mate) and running virt-manager, but instead of virt-manager, you are running proxmox.

||Updates||

Bottles & Darling

While going through my notes, and double checking a few things through the net, I came across yet another something that captured my present interest. Called “Bottles” (usebottles .com/), it manages “wineprefixes” to allow for windows software to run on Linux. Since I currently have a partitioned segment running Ubuntu (until i can figure out other things mentioned below), I decided… why not? Followed the instructions, installed Bottles. Since my interest is currently in other windows programs and not (yet) games, I tested bringing in an external program installer or two. Didn’t get any of them to work, but that’s definitely a me thing pushing boundaries undesignated for. I’ll keep poking at it, see if I can figure out if there is some dependency that I’m missing, for example.

One of my programs also has a Mac installer. Yet again, why not? I just want to use the programs and apps reasonably without performance loss, so if I can get something to run on a Mac layer and not a Windows layer, it’s still gravy. Search for programs which allow Mac stuff to run on Linux, find a program called “Darling” ( darlinghq .org/). Unlike Bottles, it requires a little more to get running, including actually building the program to then install. AAAAAaaaand… despite doing what I could to follow the directions, I screwed it up. And, because I’m currently only kiddie hacker knowledgeable, I see an error, am utterly clueless, and find myself painted in a corner. WHICH IS GREAT! As there is fair bit of learning to be had here… I’m going to yammer about that now.

Right now, as I write this, I know enough (maybe?) about the “concept” of the terminal, and all it’s “sudo” power, that when I was building Darling, I know that at one point I was in a folder in the terminal. “Blablah RootName>BlahBlah DarlingFolder:” sort of thing. And, I’m only saying that because I was happy that I was at least able to realize that. That I actually UNDERSTOOD something that I saw in the terminal. So, uh… baby steps. That was cool. One step closer to reading the Matrix.

(“Clone Jerry Shaking Clone Jerry’s Hand” Picture Goes here.)

What I realized though, as ever a person who has been “Windows” at least since the cow came home… I don’t know how to uninstall anything in Linux. …Which, WOW! IS WILD! I’m really going back to square one over here. And I also realized… what do I do with this “Darling” folder? In Windows if something didn’t install fully (for some reason), I already know I might try going through through the temp folder, or clear a cache, or what have you. But in Linux? I think… I think I can just delete it, but… I don’t know. And I don’t just want to “DO thing”, I want to UNDERSTAND “DO thing”, before “DO thing”. Granted, this concept is very malleable at the moment, as it needs to be so I can learn, but… eh. What does a digital stove look like hot? Is this a stove? And if it is, is it hot? This is where I am right now… is this a stove?

(“Butterfly Meme/ Is This a Pigeon?” Picture Goes here.)

This also brought tangibly to light why I want to do all the things in a Type-1 VM. Is there even a system to back up or roll-back in Linux? When stuff breaks, what do you do? I don’t even know those best practices either!? It’s a whole lot. Which… brings me to…

Online VM Vs Offline VM

At some point, I’d like to have my own Home Server, A NAS, plus some other third thing. But I am a ways away from such projects. Especially that third thing! Whoo boy! (Is it World Domination?)

Right now, one of my biggest kerfuffles is how, essentially, I’m wanting to use things that are intended for enterprise, on my laptop. And, spoilers folks, I am not an enterprise, and I certainly don’t have the ears for it! I’ve done what I can to figure out what free Type-1 Hypervisors there are out there right now; Proxmox, Xen, Kvm, oVert, XCP-ng, and Lguest.

As far as I’ve been able to find, of these with a GUI, their interface is Online Based. I have to connect to an IP to manage the VMs. And of the things with… it appears to me, an offline management, I think, I guess… KVM, there is little to no GUI that I can find. Is that because, apparently, KVM turns the Linux OS into a Type-1 Hypervisor. Is that right? Ugggg. I’ve searched and searched, and either it isn’t a thing or I’m missing some variable to add or consider in my search.

See, I was HOPING that while Proxmox does have that initial requirement setting things up online, that with the edits mentioned in a separate post above, I could use it offline, with all abilities to manage such VMs contained on that hardware without the online aspect. Now? Not so sure. And I really don’t want to put my dumb self under all that “effort” (Oh no! Buttons and Numbers!) setting up things that I know nothing about, words and prefixes, only to find that the loop I’ve signed up for is different from my needs. Plus… Networking is basically inscrutable to me right now, I just don’t even want to touch it. If it twitches, I’ll scream.

What do I want to do?

Well, that depends. Is there a way for me to Offline GUI control a Type-1 Hypervisor on non-enterprise hardware (in this case a laptop) so that I can run an assortment of Operating Systems? Or, essentially, Dual/Triple/Quad Boot, but way cooler. Also back ups and roll backs and magic technical wizardry “willing” machines into and out of existence. Plus, using Macrium Reflect to create a whole image of my current windows system to put into a VM, which… I think can be done.

If the answer is No, or, more likely a more complicated answer beyond my present technical “depth”, I’ll have to retool my aim. I’ll figure it out somehow. The rest is a post for another day.


||Thoughts||

How about some ever meta musings on… learning young vs learning…uh… not. young? aw shi-

There is a saying; Youth is wasted on the young. And, in being so young and hearing such words, made in observation or with such gripes and platitudes… while I understood the words, I did not, and could not understand the spirit of which such words came forth. There are many reasons for this, but most basically distill down to contextual, the… comparative ability to contrast and compare experience. Experience, which is that of action. Of mistakes. Of wants fulfilled, and long left wanted fulfilled.

And yet… I, being aware enough to interpolate meaning, did my best with what I had in making the most of such youth. Such… a warning, as I interpreted it. I took mindful yet reckless risks, where the result should be greater knowledge with a low(-ish) chance of getting whooped should it cause damage. It may have been simply dumb luck, or a successful best able in preparing for jumping face first into the dark, but all-in-all I managed well enough. There was no where to go, but up.

And I profoundly miss it, that…ease, I’ll say. Not that it was easy, just… /sigh/… despite multiple renditions and topics which have captured my interest throughout the years, and this fervent curiosity of mine, I’ve never yet been as successful (it feels to me) as my earliest days as a reckless, rabid tinkerer of… whatever hardware/software I got my hands on. Why is that? Why could a young, intelligent but ever stupid me pull off such daringly brazen heists of knowledge, where the much older, ever stupid but I guess intelligent me scribbling this introspective can only seem to grasp mere half-pence pattered about the street? It is truly breathless frustration.

I certainly have my guesses; returning to my room vs returning to home, complexity of then vs complexity of now, a young mind vs a fairly older one. A greater idea of cost. A surer confinement of free-time. A pace of change. Fear? … though that last one might be cheating a touch.

That said… hmmmm, having written it all out like this, it occurs to me something rather… paradoxical. Structure. Does the reckless tinkerer miss… structure? Well how about that. I can self teach, but how does one self structure ones own teaching? Where do I find that white rabbit?

I suppose that it is very possible that the methods developed while a touch more care free are no longer the right speed for me. Though, that in it’s self is a real pandoras box, as it’s then not just learning to fly the thing I’m building, but also fabricating the materials at the same. Pouring the jellybeans in the jar I’m sculpting, while still on the spinning table. Sounds kind of messy. Then again, I know of no other way really, so I guess I’ll just figure that out too. ¯\_(ツ)_/¯

WEEEEEEEEEEEEEEEEEEEEEEE! … then world domination. :laughing:

I haven’t used wine in more than 10 years and last I tried, I failed. WINE is its own beast and own subsystem, it’s weird to figure out. I had some luck with PlayOnLinux and you might have some luck with Lutris. Bottles is meant more for manual wine configs, IIRC.

If you’re not using the package manager and you’re running make, then the make should have an uninstall function (kinda like calling the installer exe, it seeing it’s already installed and offering you the option to uninstall or repair). Otherwise, you might need to hunt down where the software got installed into and just remove it (like for tarball installations, which is kinda like the portable extract and run version of exe in linux).

The best system (even for baremetal) is snapshots. Take a snapshot, do your changes, revert if needed. You can use btrfs or zfs snapshots directly on your OS. If you use proxmox to virtualize your computer, if you use local-lvm thin-pool, zfs or qcow2, you have options for snapshots (as far as proxmox management is concerned, you won’t see a difference, you just snap the VM’s disk at the hypervisor level, do the changes, revert if needed). That way, no matter what changes happen, you know they won’t be persistent at all.

There’s only KVM and Xen. They aren’t “truly” type-1, but for most intents and purposes, they can be treated as a type-1. They are far different than a type-2 like virtualbox or vmware workstation player.

Proxmox, oVirt, Virt-Manager, OpenNebula, OpenStack, are all ways to interact with QEMU+KVM. I believe everything besides proxmox uses libvirt to do that. Proxmox uses its own tooling on top of qemu, but they are inherently compatible with each other (as far as moving VMs between different solutions), given that you know what you’re doing.

XenServer and XCP-ng are tooling built around Xen hypervisor, similar to the ones above.

“Online-based” is a bit of a stretch. You need to use a browser to manage them, but you don’t need an internet access. Just open a browser on your laptop running proxmox, type https://localhost:8006 and you’re good to go. If you choose another distro and go with virt-manager, you just open virt-manager itself to manage things locally (although with virt-manager you can connect to other hosts via ssh to control their libvirt stack).

You need an internet connection to install the desktop environment, like xfce, then you can do everything offline.

You can do that even without macrium, but if you have it, go for it. Just make sure to downsize the partitions (maybe d:\ drive) so you have enough space when converting to a VM. You can also use clonezilla.

1 Like

@ThatGuyB Thank you Question Santa! ^ _ ^ You have gifted me yet again with helpful advice, and I greatly appreciate it.

Keep this up and I might have to cause a stay your labor when I throw humanity into the mines… for…uh… :sunflower: :blush: world peace! :blush: :sunflower:

[Deep Dramatic Voice]

Last Time, On Tyro’s Super-Fantastic-Random Explosion-Happy-Fun-Learning-Fun-Time-Fun: FORUM BLOG Edition!

.
[/Deep Dramatic Voice]


(Pictured: The current inner machinations of my mind upon the subject of networking.)

Part 1: Stop yer’ bellyache’n, and do it.

Usually, I measure twice then recheck again before I jump into something. Lessons learned and written, behold the old scars. But…a few weekends ago now, I just felt…

f*k it. Let’s install Proxmox.

Freeing, but also moot. I knew exactly what screen I would eventually get to that would cause me to stop the installation progress. But… I didn’t care, I just wanted to see it first hand. I wanted to see what my actual response would be once I find my self standing before that huge wall.

Went into my laptop and wiped the drive clean of all the partitions I had hacked together, put Proxmox on my Ventoy drive and… install failed to even start proper. Hmm. Went into my drawer with all the flashdrives I’ve collected through out the years, flashed the .iso with balenaEtcher… da da da, Install worked. Neat. Selected GUI install ('cus duh), and all just fine until…

Note: This below image has been edited as to not singe the retinas of my fellow darkmode users. Cheers.


This screen. This screen might as well be in some Creole Greek. And, in fact, I was surprised for how absolutely slack jawed my response to this screen was. Uncharacteristically so. I hate it. I HATE IT… no no, not the screen. My response. I hate it. Where… usually, I can google-fu my way through an issue, but… seems I’m SO inept about this subject that even the quick hip-shooting searches I found that were supposed to HELP I found as, for me, indecipherable.

Expression Response: “Bullshit.”

I’m angry at myself. And I mean to fix this.

I abort the installation. I don’t want to go past that screen without understanding what exactly it is saying. And that means… teaching myself how Computer Networking works.

Thus begun my rabbit hole spiral into madness.


Part 2: Self Teaching & The Internet.

Sometimes the internet is pretty cool. I expect by and large this part is skip-able for most regulars of this forum, but for those of you who searched their way into this thread, well I hope it helps.

First thing I knew I had to do was get as much information about this particular screen as I could. For me, that means finding a video that details the installation of Proxmox. Unfortunately, all the videos I found, even those labeled beginner friendly, sans one, completely gloss over or “matter-of-fact” past the screen. Sans one.

(Should start at necessary spot, portion ends @ 18:58.)

On your end the key here is to use an IP address that is not already taken on your network.

The problem on my end is that there’s thousands of different devices out there when it comes to firewalls and routers so i can’t really show you the process of determining which IP address is open and available for use. The general idea when it comes to how you determine which IP address to use is you log into your firewall or router interface and inside there you’ll have some DHCP options. Inside the DHCP options you’ll have a range you’ll have a starting IP address and an ending IP address, so what you want to do is choose an IP address that is not within that range, that way you don’t have to worry about the IP address that we’re setting here being assigned to another device which would create a conflict.

And that’s actually what we’re doing here, we are setting a static IP address that’s going to be used for this particular Proxmox server. In my case it’s this one right here, xxx.xx.xxx.x and in case you’re curious that belongs to my server subnet.

Subnetting is obviously beyond the scope of this particular video but I just figured that’d be mentioned, anyway, I’ll click on next.

An immensely helpful starting point. Thank you @LearnLinuxTV.

From this and the helpful assistance of compadre @ThatGuyB, I find that I have no https://localhost:8006, nor 127.0.0.1 . Or, at least it appears that way. Between my direct attempts and “netstat -a” check in Powershell (which lists “sockets in use”)… I can’t seem to figure out what “The Server” is. I’m probably being irrepressibly dumb right now, but I repeat my self.

I now know, in my instance, that I have yet another thing I need to look out for on top of the solution upon my gross ignorant incompetence when it comes to pretty much anything networking. That being;

  1. The Configuration of my Network.

In my original post, among introductions, I declare various aims, one of which being…

Suddenly, this bottom of the list stretch goal finds its self bubbling to the top. I could detail reasons, but, really it would just be easier, simpler, to start from scratch. Wipe the slate clean.

So then, that means… my gross ignorant incompetence when it comes to pretty much anything networking needs to go, and now. No more excuses. But, man… starting to feel a little like Malcolms Dad.

I suppose it was always going to be this way, in some way. A weaving of information, forming a collective larger whole of information, that… like a net, some spiders web if you will, means that to pull and tug on one thing would lead or need somehow on to something else. Here is hoping I don’t forget why I started walking… crawling, among these tightropes in the first place.


Part 3: Thank you, “PowerCert Animated Videos”.

After a few more searches, I find myself among @PowerCertAnimatedVideos.

WOW!

A fantastic resource! And, as it just so happens they have multiple videos about Networking. Some of which; Hub, Switch, & Router, Subnet Mask, Default Gateway, Network Ports, Port Forwarding, MAC Address, Network Types & DHCP, just to bring forward a few! Even with just this, WHAT A LIST! Just this right here is pretty much a solid baseline, far as I can tell.

Again, I’m angry at my self. If only I had known about this resource sooner!

And surprisingly, of all the videos I watched, the most helpful bit of information on the moment came VIA (quote below);

“A Server is not just a physical computer, a Server is actually a role that a computer takes- Because any ordinary desktop computer can be set up as a Server.”

Knowledge is strange. And I say that as, in some way… I already KNEW this, yet to see it, to have it explained out so clearly really helped appreciate that knowledge. Does that make sense? One of the things that’s been scratching at my head is… I don’t have a server, so how is Proxmox going to work? Can I make the server… my laptop, be the host, and client? Or do I need a dedicated bit of kit to host?

Thanks to this quote above… and the rest, don’t get me wrong… the matter of my aim now makes more sense. Some of it all still hangs upon the surface of my skull, but it’ll sink in eventually… now is where I need to figure out the doing.

Part 4: Ok, so now what?

Hardware. Designing a Network (while I’m using it). Building for the future.

I’ve… not ever done anything with this kind of considerations before. Considerations that… now will eventually involve ever hard saved currency. No backsies! It’s whole lot, and it would be a lie to not admit a part of me wants to just buy something one and done, so to keep my focus on my ambition to create frameworks, on my framework, elsewhere. Like just get a Firewalla router or something. Or, if I do get hardware, what to go for? I’ve never built something meant to be a router or switch before. How do I make sure I make something with all the ports I’ll need?

Designing a Network? I’ve not done that either, really. I was hoping to find some utility to help blueprint such a thing out, but nothing I found jive’d with me, so I guess it’s just going to have to be a pad and paper deal. And checking and checking and checking.

Building for the future? It has to be able to contend with my other stretch goals, such as a Media Server. What kind of data saturation is that? Do I need a 10g port, or would a 2.5g do? Ect ect.

/Sigh/…heh heh, heh heh heh heh.

Learning by swimming in the deep end.

The context of localhost was if you were to install XFCE or a Desktop Environment on Proxmox. If you are accessing Proxmox from a Windows PC on your network, then https://the-ip-address-of-proxmox:8006. The one you configure in the IP Address screen, or if you get it via DHCP, who knows.

Any computer can be a server. And any enterprise hardware can be… well… anything you want it to be (even a burrito, but I’d advise not eating it).

1 Like

Dear Me,

This is for you, with particular emphasis on the first three minutes and forty eight seconds.

I know you, and you know you knew me, and we both know… one in the same, that you can’t all the things. Both a blessing and a curse, that.

You know that plans are hopeful guidelines, and that there are more detours than there are roads. It’s fun to search, and hunt, and learn, and build, and be so aware of all the things, but if you don’t finish anything, it’s like you didn’t do anything at all. And if it’s like… that you didn’t do anything at all, then what, dear sir, be you be doing?

With that said, it may be fair to change things up, yes? A new perspective. The goal is not to finish what is started, but to do (or find) something new that you know you can finish, AND THEN, make the next step. It’s a marathon, not a sprint.

You got this!

Signed,
~Past You

It must be Halloween, as I rise this blog thread from it’s death like slumber!! :ghost:

OOOoooOOOoo.

And in these few-ish and then some months, when I haven’t been hand holding family, I’ve been on-again off-again looking at what my options are among means. To which, I must rebut my past self and this is my say; the goal is easy, but finding that what is hard.

Fortunately, I think I’ve found my in, my “what.” Where even if when I fail, I’ll have succeeded in being that much closer to success. Before hand, I was so in over my head that the slightest error became cascading in my confusion, contending with understanding both the software and the hardware; protocols, requirements, methodology… it was too much. It’s a marathon, not a sprint, indeed. So, I’m simplifying down to software only, and what software it is.

The biggest thing about NixOS is… the more you invest into it, the more the computer becomes YOUR computer. Your set up, for your needs, aesthetics, what have you. It’s a snowball effect, how fitting :snowflake:. And I want to understand how it works. This thing is so cool.

To reiterate, I don’t know jack about Linux (among other things). Awareness? Oh yeah, a whole bunch of awareness, but it’s the difference in reacting and expecting, and in a large percentage of Linux flavors, I’m reacting.

But NixOS? In the little I’ve poked with it among the month… I think this strange little declarative thing was made for me. Somehow, even though I’m as-declared-clueless, I get it. How does that make sense? …Does that make sense? This system, this way it does what it does… it’s brilliant. Refreshing. It excites me. And now, there are two and one half things which give me confidence unlike what was before.

$ # Edit your configuration
$ sudo nano /etc/nixos/configuration.nix
``
$ # Rebuild your system
$ sudo nixos-rebuild switch

Every time a rebuild is made, NixOS “backs up” in a way. Is it as complete as it would be with a VM? No, of course not, and in fact “back up” might be the wrong word to use. But by the very nature of things as I learn how to edit the declarences, I “can’t”(?) screw it up. If I screw up, I reboot, and the old variant as an option is right there on boot. And I learn. And If I really screw it up some how… I grab a backup copy doc of code for the configs, make a fresh NixOS install, add the code and rebuild. Boom. And suddenly I’m not lost back into square one.

And, that’s just FRIGGN’ AWESOME! It’s not quite VM “image” reboot, but I’m not complain’n either.

As for the “Qubes-lite” blog? Well, it’s more food for thought right now. A wonder in, as I grow to understand, what might I come up with. Could I do this idea? This concept? Somehow, my windows programs are running in this thing, and then I can get off of windows for good, hopefully. But that’s for another day.

Next post… when ever that is, this casual tinkerer is starting off with what can be seen. My whole goal right now is using NixOS and its code to prepare the aesthetics of the UI, that’s it. Something that can be seen, as if I was using a WYSIWYG Editor for HTML, but for NixOS code.

That way I can acclimatize myself to how all this works and, through the power of replication, build some comfort in the process, all while making the interface to whatever my liking shall be.

Geeze… Halloween sure isn’t what it used to be. Can a guy get an opportune lighting bolt while he’s cackling about diabolical schemes!

:zap: Maniacal Laugh! :zap:

Ah. That’s better.

I’ve not been this excited, this interested in… anything computing, really… like I am now with NixOS. In… decades? And, if this enthusiasm can last, it may prove more a boon then just being able to make my own computer my own.

I say that, as… guess what, I don’t know how to code, 'cause duh! That’s totally in theme here. Tyro is aware about X, but doesn’t know anything… that’s why he is Tyro. Most I’m able to do right now code wise is maybe forum edits, maybe. The most basic of HTML.

But Nix, with it’s handling of dependencies for me, which I don’t fully understand yet but strikes me as a very helpful (as I do at least comprehend English), I’m now being exposed to code in a way that… well. If you want to learn a language, nothing will do it like living in that space, right? It’s not easy, but sure works. So, I’m excited about that too. This thing may be for me a gateway drug towards other understandings, as even with it being so different, there are similarities, I presume. Modules and Dotfiles and so on so on.

As for Nix, how has that been? Well, I have been seeing many an error code as I try to build things out, I’ll tell ya that. And I was prepared for that, I am if anything, self-aware. But wow, folks were not kidding when they say how… obscure some of these error messages can be. It’s changed how I do things, actually, as… instead of trying to do larger concepts, I’ll do a line at a time sometimes, with back ups on each. It’s just easier to compare the two codes from one that works, from one that doesn’t, and then extrapolate the differences and go from there.

And then, along the way… I’ve decided that the biggest flaw is how much of everything can be crammed into configuration.nix. What’s that? Am I about to make things more complicated for myself? Yes sir! It’s the Tyro way… apparently. :crazy_face:


So then. Flake.nix. I can see why this “experimental” method has been so highly adopted despite it still being considered “experimental”.

For those who don’t know, and bear with me here, this took its time to scratch out it’s not “a” thing, but instead it’s multiple smaller and dedicated files. It’s not one large file, like configuration.nix. If your OS is a classical Thanksgiving Dinner, one bit is stuffing, the other green beans, another cranberry sauce… so on. That “collection” aspect is what makes flakes so useful. It is different files for different parts of the system where, therefor, configuration.nix is now focused on “foundational” settings only, and each part of “the computer OS you build” is in each part self-contained, reproducible, with modular organization and… *checks notes*… explicit dependencies with version locking. I know some of those words.

So how does one get started with this? No clue. But it makes so much gosh darned sense to me, eggs in a basket and all that, I’ve decided I’m jumping straight into understanding what it takes to make a flake.nix. An “experimental” feature. And I don’t know how to code.

MMMM. Tastes like error codes, half the fat! :melting_face:

Tyro’s Big Ol’ NixOS/Linux Cheat Sheet #1

About/What is this?/Why have you done this?/Disclaimer

There are few far better ways to learn… or, at least get something through ones own thickness, quite like writing it down. And then doing it again and again. And then helping others with that know how. So then, what I endeavored to make with this text here was both as exercise and potential future assistant; two birds, one stone. As a result of such a learners cluelessness, I can-not as of yet in my of writing this, say in how well I did. But, I have done my utmost in making this to show… why I have observed what I have observed. Items chosen to be added into this list have been done so “at whim”/random/“might be useful”/rabbit-hole searching. I don’t know what to expect, so I tried to approximate a baseline to jump off of. Other than that… I don’t know, use at your own risk.

I sure am, and I made it! XD


Back-Up Links to Linux Code Stuffs

https://networkers-online.com/cheats/

::::::::::::Nix language basics — nix.dev documentation::::::::::::
:::::::::::::::::::Nix Language - Nix Reference Manual::::::::::::::::::
:::::::::::::::::::::“Cheatsheet” (kinda) - NixOS Wiki:::::::::::::::::::::


= = = = = = = = = = = = = = =
NixOS Test COMMANDS
= = = = = = = = = = = = = = =
nixos-rebuild build - the NixOS command used to apply changes made to the system configuration. It can also be used for a variety of other tasks related to managing the state of a NixOS system. nixos-rebuild build

build” - Builds the system configuration without applying it, useful for testing changes before committing them. (Tests the code, doesn’t apply it.)

nixos-rebuild test - Temporary apply. nixos-rebuild test
(Apply code into “live” working state. Stays untill boot.)

nixos-rebuild switch - Permanent apply. nixos-rebuild switch

nix-collect-garbage -d - Cleans up old and unused Nix store generations and builds to free disk space. nix-collect-garbage -d

nixos-rebuild switch --rollback - Revert changes. nixos-rebuild switch --rollback

…Extrapolations.

The “cheatsheet” link above has text about building a service as a VM (for testing)
nixos-rebuild build-vm

nixos-enter --root /mnt - Based on use here (scroll up)… this allows entrance into the system’s root environment when mounted at /mnt, could be useful for recovery and repair if I really screw something up. Or maybe just start from scratch? IDK.

find /nix/store -name "*.ko" - This will search the Nix store for kernel modules, useful for diagnosing module-related issues.


= = = = = = = = = = = = = = =
ESSENTIAL COMMANDS:
= = = = = = = = = = = = = = =

bootctl status - This Displays the current bootloader status, such as which bootloader is in use and details about the boot partition. bootctl status


hostnamectl - Shows system information, including hostname, operating system, kernel version, architecture, and more. hostnamectl


uname -a - Provides detailed information about the kernel, including version, architecture, and other system details. uname -a


lsmod - Lists all loaded kernel modules, useful for troubleshooting hardware compatibility and drivers. lsmod


systemd-analyze - Used to determine system boot-up performance statistics and retrieve other state and tracing information from the system and service manager, and to verify the correctness of unit files. systemd-analyze


systemd-analyze blame - This is the “analyze and debug” system manager. With, “blame”, this commands for a list of all running units, ordered by the time they took to initialize. This helps identify which services are slowing down the boot time, allowing for the optimization the system’s startup performance. systemd-analyze blame


journalctl -b - Displays the system journal logs for the current boot. It’s helpful for troubleshooting boot issues. We can also use the -b option to get only information about the most recent start of the kernel. journalctl -b


lspci -v - A command for Hardware info. lspci is a utility for displaying information about PCI buses in the system and devices connected to them. By default, it shows a brief list of devices. Use the options described below to request either a more verbose output or output intended for parsing by other programs. For example: adding -v tells the system to be verbose and display detailed information about all devices. lspci -v


efibootmgr -v - This is an a userspace application which allows for modification of the UEFI boot menu. efibootmgr -v (-v does as noted above; telling the system to be verbose and display detailed information.)

Note: efibootmgr requires that the kernel support access to EFI non-volatile variables through /sys/firmware/efi/vars or /sys/firmware/efi/efivars/.


dmesg - This provides Kernel messages, or, to put it another way, to “print or control the kernel ring buffer”… I know some of those words. Despite a fair bit of searching, not sure what else to put here. But, here’s some discourse which may help for context. dmesg


= = = = = = = = = = = = = = =
MONITORING COMMANDS
= = = = = = = = = = = = = = =

df -h /boot - Finds the boot partition space. df -h /boot


systemd-analyze critical-chain - Much like the other references of “systemd-analyze” in this list, this helps analyze and debug and service dependencies. Things which are crucial for other services to start. systemd-analyze critical-chain


systemd-analyze security - I don’t know folks… I’m starting to think this systemd-analyze code is pretty handy. In this case, this should help prevent H4CK3r F01K5 Fr0M 63771N6 1N Y0 80X, H4CK1N6 Y0 57UFF. Ok, so maybe not that cool. This “analyzes the security and sandboxing settings of one or more specified service units…”, a security auditing tool, essentially. systemd-analyze security


journalctl -b -p err - This is to query the systemd journal… wow that systemd really gets around. Seems important, eh? With this exact string of commands, it tells the system to show only the entries flagged with priority errors since last boot. journalctl -b -p err

-b says ?

-p says ??

err says … errroor???


perf record -a -g - This for performance recording/analysis, with this particuler string asking for… perf record -a -g

perf-record… runs a command and record its profile into perf.data
-a …asks for system-wide collection from all CPUs.
-g … asks for a call-graph (stack chain/backtrace) recording.

= = = = = = = = = = = = = = =
RECOVERY COMMANDS ?
= = = = = = = = = = = = = = =

bootctl list - Control EFI firmware boot settings and manage boot loader. This string shows all available bootloader entries. bootctl list


git log boot.nix - NixOs Specific example to view configuration history. Will display the commit history for the file boot.nix, showing all changes made to it along with the commit messages, authors, and dates. This allows you to track the history and modifications of that specific file in your Git repository. git log boot.nix

1 Like

As you can see above, this is my NixOS (but really mostly Linux-in-general) cheat sheet I’ve made for both learning and assistance upon my ever “raw” endeavors in both writing and comprehending the NixOS system for my needs. Since my main source of context is my ability to ask the question into the internet vs. any sort of actual taught, schooled, life-built computer science know-how (to this extent anyway), it includes not only the code snippets found but also context as to why they are there. Or, at least, part of how I found them to add them in, anyway.

Basically, I’m trying to be sure that what I find isn’t my ignorance in the matter barking up the wrong tree.

As for progress, it’s less than it should be due to factors outside ones control. It’s been on-again, off-again, causing what I would have liked to have been a habit of self-learning into more a practice in making sure I know where to pick-back-up once returned. That said, when un-inpeaded, progress has been… fairly smooth.

Well, let me put it in another way… fairly smooth for my basic “cudgel of will” method. Fail, Fail, Fail, Fail, Fail, Fail, Fail, Fail, Succeed…kinda? Fail, Fail, WOO HOO! It WORKS!! Ad nausim. And that’s the heavily shortened version. I’ve encountered so many ways not to make a light bulb.

For now, that’s what I have to add. Short and sweet. :slight_smile:

Well. There may be one more, kinda, thing. but I’m making it a topic of its own, as to not distract too much from the blog nature of this thread.

::link:: (Login Required. Only visible to members of group: trust_level_1)

Also, while not set in stone, here is what I’ve found that I may be using in my set-up. Again, not set in stone, as ever, but… at the very least when I get to this part, it should be nice starting point for me to work off-of.

https://search.nixos.org/packages

What is it for? Name? Website? NixOs Repo?
Window Manager Hyprland https://hyprland.org/ & GitHub - hyprwm/Hyprland: Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks. hyprland - MyNixOS
Terminal Emulator Alacritty (or “tabby”) & Commands Manager https://alacritty.org/ (https://tabby.sh/) & Install Commands Manager on Linux | Snap Store alacritty - MyNixOS (or …there is a “tabby”, but this is Self-hosted AI not a Terminal Emulator, as far as I can tell, so… no?) & Not sure about “Commands Manager” either. It’s just too common.
Bar / Info Elkowars Wacky Widgets GitHub - elkowar/eww: ElKowars wacky widgets Not Found… so, hmm. I’ll just put this here for fun. GitHub - Nycta-b424b3c7/eww_activate-linux: "Activate Linux" text for Eww
Application Launcher ulauncher https://ulauncher.io/ ulauncher - MyNixOS
Notification Daemon phuhl GitHub - phuhl/linux_notification_center: A notification daemon/center for linux Not Found
Display Manager Simple Desktop Display Manager (SDDM) GitHub - sddm/sddm: QML based X11 and Wayland display manager sddm-wrapped - MyNixOS
Color Scheme gruvbox DARK GitHub - gruvbox-community/gruvbox: Retro groove color scheme for Vim - community maintained edition gruvbox-gtk-theme - MyNixOS
Network Management Tool Network Manager https://networkmanager.dev/ networkmanager - MyNixOS
Input Method Framework IBus (if Gnome) vs Fcitx5 (if KDE) GitHub - ibus/ibus: Intelligent Input Bus for Linux/Unix or GitHub - fcitx/fcitx5: maybe a new fcitx. ibus - MyNixOS vs fcitx5 - MyNixOS
System Resource Monitor Btop or Mission Center GitHub - aristocratos/btop: A monitor of resources or https://missioncenter.io/ btop - MyNixOS or mission-center - MyNixOS
File Manager Yazi & thunar GitHub - sxyazi/yazi: 💥 Blazing fast terminal file manager written in Rust, based on async I/O. & Xfce / thunar · GitLab yazi - MyNixOS & thunar - MyNixOS
Shell fish & Starship https://fishshell.com/ & GitHub - starship/starship: ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell! (Note: should be “Oh My Fish”, but that’s been “unmaintained for years”) fish - MyNixOS & starship - MyNixOS
Music Player DeaDBeeF, amberol and/or Wora https://deadbeef.sourceforge.io/ , GitHub - adamjatim/amberol: fork from https://gitlab.gnome.org/World/amberol and/or GitHub - hiaaryan/wora: 🎧 A beautiful player for audiophiles. deadbeef-with-plugins - MyNixOS, amberol - MyNixOS and/or …Wora not found.
Media Player clapper or mpv GitHub - Rafostar/clapper: Level up your video experience with a modern and user-friendly media player. or GitHub - mpv-player/mpv: 🎥 Command line video player clapper - MyNixOS or mpv-with-scripts - MyNixOS
Text Editor Neovim & Nano GitHub - neovim/neovim: Vim-fork focused on extensibility and usability & https://www.nano-editor.org/ neovim - MyNixOS & nano - MyNixOS
Fonts Nerd Fonts GitHub - ryanoasis/nerd-fonts: Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more nerd-fonts - MyNixOS
Image Viewer gthumb GitHub - GNOME/gthumb: Read-only mirror of https://gitlab.gnome.org/GNOME/gthumb gthumb - MyNixOS
Screenshot Software flameshot GitHub - flameshot-org/flameshot: Powerful yet simple to use screenshot software 📸 flameshot - MyNixOS
Screen Recording OBS https://obsproject.com/ obs-studio - MyNixOS

…Also Interesting…

What is it for? Name? Website? NixOs Flake Command Link?
Enables creating isolated and customised workspaces Customised Workspaces - Gnome Shell Extension GitHub - blipk/Customised-Workspaces: Customised Isolated Workspaces - Gnome-Shell Extension nix profile install nixpkgs#gnomeExtensions.worksets Link
Customize your GNOME Shell UX to suit your workflow, whether you like horizontally or vertically stacked workspaces. V-Shell GitHub - G-dH/vertical-workspaces: V-Shell is a GNOME Shell extension that allows you to customize the layout and behavior of the Shell UI. nix profile install nixpkgs#gnomeExtensions.vertical-workspaces Link