CentOS 6 Angers Me Again

So, despite my earlier complaints, I thought I’d download CentOS 6.0 and give it a shot.

First, let me show you the boot screen:

Notice anything missing?

Well, if you’ve installed CentOS (or RHEL) prior to 6.x, you’ll probably remember a “text mode” option. This mode always went through a curses-based installer that mirrored the graphical version. Ideally, you’d be using a kickstart file and automating installs, but I’m just doing the initial eval, so hey, not a big deal, right?

So I do what every red blooded Linux user would, and hit tab, which allows me to edit the command line.

The prompt is sitting at

> vmlinuz initrd=initrd.img

so I just append “text”, and hit enter.

Sure enough, it boots into the text mode installer and install CentOS. At the end, I reboot, and as I’m rebooting, I have a nagging feeling that I’m missing something. You know that feeling? The “I really feel like there’s something I didn’t do” feeling.

Well, as soon as I booted up, I figured it out.

CentOS 6 introduced a new concept with which I was unfamiliar. I hadn’t even heard of it until I researched and found Julian’s blog post about the CentOS 6 Minimal Install. There are now installation modes, and one of them is the minimal install. After playing around on my system, this is clearly what had happened to me.

Julian downloaded the CD image that only has the minimal install. I checked, and I didn’t. I have the full DVD iso…it just didn’t install anything except the minimal packages. And the minimal packages ain’t much, lemme tell you.

Obviously, in my excitement to install CentOS, I missed a selection dialog, or I just hit enter too fast. It happens. I don’t read each and every box that pops up…I mean, if they wanted you to read it, they’d have put it on a blimp or something, right? Right.

So I reboot my VM, re-append text (because honestly, who wants graphical mode for a server?), and dive in, but this time, I pay attention. And the results aren’t good, folks.

Not only does it never ask me which install mode (or packages) I want, it also doesn’t ask me to configure my network cards. And apparently there’s more. I found a forum post that pointed me to the CentOS 6.0 Release Notes. From section 4 (known issues):

The text installer has limited capabilities compared to the GUI installer. Most notably there is no support for configuring partition layout, storage methods or package selection.

(emphasis theirs)

Sure, you can use kickstart (and in a production environment, you’d better!), but things like this are just really disheartening.


Apparently, this is just a by-product of CentOS being downstream of RedHat Enterprise, which apparently also has the same issue. Also, Scientific Linux has the same warnings. Which is really just dumb, because this is obviously a problem.

