Workstation Build

Last updated 2019-06-01

I currently use  Fedora 30 Gnome install.

If you have the most recent Fedora use it, else do upgrade at this time.

See upgrades

To choose disk sizes:

Check mark on all disks,

Check custom install

Click “done”.

  1. Install from the DVD
  2. Configure HD
    1. /boot    1G (1024 mb)
    2. /boot/efi     500 mg
    3. /        100G
    4. swap   200G
    5. /home     1T
    6.  /var/lib/mysql  All remaining space
  3. Software to install

Make sure that you have rpm fusion installed (free and non-free)

dnf -y update
echo make sure that rpmfusion free and non-free are installed
echo if you don’t have it installed, let this run, but then install rpmfusion
echo and re-run this script

dnf -y install multitail
dnf -y mailx

dnf -y install tripwire
dnf -y install emacs xemacs
dnf -y install mariadb mariadb-server
dnf -y install java mysql-connector-java
dnf -y install python mysql-connector-python3 python3-tidy
dnf -y install opencv opencv-contrib python3-opencv
dnf -y install libreoffice
dnf -y install thunderbird
dnf -y install ImageMagick ImageMagick-perl
dnf -y install perl perl-Tk perltidy perl-File-Slurp perl-DBI perl-DBD-mysql
dnf -y install perl-Image-ExifTool
dnf -y install pdfmod pdfmerge pdfbox python3-pdfkit
dnf -y install youtube-dl
dnf -y install sound-juicer
dnf -y install easytag vlc
dnf -y install compat-ffmpeg28 ffmpeg-libs
dnf -y install hplip hplip-gui
dnf -y install eclipse
dnf -y install gcc-gfortran eclipse-ptp-fortran
dnf -y install lazarus
dnf -y install gnucash
dnf -y install boxes libvirt
dnf -y install samba samba-client
dnf -y install nmap

dnf -y install qbittorrent

dnf -y install gimp
dnf -y install gnome-system-log firewall-config
echo add install project planning tools

We need to configure:

  1. hosts
    #!/bin/bash
    #set hostname and static ip
    hostnamectl set-hostname <fully qualified host name>
    nmcli connection mod ‘Wired connection 1’ ipv4.address 192.168.1.0/24
    nmcli connection mod ‘Wired connection 1’ ipv4.gateway 192.168.1.253
    nmcli connection mod ‘Wired connection 1’ ipv4.dns 75.75.75.75
    nmcli connection mod ‘Wired connection 1’ ipv4.method manual
  2. nmcli connection down ‘Wired connection 1’
    nmcli connection up ‘Wired connection 1’
  3. systemctl restart NetworkManager
  4. echo checkingecho $HOSTNAME
    nmcli device show enp0s31f6
    ip addr show
  5. ip a show enp0s31f6
  6.  cat /etc/sysconfig/network-scripts/ifcfg-enp0s31f6
  7. Fix hosts:
    1. Either install a dns server in your lan or configure hosts to take care of addressing
    2. Get the adblocker
    3. cd /root

cd /root/data

wget http://winhelp2002.mvps.org/hosts.txt

cp hosts.txt /etc/hosts.adblocker.txt

(cleanup by removing the lines which contain references to ipv4 and ipv6 localhost.)

create /root/hosts-fix.sh containing:

#!/bin/bash
dos2unix data/hosts.txt
sed -r ‘s:0.0.0.0:127.0.0.1:g’ /etc/hosts.adblocker.txt >> /etc/hosts

This will protect you from certain ransomware and block a lot of ads.

3. If you need to block ipv6 so that you don’t use it (ie, your isp has partially implemented it.):

add a file called /etc/modprobe.d

containing one line

install ipv6 /bin/true

then type:

chkconfig ip6tables off

Re-initialize networking.

systemctl restart NetworkManager

5.Get ssh working

systemctl start sshd

6. add network printers

hp-setup

7. Install and configure tripwire

See this article

8.  Usb backups

9. Dropbox

10. mysql
service mariadb start < starts mysql background process >
chkconfig mariadb on < makes sure thay mysql will start when your computer reboots
mysql -u root   mysql
update user set password=PASSWORD(‘newpass’) where user = ‘root’;
\q

firewall-config to make sure port is open

How to move the mariadb to a new location.

in this example, I decided to move mariadb to /home/mariadb, because I have more disk space on /home.

10.1 Stop the db server

systemctl stop mariadb

10.2 copy the db to the new location:

[Note: mariadb saves files in the same direcory that mysql used to use.]

rsync -av -r –del  /var/lib/mysql  /home/mariadb

note – no trailing “/” on file names.

10.3 Fixownership/selinux issues

chown -R mysql.mysql /home/mariadb

chcon -R -t mysqld_db_t /home/mariadb

ls -lZ /home/mariadb

10.4 Change config file pointers

in file /etc/my.cnf.d/mariadb-server.cnf

datadir=/home/mariadb/mysql

(note do not change socket, else permissions problems)

10.5 Test

systemctl start mariab

mysql -u root -p

11. In your user account create .bashrc containing:

# .bashrc

alias rm=’rm -i’
alias cp=’cp -i’
alias mv=’mv -i’

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific environment
PATH=”$HOME/.local/bin:$HOME/bin:$HOME/bin/buff:$PATH”
export PATH

# User specific aliases and functions
PS1=”\[\A \u@\h:\w\] $ ”

# java path
export CLASSPATH=/usr/share/java/miglayout-core.jar:/usr/share/java/miglayout-swing.jar:/usr/lib/java/mariadb-java-client.jar:/home/wlperry/bin/ptp/

#python path

13. Samba

firewall-cmd –add-service=samba –permantent

firewall-cmd –reload

setsebool -P samba_enable_home_dirs on
adduser -m <user>

smbpasswd -a user

smbclient   //server u user
service smb start
chkconfig smb on
chkconfig nmb on

14 Register Gnome-boxes

If you have gnome-boxes and you have backed them up per instruction here, copy xml files and box images from backup to .local/share/gnome-boxes/images

run this command on all boxes

virsh define  box.xml

15. eclipse

project languages

c, c++

java

perl

fortran

cobol

python

php

16. backup (in /root)

crontab -e
# hr min day mon dow command
02  05   *   *   *    dnf -y update

03    05    *    *    *   /usr/sbin/tripwire –check

add rsync backup script also.

17. Some notes regarding tools:

gnome-system-log

firewall-config

nm-connection-editor

ssh-keygen

ssh-copy-id

install hplip hplip-gui

use command hp-setup to configure printers