Diving into CentOS 7



  • I’ve been quiet on the forums for a little while … busy time of year and all that with back to school.

    I have a moment now where I’m re-deploying a few FOG servers and since Microsoft officially only publishes Linux Integration Services for Hyper-V for RHEL and CentOS, I figured I’d try my hand now at a CentOS 7 installation.

    I’ve tamed Ubuntu and Debian for our FOG deployments. Wish me luck with CentOS!



  • Success on all fronts.

    I have successfully created a generalized virtual server running CentOS 7.1 with FOG Build 4820. I can dump an image of it onto any hardware we use, mobile, desktop or virtual and it works exactly as desired.

    I like it so much I’m making it my new standard.

    There were some new hoops to jump through, but the CentOS community and online documentation provided solutions using native commands and features.

    I even succeeded with no issues whatsoever in converting my vm development fog from Debian8.2 to CentOS7.1 in about 15 minutes.

    I love slaying dragons. 8)



  • As I’ve re-edited above, it appears the file system footprint was a result of installing CentOS 7 using the default Partition Scheme LVM and the file system, which happens to be XFS.

    Switching the install to use Standard Partitions and the ext4 File system for sda1/2/3 results in a fs footprint on par with Debian at 5.5GB. And by footprint I mean .vhdx file size.



  • Well I have FOG running happily on CentOS 7.1 now.

    As much as enjoy Debian 8.2 over Ubuntu 14/15 now, I dare say I may prefer CentOS 7.1 now. 8)


  • Moderator

    @sudburr said:

    Considering that disabling SELINUX is from your horses mouth, what’s the point of permissive?

    For myself and many other people who have came to the forums in distress, FOG doesn’t fully work with SELinux in “enforcing” mode. However, it’s one of my goals to get fog to work with it turned on fully.


  • Senior Developer

    And to help a bit more in the understanding of SELinux and it’s modes: https://wiki.gentoo.org/wiki/SELinux/Tutorials/Permissive_versus_enforcing


  • Senior Developer

    @sudburr And you can use sed statements in vi as well to change only the lines you need.

    For example, instead of sed -i, in VI/VIM you would type:

    :%s/=enforcing/=disabled/g


  • Senior Developer

    VI can do copy and paste, for what it’s worth.



  • Manually using VI is slow.

    It’s far easier to simply copy and paste the command code in a single click.

    Considering that disabling SELINUX is from your horses mouth, what’s the point of permissive?


  • Moderator

    @sudburr lol you’re so hardcore.

    What’s wrong with using Vi and just opening the file and changing the “enforcing” to “disabled” ?? lol

    and for the record, /etc/selinux/config is the only one you need to edit. :-)

    There is also a “permissive” mode for SELINUX. something to think about.



  • I see my mistake now. Though there is a /etc/sysconfig/selinux , I wanted to edit /etc/selinux/config .

    To cover my bases I’m editing both. I suspect that the first is generated by the second:

    setenforce 0
    sed -i "s/=enforcing/=disabled/g" /etc/sysconfig/selinux
    sed -i "s/=enforcing/=disabled/g" /etc/selinux/config
    

    … and checking … yep, that did the trick.

    Now for an actual Fog install.



  • Okay, next problem. I can’t get SELINUX to not start.

    sed -i "s/=enforcing/=disabled/g" /etc/sysconfig/selinux
    setenforce 0
    

    … is not doing it. After reboot, sestatus shows SELINUX is still enabled.



  • Looks like this might do it:

    if [ -f /etc/debian_version ]; then
    fi
    
    if [ -f /etc/centos-release ]; then
    fi
    


  • This leads me to my next task.

    How to detect the OS variant. Namely Ubuntu, Debian or CentOS An if then idea.



  • I’ve run into my first problem with CentOS that I haven’t found a direct solution for yet. It’s a difference in syntax for ‘git’ compared to Ubuntu/Debian.

    Git in Ubuntu/Debian allows me to direct clone and pull to a specific path (/opt/trunkgit) using:

    git -C /opt/trunkgit clone https://github.com/FOGProject/fogproject.git /opt/trunkgit
    git -C /opt/trunkgit pull
    

    Git in CentOS doesn’t have a -C . For now I’m making do with

    cd /opt/trunkgit
    git clone https://github.com/FOGProject/fogproject.git
    

    … but, git then creates the directory /opt/trunkgit/fogproject and downloads to that. For updating I must then:

    cd /opt/trunkgit/fogproject
    git pull
    

    I like my scripts to have as few differences as possible between OSes so I’m looking for a way for git to perform the same in all three.

    Pausing to reflect on what I just wrote … I realize I needed to think in the other direction. This works:

    if [ ! -d /opt/trunkgit ]; then
    mkdir /opt/trunkgit
    fi
    if [ ! -d /opt/trunkgit/fogproject ]; then
    cd /opt/trunkgit
    git clone https://github.com/FOGProject/fogproject.git
    else
    cd /opt/trunkgit/fogproject
    git pull
    fi
    if [ ! -d /opt/trunksvn ]; then
    mkdir /opt/trunksvn
    fi
    if [ ! -d /opt/trunksvn/fogproject ]; then
    mkdir /opt/trunksvn/fogproject
    fi
    svn co https://svn.code.sf.net/p/freeghost/code/trunk /opt/trunksvn/fogproject
    

    My brain is cooked… I spent too much time in the sun at a Canine Agility competition today.


  • Moderator

    @sudburr said:

    Interesting. My CentOS installation is less than half the size of Debian.

    2.3GiB vs 5.3GiB

    :-/ I’ve been advocating for Fedora / CentOS for a long time… lol



  • Interesting. My CentOS installation is less than half the size of Debian.

    2.3GiB vs 5.3GiB
    P.S. I got it even further down to 1.66GB, but then aha. I switched from XFS file system to ext4 and it’s now 5.5GB.



  • Got it. Thx.


  • Moderator

    @sudburr said:

    Am I correct?

    By the looks of it, the command:

    yum update -y
    

    is the CentOS equivalent of what’s used by Ubuntu and Debian:

    apt-get clean &&
    apt-get update &&
    apt-get upgrade -y &&
    apt-get dist-upgrade -y &&
    apt-get autoremove -y &&
    apt-get autoclean -y &&
    

    Not entirely. yum update -y simply updates all installed software that yum manages, including OS files.

    yum clean all would clear out cache files and basically free up space, but the next update will be a little slower because it has to remake all that.

    Here’s some info on it.
    http://yum.baseurl.org/wiki/YumCommands



  • Am I correct?

    By the looks of it, the command:

    yum update -y
    

    is the CentOS equivalent of what’s used by Ubuntu and Debian:

    apt-get clean &&
    apt-get update &&
    apt-get upgrade -y &&
    apt-get dist-upgrade -y &&
    apt-get autoremove -y &&
    apt-get autoclean -y &&
    

Log in to reply
 

371
Online

38982
Users

10712
Topics

101679
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.