Wiki Home » Toreishi.net ~Now with more SNAP~ » CentOS 7: Differences on the ground floor

CentOS 7: Differences on the ground floor

Last modified by Mitchell on June 18, 2015, 11:12 PM

Jun 18 2015

As you might expect, CentOS 7 has its package differences from CentOS 6. What does looks like from the ground, though? There have been a number of changes, as you might expect.

Well, let's start with my base-level kickstart file which sets up a fairly minimal system:

#version=RHEL7

# Standard CentOS kickstart configuration.

authconfig --enableshadow --passalgo=sha512

install
reboot
eula --agreed
# Since we want to install packages that aren't on the minimal disc, we can't actually install from the disc. We can't
# specify additional repo entries that are Base, as they get ignored (name collision).
url --mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os

firewall --enabled --service=ssh
firstboot --disable

ignoredisk --only-use=sda,sdb,sdc

keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8

network --bootproto dhcp --device=eth0 --noipv6
repo --name=Base --mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os --cost=100
repo --name=Updates --mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=updates --cost=90

rootpw --iscrypted __PASSWORD_HASH_GOES_HERE__
selinux --enforcing
services --enabled="chronyd"
timezone --utc America/Los_Angeles --isUtc
bootloader --append="rhgb quiet crashkernel=auto" --location=mbr --driveorder="sda,sdb,sdc" --boot-drive=sda

zerombr
clearpart --all --initlabel
part /boot --fstype=ext4 --size=128 --ondrive=sda
part swap --size=256 --ondrive=sda
part / --fstype=ext4 --grow --ondrive=sda
part /var --fstype=ext4 --grow --ondrive=sdb
part /tmp --fstype=ext4 --grow --ondrive=sdc

%packages --nobase
@core

# No need for Adaptec drivers.
-aic94xx-firmware

# No need for sound drivers.
-alsa-*

# No need for firmware loaders.
-fxload

# No need for IBM Power Linux RAID drivers.
-iprutils

# No need for PVR drivers.
-ivtv-firmware

# No need for wireless drivers.
-iwl*-firmware
-NetworkManager*
-wpa_supplicant

# No need for Infiniband drivers.
-rdma

# No need for network teaming.
-jansson
-libnl3
-libnl3-cli
-libteam
-teamd

# No need for virtualization utilities
-tuned
-virt-what

# VMware kernel compilation requirements.
gcc
kernel-headers

# Useful utilities.
deltarpm
man
rsync
%end

%pre
%end

%post
# Declare that the disks don't support SMART.
/bin/cat /etc/tempfiles.d/disable_smart.conf <<EOF
w /sys/devices/pci0000:00/0000:00:15.0/0000:03:00.0/host2/port-2:0/end_device-2:0/target2:0:0/2:0:0:0/scsi_disk/2:0:0:0/max_write_same_blocks - - - - 0
w /sys/devices/pci0000:00/0000:00:15.0/0000:03:00.0/host2/port-2:1/end_device-2:1/target2:0:1/2:0:1:0/scsi_disk/2:0:1:0/max_write_same_blocks - - - - 0
w /sys/devices/pci0000:00/0000:00:15.0/0000:03:00.0/host2/port-2:2/end_device-2:2/target2:0:2/2:0:2:0/scsi_disk/2:0:2:0/max_write_same_blocks - - - - 0
EOF
%end

Naturally, if you're going to use this as a template, you would make changes as appropriate to your own system (particularly, I'd imagine, the disk configuration).

A couple of notes:

  • You may notice that I don't do much in the way of system configuration here. That's because it makes more sense to use a configuration management tool to configure systems, so the base kickstart configuration file tries to target system-level stuff.
  • I use a multi-partition layout to "sandbox" the partitions that have a potential to grow out of control. I don't want /var or /tmp filling up to bring the entire system down. As a bonus, since this is a virtualized system, this allows me to grow the three partitions as needed relatively easily (since they're all located at the end of their respective disks).
  • This is a base kickstart configuration, so other derived configurations will naturally have additional packages and post-install instructions.

Packages that have been removed from CentOS 7 (notes sometimes pulled from this page):

PackageNote
attr
b43-openfwwf
bzip2
checkpolicy
cloog-ppl
coreutils-libs
cyrus-sasl
dashLooks like CentOS gave up on the dash experiment.
db4→ libdb
db4-utils→ libdb-utils
dracut-kernel→ dracut
efibootmgr
gamin
groff→ groff-base
grub→ grub2, grub2-tools
iptables-ipv6
kernel-firmware→ linux-firmware
libnih
libudev
libusb
m4
MAKEDEV
man→ man-db
mingetty→ util-linux
module-init-tools
mysql-libs→ mariadb-libs
net-tools
perl-Module-Pluggable
perl-version
ppl
procps→ procps-ng
psmisc
redhat-logos→ centos-logos
system-config-firewall-base→ firewalld
udev
upstart
util-linux-ng→ util-linux
xz-lzma-compat
yum-presto

Meanwhile, the number of added packages is fairly considerable:

PackageNote
authconfig
bind-libs-lite
bind-license
biosdevname
btrfs-progsMmm... btrfs.
centos-logos← redhat-logos
chrony
cryptsetup-libs
dbus
dbus-python
dhcp-libs
dracut-config-rescue
dracut-network
ebtablesRequired by firewalld.
elfutils-libs
firewalld← system-config-firewall-base
freetypeRequired by grub2.
gettext
gettext-libs
gobject-introspection
groff-base← groff
grub2← grub
grub2-tools← grub
hardlink
hostname
irqbalance
json-c
kbd-legacy
kernel-devel
kernel-tools
kernel-tools-libs
kexec-tools
kmod
kmod-libs
kpartx
libassuan
libcroco
libdaemon
libdb← db4
libdb-utils← db4-utils
libestr
libmnl
libmount
libmpc
libnetfilter_conntrack
libnfnetlink
libpipeline
libpwquality
libselinux-python
libsysfs
libunistring
libverto
linux-firmware← kernel-firmware
lzo
man-db← man
mariadb-libs← mysql-libs
microcode_ctl
newt-python
numactl-libs
openssl-libs
os-prober
perl-Carp
perl-constant
perl-Encode
perl-Exporter
perl-File-Path
perl-File-Temp
perl-Filter
perl-Getopt-Long
perl-HTTP-Tiny
perl-macros
perl-parent
perl-PathTools
perl-podlators
perl-Pod-Perldoc
perl-Pod-Usage
perl-Scalar-List-Utils
perl-Socket
perl-Storable
perl-Text-ParseWords
perl-threads
perl-threads-shared
perl-Time-HiRes
perl-Time-Local
procps-ng← procps
pygobject3-base
pyliblzma
python-decorator
python-slip
python-slip-dbus
pyxattr
qrencode-libs
rpm-build-libs
snappy
systemdCentOS 7 moves away from Sys V-style daemon management.
systemd-libs
systemd-sysv
util-linux← util-linux-ng
xfsprogs

Disk usage is comparable to CentOS 6, even with the additional packages (many of which I expect are a result of refactoring). And several of those new packages will require further investigation, to see how well the new functionality works.

Tags:
Created by Mitchell on June 18, 2015, 10:56 PM

This wiki is licensed under a Creative Commons 4.0 license
XWiki Enterprise 6.1 - Documentation