Skip to main content

fedora 20 finish script (mp3 playback, Google Chrome, ClamAV Anti-Virus)

Once again - revisiting my "finish script" for my workstation...

#!/bin/bash

PWD=`pwd`
DATE=`date +%Y%m%d`
ARCH=`uname -p`

yum -y install redhat-lsb-core
RELEASE=`lsb_release -r | awk '{ print $2 }'`

# Setup wheel group for NOPASSWD:
sed --in-place 's/^#\s*\(%wheel\s\+ALL=(ALL)\s\+NOPASSWD:\s\+ALL\)/\1/' /etc/sudoers

# Configure for fastest repos
yum -y install yum-plugin-fastestmirror

# REPO MGMT
# RPMfusion -  Release independent
yum -y localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
# RPMfusion -  Release dependent
yum -y localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-${RELEASE}.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-${RELEASE}.noarch.rpm

# Adobe
yum -y install http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm

# Google (double-check this one)
cat << EOF > /etc/yum.repos.d/google-x86_64.repo
[google64]
name=Google - x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
EOF

# PACKAGE MANAGEMENT
SYS_PKGS="audit autofs dstat expect gcc git glibc hddtemp intltool iotop kernel-headers kernel-devel lm_sensors nmap ntp openssh-askpass openssl-static policycoreutils-gui sysfsutils sysstat xorg-x11-xauth"
DESKTOP_PKGS="conky docky gnome-rdp google-chrome-stable java-*-openjdk icedtea-web libreoffice pidgin rdesktop spice-gtk-python spice-client spice-xpi tomboy wireshark wireshark-gnome xscreensaver xscreensaver-extras-gss xscreensaver-gl-*"
DEV_PKGS="eclipse eclipse-pydev python-lxml"
DVD_PKGS="libdvdread libdvdnav gstreamer-plugins-ugly gstreamer-plugins-bad lsdvd gstreamer-ffmpeg xine-lib xine-lib-extras-freeworld mplayer smplayer vlc"
AUDIO_PKGS="gnome-do-plugins-rhythmbox pidgin-rhythmbox rhythmbox-equalizer gstreamer gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly phonon-backend-gstreamer gstreamer1-libav gstreamer1-plugins-ugly gstreamer1-plugins-bad-freeworld"
GNOME_PKGS="ccsm gnome-tweak-tool gnome-shell-extension-* gnome-shell-theme-* gnome-common gnome-theme-curvylooks gnome-themes-legacy gnome-shell-theme-atolm gnome-shell-theme-elementary gnome-shell-theme-gaia gnome-shell-theme-orta gnome-shell-theme-smooth-inset   verne-backgrounds-extras-gnome verne-backgrounds-gnome system-switch-displaymanager-gnome gnome-video-arcade  gnome-applet-sensors gnome-applets gnome-screensaver"
# INSTALL PACKAGES
yum -y install $SYS_PKGS $DESKTOP_PKGS $DEV_PKGS $DVD_PKGS $AUDIO_PKGS $GNOME_PKGS


# CLEANUP THE BOOT PROCESS
# Update Grub
cat << EOF >> /etc/default/grub
# Custom stuff
GRUB_DISABLE_RECOVERY="true"
GRUB_SAVEDEFAULT="true"
GRUB_GFXMODE=1600x900x16
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_BACKGROUND=/boot/efi/EFI/fedora/matrix_desktop_1920x1080.jpg
EOF

sed -i -e 's/GRUB_TERMINAL_OUTPUT/#GRUB_TERMINAL_OUTPUT/g' /etc/default/grub
sed -i -e '1i# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg' /etc/default/grub
sed -i -e '2i# grub2-mkfont --output=/boot/efi/EFI/fedora/unicode.pf2 /usr/share/fonts/dejavu/DejaVuSansMono.ttf' /etc/default/grub

yum -y install plymouth-*
plymouth-set-default-theme solar
#plymouth-set-default-theme spinfinity
dracut --force /boot/initramfs-`uname -r`.img


# Install rEFInd to manage the multi-OS boot environment
wget http://apoc/SFW/rEFInd/refind-0.8.3-1.x86_64.rpm
yum -y localinstall refind-0.8.3-1.x86_64.rpm
sed -i -e '137iresolution 1920 1080' /boot/efi/EFI/refind/refind.conf
sed -i -e 's/#dont_scan_volumes/dont_scan_volumes/g' /boot/efi/EFI/refind/refind.conf
sed -i -e 's/#dont_scan_dirs/dont_scan_dirs/g' /boot/efi/EFI/refind/refind.conf
sed -i -e 's/#dont_scan_files/dont_scan_files/g' /boot/efi/EFI/refind/refind.conf

