Linux skills are hard to find
-
@Dashrender said in Linux skills are hard to find:
But, can't you add all of these features to any distro? download the open source, compile and install? Sure, huge PITA, but possible. So it's nice to know that others have already done that with the different distros.
Sure, you can add them to windows too. You can write your own for anything. The thing is they are not part of the distro and are not supported or provided.
-
@scottalanmiller said in Linux skills are hard to find:
@Jason said in Linux skills are hard to find:
@coliver said:
Powershell has changed drastically. Every version is different then the previous one. The one thing that seems to remain the same is the awful Verb-Noun commands. Don't get me wrong, the changes are for the better, but they are still fairly dramatic changes.
Not only that.. Linux Bash is easy and logical..
Powershell is not something you can just think of like linux you have to memorize every command because they are not logical or easy to remember at all.
Which does against the nature of any command line interface, even switches/routers like Cisco IOS.
Very true. PS is powerful, but totally non-intuitive and not simple. If you use it all day, every day, it would be awesome. But so few people do that. You have to memorize way too many very specific commands. In Linux there are very few (relatively) and BASH itself is super simple (and only has a couple of commands itself like for, do and source.)
It's this mostly the difference between using the registry vs text config files? Is this why the need for the complex PS commands are there, yet not there in Linux?
-
@scottalanmiller said in Linux skills are hard to find:
@wirestyle22 said in Linux skills are hard to find:
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@wirestyle22 Sometimes codes are all that the logs will give you. Then you need to investigate what isn't working or what is working differently then expected. This is where a home lab comes into play.
Assuming this is your day job, it seems appropriate that work should have some lab space for you to work in to solve work related problems. You should rarely if ever be required to use your own stuff to work out problems like this.
I was just using it as an example and Linux only as we do not currently use a single Linux server here. We do not have a test environment
No test environments means it's not really your problem (Windows, Linux or otherwise.) It's the job or your job to provide the tools to do your job, not your job to provide them. If having test and troubleshooting environments is not important to them, it should not be important to you.
I have my own test environment specifically for learning purposes. I'm currently solidifying my knowledge while studying for some certs. I know practically no one thinks they are worth while here but unfortunately in my area they are a requirement for some positions so I have to get them. I am also putting out applications everywhere. Once I get a hit I'm leaving. As far as I'm concerned it's irrelevant now.
-
@Dashrender said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
@Jason said in Linux skills are hard to find:
@coliver said:
Powershell has changed drastically. Every version is different then the previous one. The one thing that seems to remain the same is the awful Verb-Noun commands. Don't get me wrong, the changes are for the better, but they are still fairly dramatic changes.
Not only that.. Linux Bash is easy and logical..
Powershell is not something you can just think of like linux you have to memorize every command because they are not logical or easy to remember at all.
Which does against the nature of any command line interface, even switches/routers like Cisco IOS.
Very true. PS is powerful, but totally non-intuitive and not simple. If you use it all day, every day, it would be awesome. But so few people do that. You have to memorize way too many very specific commands. In Linux there are very few (relatively) and BASH itself is super simple (and only has a couple of commands itself like for, do and source.)
It's this mostly the difference between using the registry vs text config files? Is this why the need for the complex PS commands are there, yet not there in Linux?
Not the reason but the things that lead to one form of complexity will lead to others as well. In Windows, you are correct, it is common to have a command for every task rather than just editing configuration files. The registry and the culture of the registry make things hard. But on Windows you can just edit the registry directly.
-
@wirestyle22 said in Linux skills are hard to find:
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@wirestyle22 Sometimes codes are all that the logs will give you. Then you need to investigate what isn't working or what is working differently then expected. This is where a home lab comes into play.
Assuming this is your day job, it seems appropriate that work should have some lab space for you to work in to solve work related problems. You should rarely if ever be required to use your own stuff to work out problems like this.
I was just using it as an example and Linux only as we do not currently use a single Linux server here. We do not have a test environment
My comment was to @coliver not you in this situation - he mentioned that "this is where a home lab comes into play"
-
@wirestyle22 said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
@wirestyle22 said in Linux skills are hard to find:
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@wirestyle22 Sometimes codes are all that the logs will give you. Then you need to investigate what isn't working or what is working differently then expected. This is where a home lab comes into play.
Assuming this is your day job, it seems appropriate that work should have some lab space for you to work in to solve work related problems. You should rarely if ever be required to use your own stuff to work out problems like this.
I was just using it as an example and Linux only as we do not currently use a single Linux server here. We do not have a test environment
No test environments means it's not really your problem (Windows, Linux or otherwise.) It's the job or your job to provide the tools to do your job, not your job to provide them. If having test and troubleshooting environments is not important to them, it should not be important to you.
I have my own test environment specifically for learning purposes. I'm currently solidifying my knowledge while studying for some certs. I know practically no one thinks they are worth while here but unfortunately in my area they are a requirement for some positions so I have to get them. I am also putting out applications everywhere. Once I get a hit I'm leaving.
Certs also give you a purpose when studying/learning something new.
-
@Dashrender said in Linux skills are hard to find:
@wirestyle22 said in Linux skills are hard to find:
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@wirestyle22 Sometimes codes are all that the logs will give you. Then you need to investigate what isn't working or what is working differently then expected. This is where a home lab comes into play.
Assuming this is your day job, it seems appropriate that work should have some lab space for you to work in to solve work related problems. You should rarely if ever be required to use your own stuff to work out problems like this.
I was just using it as an example and Linux only as we do not currently use a single Linux server here. We do not have a test environment
My comment was to @coliver not you in this situation - he mentioned that "this is where a home lab comes into play"
And I see that @coliver was now responding working under the home lab expectation..
it's all good.. -
Here is a bit of difference in approach between Windows and Linux, and I'm not 100% sure on the Windows side so correct me if I'm wrong on the commands. This is one of the "best" cases for PowerShell and was used as the example of how easy it is and I think it really shows how silly and hard it is:
Windows find and set Hostname
- Get-Computername
- Set-Computername newname
Linux find and set Hostname
- hostname
- hostname newname
Differences:
- Linux uses the name of what you want to do, not something else (hostname instead of computername.) I realize that Windows calls it a computername, but it is the hostname that I'm concerned about, not the computer name. Hostname is the name on TCP/IP and DNS.
- Linux needs no verbs, the verbs are implied and obvious.
- Linux needs only one command, not two.
- Linux is designed for admins, not programmers. Programmers are used to getters and setters, admins are not.
It's not a big deal, but PS isn't as simple. Unnecessarily so.
-
@scottalanmiller said in Linux skills are hard to find:
Here is a bit of difference in approach between Windows and Linux, and I'm not 100% sure on the Windows side so correct me if I'm wrong on the commands. This is one of the "best" cases for PowerShell and was used as the example of how easy it is and I think it really shows how silly and hard it is:
Windows find and set Hostname
- Get-Computername
- Set-Computername newname
Linux find and set Hostname
- hostname
- hostname newname
Differences:
- Linux uses the name of what you want to do, not something else (hostname instead of computername.) I realize that Windows calls it a computername, but it is the hostname that I'm concerned about, not the computer name. Hostname is the name on TCP/IP and DNS.
- Linux needs no verbs, the verbs are implied and obvious.
- Linux needs only one command, not two.
- Linux is designed for admins, not programmers. Programmers are used to getters and setters, admins are not.
It's not a big deal, but PS isn't as simple. Unnecessarily so.
I was mistaken it is actually $env:computername. It doesn't look like there is a native powershell function to get the computername. You can also use the hostname path.
-
@Dashrender said in Linux skills are hard to find:
@wirestyle22 said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
@wirestyle22 said in Linux skills are hard to find:
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@wirestyle22 Sometimes codes are all that the logs will give you. Then you need to investigate what isn't working or what is working differently then expected. This is where a home lab comes into play.
Assuming this is your day job, it seems appropriate that work should have some lab space for you to work in to solve work related problems. You should rarely if ever be required to use your own stuff to work out problems like this.
I was just using it as an example and Linux only as we do not currently use a single Linux server here. We do not have a test environment
No test environments means it's not really your problem (Windows, Linux or otherwise.) It's the job or your job to provide the tools to do your job, not your job to provide them. If having test and troubleshooting environments is not important to them, it should not be important to you.
I have my own test environment specifically for learning purposes. I'm currently solidifying my knowledge while studying for some certs. I know practically no one thinks they are worth while here but unfortunately in my area they are a requirement for some positions so I have to get them. I am also putting out applications everywhere. Once I get a hit I'm leaving.
Certs also give you a purpose when studying/learning something new.
Certs are awesome for this. Forces you to not skip things, go down paths you might not have thought of, etc.
-
@coliver said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
Here is a bit of difference in approach between Windows and Linux, and I'm not 100% sure on the Windows side so correct me if I'm wrong on the commands. This is one of the "best" cases for PowerShell and was used as the example of how easy it is and I think it really shows how silly and hard it is:
Windows find and set Hostname
- Get-Computername
- Set-Computername newname
Linux find and set Hostname
- hostname
- hostname newname
Differences:
- Linux uses the name of what you want to do, not something else (hostname instead of computername.) I realize that Windows calls it a computername, but it is the hostname that I'm concerned about, not the computer name. Hostname is the name on TCP/IP and DNS.
- Linux needs no verbs, the verbs are implied and obvious.
- Linux needs only one command, not two.
- Linux is designed for admins, not programmers. Programmers are used to getters and setters, admins are not.
It's not a big deal, but PS isn't as simple. Unnecessarily so.
I was mistaken it is actually $env:computername. It doesn't look like there is a native powershell function to get the computername. You can also use the hostname path.
So what is the whole command?
-
@scottalanmiller said in Linux skills are hard to find:
@Dashrender said in Linux skills are hard to find:
@wirestyle22 said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
@wirestyle22 said in Linux skills are hard to find:
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@wirestyle22 Sometimes codes are all that the logs will give you. Then you need to investigate what isn't working or what is working differently then expected. This is where a home lab comes into play.
Assuming this is your day job, it seems appropriate that work should have some lab space for you to work in to solve work related problems. You should rarely if ever be required to use your own stuff to work out problems like this.
I was just using it as an example and Linux only as we do not currently use a single Linux server here. We do not have a test environment
No test environments means it's not really your problem (Windows, Linux or otherwise.) It's the job or your job to provide the tools to do your job, not your job to provide them. If having test and troubleshooting environments is not important to them, it should not be important to you.
I have my own test environment specifically for learning purposes. I'm currently solidifying my knowledge while studying for some certs. I know practically no one thinks they are worth while here but unfortunately in my area they are a requirement for some positions so I have to get them. I am also putting out applications everywhere. Once I get a hit I'm leaving.
Certs also give you a purpose when studying/learning something new.
Certs are awesome for this. Forces you to not skip things, go down paths you might not have thought of, etc.
That is my hope
-
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
Here is a bit of difference in approach between Windows and Linux, and I'm not 100% sure on the Windows side so correct me if I'm wrong on the commands. This is one of the "best" cases for PowerShell and was used as the example of how easy it is and I think it really shows how silly and hard it is:
Windows find and set Hostname
- Get-Computername
- Set-Computername newname
Linux find and set Hostname
- hostname
- hostname newname
Differences:
- Linux uses the name of what you want to do, not something else (hostname instead of computername.) I realize that Windows calls it a computername, but it is the hostname that I'm concerned about, not the computer name. Hostname is the name on TCP/IP and DNS.
- Linux needs no verbs, the verbs are implied and obvious.
- Linux needs only one command, not two.
- Linux is designed for admins, not programmers. Programmers are used to getters and setters, admins are not.
It's not a big deal, but PS isn't as simple. Unnecessarily so.
I was mistaken it is actually $env:computername. It doesn't look like there is a native powershell function to get the computername. You can also use the hostname path.
So what is the whole command?
$env:computername is the command to get the hostname of the computer. Hostname is an alias for it, some other Windows admins can correct me if I'm wrong.
-
@coliver said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
Here is a bit of difference in approach between Windows and Linux, and I'm not 100% sure on the Windows side so correct me if I'm wrong on the commands. This is one of the "best" cases for PowerShell and was used as the example of how easy it is and I think it really shows how silly and hard it is:
Windows find and set Hostname
- Get-Computername
- Set-Computername newname
Linux find and set Hostname
- hostname
- hostname newname
Differences:
- Linux uses the name of what you want to do, not something else (hostname instead of computername.) I realize that Windows calls it a computername, but it is the hostname that I'm concerned about, not the computer name. Hostname is the name on TCP/IP and DNS.
- Linux needs no verbs, the verbs are implied and obvious.
- Linux needs only one command, not two.
- Linux is designed for admins, not programmers. Programmers are used to getters and setters, admins are not.
It's not a big deal, but PS isn't as simple. Unnecessarily so.
I was mistaken it is actually $env:computername. It doesn't look like there is a native powershell function to get the computername. You can also use the hostname path.
yeah, that's even harder, lol. Although you can do the same thing in Linux and just echo out the variable.
-
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
Here is a bit of difference in approach between Windows and Linux, and I'm not 100% sure on the Windows side so correct me if I'm wrong on the commands. This is one of the "best" cases for PowerShell and was used as the example of how easy it is and I think it really shows how silly and hard it is:
Windows find and set Hostname
- Get-Computername
- Set-Computername newname
Linux find and set Hostname
- hostname
- hostname newname
Differences:
- Linux uses the name of what you want to do, not something else (hostname instead of computername.) I realize that Windows calls it a computername, but it is the hostname that I'm concerned about, not the computer name. Hostname is the name on TCP/IP and DNS.
- Linux needs no verbs, the verbs are implied and obvious.
- Linux needs only one command, not two.
- Linux is designed for admins, not programmers. Programmers are used to getters and setters, admins are not.
It's not a big deal, but PS isn't as simple. Unnecessarily so.
I was mistaken it is actually $env:computername. It doesn't look like there is a native powershell function to get the computername. You can also use the hostname path.
So what is the whole command?
I haven't tested it but I think
$env:computername.rename("New Name") will set a new computer name.
-
@coliver said in Linux skills are hard to find:
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
Here is a bit of difference in approach between Windows and Linux, and I'm not 100% sure on the Windows side so correct me if I'm wrong on the commands. This is one of the "best" cases for PowerShell and was used as the example of how easy it is and I think it really shows how silly and hard it is:
Windows find and set Hostname
- Get-Computername
- Set-Computername newname
Linux find and set Hostname
- hostname
- hostname newname
Differences:
- Linux uses the name of what you want to do, not something else (hostname instead of computername.) I realize that Windows calls it a computername, but it is the hostname that I'm concerned about, not the computer name. Hostname is the name on TCP/IP and DNS.
- Linux needs no verbs, the verbs are implied and obvious.
- Linux needs only one command, not two.
- Linux is designed for admins, not programmers. Programmers are used to getters and setters, admins are not.
It's not a big deal, but PS isn't as simple. Unnecessarily so.
I was mistaken it is actually $env:computername. It doesn't look like there is a native powershell function to get the computername. You can also use the hostname path.
So what is the whole command?
I haven't tested it but I think
$env:computername.rename("New Name") will set a new computer name.
I'm not sure how this applies to Linux, but in a business environment, other than during setup, this would be a rare thing to change, and would probably break AD authentication.
for scripting I can see why this is useful though.
So Windows appears to use a variable name, but Linux (maybe from Unix) has a dedicated command for this - while it's easier to use most definitely, was the expectation of use so frequent that it warranted it's own command instead of calling it from a config file or a system variable?
-
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
Here is a bit of difference in approach between Windows and Linux, and I'm not 100% sure on the Windows side so correct me if I'm wrong on the commands. This is one of the "best" cases for PowerShell and was used as the example of how easy it is and I think it really shows how silly and hard it is:
Windows find and set Hostname
- Get-Computername
- Set-Computername newname
Linux find and set Hostname
- hostname
- hostname newname
Differences:
- Linux uses the name of what you want to do, not something else (hostname instead of computername.) I realize that Windows calls it a computername, but it is the hostname that I'm concerned about, not the computer name. Hostname is the name on TCP/IP and DNS.
- Linux needs no verbs, the verbs are implied and obvious.
- Linux needs only one command, not two.
- Linux is designed for admins, not programmers. Programmers are used to getters and setters, admins are not.
It's not a big deal, but PS isn't as simple. Unnecessarily so.
I was mistaken it is actually $env:computername. It doesn't look like there is a native powershell function to get the computername. You can also use the hostname path.
So what is the whole command?
I haven't tested it but I think
$env:computername.rename("New Name") will set a new computer name.
I'm not sure how this applies to Linux, but in a business environment, other than during setup, this would be a rare thing to change, and would probably break AD authentication.
for scripting I can see why this is useful though.
So Windows appears to use a variable name, but Linux (maybe from Unix) has a dedicated command for this - while it's easier to use most definitely, was the expectation of use so frequent that it warranted it's own command instead of calling it from a config file or a system variable?
It would most definitely break AD Authentication. Just something that I was wondering about.
-
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@Dashrender said in Linux skills are hard to find:
@coliver said in Linux skills are hard to find:
@scottalanmiller said in Linux skills are hard to find:
Here is a bit of difference in approach between Windows and Linux, and I'm not 100% sure on the Windows side so correct me if I'm wrong on the commands. This is one of the "best" cases for PowerShell and was used as the example of how easy it is and I think it really shows how silly and hard it is:
Windows find and set Hostname
- Get-Computername
- Set-Computername newname
Linux find and set Hostname
- hostname
- hostname newname
Differences:
- Linux uses the name of what you want to do, not something else (hostname instead of computername.) I realize that Windows calls it a computername, but it is the hostname that I'm concerned about, not the computer name. Hostname is the name on TCP/IP and DNS.
- Linux needs no verbs, the verbs are implied and obvious.
- Linux needs only one command, not two.
- Linux is designed for admins, not programmers. Programmers are used to getters and setters, admins are not.
It's not a big deal, but PS isn't as simple. Unnecessarily so.
I was mistaken it is actually $env:computername. It doesn't look like there is a native powershell function to get the computername. You can also use the hostname path.
So what is the whole command?
I haven't tested it but I think
$env:computername.rename("New Name") will set a new computer name.
I'm not sure how this applies to Linux, but in a business environment, other than during setup, this would be a rare thing to change, and would probably break AD authentication.
for scripting I can see why this is useful though.
So Windows appears to use a variable name, but Linux (maybe from Unix) has a dedicated command for this - while it's easier to use most definitely, was the expectation of use so frequent that it warranted it's own command instead of calling it from a config file or a system variable?
You use the command to change it in memory on the fly. Does changing the Windows variable do that? I don't think that it does. If you want to change it like you are changing it on Windows you edit /etc/hostname on Linux. On Linux it is super simple to see what is in memory (hostname) versus what is set in memory at boot time (the file /etc/hostname.) On Windows, how many of the Windows admins here know the answer to that and how it interacts?
And on Windows, you do have a custom command for that, it is hidden as part of the object's methods. But it is actually Windows with the additional commands, in this case.
-
@scottalanmiller said in Linux skills are hard to find:
Here is a bit of difference in approach between Windows and Linux, and I'm not 100% sure on the Windows side so correct me if I'm wrong on the commands. This is one of the "best" cases for PowerShell and was used as the example of how easy it is and I think it really shows how silly and hard it is:
Windows find and set Hostname
- Get-Computername
- Set-Computername newname
Linux find and set Hostname
- hostname
- hostname newname
Differences:
- Linux uses the name of what you want to do, not something else (hostname instead of computername.) I realize that Windows calls it a computername, but it is the hostname that I'm concerned about, not the computer name. Hostname is the name on TCP/IP and DNS.
- Linux needs no verbs, the verbs are implied and obvious.
- Linux needs only one command, not two.
- Linux is designed for admins, not programmers. Programmers are used to getters and setters, admins are not.
It's not a big deal, but PS isn't as simple. Unnecessarily so.
In all fairness (and I have no idea whether it's this way on Windows with PS) that's not a permanent hostname change. For a permanent change you either need to edit the config file (depending on the distro) or with systemd use
hostnamectl
-
Ha I posted too slow. Scott got there before I did.