Linux distribution for a programmer's private server [closed] - linux

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I'm going to get a low-end old (CHEAP!) computer to run non-stop as a little server for Subversion, Mercurial, Trac and maybe a little other things. It's 99% for myself - performance isn't a concern.
It'll probably have a 1 GHz P3/P4/Celeron, 256 MB SDRAM, 30 GB IDE HDD or something like that, any video card so I can hook up a monitor.
I could get about setting Windows Server on it, but I feel that's too much of an overkill. All I need is to access my code from my laptop, desktop, maybe remotely, same for a wiki, bug tracker, etc. so I feel that a light Linux distribution will be more than enough.
I want to have a GUI, preferably with Xfce, but I don't mind IceVM or any other light GUI - it doesn't have to be pretty, I just don't like CLI as a Windows user.
However, the advantage of Windows would be that I already have tons of experience setting it up and can directly use Remote Desktop to get to it and AFAIK I have access to Home Server that "just works" - unless you can suggest me a distro made for home servers.
So the question is: what Linux distribution do you think is best for my needs? Or should I just strap Windows Home Server on it?

I would suggest Ubuntu. Setting up/installing applications is just a breeze with apt-get.

Having used Debian for nearly seven years, I think it will suit your task very well. Besides, I find it much more convenient to manage than Red Hat based distributions (such as Scientific Linux, Fedora or CentOS).
EDIT: Ubuntu (which another poster has suggested) is essentially an advanced Debian customization towards desktop use. Ubuntu heavily relies on Python scripting and generally consumes more resources than Debian. I believe that original Debian fits the job you described better.

It doesn't sound like you have demanding requirements at all, so I'd probably go with something easy to set up. I believe Ubuntu is pretty good in this regard.
You might also want to look into VNC, which is a bit like a free, cross-platform Remote Desktop.

CentOS - a free version of RedHat Enterprise Linux which is the most common server Linux distribution.