sed -i -e '90iselection_big matrix_desktop_1920x1080.jpg' /boot/efi/EFI/refind/refind.conf

# AntiVirus
yum -y install clamav clamav-data  clamav-filesystem clamav-lib clamav-lib clamav-scanner-systemd clamav-server-sysvinit clamav-update clamav-unofficial-sigs
sed -i -e 's/^Example/#Example/' /etc/freshclam.conf
sed -i -e 's/db.XY/db.US/' /etc/freshclam.conf
mkdir /var/log/clamav
chown clamupdate:clamupdate /var/log/clamav

cat <(crontab -l) <(echo "30 0 * * 0 /bin/freshclam --quiet -l /var/log/clamav/freshclam.log") | crontab -

echo "clamscan --quiet --recursive=yes / --log=/var/log/clamav/clamscan-`date +%F`.out

# In another terminal run...
tail -f /var/log/clamav/clamscan-`date +%F`.out | egrep -v 'Symbolic|OK|Empty'"

# ONLY FOR Asus Game Machine (I'll put a dmidecode test here at some point
#yum install xorg-x11-drv-nvidia-304xx-libs

# Some messing about with the Audio stack
cat << EOF >> /etc/asound.conf
# NOTE: ALL of the customization in this file is non-standard
#defaults.pcm.dmix.rate 44100 # Force 44.1 KHz
defaults.pcm.dmix.rate 48000 # Force 48 KHz
#defaults.pcm.dmix.format S16_LE # Force 16 bits
defaults.pcm.dmix.format S24_3LE # Force 24 bits
EOF
cat /proc/asound/card1/pcm0p/sub0/hw_params
cat /usr/share/alsa/alsa.conf
cat ~/.asoundrc
 

yum -y update

exit 0

Comments

Popular posts from this blog

P2V using dd for KVM-QEMU guest

Preface: I have certainly not exhaustively tested this process.  I had a specific need and found a specific solution that worked. Situation:  I was issued a shiny new laptop running Red Hat Enterprise Linux 7 (with Corp VPN, certs, Authentication configuration, etc...)  The image was great, but I needed more flexibility on my bare metal.  So, my goal was to P2V the corporate image so I could just run it as a VM. * Remove corporate drive and install new SSD * install corp drive in external USB-3 case * Install RHEL 7 on new SSD * dd old drive to a disk-image file in a temp location which will be an image which is the same size as your actual drive (unless you have enough space in your destination to contain a temp and converted image) * convert the raw disk-image to a qcow file while pushing it to the final location - this step should reduce the disk size - however, I believe it will only reduce/collapse zero-byte blocks (not just free space - i.e. if you de...

Extending SNMP to run arbitrary shell script

Why are we here... This is not likely something I would have pursued under normal circumstances.  I happen to be working for a customer/client who is not afforded a lot of flexibility to accomplish their goals.  In this case, the rigor is justified.  They have to sometimes be fairly creative with how they solve problems. In this case they would like to utilize an existing snmp implementation to execute a command (or shell script) on a remote system.  They came to me with the idea of using Net-SNMP extend. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sect-System_Monitoring_Tools-Net-SNMP-Extending.html NOTE:  This is NOT a good implementation strategy in the "real world"  it will simply allow you to test the functionality.  There are a TON of security implications which would need to be taken in to consideration. Implementation Steps: [root@rh7tst01 ~]# yum -y install net-snmp net-snmp-utils ...

RHN Satellite Server (spacewalk) repomd.xml not found

"repomd.xml not found" If you add a channel, or if your RHN cache gets corrupted, and one of your guests complains that it cannot find repomd.xml for jb-ews-2-x86_64-server-5-rpm (for example) - you need to rebuild your repodata cache. Normally this is an automated job - which is exemplified by the fact that you have obviously built out your entire Satellite environment and never had to do any of the steps you are about to do. So - some prep work: Open 3 terminals to your Satellite Server and run: # Term 1 cd /var/cache/rhn watch "ls -l | wc -l" # Term 2 pwd cd /var/log/rhn tail -f rhn_taskomatic_daemon.log # Term 3 satellite-sync --channel=jb-ews-2-x86_64-server-5-rpm Once the satellite-sync has completed, you >should< see the count increment by one.  If you are unlucky (like me) you will not. You then need to login to the Satellite WebUI as the satellite admin user. Click on the Admin tab (at the top) Task Schedules (on the left) fin...