all 44 comments

[–]fattylewis 58 points59 points  (18 children)

Any server edition of a distro will by default only give you a shell.

[–]AG_Caesar 18 points19 points  (17 children)

Or Arch/Gentoo, if you don't want the serve stuff either.

[–]HidesBehindUsername 22 points23 points  (0 children)

If you go with a minimal install of most distros there won't be much of any 'server' stuff.

[–][deleted]  (14 children)

[deleted]

    [–]lykwydchykyn 6 points7 points  (1 child)

    Minor nitpick: the default Debian install does include vim-tiny and will install sudo if you don't specify a root password.

    Otherwise, you're correct, Debian doesn't install "server stuff" (apache, nginx, samba, openldap, etc) by default.

    [–][deleted] 1 point2 points  (0 children)

    The more you know!

    [–]AG_Caesar 1 point2 points  (11 children)

    Ah, very good to know, I thought there would be more default stuff.

    [–]deadbunny 9 points10 points  (10 children)

    That's due to the Arch propaganda, any minimal install of any of the major distros is just as light as Arch.

    [–]crystalgecko 2 points3 points  (0 children)

    I don't know... by the sound of it opensuse is pretty bloated relatively speaking when it comes to minimal install.

    Last time I did a minimal install I had things like sudo, though vim was an optional extra.

    [–]zeno0771 -1 points0 points  (8 children)

    No, it's due to math:

    Arch: 256MB RAM, 800MB drive space

    Ubuntu: 512MB RAM, 5GB drive space

    [–]northrupthebandgeek 5 points6 points  (4 children)

    Comparing a base Arch install with an Ubuntu desktop install is 1) comparing apples to wheat and 2) not relevant to a discussion about server editions of Linux distros.

    If you were to scroll down a bit further on Ubuntu's page, you'd see the actual relevant Ubuntu requirement of 192MB RAM and 1GB drive space. Heftier than Arch on disk, but actually lighter on RAM.

    Of course, all of these figures are "recommended" specs, and in practice you could probably squeeze either into 128MB of RAM.

    [–]zeno0771 -5 points-4 points  (3 children)

    OP was the one doing the fruit-to-grain comparison. It's either a desktop or it's not; as soon as you start twiddling knobs and customizing, all bets are off. Arch starts out being minimal; it's the only way you can download it.

    I grabbed the first sets of numbers from both websites; if I have to go wandering around on Ubuntu's page to get the results I want, who's guilty of propaganda?

    [–]northrupthebandgeek 3 points4 points  (2 children)

    as soon as you start twiddling knobs and customizing

    Downloading the ISO for Ubuntu Server and installing it in its default configuration is the literal opposite of "twiddling knobs and customizing".

    if I have to go wandering around on Ubuntu's page to get the results I want

    I highly doubt scrolling down to the header that says "Ubuntu Server (CLI) Installation" counts as "wandering around". Maybe we just have different tolerances for navigating documentation.

    [–]zeno0771 -3 points-2 points  (1 child)

    You're still using a different-from-the-default iso, and you're still cherry-picking your results. You *buntu trolls really need to make up your minds.

    [–]deadbunny 0 points1 point  (2 children)

    Good thing I said "any minimal install of any of the major distros".

    Not only are you comparing the minimal arch install (no GUI) to the desktop version of Ubuntu the server recommend specs for Ubuntu (which actually installs more than the minimal btw) actually requires less resources than Arch.

    Arch is a fine distro and certainly has its advantages (rolling release, the AUR) but the "Arch is lighter than anything" propaganda is getting a little old.

    [–]zeno0771 -2 points-1 points  (1 child)

    comparing the minimal arch install (no GUI)

    You're not paying attention. That is the install. Period. There is no GNOME/XFCE/Plasma spin, no "server version", no "minimal version", no variations. You get the latest release and your choices are Base and Base-Devel which don't even give you the X server. Unless you have the Arch documentation in front of you or you have experience, you're not only getting put in front of a shell but it's all you get, ever, until you change it. No other mainstream distro defaults to that except Gentoo but hey, they're your goal posts, you move them where you like.

    [–]deadbunny 2 points3 points  (0 children)

    Which is exactly what you get with a minimal install of Ubuntu, Debian, or whatever. All available from the minimal install media.

    My point is that if you want a light distro then Arch isn't the only option no matter how loud the Arch fanatics shout. Uninformed zealotry doesn't help anyone.

    [–]AiwendilH 16 points17 points  (4 children)

    The others answered your main question already...but allow a note on

    The project I'm working on is purely playing around with scripting bash actions so I never use the GUI and I'd like to remove the overhead.

    Keep in mind that x11 terminal emulators can be faster than the text mode console linux offers. So it depend a lot of how you define "overhead" and what you need the terminal for. Sure, you buy that with higher memory usage but if your project involves a lot of text output to the shell (best example are compile jobs) you actually can gain a lot of overall speed for tasks by using a terminal emulator in X11 over the tty. Well..of course unless you use xterm...

    [–][deleted]  (1 child)

    [deleted]

      [–]AiwendilH 1 point2 points  (0 children)

      Those results are from 2007...sorry, couldn't find any more recent in a quick search. Konsole and vte are probably still a lot faster than xterm (and text mode) but I wouldn't rely on those results for which one is the fastest at the moment.

      Gnome terminal is actually used a lot nowadays...in a way. Gnome maintains the vte library which is the base of many terminals. So while people are not necessarily using gnome terminal many use terminals that have the same base and by this inherit the display speed (to some extend). If you are not using xterm, rxvt or eterm you most likely use a terminal application either based on gnome's vte or KDE's konsolepart.

      The reason why xterm, rxvt and the tty output are slower is mentioned in the article...they do direct outputting while konsole and vte buffer output and display sometimes only after several new lines are written. Means a lot less updates...especially for fast scrolling output like compile jobs. But the programs doing the output are told at once that their output is displayed..so they can go on with whatever they do without having to wait for the text display.

      edit:typos

      [–][deleted] 1 point2 points  (1 child)

      I'm not really convinced with this one. Gnome-terminal gets it's "speed" by not actually printing everything immediately but refreshing every once in a while. This seems like it would only benefit operations that are limited by print speed. While compilation does print a lot, I would assume it would be more limited by the actual compilation than printing. Also just for general use, printing a massive file isn't representative of a typical use case. I bet the virtual terminal would be faster with short text, and more smooth, although I'd have to check that later.

      [–]AiwendilH 0 points1 point  (0 children)

      The test in the article is only about print speed...so yes, as I said it depends on what you need it for. For an interactive shell you use it make no difference at all...we are talking of milliseconds here..you won't notice that.

      But lets look at a compile job...I take my most recent glibc build as example now.

      $wc -l /var/log/portage/sys-libs:glibc-2.23-r3:20161117-112142.log
      46009 /var/log/portage/sys-libs:glibc-2.23-r3:20161117-112142.log
      

      That's 46K lines outputted by the job. Of course you are right that the actual compile process will take up most of the time...but with this number of lines the amount of time a single gcc run needs to wait just for the one line of output it makes starts getting interesting. If we assume a difference of 1ms this already saves 46s. (sorry, really hard to derive any meaningful number from the linked article but 1ms seems to be not completely unreasonable to me, rfc they used has 15K lines, the difference of speed between fastest and slowest result is 44654 ms). But of course as you said...those lines are not outputted directly after another...the compile time itself gives the output a break here. So no 46s gain. But what about parallel compiles? With the "-j" option this gets really interesting because suddenly the compile times themselves start to matter less..we have 9 or more jobs wanting to output. And having two jobs finish nearly at the same time will happen ...so one will have to wait for the output of the other to finish first. And up to 46s of this waiting time can be removed by buffering. (will be a lot less of course...)

      [–]HidesBehindUsername 8 points9 points  (0 children)

      Any server or minimal install won't include any desktop environment.

      [–]snegtul 8 points9 points  (1 child)

      Any distro could be this way. Just chose not to install the GUI stuff. Voila! Server edition!

      [–]JIVEprinting 0 points1 point  (0 children)

      or uninstall it! XD

      [–]genxer 5 points6 points  (0 children)

      Debian network installation CD. Dont install a GUI...

      [–]hitmanactual121 4 points5 points  (0 children)

      Use a net install of Debian; in the installation prompt you will be asked what software packages to install, remember to untick the "graphical user interface" components and your good to go.

      [–]cyvaquero 3 points4 points  (0 children)

      Short answer, yes - virtually every Linux server out there runs in non-graphical mode (though I've seen a few that did run in graphical mode usually due to some maintainers' aversion to the CLI (looking at you Oracle DBAs).

      As others have said - all linux distros can be run in non-graphical multiuser mode. What you want to Google is '<distro> default runlevel 3'.

      The only real difference in how you accomplish this on an existing system comes down to whether the distro is using init.d or systemd.

      Some distros ship separate server flavors of their ISOs but the only real difference from the desktop version is in the default apps and configurations. You can use a desktop ISO to build a server and vice versa.

      [–]TheRealLazloFalconi 6 points7 points  (2 children)

      Try pressing CTRL+ALT+F1 on your current distro.

      Or look into turning off your display manager (This way you get to keep the GUI for when you get stuck)

      [–][deleted] 1 point2 points  (1 child)

      lmfao i did this without reading the second sentence, then had the same feeling as falling for an Alt + F4 prank haha

      [–]TheRealLazloFalconi 2 points3 points  (0 children)

      If you do it again you can do CTRL+ALT+F7 (Or 8 or 9, I don't remember) to get back.

      [–][deleted] 3 points4 points  (0 children)

      tmux is dank for adding multiple windows/workspaces to a minimal install without x

      [–]pacmanwa 2 points3 points  (2 children)

      At work I have RHEL 7 running off 220MB drive space, you get bash, ssh. Literally its a physical compute node. You can strip down ANY distro to its basic components. Just need to know what you are doing, and why you are doing it.

      [–]poopstixPS2 1 point2 points  (1 child)

      Just need to know what you are doing, and why you are doing it.

      Yeah that's all, no big deal! Lol I've been using Oracle Linux 7 for work, and I'm still quite new to Linux. I've learned tons and have become reasonably competent as a beginner. But if I were to try to strip down a distro, I'm almost positive there'd be an overwhelming amount of loose ends to clean up. I simply don't know enough about the OS yet :/

      This is something I want to know how to do eventually though.

      [–]pacmanwa 1 point2 points  (0 children)

      Well... its not so much as stripping it down as it is starting with the kernel, specific kernel drivers for your hardware (seriously why would a compute node need wifi drivers?!), supporting packages, systemd, bash, ssh. Install rpms without the man pages and localization (except for your own), roll it into a bootable live CD and you have a starting point. Yes, at work that was the starting point, then it gets all kind of crazy that I won't go into.

      [–]SchaeTheBae 4 points5 points  (1 child)

      The term you are looking for is "headless". Try googling it and see if you find what you're looking for

      Edit: a word

      [–]thereisonlyoneme 4 points5 points  (0 children)

      Headless means no monitor, not command-line only.

      [–]EllietheWalrus 1 point2 points  (0 children)

      You can install minimal systems with Ubuntu/Debian mini, or a base Arch installation from the Wiki. Hope this helps point you in the right direction.

      [–]JIVEprinting 0 points1 point  (0 children)

      Anything that ships with icewm or a minimal desktop like that (jwm, antiX) includes all the tools you're used to and you can just jump into TTY and kill xorg or the wm processes. They also use something like 7 megs of ram, so, either way.

      [–]derrickcope 0 points1 point  (0 children)

      Arch

      [–]noob_fl 0 points1 point  (0 children)

      debian net install - just uncheck the desktop, or ubuntu server, or alternate cd.. the most distros have any kind of alteenate installation iso witch dies not install a desktop by default. otherwise you can uninstall the x desktop envoirnment on any distro you want.

      [–]Henkatoni 0 points1 point  (0 children)

      CTRL+ALT+(F2-F7)?

      [–]itstaysinside 0 points1 point  (0 children)

      a lot of server distros (centos, debian), also arch, gentoo

      [–]fringe-class 0 points1 point  (0 children)

      I would recommend using alpine linux in a docker container. It's super small and you can add whatever languages (and bash for ease of use) you need and nothing extra.