I have been using Debian for very similar purposes. This too has a gui application install manager.(however, not everything I 've installed was available through the manager, then just used the command line)
I've also been using red hat at work for host development machine. I might consider Fedora for a home server, as there appears to be lots of support on the web for red hat/fedora.
BTW I use windows for most things, and just vnc on to the linux machine.

Related

Switching to linux [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I've been using linux at university for quite a while, and it seems much more customisable and better for coding.
So I want to switch to linux from windows 7 at home.
What branch of linux should I use? I'm an emacs user if that gives any insight.
Which desktop enviroment should I use? At uni we use KDE, but it's too graphical, often I just click on stuff instead of using the terminal. I want one where it encourages me to use terminal more.
and the biggest question, how do I install it all? Should I put everything on external hard drive and wipe my computer completley?
I primarily program in Java and python.
I would recommend that you first try using Linux off Live CD/DVD. Linux Mint, Ubuntu, etc.
Just download and burn .iso onto blank media and boot your computer off of it. Just play around, check various desktop environments, see if all your hardware work with the specific Linux distribution. This step is very useful to decide which distribution you actually want to install onto your computer, especially the latter since, while it has been improving, the biggest obstacle you may face in configuring your computer to run on Linux is often hardware incompatibility. Just make sure everything that you need to work actually works.
If you have no issues wiping out Windows, Linux installation is pretty straightforward these days. It even takes less time in general than re-installing Windows. I would browse the web for an installation note for your specific computer model to see if anyone has already successfully done so, so that you can just follow. That saves a lot of time.
I use Debian (Wheezy now) and KDE. It's very easy to install and switch desktop environments after installing Linux though, so that shouldn't be any concern.
I suggest creating a virtual machine using VMWare or Virtual Box. As far as the distribution goes, Linux Mint and Ubuntu are pretty user-friendly for first time installations. And for the desktop environment, I suggest XFCE.
A few Google searches will do you good. I think a virtual environment will be much more easier to manage than partitioning a hard-drive.
Well, the installation step, if you use Windows 7, you may want to make a full backup of your hdd - so if things go wrong you will be safe and able to recover.
I was in somewhat similar situation recently - figuring out which linux distro to use. Previously I had luck with ScientificLinux, but this time it didn't like my laptop hardware for some reason - after wake-up wireless network card was getting stuck and wasnt picking any signal. I didn't want to recompile kernel etc., so I installed Ubuntu, but the Gnome 3 was a show stopper - I had to roll back to Gnome 2, but later I tried and liked a lot XFCE desktop - which I use right now on my workstation and laptop.
Java, Python and emacs probably work well with any linux distribution out of the box, so it is up to you which one to choose after all. Good luck!
Sorry, forgot to mention - all contemporary Linux distributions are able to install a dual boot feature - so you can keep your Windows 7 setup along with Linux (if you have enough of free space), moreover Windows partition will be accessible from Linux which is handy sometimes.

Which Hypervisor should I use? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
This is more of an advisory question.
I am into a virtualization project and need a good software to do that.
Basically I am into Desktop virtualization that allows to run multiple operating systems on the same physical hardware.
I cannot afford to buy the developer APIs of VMWare, so I have moved on to Linux.
I did some research on the same and learnt that Xen can't be installed on Fedora 16. Is it true? because I am doubtful of the same.
My Questions are :
Which Operating system should I install?
Fedora 16 /Ubuntu 11.10 /Any other?
Which software for the same?
Xen/Any other?
I want an advise because I am using it for the first time and any post-installation problems will hurt me bad.
I am a newbie in linux... Can anyone please help me out on this?
P.S. : No offence, I am not asking which is the BEST! I am just asking what will suit my purpose.
If you are looking for APIs you are probably most interested in libvirt for simple ESX style api for interfacing LOCALLY with the virtualization hypervisor on your system.
libvirt works with qemu, kvm, and xen and probably more.
http://libvirt.org/
redhat has traditionally had better virtualization support in its enterprise offerings. but fedora is not that. I'd suggest ubuntu oneiric.
If you are looking for a REST API to talk to a large number of virtualization servers... ala vsphere. I'd suggest looking at openstack.
http://www.openstack.org/
http://www.devstack.org/
http://www.trystack.org/
I have used VirtualBox several times. I had some production servers running virtualized on Linux with it. I think it was bought by Oracle, but still open source and free (I hope :)
Take a look at it, may be is what you need. I remember installation and configuration was easy, and very well documented.
It seems you want to begin with Linux as a Windows guy. Why not to intall Microsoft Virtual PC? I bet it does support Linux and all modern distributions will likely work.
I also recommend VirtualBox as a good starting point for you if you want to use Windows as a hypervisor.
If you want to use Linux as hypervisor, I recommend to stick with standard KVM. E.g. in RHEL (CentOS) or Fedora you can use it easily. Definitely read this document: Virtualization Getting Started Guide
http://docs.fedoraproject.org/en-US/Fedora/18/html/Virtualization_Getting_Started_Guide/index.html
As it explains everything to start with virutalization including very easy setup and installation on Fedora Linux. It also applies to Ubuntu, but the installation procedure will be different. But you will end up using the very same tools and software.

Learning resources for Linux filesystem, command line, and structure [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Can anyone suggest some good materials for learning more about the Linux filesystem and command line? I have found myself frequently confused as to what programs go where on the Linux filesystem. I would like to learn how the various directories (var, etc, usr ...) are used and how to use the commandline more effectively.
I come from the Windows development world (.NET developer) so I am very familiar with Windows system administration. However, when doing more and more work with PHP I found myself lost in the internals of Linux (specifically Ubuntu). For example I was having problems installing PEAR properly on my Ubuntu system and not understanding why it was installed where it was.
All of my interactions with Linux machines is done via SSH so I would like to focus on the command line and the filesystem. Thanks for any suggestions.
Though as with any operating system, you don't really learn to get truly comfortable with it unless you actually start using it on a daily basis. You can learn the basics from books and online tutorials, but if you want it to feel "natural" you'll have to jump right in and start actually using it regulary.
A nice way to "wet your feet", if you don't want to convert from windows, is by installing Cygwin (www.cygwin.com) on your windows machine and start to use it regulary (some discipline is required here, and it's not the best way to learn - but it's useful now and then). This also has the added benefit of automatically getting all nice *NIX utilities that can be a lifesaver when you're a programmer (awk, sed, bash, grep, tail, emacs, the list goes on...).
Unix in a Nutshell - Amazon
http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=unix+tutorials
In terms of learning some of the basic commands, you may find this post on superuser helpful. As for the directory structure, you may find this Wikipedia entry on the Filesystem Hierarchy Standard useful.
/!\ Ubuntu rant /!\
I've seen a lot of programmers using Ubuntu when they needed a Linux distro, and nearly all of them used it the "Windows way" instead of the Unix way.
They used the GUI as much as possible, didn't read the docs, didn't care about how things work.
If you feel motivated and have the time, I suggest that you use a more basic distribution.
Personnally I use Arch Linux and I love it, although its packages aren't exactly stable.
Another good choix would be Debian or Slackware.
It's not that difficult.
A few years ago, I didn't even exactly know what Linux was, but after some time I've been able to use it on a daily basis without any problem.
You just start with a basic command-line system, learn how to install and configure programs, and then install a graphic environment, a browser, an editor, ...
Since you installed and configured everything yourself, you usually understand what errors mean, while Ubuntu users generally have no idea how what might have broken.

Which Linux distribution should I use as a Xen host? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I ordered a server for the home office and I would like to partition it with Xen. I think this will keep things clean and easier to maintain. I will be running things like MySQL, PostgreSQL, Tomcat, and my own code.
What freely available Linux distribution has the best Xen hosting facilities?
I highly recommend Debian or Ubuntu (server) for domain-0. Here's why:
Setting up complex networking (bridges, bonded devices, etc) is simple. One file, easy syntax, easy to have scripts do it for you if need be. Do not use the 'network-bridge' script that comes with Xen on a production box, you may need to re-start Xend, which would break all networking (dom-0 and guests)
Debian and Ubuntu use the apt package manager. Apt is notorious for resolving dependencies very well, letting you search for libraries that you need to compile new tools for Xen (or Xen itself from source, which I recommend).
Shorewall, which is wildly popular in the Xen community for routed configurations is very easy to use on a Debian based system. Moreover, you can get Steve Kemp's Xen tools as well as the dozen or so that I wrote.
I would not recommend this to someone who wanted Desktop virtualization, I would recommend Fedora. However, as a Xen host with 300 Xen servers in production, I HIGHLY recommend something Debian based. Of course, use what you are comfortable with .. however it might be worth your time to get comfortable with a Debian based distro on dom-0.
Any of the major distributions should work fine. Pick the one you're most comfortable with.
Red Hat EL5 (or Centos) is one of the easiest to set up Xen on OOB, and RH is fully behind xen as their virtualization tool; debian and ubuntu look to be moving toward KVM. Fedora 11 has a pvops enabled kernel by default I think. Just my 2c worth, I prefer Red Hat based but like they said, whatever youre comfortable with will work.
Debian is very good choice. You may also use xen live cd to test everything and if everything is ok, install it on HDD.
define "best"
right off the bat, I'd say the major contenders are Debian, Red Hat and Gentoo, depending on management preferences and needs.
opensuse has specific tools for managing xen, I've not played with it, but having out of the box support might be good.
I happen to view this question. I have deployed Xen virtual machines across lots of servers in our cluster. The platform is Fedora 12. We have done lots of tests on it and plenty of computation is done on these VMs. It's quite stable. The only pain is that you need to compile the kernel by yourself:
http://fclose.com/b/1535/setting-up-xen-pvops-dom0-on-fedora-xen-3-4-2-kernel-2-6-31-with-paravirt_ops-in-fedora-12/
I would like to extend Tim's (vote for Debian) response, pointing that Xen community working on Project Kronos, which will bring XAPI (Xen API) to Debian/Ubuntu see official announcement, what makes Debian even more attractive option.
Another options you might want to consider are Xen Cloud Platform (XCP in short) or XenServer, especially that base version you can get for free.

Linux Lightweight Distro and X Windows for Development [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I want to build a lightweight linux configuration to use for development. The first idea is to use it inside a Virtual Machine under Windows, or old Laptops with 1Gb RAM top. Maybe even a distributable environment for developers.
So the whole idea is to use a LAMP server, Java Application Server (Tomcat or Jetty) and X Windows (any Window manager, from FVWM to Enlightment), Eclipse, maybe jEdit and of course Firefox.
Edit: I am changing this post to compile a possible list of distros and window managers that can be used to configure a real lightweight development environment.
I am using as base personal experiences on this matter. Info about the distros can be easily found in their sites. So please, focus on personal use of those systems
Distros
Ubuntu / Xubuntu
Pros:
Personal Experience in old systems or low RAM environment - #Schroeder, #SCdF
Several sugestions based on personal knowledge - #Kyle, #Peter Hoffmann
Gentoo
Pros:
Not targeted to Desktop Users - #paan
Don't come with a huge ammount of applications - #paan
Slackware
Pros:
Suggested as best performance in a wise install/configuration - #Ryan
Damn Small Linux
Pros:
Main focus is the lightweight factor - 50MB LiveCD - #Ryan
Debian
Pros:
Very versatile, can be configured for both heavy and lightweight computers - #Ryan
APT as package manager - #Kyle
Based on compatibility and usability - #Kyle
-- Fell Free to add Prós and Cons on this, so we can compile a good Reference.
-- X Windows suggestion keep coming about XFCE. If others are to add here, open a session for it Like the distro one :)
Try using Gentoo, Most distros with X are targetted towards desktop user and by default includes a lot of other application you don't need and at the same time lacks a lot of the stuff you need. YOu could customize the install but usually a lot of useless stuff will get into the 'base' install anyway.
If you worried about compile time, you can specify portage(the getoo package management system) to fetch binaries when available instead of compiling. It allows you to get the flexibility of installing a system with only the stuff you want.
I used gentoo and never went back.
http://www.gentoo.org/
I installed Arch (www.archlinux.org) on my old MacMini (there is a PPC version) which only has 512MB RAM and a single 2.05GHz processor and it absolutely flys!
It is almost bare after installation, so about a lightweight as you can get.. but comes with pacman, a software package manager, which is as-good-as apt-get (ubuntu/debian) if not better.
You have a choice of installing many desktop managers such as: awesome, dwm, wmii, fvwm, GNOME, XFCE, KDE, etc.. straight from pacman using a single line of code.
In my opinion(!!) it's lightweight like Gentoo but a binary distro so it isn't as much hassle (although I can imagine it can be a little daunting if you're new to Linux). I had a system running (with X and awesome WM) in about 1.5 hours!
I'm in a similar situation to Schroeder; having a laptop with 512mb RAM is a PITA. I tried running Xubuntu but tbh I didn't find it that it was either useable or a great saver on RAM. So I switched to Ubuntu and it's worked out pretty well.
My 2c:
I'd recommend basing your system on Debian - the apt system has become the de-facto way to quickly install and update programs on Linux. Ubuntu is Debian based with an emphasis on usability and compatibility. As for windowing managers, in my opinion Xfce hits the right balance between being lightweight and functional. The Ubuntu-based Xubuntu would probably be a good match.
Remember - for security only install essential network services like SSH.
If it were my decision, I would set up a PXE boot server to easily install Ubuntu Server Edition to any computer on the network. The reason why I would choose Ubuntu is because it's the one I've had the most experience with and the one I can easily find help for. If I needed a windowing manager for the particular installation, I would also install either Xfce or Blackbox. In fact, I have an old laptop in my basement that I've set up in exactly this way and it's worked out quite well for me.
I would recommend to use Archlinux which I'm using now. XFCE is my choice for desktop environment by now but if you prefer more lightweight one you can try LXDE
Archlinux is much like Gentoo but with binary packages prebuilt and with more simpler configuration
If all those distos still won't work for you, you may want to try LFS - Linux From Scratch
I would recommend Xubuntu. It's based on Ubuntu/Debian and optimized for small footprint with the Xfce desktop environment.
I am writing this on a Centrino 1.5GHz, 512MB RAM running Ubuntu. It's Debian based and is the first Linux distro I have tried that actually worked with my laptop on first install. Find more info here.
Second the Arch suggestion. You will be tinkering quite a few configuration files to get everything going, but I've found none better for a lean and mean setup.
I suggest you should checkout the following three distros:
Damn Small Linux - Very lightweight. Includes its own lightweight browser (Dillo), but you can install Firefox easily. The entire distro fits on a 50MB LiveCD.
Slackware - Performance wise Slackware will probably perform the best out of the three, but I'd suggest running your own benchmarks with your hardware.
Debian- Debian is extremely versatile. This is the only distro of the three I'd recommend for both a 32 bit 1GB RAM laptop and also a 4GB RAM 64 bit machine.
I would recommend something mcuh lighter than XFCE: IceWM. It takes so time to configure it to be really usable, but it's worth it. I have a fully running IceWM which only takes about 5MB of RAM.
The primary reason I use Linux is because it can be lightweight. In 1999, I used Redhat, Mandrake (now Mandriva), and Debian. All were faster and more lightweight than my typical Windows 98 installations.
Not so anymore. I now have to research and experiment in order to find distros that are lightweight in both storage and memory footprint, and speedy. These are the ones I have played with lately:
Slitaz, a French distro (I use the English version and it works well).
Crunchbang, a lightweight Ubuntu and Debian-derived distro
Crux, which is source-only and very low-level geeky (I chose it because it has good support for PowerPC, and I was using it on my aging Powerbook G4)
Currently, however, I use Archlinux for most of my work, as it offers a good compromise between lightweight and feature-full.
But if you decide to roll your own distro from scratch, you may want to try Buildroot or Openembedded. I do not have much experience yet with Openembedded, but using Buildroot I have been able to create a very simple OS that boots quickly, loads only what I want, and only takes up 7 MB of storage space (adding development tools will increase this greatly, of course; I am merely using it as an ssh terminal, although I can do some editing with vi, and some text-only web browsing).
As far as window managers, I have been very happy with OpenBox. I frequently experiment with lighter-weight window mangers listed on this page, however.
here is my opinions as well. I have used Fedora, Gentoo, SliTaz, Archlinux, and Puppy Linux for development. The constraints: the system virtual image had to be under 800mb to allow for easy download and include all necessary software. The system had to be fast and customizable. It had to support version control SVN and Git, XAMPP or LAMP, SHH client, window environment (X or whatever) with latest video drivers/higher resolution, and some graphical manipulation software for images.
I tried Archlinux, Puppy, and SliTaz. I have to say that SliTaz was the easiest to work with and to set up. The complete base-OS install from the image is around 120mb using the cooking version. TazPkg is a great package manager but some of the listed packages were outdated. Some of the latest versions needed to be built from source code.
SliTaz is extremely lightweight and you have to live with some older packages in the supported TazPkg package list. There is increasing support and XAMPP, Java, Perl, Python, and SVN port well using TazPkg with latest versions. SliTaz is all about customization and lightweight. The final size was 800mb with all necessary software. ArchLinux and Pupppy, although also lightweight were over 1.5GB after all of the software was installed. The base systems were not comparable to SliTaz.
If anyone is interested in a virtual image for SliTaz with XAMPP to try out, contact away and link will be posted.
All the best and happy development! :)

Resources