 Welcome to the homelab show episode 98 Linux system D explained and Jay's gonna do the explain and I'm just a audience member for this one He knows a lot about system D. This was a fun conversation me and him had because Jay's got a video He's working on because he learned that there's not as good a documentation This there could be so Jay's gonna fix that and solve the gap. He's gonna fill it in, right? Well, yeah, it might be that there's so much documentation that nobody knows exactly what to hone in on and then Some of the features get buried. I think is what's going on. Yeah, there's a lot of cool features I didn't know you could do Jay taught me some tricks last night when we were talking about this So we're excited to share this information with all of you But before we do that, we do have think a sponsor and that's gonna be Akamai cloud They have been with us since they were Linode I can say pretty much just the beginning that is sponsored to show It is a great place to run lots of the projects we talk about here. You can host it in a cloud They have lots of cool pre-built essentially Deployments that you can do to get a lot of different open source projects going and we just want to thank them for being a sponsor They've been with us a long time and we appreciate their support and like I said We had an offer code down below to get you started with them If you're looking for a place to host some of your projects that you may not want inside your lab But somewhere in the cloud though in the Akamai cloud. Yep. Absolutely Um Feedback this was a simple question. Well, there's two two questions I'll answer the first one they sent in first was can I use one of those Zima boards? I think would probably last episode we mentioned ease but Google Zima board. They're pretty neat I have I have them on order. I don't did you get one to Jay or? Yeah, not yet. I probably should though They were they were on sale happened to be when we mentioned them last week. So I had I had grabbed one Or is that over? It was it was part of their May 4th sale But nonetheless, it was like they may the fourth be with you type sale Got it. I heard Steve Gibson mentioned it and I was like, oh cool. They're on sale That's a good excuse to buy some of these our friend Jeff from craft computing has reviewed them They're pretty cool low powered boards great for homeland projects for sure and because they have a PCIe slot on them But the other question that someone had had was could you use it as part of like the security onion network? And we have a episode where we doubt dove into security onion and yes, this could be one of what they call it I believe it's a forwarding node basically Syrian Security onion can be set up as your Ingestion for all your security logs where you have a main security onion processing all the logs But then you have forwarders which are smaller ones that feed the larger So I imagine it would work for that And it might be a fun experiment. I have not gone that in-depth on security and to set up any nodes I usually run it as one one large node and force all the data into it The next question from the same person was About do you start with containers or VMs when you're learning and I want to say that VMs are probably easier to Grass because you're loading the whole operating system. It's just a virtual version of The instance like you know, whether you're loading windows loading Linux versus containers are going to be tied to the kernel So there's a little bit of a different concept for how they work. It may or may not be more complicated That's always, you know, you'll find a tutorial that clicks with you or maybe you'll watch 10 of them in one of them You go that's the one but what you'll usually get and as a lot of people do get hung up on containers Is the way the networking is in containers is a lot different if you look at how you map ports and Docker for example Or even Alex see or any of these are slightly different ways so that may be a more challenging part So whichever one is it comes down to start with a project you want to accomplish That usually drives you to where you want to be if you start with I want to build this type of project Then you'll start having to build all the things all the knowledge you have to do to get to your end goal That's usually a good way to get started with either one of those Yeah, I would also say Part of the question also kind of depends on if it's starting out for getting a job or starting out for sitting up a Home lab not everyone that has a home lab works in it obviously because you know for some people That's there's that's their hobby and that's sacred. They don't want to um, you know Put a put a paycheck on that that they wanted that separation for other people It's all about learning things for their it career So that kind of does differentiate the answer if it's your home lab then You know, like you said just find a project something you want to run and learn everything around that if it's for a job I always tell people look at job ads If you're currently employed don't do that at your work on your work network but Even if you're not looking for a job you could you I mean the job boards are a great way To know what people are looking for and you could just keep looking at them to know what skills are You know in more demand But when it comes to VMs or containers and you know in your career There's no ore and I think that's the first thing to learn about it You know, you'll usually get somebody that Learned something for the first time It's like you learn how to use a hammer and everything becomes a nail that doesn't mean the best tool for the job So there's no ore learn both but you can't learn both at the same time So I do agree, you know VMs before containers, but I would say Depending on how entry level you are Networking one-on-one should be first you have to know how traffic gets from point A to point B You don't have to be Cisco level. That's not the point The point is just to know the basics And once you have the basics of networking one-on-one learn Linux one-on-one just just the very you know entry level Things there there's plenty of videos on my channel for that and then learn, you know, the basis basics of VMs start with virtual box Maybe, uh, you know graduate to proxmox later and then run some containers on your machine And then just keep rotating through those same things So after you get the basics of all of those rotate back to networking Level that up a level and then go back to Linux level that up again And then just keep rotating through those things as your foundation and then you'll your skills will just keep going It's interesting the person says, you know to get out of the weeds the fastest The other thing to learn about it is that there's always weeds and they're never ending and you're always going to I mean, I've been in this for, you know, well over two decades. I had lost count at this point And just this week i'm contacting you about my network. I'm like, I've never seen anything like this What the heck is going on that never stops like some people might think You know when I get to jay and tom's level, I'm just going to know everything there is to know Believe me, we have conversations all the time about why doesn't this work? And it happens to everyone and never stops happening So the first, you know, one of the first things to understand is that there is no point At which you are knowing everything there is to know you will be stumped from the beginning of your career all the way to the end You just have to like the puzzle you just find Joy in solving the puzzle and that'll carry you through all of it Yeah, it's fun. I mean I helped jay with a networking thing and then he taught me last night something I didn't even know system d could do how you edit units and things like that. I'm like, this is how does this work? This is magic. This is so cool. And you know, I've been using linux I joke. I've been using linux since floppy, but jay's courses, by the way Are definitely worth going through because i'm occasionally using commands wrong and i've learned from watching jay's videos Which commands let me see wrong So if you're getting started his the fact that jay has really good incremental series on that Dude, it's really helpful. Go go click on those series. Watch him in progression. It's uh solid content And you definitely can get you leveled up on there I even myself as a veteran by rewatching some of it jay has some better insights into the proper ways of doing it Um, we won't even talk about him watching me use find Oh, yeah And I would say watch the linux crash course series on the channel. It's a it's a well at least right now It's a never-ending series. You can watch it the videos in any order It's not there are a few where I might say, you know, you should watch this other video first But each video standalone so you could just piece me all the ones you want You could blow through them all if you want or just watch one or two It's up to you and I thought i'm up to I don't know if i'm i'm thinking i'm up to 60 episodes and counting at this point and They range from like, you know, seven minutes up to like 45 depending on the topic and I just keep going and I have like 10 more planned it doesn't seem like this series is going to end anytime soon if it ever does So much fun. Mm-hmm um in terms of in something I have on my notes here updates the software it turns out Excuse me. There's a security flaw announced just before this I was mentioning about the new unify updates Well, they went from you should probably load them if you want the new features to you should load them if You don't want to have this security problem Basically as long as you're off off and into the three series on your unified dream machines 3.0 on up I believe in whatever the latest is of course as a recording Is going to have that fixed so just a little heads up. There was a flaw someone found I don't know all the details of it But I knew I happen to follow one of the people who works for you equity On twitter and they retweeted it right away. It's it's public in knowledge in their forums. There's an update So make sure you stay patch especially anything that faces the internet like your routers And one thing good about ubiquity. I may dog on them about some of their routers and things like that But one they will auto update If you unless you've told them not to the default I know on new models is to auto update and two they're really on top of problems if bugs are reported them They do I've never dogged on them about security They've actually been very on top of that as an aspect of if there's a flaw found They have a bug bounty program. They have a good code review when they find flaws. They fix them so uh good shout out to them for being on top of it and uh, you know, we I hate one companies Because it was exploited in the wild and because they were finally outed by bleeping computer. They decided to release a patch I hate the reactive companies like that. That's always much more aggravating I think those same companies like they put val or they rate the value of a product if it ever had a cve Not understanding that everything has a cve eventually if and if it doesn't it's just because no one's found it yet But some some companies I I just I have the baseball and their way of thinking about technology But I haven't had any problems like that with unify either I I remember for me auto update was not enabled that because that was before the newer models But I turned it on and I think it's checking at some point in the early morning And I'm just never behind I check it every now and then just to make sure and I've never had to go back in And say hey, why didn't you update it? It just takes care of everything and I also Another news have this wireless scan. I forgot what it's called. It happens every night just to make sure everything's on it The proper channel So even that adjust itself. I think it's a pretty good platform and yeah I've never had any issues with security either as of yet. Yeah, they're good about the updates for that Um on kind of a final note before we jump into our topic today I did do finally the new gray log video and that's all published on my channel So if you want to get started with gray log, we've done a episode about it, but one thing came out of this is people's confusion of how Observing and logging versus so essentially systems that are observability and monitoring such as zabic some more prometheus That you can do this with versus logging, which is what gray log does If you want to send us some feedback or at least in comments if that's a good topic To cover and kind of the differences between them and where you use each one I also in jay doesn't know this. I was on the phone with phil for our friend who worked for the linux foundation and uh, he he wants to uh, I don't know if he's going to do it on here or just do it on my channel but he wants to come on and talk about observing things at scale and um, a lot about certificate transparency He has a lot to say about that because of uh, what what he does for living So um, those are a couple other topics that definitely sense to be back what you want to know about that, but I think clarifying the difference between observability Um and logging and what that means what you monitor and even though both of these systems can alert they alert differently Based on what's happening. I think maybe an explain explainer for that might be a fun episode just to Break it down to why you use zabics when you would use, you know gray log And why I don't use loki and let someone can correct me on this I looked into loki because someone says well, can you compare other open source logging servers? And since the last exchange or license, um, that kind of rules them out because they have log stash But the license is a little confusing to me. Um, so I After they forked it. That's why I mentioned open search But loki is what people kind of went to at least in the comments But I think the reason I asked him for a video is because I would a little bit of the documentation and correct me if I'm wrong Loki is easy to deploy with docker But really hard to configure and is not near as flexible as gray log if someone if someone can point me on a good Um, like tutorial on it. I don't mind looking at it But when I what I looked at was it's a neat project It's very targeted to the dev ops community as long as you're configuring it all in a series of config files from the command line That's great for dev ops people But I don't know that so he's as flexible as you might get with a nice web UI you get with gray log but hey Hand us up at feedback at the homelab show Feedback at the homelab dot show so we can you know hear from you and you make sure we're guiding you along the way On the content so we can provide you the best so Yep, that's what we do So we do let's tell you know, this is actually how j came up with system d I think weren't you at a talk and someone was talking about it j's like I have to cover this Yeah, and this this happens a lot. So I have this uh list I call it my backlog of ideas and there's usually about 50 to 60 ideas or something like that at any one time and then you know every month I pick some from that pool I think I I wanted to do a system d video for a while and yeah, I was at a conference And I I just walked in and then um, some people started talking about system d And it wasn't like a negative conversation. This wasn't like a you know a rant or a debate or anything It was just somebody saying, you know, did you know about this? Which which I did I actually coincidentally discovered it two weeks earlier The system ctl edit command, um, which nobody in the room knew that existed and and there's something like I mentioned system d timers and then Everyone's like what there's timers and it became very obvious to me that The way people think of system d is I could use start stop restart and reload to manage services And that's basically all anyone does and to nobody's offense. It's just you know, the main purpose of it but there's other things and other tools and you know, some people are hand editing, um, you know The unit files and which is nothing wrong with that if you know how to do it But there's tools that are available and a lot of people just don't know they exist So the conversation kind of happened and I wasn't even really part of it much. I was just kind of listening I'm like Yeah, I think that went up a big priority level here because There's clearly some confusion here and I think I just need to put out a video which may end up being more than one at this point Um about this topic to just give people something that they could use as reference and it's not But that the documentation doesn't exist. It's just that everything I've read about system d It explains it in way Way too many paragraphs like you don't need that many to explain one command It just goes on and on and um, who would know where those You know hidden features are if they're trying to find them in a wall of text I feel like There comes a point when there's too much documentation you have to condense it and make sure it's effective Um, but then again, maybe some people like that a big wall of text So I shouldn't judge but then again people also don't know about these features. So here we are It and I overlooked when we were talking about how to edit a unit file I overlooked the feature right away. Jay called me out on it. Um, I'll how you think you edit it and how you actually edit are two different ways Because against the norm, um, so Basically the video has been filmed and I wanted to cover You know everything in one video. I have to see how long it is. I might need to do it in the follow-up So one thing that's not in that in that video is system d timers, which may be A separate video or I might edit it into the current one. I haven't decided yet But it might be a couple weeks until this comes out It the majority of the video is already filmed and if I decide to do two parts, then all of the video has been filmed So what what the video does when it comes out? It's going to start you at the very basic level like the things that most people know if they've been using linux for a couple of months The you know the start stop restart and all that and then from there it goes into You know the directories unit files are stored in and why there's a few of the that you should pay attention to Um looking through a unit file. What's the difference between a you know What's a unit file in a service file? I cover those things. So Pretty much everything I'm going to say today is is a preview of what's going to be in that video There's there's it's just pretty much all of it. So um starting back at the beginning And this is you know territory where more people than others will know this already But system d is and and hit system. That's its core function It's pid one if you look at you know, if you open up h top you'll see pid one is system d If you're using a distribution that does use system d And there are distributions out there that do not use system d if that's not your flavor So, you know, some people and I'll get this out of the way are saying well system d is going to be in every distribution And I don't like it and then I'm thinking well It's okay. You don't have to like it but anyone who knows linux knows that there's never I repeat never A situation where all distros are all in there's always going to be some that are not There's always going to be some that go a different direction. So Um to think that every distribution is going to use it and there's going to be no distro That doesn't that's just not the way it works. Um linux is I mean, there's a lot of opposition in the links community I mean you could have something that's super amazing and there's going to be someone that doesn't like it But that's that's why we have distributions and things like that because people Are allowed to take it in different directions and fork it but system d is in the primary distros, you know, like fedora, debby and ubuntu arch arch was one of the first Um sento s all the red hat distributions. It's in quite a few So if you learn it then you're learning the init system for you know, all the big players So your skills do go very far by learning this and it's something that I do recommend people learn At least a little bit beyond the the core Start stop restart and things like that when it comes to services. What's the most popular replacement for system d? Well, you know, I don't have numbers by no like there's open rc. There's some distributions that still use sys 5 in it Um, there's you know launch d and a number of others, but I don't really know which ones are um, You know the most common because I haven't looked at the number system Number one is the most common by far. That's that's what I'm most familiar with It's like what's number two. I'm not really sure off the top of my head But it's probably one of those, but that's an interesting question now. I'm going to have to look that up after we're done so Yeah, that'll be another thing to look into which I love that kind of thing so Basically as you know, I go through You know a number of years using system d just like everyone else I'm just using start stop restart status, you know when it comes to the system ctl command So, you know and I'm going to try to keep the commands light here because this is a podcast I don't want anyone to just scramble to go find a pen or something everything. I'm going over in this Episode will be in the video. So you don't have to worry about taking notes or anything like that If anything else you can listen to this podcast and then the video will reinforce it so That being said system ctl is the command that you'll use primarily with system d and you you'll use it like You know system ctl status for example and then the name of a unit And then you could do restart and status Well, I just mentioned status, but then there's stop and sometimes reload But you have those controls in place to you know do you know one of those things to the process So you could have a patchy running. You know, you could restart it. You could stop it You could check the status of it There's a navel which means it starts up when you boot the system Disable is the opposite. It's not going to start up automatically And in my opinion, I feel like that's basically or basically where everyone stops including myself for a long time I never went any further than that because I was okay with that later on I started creating my own You know unit files But even then I haven't done that as often as I would like to so I never did a deep dive But as soon as I started You know looking into some of the features a system d has that most people don't know about Then you know, I went deeper and deeper and deeper and I started learning some things myself and then fast forward to today And the video has been recorded and is going to be released on the channel Hopefully soon Sometimes it could be as long as a month before I have something edited Other times I could be obsessed over it and get it done the same day So it's kind of a big variance there, but I guarantee you it will show up on the channel sometime Early summer late spring Maybe even next week. You never know, but it's coming. So that's a good thing So Yeah soon and so I'll get into some of the features that I didn't know about when I You know have been using system d for the longest time But actually before I get into that there's one thing that I want to make sure everybody understands because Sometimes the terminology can be confusing and I think it confused me as well Um, so I'll ask you this time. Do you know the difference between a unit file and a service file? Oh, I thought they were the same until you asked the question Well, you're not technically not wrong A service file is a type of unit file Everything that system d manages is a unit file. So if you have a mount file, that's a unit file If you have a timer, that's a unit file. A service is a unit file. So Um, I I fixate on services because you know service files because this is going to be the thing that most people Will manage a system d you you're not going to have nearly as many mounts or timers as you are Services running on your system. So when you do, you know start stop or whatever against a service or a unit in particular But um a service is going to be a process running in the background. So you're a patchy Engine x whatever it is ssh. Those are going to be Service files, but service files are a type of unit file. So that kind of gets that out of the way So if anyone's kind of confused about that hopefully now they're not so The first thing that I didn't know that I learned just by I don't even know how I found this out I think I was just messing around with ansible and somebody mentioned it in the comments um, and I'm kind of curious You know in the chat room if anyone has already heard of system ctl edit And then the name of a unit just say just raise your hand or just you know Give us an explanation in the chat room. There is a bit of a delay My theory is that there's going to be probably a few people that have heard of it But I think the majority Probably haven't because even for me if I think it was like two weeks before that panel I found out about that myself. So even I was late learning this so when you have a service file And you want to edit it What most people do and there's nothing technically wrong with this they'll Grab a service file. Maybe they'll download it from you know, the developer of the application Or what have you create one themselves if they want to and they'll drop it in the etsy system D system folder and that's not there's nothing wrong with that. Okay, that that's fine that that's where it's supposed to go And um, you know system d is able to handle that so there's nothing wrong with that workflow, but But people may not know is that um system ctl edit is a command that lets you edit a service file similar to how You have uh by sudo for editing the sudoers file. They recommend you not edit it directly They have a command and when you use that it opens up a temp file and you if there's a syntax error It warns you before it saves it. Um, I'm not sure if there's it's gonna, you know I'm pretty sure it doesn't have a syntax checker, but I'm not gonna Swear it doesn't because if it doesn't it probably will But what happens when you use system ctl edit and then the name of a service file And you don't even have to have a path. It could be httpd dot service or apache to dot service If it's apache is one or the other and what that'll do is open up your You know default text editor in your terminal And it'll have the unit file or the service file in this case on the screen all commented out so This is where we get into the territory where um, you know, I was Like I was messing with this and like why won't it save my changes? Like every time I do this and then I save the file it says there's nothing in the file But there is I saw like a bunch of lines of text I uncommented uh what I wanted to change and nothing worked, but What I realized is the answer is right there in front of me It's just maybe my add caused me not to look at it It there's a comment that says anything below this line is going to be you know Basically skipped and it tells you between these two lines put your changes So what you look what you do with this is you look at the commented out Unit file as just you know an example of what's there now for reference. That's all it's for you type in between the two lines The heading for example unit and brackets and then the option You want to change and you don't have to like put the entire service file Just what you want to change and when you save it it creates an override file So the original system d unit Stays where it is so if apt or dnf updates that package That's no problem It can do that all day long because your override file will take priority and any options that you have in that file Of that name the same name are going to override any similar options in the original file So that allows you to kind of just you know override that And the other thing you can do is that same command, but you add dash dash full ful l And instead of the commented out reference style, it's going to bring up the entire Service file right there in your text editor and when you save it It creates a unit file the same name in a directory with a higher priority that will override the distributions version and this is something that I Um, I really didn't know what could do I thought you know You just edit service files or unit files in general manually put them in the right folder and call it a day But I you know, I learned that this command exists and it makes the process A lot easier and you know, that's the first thing that I didn't know about system d when I started looking into it Yeah, it was really interesting and the answer is right there Because it's the third line down you put it just doesn't seem obvious because of all the extras down at the bottom of it when you run This um, so when you're doing and editing these these unit files You just put it in there and then you save it and it goes where it's supposed to go No, and there's going to be a system d system folder There's multiple folders where these units can be found But there's three that you should pay them the most attention to Slash live slash system d slash system Slash run slash system d slash system and slash etsy slash system d slash system And they have a different priority each in a different purpose each and this is one of the things that some people may not know so The first folder is is what's different the other two direct subdirectories are the same system d system So you have one in live etsy and user Okay user You know, we're not going to really get into because that's runtime stuff But the slash live slash system d slash system if you install a package Say apache engine x whatever it is that's where the service file goes from the distribution It goes in slash live slash system d slash system And this directory has the lowest priority So any of the other directories if you have a colliding config option Or a colliding file with the same name and anything in a directory of a higher priority is going to you know, take precedence So slash live slash system d slash system is a directory again where distributions Put the service files that are part of the distro And it has the lowest priority So that way it's the easiest to override if you don't want to go along with the distributions version of that unit Slash run slash system d slash system that one has a higher priority Then that folder we're not going to really talk about that folder much But the ultimate priority the biggest priority is slash etsy slash system d slash system If uh system d sees something in that folder Man, it's it's just like that is the one for me. I'm going to go for that one no matter what's in any other folder That's what I want. That's why when you run the commands I just gave you the override files are saved in that directory That's also where you put service files if you create one manually in that directory because that way That directory won't be managed by after d and f or anything So it's not going to like, you know an update isn't going to blow away anything But it does have a higher priority like I mentioned So that's why all the tutorials out there pretty much tell you to put the service file in that directory So if you didn't know why you should put it there. Well now you do highest highest priority And doesn't collide with your package manager. So there you go Yes, I seen someone mention I imagine it's the same for arch but I the way they had done it had when arch updated It had broke some of them. So this is to avoid any of the breakage when you do the updates Yeah, yep. Um, another thing with arches system or that's what I'm saying system b lvm snapshots Just play with that in a vm with with an arch installation, you know, not your production machine but I always love having a lvm snapshot before I run a update a full upgrade in arch because You know, if it breaks something I could just roll back the snapshot and it's like nothing ever happened But anyway, that's another story for another video So, um another one that I like is Blaming system d, you know, I just like to blame it actually. No, I'm just being silly But there is a system d blame command. It's system d hyphen analyze together So system d hyphen analyze and then blame when you run that command and this is really cool It's going to list all of the service files specifically service files So none of the other type of units and what it's going to do is order them from the The lowest amount of time it took for that service to start up to the most time A service took the start up So if your system is taking a long time to boot Then you can look at this to find out what service in particular was the one that caused the boot process to take So long and sometimes there could be more than one So you might have some that take, you know, like a second no big deal But if you have one that's taking like 30 45 seconds to start up, then That's a problem. You might want to take a look at that So when you run that command since it's ordered the way it is The first thing you'll see is the highest amount of seconds services took to boot So from lowest to highest with highest at the top so that way you can know immediately Okay, there's something going on with this service right here because it's taking like a long time to start up And if you're having trouble with your boot process and it's taking a long time Well, now you can know exactly what it is that is causing that to to be the case So there's another nugget of information that'll be useful I just ran it on mine and it turns out snap. That's the that's the slowest service How many I mean how many other people are going to find the same thing is the case that they're running on a boon tube because Um, I'm at the point now. It's just like even though, you know, I wrote the book on a boon tube But man if I hear snap one more time, uh, there's just one of those things that I'm going to snap It's just one of those things that's just like, um It's the joke that keeps on giving by a comedian. That's not really all that funny, you know I'm gonna tell the joke over and over again and and somebody will laugh eventually. No, it's not happening. Stop That's another tangent altogether I didn't have an opinion on snap until I did the gray log video. So yes, I have an opinion on it and I don't like it I don't um as another side story. I love universal apps. I think there's a great purpose for those But I yeah, there's some issues with snap with snap packages and that's just uh, not cool. So Um, not surprised to see that that's the case at all Um system d timers on the other hand is new and this isn't in the video right now So I might do this as part of like another one Or like I said, I might edit it into this one if it ends up not being too long after I cut it down But system d timers Essentially let you do what cron does but with more options For example, if you have a job that you want to run, I don't know at 9 p.m And for whatever reason at a power outage, you know servers not on at 9 p.m So it wasn't able to run when you started up the next time Then with a system d timer if you configure it the right way, what'll happen is say Hey, I was supposed to run yesterday at 9 p.m But I didn't get a chance the servers I'm going to run right now and it'll just make sure that the job still runs when it has the next available opportunity And there's other things in timers as well that you could do that are pretty cool I actually switched all of my cron jobs to system d timers at this point Um, it's not going to be something that's going to make anybody You know jump for joy But I think if you see all the additional things that system d timers can allow you to do then you might Have a have an argument to potentially just drop a cron job and you know make it a system d timer instead And that that's a little confusing to set up Honestly, um, which is why it needs a video because you still need a service file with a timer You need to The timer is where is what tells the service file to run So you still need a service file because what else is the timer going to tell to run the timer and the service file will have the same Name so we have service name dot service and then service name dot timer for example And then the question is well, do you start it? Do you enable it? Yes, the answer is yes And and another question might be well if i'm starting the timer do I need to or i'm enabling the timer Do I need to enable the service? No, but there's a reason why you might so if you have a service enabled it starts at boot That happens regardless of if you have a system d timer or not You have no timer It's going to start at boot if you have a timer It's still going to start at boot because you told the service to start at boot The timer also needs to be enabled Otherwise, it's not even going to run because it has to be enabled. It also has to start up It has to be started and enabled as well so you can Decide to not enable the service Because the logic is the timer is just going to run the service whether it's enabled or not But you still might want that service to run at boot if it's a job for example a reporting job You might want it to run at boot time and then also when the timer Goes off and decides to run it again Or you might be satisfied with the timer running it when it's time and and not having that enabled and that's okay That's up to you. So at first I thought it was confusing. You had two unit files a timer and a service but when I saw The functionality having them split gives you then I was okay with it at that point but it took a little bit of um, you know researching because there wasn't a lot of information about this but There will be when I do the video on that part In something I realized kind of going back to the uh blame part You can actually say system analyze and plot it'll create an svg output to Plot out all the timings and all the service startings. I thought that was kind of neat There was a lot of commands and the system to analyze or sub commands that I I've only looked at that one That that just gives you an idea of that There's probably going to be at least one more video About this and for and maybe even two more But I don't think it'll take any more than that and then people can watch those videos and know You know everything they need to know But I think the majority of that you'll learn in that in the video I already did another thing it doesn't go over is system d mounts Which will probably be another video So you could have you know the scfs tab handle mounts for you But you can also create a mount file with system d and when you start it it mounts the Folder you can make sure it's always mounted for example If that's something that you know cannot be you know on mounted it's required There's something important there it has to be there on the file system You can make system d keep an eye on that you could also add a keyword I forgot what it is. I think it's like x system d mount you could put in at cfs tab that That makes fs tab tell system d. Hey, you should pay attention to this as well um So that way you could you could have one or both But you you could omit the fs tab completely and just create a system d unit to You know mount a remote file system Which is pretty cool because that that's just that just gives you some functionality and you could decide not to have it enabled Maybe there's a non-demand file system used once in a while So you just do system ctl start and then the name of the mount service or mount unit And it'll then mount it when you want it to be mounted or it could be mounted all the time But you also have a unit type of auto mount Auto mount gives you the same capability as auto fs on demand Okay, you want this to be mounted when it's used Unmounted after it times out same thing as auto fs But it's within system d has that built in in that case You'll have a mount unit and an auto mount unit both the mount unit will mount the file system The auto mount unit will handle the dynamic nature of it So those two things together will give you the auto fs equivalent built right into system d So you can manage your file systems with it, which I thought was pretty cool I think that was the first thing I've ever learned about system d outside of Process management that when it comes to extra features So I've known about that one for a while, but I think of the other things I mentioned That's probably the most likely that people will know exists, but I'm I'm sure there's still a few that aren't aware of that It's really interesting. Uh, someone said there's an example of fs trim dot timer to start something when you only want to enable the timer, but for some reason you want to run it right now Uh, just start the service file and you don't need to wait for the timer Yep, and that's another example of another unit file. There there's a bunch of these like I mentioned earlier A service is a type of unit file, but it's not the only type You know, we we went through timers and I gave you some information on on mounts and auto mounts There's a number of these are sockets for example. There's just a number of these different kind of unit files So the file extension gives everything away that tells you the type of unit that it is So a service file is going to have dot service amount is going to have dot mount And auto mount unit will have dot auto mount and so on so that Helps you understand what kind of a unit file that happens to be if you were going through the directories that I mentioned And again, I'll have all those directories in the video. So don't worry about writing it down It's fine the video will come out and uh, you could uh refresh yourself with it when it comes out and you'll get The screen recording and all that showing everything i'm talking about Which uh for a lot of people that's kind of needed to uh make that stick It's kind of neat. So i'm looking myself through the command kind of as we go here But this is like sudo system d dash mount so you can mount things with system d In an unmount it's kind of interesting. There's a lot. I never really dug deep into that I'm usually just enable disable a service You know the usual tasks that I need to do to set a service up or get something going on a Linux server For one of my builds, but there's a definitely you tab a couple times a lot of complete You're like there's a lot of things I can touch here Well in some cases though, it might be required believe it or not because I found out the hard way um If you if you mount nfs 4 in the etsy of s top excuse me etsy fs tab file That's fine. I mean everyone does that in the nfs version 4 is obviously supported. It's a native thing But um, what I found out the hard way is that nautilus in gnome does not support nfs 4 Believe it or not. It just doesn't so you can't use it there But you can use it with fs tab you could use it with system d if you mount it with either those solutions Then it's just a file system gnome. These that it's there There's a bug report already about this and um, I think I've seen comments going back years up until now And there's some difficulty which doesn't make sense to me because you know everywhere else on you know, linux distributions They all support nfs 4, but gnome doesn't and I don't know why so I spent some time the other day Um, just grumbling. I'm like, why can't I access this path? I'm typing it perfectly in the In nautilus where you go to other locations And it still doesn't work and I check them out the path is fine find out you can't mount it So in that case I I have to use system d or fs tab to mount that file system Normally at gnome, you could just bookmark a network share you only even have to add it anywhere You could just have it in the left side and gnome will figure out figure out the rest But um, if anyone is a you know a master of nfs 4 Then you might want to contact gnome developers and see if you could fix that bug because it's just It's one of those things that I was surprised that gnome isn't able to do through nautilus That was shocking to me actually because it's able to support smb perfectly fine And it'll mount um ssh file systems perfectly fine too I it's always been really convenient to be able to you know, open up the ui and be able to be like midway files that way So I did not know it didn't support nfs um, but I don't Or but it does for nfs 3 so I just want to make sure that's What's understood here because um, apparently my nfs shares on true nas or nfs 4 so that there you go and that was um You know that was and it was interesting to find out for sure. So You know, that's a tidbit for anyone out there that might be fighting with this. Why won't you mount? Well, that's why it just won't until the bug is fixed. So interesting Yep But um, yeah, I mean that was a lot of information I don't want to overload anybody because at some point. Um, it becomes a uh tutorial without a screen recording You know, and that's yeah. Yeah, so we definitely need uh You know that um one last command I'll throw out there because I just typed it it looks cool So there's a top command essentially. So it's um system d dash cg top to show the uh unit files running and what they're doing You know, that's interesting now speaking of that that reminded me of something not related But it's to reminded me of this all the same I um just randomly opened up htop on the new fedora. They just came out And you know all my systems I use htop all day long. So I didn't think anything of it I'm like, why does this look weird? There's something weird about Um fedora's htop and I can't put my finger on it, but then it dawned on me. There's an i o tab now That shows you all the i o on its own tab an htop so I haven't looked into this yet, but it might just be a new Default feature for htop possibly for newer versions, but I only noticed that in fedora the uh 38 I didn't see that and you know, I'm using pop o s on my desktop and it's the same as it's always been But if anyone has um, you know fedora 38 or a newer distro try htop See if you have the i o tab. I thought it was pretty cool because i o is Very often the killer of performance. Yes. It's it's a in i there's actually another Uh tool you can lose called i o top where you can start looking at what processes and What what disc rights they're doing so you can kind of figure that out as a problem Because sometimes you'll have a system with a high service load But you won't see many things running and it may not have a high cpu load But that load is actually coming from the i o being too intense a database writing somewhere that it's Doesn't have quite the bandwidth it should have so it can really slow down your system troubleshooting all those things is always lots of fun Yeah, uh, someone's asking in the chat room about system d home d and no, I haven't looked into that yet I haven't used a distribution that that has that feature My understanding is that is a built-in system d feature for Roaming profiles I might be wrong on that because again, I haven't looked into it So just judging I mean I did look into it for a few minutes and you know I got the description and figured this wasn't something that I wanted to do because I you know I have sync things so I have all my files sticking to everything but Um a roaming profile solution could be like a big thing for enterprise I think some homelab people like this too if they have like multiple family members using Their servers that might be cool to have a roaming profile again take everything I said about it with a grain of salt because until I actually look into it Um, I don't know all there is to know about it But it might be fun to still kind of just look at it anyway just to kind of um, see how it works I I can't implement it into production because a roaming profile with sync thing that sounds like a recipe for disaster They have both at the same time, but um, I think that system d home d Might be a good thing for a lot of people and I remember when it came out People were very oppositional. It's like what system d wants to manage my home directory now. What's next it? No, no, no calm down. It's not about your home directory. It's a feature you can implement if you want to use this Um, you know, it's one of those things that's probably not going to factor into a lot of people But again enterprise people and homelab with multiple users might think that's an attractive feature So I do think I'll look into it at some point in a lab environment for sure Yeah, all right. I think we've covered it all Yeah, as far as we can in a podcast Yeah, we could do a whole series on this But but I think that'll wet everyone's appetite for the video I think it'll all come together when you see everything on the screen recording and I go through everything There's going to be time codes and all of that so you can you know go right into what I'm talking about here Again, there's not going to be as far as I know unless I change this afterwards There's not going to be a discussion in that video about timers or mounts But that could be something that I cover later also Journal ctl the journaling component component of system d. I figure that'll have to be its own video And I've pretty much covered that in multiple videos, but I may do a dedicated one at some point Yep All right. Well Thank you very much and uh, we will see you guys next time This was definitely a fun episode and I'm really looking for the system d video to learn some new tricks More than you know me and j from last night learned, but I at least have more stuff to click on All right, everyone take care and see you next time See you next time