this post was submitted on 27 Jul 2024
195 points (96.2% liked)

Linux

48044 readers
777 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I'm trying to get a job in IT that will (hopefully) pay more than a usual 9 to 5. I'm been daily driving Linux exclusively for about 2 1/2 years now and I'm trying to improve my skills to the point that I could be considered a so-called "power user." My question is this: will this increase my hiring chances significantly or marginally?

(page 2) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 19 points 3 months ago* (last edited 3 months ago) (4 children)

If you're applying to work with my team. A big Yes.

Seeing a developer use Windows is a big turn off, I can clearly see all the future dev environment problems I'd need to assist them with.

And if you understand linux permissions, the architecture, bash, common tools, etc. I can envision how you will make the dev experience better for everyone and contribute to fix any deployment issues. Unlike windows, you won't be introducing ovearching solutions to problems which can be solved with a simple bash script.

load more comments (4 replies)
[–] [email protected] 11 points 3 months ago

Depends on the job!

Linux opens up a lot of possible job openings

[–] [email protected] 2 points 3 months ago (2 children)

When looking for Linux tech jobs to apply to, a lot of them actually have Vim experience as a preferred quality. Can any experts confirm this?

[–] [email protected] 2 points 3 months ago

Nah. That's like bragging that you memorize a lot of Pi digits.

Some on the IT team in my company use vim, some use nano, some probably use notepad or something ridiculous.

It's just a text editor and knowing vim doesn't automatically make me assume you're competent at anything.

[–] [email protected] 5 points 3 months ago

Been in the industry for over 25 years, I have not once been asked to use vim. I mean, of course I do, but mostly I am the only vim user in my teams.

[–] [email protected] 17 points 3 months ago (1 children)

Even a simple "I know how to setup a network-wide ad blocker on docker by using my own image" can get you far, so yep.

[–] [email protected] 0 points 3 months ago (2 children)

Thats oddly specific. I think "I have experience with Linux" would be better

[–] [email protected] 1 points 3 months ago* (last edited 3 months ago) (1 children)

On a resume you might format this like "Skilled in setting up networked Docker images". Absolutely a valued skill and worth mentioning.

load more comments (1 replies)
[–] [email protected] 7 points 3 months ago (1 children)

This is a IT-related question -- of course being "oddly specific" is a great idea. Even if the job in question does not use anything docker related.

load more comments (1 replies)
[–] [email protected] 45 points 3 months ago (7 children)

I interview developers and information security people all the time. I always ask lots of questions about Linux. As far as I'm concerned:

  • If you're claiming to be an infosec professional and don't know Linux you're a fraud.
  • If you're a developer and you don't know how to deploy to Linux servers you're useless.

So yeah: Get good with Linux. Especially permissions! Holy shit the amount of people I interview that don't know basic Linux permissions (or even about file permissions in general) is unreal.

Like, dude: Have you just been chmod 777 everything all this time? WTF! Immediate red flag this guy cannot be trusted with anything.

[–] [email protected] 8 points 3 months ago

Have you just been chmod 777 everything all this time?

Oh man, I ran into a dev at a meetup who proposed this solution.

And I had to do a polite, "Oh wow maybe that works but I don't think that's a solution in my company" because YIKES.

[–] [email protected] 7 points 3 months ago (2 children)
  1. What are basic Linux permissions?
  2. What does chmod 777 do?
[–] [email protected] 16 points 3 months ago (4 children)

Quick and dirty: the basic permissions are read, write, and execute, and are applied to the owner, the group, and everyone else. They're applied to all files and directories individually.

It's represented by a 3 digit number (in octal, which is base 8, so 0 to 7). The first number is the permission given to the file's owner, the second to the file's group owner, and the third to everyone else. So, the owner of the file is the one user account that owns it, the group applies to all members of that group. User and group ownership are also applied to each file and directory individually.