I just wanted to share so that you wouldn’t have to go through the same PITA debugging session I did to try to figure out what went wrong.

  • Huh, I just had *exactly* the same experience trying to set up a Ganeti VM. Since it was remote, I figured a text install via gnt-instance console would be easier than using VNC. I got to the end and wondered, “Did I choose a partition layout? Packages? Huh..”

  • Gurmeet

    Give Ubuntu Server a try .. scores of systems installed. All working 24X7 beautifully ..

    Apologies for a redirection and not a solution, but you are not alone in the seemingly unstopping list of frustrations CentOS and its management has given us lately …

    Try Ubuntu Server (or Debian, just to be a purist) and be done with it ..

    Tell Red Hat (and all its family) to shove it up its alpha romeo siera echo ……

  • Sounds like a step backward but I’m sure the installer isn’t a big deal to them

    I’d assume that only a small portion of people actually use the text installation. Either they are new to the OS or Linux and need the assistance of a GUI to guide them through. Admins generally use kickstart.

    I just have templates for every kind of build and modify if needed. Point to the file and let it run.

  • Jeremy

    To be fair.. you are blaming Cent when this is a RedHat issue. Both Cent and SL copy thier design. They removed a number of things from the installer and even disabled nic settings selection and hostname setup in kickstart. It’s really a few wrong steps backwards.

  • Pat Cable

    See, though – if i’m doing a truely one off or dev system, I don’t really care about what installer I use. Give me the GUI, give me the text… either way the system gets installed and i’m off to figuring out how to automate the install.

    I would not have known anyways because I have a kickstart environment to begin with :p

  • To be fair, who uses an installer beyond getting the kickstart/preseed started? Even then, why not PXE? No one running a sizable infrastructure builds systems through the “installer” anymore except a couple times to get the automated install going. Right?

  • John McGrath

    @Pat: On a server, the GUI serves little purpose, because it will not be accessed by users, and just takes up memory that could be further used by processes that users can use.

    I don’t run CentOS, because I switched from RPM/Redhat based distros a few years back, but this seems like a couple of steps backward.

  • Pingback: Red Hat: A just target of my wrath? | Standalone Sysadmin()

  • As of 6.1, Fedora/RHEL/SL have implemented ‘consistent network device naming,’ ( http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming ), but ONLY on server installations. So I have 2 installations of SL 6.1, my desktop with eth0, and a server with em1. Um, ‘consistent’?

  • @Matt, @John McGrath:
    You both seems to be under the delusion that using the GUI installer is in any way related to having X running after the installation is complete. This is just plain wrong. You can use the GUI to perform the installation, and wind up with a perfectly X-free server install. There are some cases where you need to use the text installer, but it should be very rare.

    This is why nobody uses the text installer and as a result is very hardly supported.

  • Paul

    Sometimes the text installer is nice if you are installing over a serial console (no mouse), but I agree with those stating the Kickstart method as preferred.

  • There are also other issues with CentOS 6 (like changing the way non-MAC bound interfaces need to be configured), but all in all, it is good that it got released and I’m confident that slowly we will work trough all the quirks of the new release.

  • MacMan

    Old School diehards use the “text mode” installation process … something I personally think should be deprecated. Everyone has come to expect a nice, easy to use, sensible, complete, and fully functioning “graphical mode” installation process for installing an operating system (e.g. Microsoft Windows (even “Core Installations”), Apple Mac OS X, etc.).

    Post-installation can be free of the overhead that comes with X.org (X Server, etc.) … and should be mandatory for ALL “Server Roles” (e.g. Web Servers, Database Servers, Authentication Servers, DNS Servers, DHCP Servers, etc.).

    The “Graphical Desktop” should only be present for “Workstation Roles” for the end-user … AND … should come with a disclaimer (written in 48 pt. font size) stating how unstable it is, and not to call your company’s I.T. HelpDesk when “issues” occur.

    I develop course materials for a local community college. I was writing a lab today which has our students download the (CentOS 5.6 (64-bit)) distribution. I am extremely pissed with how the CentOS community has now deprecated the ISO releases for anything that is not the ‘build of the day’. Not everyone wants to download (5.7) right now. But … I am being forced to by the CentOS community. Almost all of the mirror sites have updated to CentOS source sites, and now I can barely find a site that I can directly download the (5.6) version from. I have a few URLs … but who knows how long they will be valid for.

    So, I downloaded version (6.0) … ran into the exact same thing as above. In my Oracle VirtualBox (4.1.2) application, I am unable to increase my VRAM beyond (256 MB) … and therefore cannot install the CentOS 6.0 distribution into a virtual machine by using the “graphical mode” installation. Therefore, I am FORCED by the CentOS community to:

    * Live with their (VolumeGroup) and hard disk partitioning scheme (as I can’t change this using the “text mode” installation)
    * Live with managing software package installations (beyond a minimal installation) using a command-line utility (as I can’t choose my package groups using the “text mode” installation)
    * Live with the relatively new (ext4) file system (as I can’t choose ext3 from the “text mode” installation)

    I am so fed up with the “Open Source – Code Monkey” mentality … “Give the users what we know they need … not what they are asking for …”.

    If it weren’t for the costs associated with Red Hat’s Enterprise Linux … and mostly because of how cheap our college is and opening up their wallet for anything that isn’t a waste of money … I would switch in a heartbeat. At least, I would be getting some level of professional support for their operating system … than having to deal with “Little (12 year old) Billy”, the script kiddy who worked on the installation wrapper for CentOS 6.0 before his mommy sent him to bed at night early…

  • @MacMan: All of the older CentOS versions, including the ISOs, are always available on http://vault.centos.org. The reason that older versions are not supported is because Redhat does the same thing and any security patches, etc…, are only released for the “current” release of the OS. There should be pretty small differences between 5.6 ad 5.7, so don’t get too worked up about it. Such is the way with ALL software — there are always new versions.

    As for the 6.0 problem, I have successfully installed 6.0 in VirtualBox myself using the GUI installer, so I don’t know what the problem is for you there.

  • MacMan

    @Brian: Thank you for the URL to the CentOS repository. Unfortunately, the DVD ISO images are not available, only via bit torrent, which is blocked by our college’s packet shaping appliance. So this is not an option. I know their are ways of creating a DVD ISO by using the available CD ISO images … but this adds another layer of complexity for my students. Also, distribution version (5.7) is not updated within the repository as far as CD/DVD ISO images are concerned. Distribution version (6.0) is also no-existent within the repository. Both as of today (Oct 16, 2011)

    This is the source I am currently using for distribution versions (5.6, 5.7, 6.0). They host CD and DVD ISO images of these relatively newer versions. But, who knows when they will disappear too due to ‘mirroring’ algorithms.


    The following URL to the CentOS 6.0 Release Notes identify the system memory requirements for “graphical mode” installation. CentOS states ->”The installer needs at least 392MB of memory to work. Text mode will automatically be used if the system has less than 652MB of memory.” This is not an accurate statement.


    The anaconda installer program message which appears -> (“You do not have enough RAM to use the graphical installer. Starting in text mode”) is a little deceiving. Typically the term “graphical” relates to (VRAM) requirements … not system memory requirements.

    The CentOS Release Notes identifies the minimum system memory requirements as being (652 MB) … when it is actually (520 MB) <- Use this value as a bare minimum for an Oracle VirtualBox virtual machine's configuration. Anything less (e.g. 519 MB) will fallback to a "text mode" installation.

    When you inspect the information on virtual console (3) – ++ under Oracle VirtualBox, the Linux kernel reports that it has “Detected 512M of memory”, and that “509488 kB are available”. Who in their right mind writes code this way? None of these values correlate even if you use (“kilo” = 1024) or (“kilo” = 1000) values.

    Absolutely no piece of software should, during its installation (not to be confused with execution), probe a system to see if there is (520 MB) installed. Typical values these days should be: 512MB, 768MB, 1GB, 1.25GB (maybe not this), 1.5GB, 2GB, etc.

    And … to clarify … I do know how software versioning works. I do not expect any ‘older’ deemed software to be supported beyond a reasonable timeframe. For the purposes of my introductory course I am developing labs for, I only need to be able to download a relatively ‘newer’ DVD ISO image file (and not via bit torrent); direct download only. At this point in the course, we are not concerned with software package updates, just an initial installation (their first exposure to a UNIX like operating system, and its installation process). I would like to compare the installation process to that of Microsoft Windows and Apple Mac OS X … of which a “graphical mode” installation type is the standard, and prompts the installer for (the most part) the exact same installation information (IPv4 addressing details, hostname, software package selections, timezone, administrative account password, non-administrative account details (username/password/full name, etc.)

    Thank you @Brian for letting me know that you had successfully installed CentOS 6.0 under the Oracle VirtualBox virtualization platform. Without knowing that you had successfully performed this, I would not have tested for the EXACT bare minimum system memory configuration requirements for me (and others reading this thread) to perform a successful “graphical mode” installation of the CentOS 6.0 Linux distribution.

  • MacMan

    To followup … both the “graphical mode” and “text mode” installation options incorrectly refer to (IDE/PATA) attached hard disks (e.g. /dev/hda, /dev/hdb, etc.) as SCSI/SATA devices (/dev/sda, /dev/sdb).

    Sloppy, sloppy, sloppy programming. If you are not going to do it right, and thoroughly test what you’ve developed … then please … don’t code at all.

  • MacMan

    Now I see why the CentOS community states that a minimum of (652 MB) of system memory is required. It’s for that useless (Kdump) feature.

    During the “graphical mode” installation, and after the first reboot, you go through the installation finalization screens. One gets to the (Kdump) feature … which should always be disabled anyways … for all hosts, no matter what … and they are presented with an ever so thoughtful error message dialog box. It tells me that my system doesn’t have enough system memory to enable the (Kdump) feature.

    That’s fine by me. I don’t want to enable it anyways.

    But, some stupid little Code-Monkey has decided that since I don’t have enough system memory installed on my host … they should present with me a massive warning (or error … I can’t tell) dialog box. Making me feel like I have done something wrong, or the installation should not be considered complete or stable after this point.

    Back in the day, who in their right mind ever paid attention to:

    Novell Netware’s memory ‘dump’ feature after an ABEND (Abnormal Ending) had occurred?


    Microsoft Windows’ kernel memory dump (%SystemRoot%\MEMORY.DMP) feature when a ‘blue screen of death’ has occurred?

    In this case, (Kdump) would be used when a kernel panic occurred.

    All completely useless information for the (> 99.999 %) of individuals on this planet.

    Novell Corporation never solved an (*.NLM, *.DSK, *.LAN, *.HAM, etc.) coding related issue using this information that customers sent to them overnight on a tape backup or MFM or RLL. (30 MB) hard disk :)

    To that end … the information provided by the (Kdump) feature is only beneficial if you want to consume file system space with large, obscure, and irrelevant data.

    For those reading this thread … yes I am on a ‘rant’.

    I have used the Linux operating system since around (1994), when the Slackware distribution was downloadable over a (14.4 kbps) modem. Back then we had to create our own (1.44 MB) floppy diskette installation sets using the (rawrite.exe) utility.

    I am disgusted by how little attention to detail has gone into the development of ALL Linux distributions. There is absolutely NO serious ‘player’ (e.g. Red Hat, Novell, etc.) out there providing a distribution capable of giving either Microsoft or Apple a run for their money.

    Linux is still for the ‘hacks’ out there. It cannot, by any means, compete on a serious and professional level with regards to the end-user desktop. The only thing Linux has going for it is, it makes for a somewhat stable server platform, for those monetary-challenged individuals and companies (like ISPs) who don’t want to pay a single ($0.01) for a properly developed operating system or application product.

    It’s been since (1991) since Linus Torvalds gave us the Linux kernel.

    (20) years later … and only (2) steps forward. That’s progression for you.

  • MacMan

    Guess what. Another “fix” or “feature”.

    You’d have to ask the idiot (12 year old) developer who maintains the (bash) shell’s built-in (history) command. It could possibly be the developer who works on the (exit) or (logout) built-in commands. Not sure where the problem lies.

    In CentOS distributions (5.6 and 5.7), the (history -c) command works flawless. I put it in the (~/.bash_logout) file, and each time the user logs into the host, their is virtual no personal (bash) command history. The current (bash) command buffer is cleared in memory, immediately before the user logs off the host. The user’s personal (~/.bash_history) file is truncated properly at the point where their session with the host terminates. That’s what is expected, and that’s what I want.

    Now, in CentOS distribution (6.0), the (history -c) command only clears the current (bash) command buffer in memory. When followed by an (exit) or (logout) from an interactive login (bash) shell … the (user’s (~/.bash_history) file does not get truncated. A history of the user’s (bash) shell commands persist, and are available upon subsequent logins for that user account.

    Thank you very much Open Source. Without you, I’d be able to focus on my career rather than spending hours today figuring out what has been changed for the ‘not so better’.

    If somebody out there responds and says -> “Well why don’t you just download the entire Linux distribution source code … fix what you want … and compile all” … then that would be the best advice ever. Not to mention, the most accurate.

  • MacMan

    Solution found. Add the following (2) lines to the user’s personal (~/.bash_logout) shell script ->

    history -c
    history -w ~/.bash_history

    The first line clears the current command buffer in memory.
    The second line writes the current command buffer in memory (which is now empty) to the user’s personal (.bash_history) file

    Then, when the user logs in next, they do not have access to their command history.

    Please stop coding all of this garbage little “Billy” … please.

    Maybe that’s how Open Source projects make their money. Developers write crappy operating systems and applications … under the big Open Source umbrella … and then are “paid” by others to stop their coding practices … as continued use of their Open Source products are having a serious negative impact on the company’s ROE. Man hours wasted trying to fix the broken software, or provide ‘work-arounds’ …


  • MacMan

    ROE -> “Return On Effort” … a ‘spin’ on ROI (“Return On Investment”).

    Since most people/organizations don’t shell out a dime for Open Source products or support options … then it is the “effort” of their employees which are stressed to make software products like these ‘work’ by employing various Macgyver’isms …

    Yes, that’s an 1980’s reference to only the BEST T.V. show EVER … Macgyver :)

  • Krizizzy

    Ok. The good thing is I am not alone.
    So has this ever been resolved or worked around?
    Is there a way for headless systems to install in text mode over serial console?

  • @Krizizzy:

    The definitive way is to use kickstart. I’ve been building an environment to do it all over serial console, and it works great.

  • Tom P

    Some people seem to forget many servers run now in virtual environments. Installing something using GUI in e.g. VMWare machine takes much longer then using text mode.

  • anon

    Long term if you have many nodes to deal with you want a kickstart file anyhow.

  • Hugh

    I’m somewhat baffled by the article. As pointed out in the edit, CentOS is just a near copy of RHEL. Why wasn’t the article rewritten?

  • Pingback: Delicious Bookmarks for January 22nd through January 23rd « Lâmôlabs()