this post was submitted on 21 Sep 2023
68 points (95.9% liked)

Linux

48008 readers
803 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
 

Hello everyone, my company (our department is of around 150+ developers/machine learning people/researchers) is currently considering switching from Windows to Gnu+Linux for company devices (as in the machines we use in our daily work) and we are currently in the phase of collecting requirements. I'm not in charge of the process or involved in the decision phase, but as an enthusiast I'm curious about it. We handle data and other sensitive resources, so the environment should remain managed by the IT department (what's possible to install, VPNs, firewalls, updates and similar). What do companies generally use in this kind of scenario? I'm assuming they generally do some stuff with either Canonical or Red Hat, but are there alternatives? Are there ways to do something that works across distributions by using flatpak or the nix package manager? What are your experiences?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 12 points 1 year ago* (last edited 1 year ago) (1 children)

In terms of ease of management and deployment NixOS might be an interesting option. It can be completely configured through a single file so the deployment and update processes become very straightforward and easy to manage in a centralised fashion.

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

I was thinking about that myself, but is there a way to remotely update configuration.nix and rebuild, if the requirements change? For example, if some dev wants to use Geany instead of Vscode and Admin is like "Yeah, why not", how would that be implemented?

[–] [email protected] 4 points 1 year ago

Ssh or ansible lol

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

Sure. Pick any orchestration solution you like. Ansible, for example. You'd just change the file that is rolled out for that machine, either by changing some central, per-machine file or its ansible file, then tell ansible to update the file remotely and make it run nixos-rebuild switch on that machine. A few seconds later the tool is installed. If you replaced vscode with geany vscode would be uninstalled, too.

[–] [email protected] 1 points 1 year ago

IIRC you can apply a confog built locally on a remote host, of you have SSH keys set up

[–] [email protected] 0 points 1 year ago

I would consider a git repo of a few standard configurations and switch them to a config that had it, or possibly maintain individual configs per user. Your orchestration would need to reference the git repo so when you need to add software XYZ to everyone’s machine you don’t have to re-run all of the individual playbooks and deal with the hassle of remembering who needed which playbook ran.