Read, write, and execute are represented by the numbers 4, 2, and 1, respectively, and you add them together to get the permission, so 0 would be nothing, 1 would be execute but not read or write, 2 would be write but not read or execute (and yes there are uses for that), 3 would be write and execute but not read, 4 is read only, etc through to 7 which is basically full control.

This will take a little bit to make sense for most people.

chmod (change modifier, I think) is the program you use to set permissions, which you can do explicitly by the number (there are other modes but learn the numbers first), so chmod 777 basically means everyone has full control of the file or directory. Which is bad to do with everything for what I hope are obvious reasons.

chown (change owner) is the program you use to set the owner (and optionally the group) of a file or directory, and chgrp (change group) changes the group only.

It gets deeper with things like setuid bits and sticky bits, and when you get to SELinux it really gets granular and complex, but if you understand the octal 3 digit permissions, you'll have the basics that will be enough for quite a lot of use cases.

(Additionally to the 3 digit number, permissions can be represented a bit friendlier where it just lists letters and dashes, so 750 (full control user, read and execute group) could be shown as rwxr-x---, where r=read, w=write, and x=execute, and what they're applied to can be represented by the letters u for user (aka owner), g for group, and o for other)

This goes into more detail of those basics: https://opensource.com/article/19/6/understanding-linux-permissions

[–] [email protected] 3 points 3 months ago (2 children)

Thanks. Bookmarking for future reference.

load more comments (2 replies)
load more comments (3 replies)
load more comments (1 replies)
[–] [email protected] 6 points 3 months ago (3 children)

Can I ask if the reverse applies, eg is having no idea how to use non Unix like OSes (like Windows) any kind of red flag? Kinda been considering trying to go into a tech career so that I can have a 9-5 office job (I've until recently worked in what would be considered "blue collar" jobs, recently switched to an education job, would be nice to just sit down in an office and use computers for a living). I've used (GNU/)Linux from a very young age (parents had an Ubuntu laptop), as my primary OS/daily driver since I was 13, and exclusively (i.e. got rid of my Windows partition due to Windows enshittification) since I was idk maybe 16 ish? So I'm pretty comfortable doing things in Linux. But I have a reputation for being a tech person among my friends and they ask me to fix their stuff sometimes and whenever it's a Windows problem I literally have no idea how to use the OS lol. So are Windows skills and knowledge also expected for tech jobs or just Linux/Unix-like?

[–] [email protected] 7 points 3 months ago

Depends on the tech job. A lot of corporate IT support jobs care a lot more about troubleshooting windows because that's what the employees use

load more comments (2 replies)
load more comments (4 replies)
[–] [email protected] 11 points 3 months ago (3 children)

Lots of good advice here. I'll add that you could develop an understanding of IP networking and how it works on Linux, network interfaces, with containers, with iptables as well as stateful and stateless firewalls, CIDRs and basic routing, IP protocols and some common protocols like DNS and HTTP. This used to be pretty common knowledge in applicants 15 years ago, but very few have it today I find. DHCP and PXE boot is fun to learn too, and is still common in datacenters.

load more comments (3 replies)
[–] [email protected] 56 points 3 months ago (1 children)

I've hired for junior positions on a sysadmin team and Linux as a hobby is the number 1 thing I look for. It moves your resume to the top of the stack.

load more comments (1 replies)
[–] [email protected] 21 points 3 months ago

It will. Keep in mind that, depending on the type of job, you'll have to keep learning new tech just to keep up: virtualization, containers, orchestrators, automation, backups, logging, auditing, scripting and God knows what else. It's a good starting point to get you the jobs that the Windows crowd won't touch because of the command line.

[–] [email protected] 6 points 3 months ago* (last edited 3 months ago) (1 children)

Yes, because you're already familiar with the command line. But for a job in the professional Linux world, also try out RHEL (not Fedora), and familiarize yourself with best practices in patch management. There's a lot more to it than just dnf upgrade if you have applications depending on specific versions of packages, CVEs need to be mitigated ASAP, downtime needs to be minimized and reverting a borked upgrade (including the installed database) needs to work 100%.
Also, get familiar with containerization, SELinux, VMWare hypervisors, a version control system, the LAMP stack and Samba.

[–] [email protected] 4 points 3 months ago

Good advice here, although I would recommend going for debian instead, get a grasp how different package managers in linux do the same thing.

  • Containerization
  • KVM
  • webserver apache/nginx yatta (ceritifcate handling, god I hate this)
[–] [email protected] 4 points 3 months ago

My personal experience: Absolutely!

I've always landed on jobs/projects that involve Linux server. Generally startups with not much expense to spare would go for this route. However, even bigger companies would opt for enterprise Linux.

I wouldn't say that will work on every IT jobs out there, but when it does, you know you're in for a fun ride!

[–] [email protected] 22 points 3 months ago (2 children)

To give yourself a better chance, learn things like:

  • Bash scripting
  • Docker
  • Docker Compose
  • Kubernetes
  • Oauth2 and and an authorization server like Keycloak
  • Build and deployment tools like Jenkins

Also learn how to deploy database and web servers manually.

It sounds like a lot but they're things you'll be expected to use.

[–] [email protected] 1 points 3 months ago (2 children)

Deploy database? You mean something like SQL?

[–] [email protected] 1 points 3 months ago

Yep. You should absolutely know how all the pieces connect.

One IT responsibility is setting up servers. You should at least know how to get a website running off of a Linux machine at a basic level. But what we judge you on is your ability to manage and secure it.

load more comments (1 replies)
[–] [email protected] 9 points 3 months ago (1 children)

It highly depends on the job. Some companies run fully on Windows, no exceptions. There it obviously would not help. But many still either host various services on Linux, or buy hosting/cloud commuting that is Linux based. There it might even be necessary.

It also depends on what you mean by "power user". I would generally advise you to look into the server side of things. In my work, there are zero Linux machines that have a GUI of any kind installed. t The 50 or so Linux machines are all administered through SSH and Shell.

[–] [email protected] 2 points 3 months ago (1 children)

This! Also if you company only employs windows machines ... run.

load more comments (1 replies)
[–] [email protected] 12 points 3 months ago (1 children)
[–] [email protected] 4 points 3 months ago* (last edited 3 months ago)

Exactly this. Having an interest and a hobby to an open source system will make you better in your job and a much more interesting candidate to hire.

Source: started with linux in 1995 as a kid. Never having issues finding great jobs.

Edit: I did not mean being a devops here, but finding an interest in open source software and learning a highly lucrative programming language while going. You can get pretty far with Rust or Go in the modern startups, C or Java in enterprises. Being very good with Linux drives this interest.

[–] [email protected] 1 points 3 months ago (1 children)

Honestly, it depends on the business.

If I were the hiring manager we are a 80/20 split on win vs Linux servers. You may be top tier on 20% of our systems but we have automated about 85% of the tasks on those boxes. The other 15% is being covered by the windows people.
How do I justify hiring you to do 15% of the work of the others?

In order to be paid above average, you need to be good at something others find hard. But don't pigeon hole yourself to one thing.

Being good at windows and Linux will make you a more attractive hire. As a Linux daily driver you should have no excuse to not know virtualisation or containers. Run up some qemu VMS or some LXC containers to expand your skillset.

[–] [email protected] 2 points 3 months ago

I make it a condition of my employment that I never touch windows servers, and I get paid very, very well.

Linux experience is far more important than windows experience, IMHO. Almost every company has Linux servers. Loads of companies don't have windows servers.

[–] [email protected] 2 points 3 months ago

Put it this way - it doesn't hurt.

Nothing fully replaces real world experience with the exact software and technologies your potential employer uses, but having demonstrable ability to use and understand linux is very transferrable. Ultimately it comes down to the interviewers and what they're looking for, and to the more technical of those, choosing linux as a daily driver shows you're more interested in understanding how computers work and that you have a degree of problem solving ability.

Read some adverts of the jobs you want to get, being realistic that you may need to start low to get that experience, and build ability in what's wanted, especially the bits that are marketable.

[–] [email protected] 49 points 3 months ago (8 children)

What education do you have in the area?

The IT/Sysadmin sector does have a risk with knowing enough to be dangerous.

Daily driving Linux is great to get used to the command line, but is different from running servers.

If you have no experience with running Linux servers, I would be focusing on that part, rather than daily driving at this point.

Running a server requires a bit of a different mindset to that of just using a desktop.

You need to be far more restrictive about installing software on the server, be more cautios of reboots, and in general focus on stabillity.

You also need to familiarize yourself with Debian/Ubuntu and Red Hat/Fedora based distributions, their package managers, apt and dnf, the general layout of the system, they are mostly similar, but they have their own flavours, especially when it commes to the config files.

Learn the basics of vim, it will allways be installed on a server, I prefer nano but can use vim if needed.

A big part of my job when I was a Helpdesk technician combined with a Linux sysadmin was storage, I had to set up VMs in vSphere and Nutanix and give them the correct ammount of storage, sometimes also expand the storage on a server, and work with mountpoints.

Play around with LVMs, learn the concepts of PVs, VGs and LVs, learn how to expand them, how to move an LV from one PV to another inside a VG, learn how to mount them.

Learn how to set a manual IP, this can change from version to version of a distribution.

Learn to get annoyed at YAML files.

Understand how to secure a system, I'll admit that I never really had to do this as all servers I worked on was behind strong firewalls and not accessable from the internet, but I did my best with what I had.

[–] [email protected] 5 points 3 months ago (1 children)

This is a great response, would heed its points especially the yaml files.

[–] [email protected] 1 points 3 months ago

Just make a template, once done you can easily do it while blasting Scooter, get pissed when it breaks due to a change of interface names, switch to Sabaton while you battle it out. After that you go to the local zoo and watch some Lynx just relaxing all day and ask yourself where it all webt wrong.

load more comments (7 replies)
[–] [email protected] 6 points 3 months ago (1 children)

If your goal is to make yourself more valuable to employers/clients the best path is to specialize in some critical and niche enterprise tech. People that are good at stuff businesses were lured into using get paid very well. In my case it was SharePoint, but that's just an example.

Knowing your way around the OS is taken for granted in these positions, so you have one piece of the puzzle, which is great, but you need the other pieces.

But be careful, if I have to choose between two experts, one with basic win+linux and the other only linux, I'm choosing the former.

[–] [email protected] 1 points 3 months ago (1 children)

Very bad advice, getting your niche might pay off for a certain job in a certain time period and makes you clueless and worthless in any other job other timeframe.

Rather focus on general overview and tools instead. I can imagine how you brain is melting away dealing your whole work day with only sharepoint, rofl.

[–] [email protected] 1 points 3 months ago

Well, it was addressing the pay issue, and it is the most secure path to higher paid position fast. Moving on to new stuff comes naturally and the industry will push you to their next hotness, so not really a problem.

[–] [email protected] 3 points 3 months ago

I had the same question. I have rather good understanding of Linux and command line however at my job where Ubuntu is used other people easily caught up with me. They still don't know much about what exactly a command does but they know when to run it so IMO it doesn't matter how much Linux you know the only knowledge matters which you could use to have your job done quickly and efficiently.

[–] [email protected] 4 points 3 months ago (1 children)

Specifically for a job of Linix sysadmin, probably yes. If you can afford it do a certification, it will help you stand among other candidates with no work experience.

For other IT jobs it's not so relevant. Linux is technically on the servers but the infrastructure is hidden from you by multiple levels of abstraction.

[–] [email protected] 1 points 3 months ago

Certifications will absolutely get your foot in the door if you have zero experience.

Don't think of it as "affordability", but rather an investment in your future. In the US, you're spending $400 to study and successfully get a cert in a few months versus $80k doing a college program.

But lets say you seriously can't afford it at all, then the $10 udemy courses to train you is pretty good to at least know the lingo, and then a few years setting up your own self hosting.

load more comments
view more: ‹ prev next ›