Diving into CentOS 7
-
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.
-
This leads me to my next task.
How to detect the OS variant. Namely Ubuntu, Debian or CentOS An if then idea.
-
Looks like this might do it:
if [ -f /etc/debian_version ]; then fi if [ -f /etc/centos-release ]; then fi
-
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.
-
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.
-
@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.
-
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?
-
VI can do copy and paste, for what it’s worth.
-
@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
-
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
-
@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.
-
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.
-
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.
-
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.