README for OSTools 1.15
=======================

Copyright 2012-2015 Teleflora
$Revision: 1.186 $


OSTools 1.15.0
--------------

The contents of ostools 1.15.0 are the changes to CVS head since the
branch for OSTools 1.14 was generated.  Each change is documented by
a tracker which appear below in reverse chronological order.


##########
197702

Add the "--report-encrypted-daisydir" command line option to dsycheck.pl.
This option will report the existence of encrypted Daisy directories
in the form of a encrypted tar archives.  If the Daisy installation isx
running OK, these old files can be removed to save space.

##########
197573

Add the "--report.backup.method" command line option to tfrsync.pl.
This feature can be used by tfsupport.pl.

##########
197544

The tfsupport.pl "Backups -> Legacy Backup -> Advanced -> Edit Config" should
update the Vim config file with the "colorscheme desert" statement if not present.

##########
197495

The "edir_installbase.pl" script should only remove out of date florist directories
from "/d/edirectories" and leave any other files/directories.

##########
197418

The "tfmkpserver.pl --convert" looks for the cron files in the wrong place.

##########
197411

The "Network -> Host Connectivity Test" uses URLs and protocols that are obsolete.

##########
197374

Update "tfremote.pl" to work on RHEL7 platforms.

##########
197355

Add the "--report-large-file" command line option to "dsycheck.pl".

##########
197309

Add "nomodeset" and "video=640x480" when configuring grub2 in
"updateos.pl" for RHEL7.

##########
197295

Convert "--sub-mgr-reg" in updateos.pl to use the new Red Hat
subscription information.

##########
197228

Add command line option "--report-next-ticket-number" to dsycheck.pl.

##########
197215

The default email agent for "rtibackup.pl" should be "sendmail" instead
of "mutt".

##########
197015

The "tfrsync.pl --luks-install" should remove the old rtibackup.pl cron
job and install a new cron job.

##########
197004

Update the "--activationkey" option for the RHEL7 subscription manager
in "updateos.pl".

##########
196919

Add the "--daisy-start" and "--daisy-stop" command line options to "updateos.pl".

##########
185670

In the tfrsync.pl script, wrap the "Exit Table" access into an API.

##########
196855

Add feature to "edir_revert.pl" which allows it to revert FTD files
removed from non-FTD subscriber.  If Daisy customer complains that FTD
files were removed from system after florist directory update, this
change to "edir_revert.pl" will restore the removed FTD files.  The new
feature can be invoked via the new command line option "--revert-new-ftd".

##########
196823

Add back the code to postpatch.pl to manage FTD subscribers.

##########
196616

Add support for configuring the audit system on Daisy systems to
updateos.pl.

##########
196249

The tfrsync.pl script should support more than one LUKS device
connected to system.

##########
196205

If the environment variable "RTI_DIR" is defined with a trailing '/',
the Linux User menu is truncated because the "rtiuser.pl" script can
not be found.

##########
196201

For RHEL6, when initializing a LUKS device, there must be a delay after
the "mkfs" and the "luksClose".  Discovered in testing.  This delay
is not needed for RHEL7.

##########
196131

Script aborts when run on real hardware and using LUKS disk because
crypt key is non.zero.  On real hardware, the LUKS crypt key is the
Dell service tag.  Since this is a string rather than a number, the code
which checks the crypt key bombs because it is expecting only a number.

##########
196075

The code for "--info-production" should be made streamlined.

##########
195895

The "smb.conf" file generated by "updateos.pl --daisy8" should add
port 445 to "smb ports" line per request from Kevin Pugh.

Also changed for RTI per Mike Green.

##########
195704

The menu item "Linux -> OSTools Update" does nothing.

##########
195700

The rtibackup.pl script was not sending a Daisy logevent for backups
done under cron or the tfsupport.pl menus.

##########
195548

Convert tfsupport.pl to use the newly added rtibackup.pl command line
option "--report-is-backup-enabled instead of depending on private
knowledge of the rtibackup.pl internals.

##########
195535

Add command line option "..report.is.backup.enabled" to rtibackup.pl
script.  This feature can be used by tfsupport.pl instead of using
private knowledge of how rtibackup.pl is installed.

##########
195469

Add the "--report.files" command line option to "tfmkpserver.pl".
This option can be used to report the paths to important files and directories.

##########
195458

Update copyright, Perl $VERSION, Perl "use English".

##########
195456

First version of "dsycheck.pl" to be included with ostools 1.15.

##########
195425

Changes to "tfrsync.pl" to reach Perl Critic level 2.

##########
195174

Add the "--validatekey" command line option to "tfrsync.pl" for
compatibility with "rtibackup.pl".

##########
195155

Add the "--showkey" command line option to tfrsync.pl for compatibility
with rtibackup.pl

##########
195102

Add the "--finddev" command line option from "rtibackup.pl" to "tfrsync.pl".

##########
195006

To support backups to the "cloud" and to a backup server on the same
production server, the "tfrsync.pl" script must use separate locations
for the cloud ssh public key file and the backup server public key file.

##########
194724

For RHEL7, do not install the "uucp" rpm package via "updateos.pl --rti14".

##########
194721

For RHEL7, when adding a user via "rtiuser.pl --add", the user should not be added
to the system group "uucp" since it does not exist in RHEL7.

##########
194719

For RHEL7, when adding a user via "dsyuser.pl --add", the user should not be added
to the system group "uucp" since it does not exist in RHEL7.

##########
194651

For RHEL7 systems, add "--configure-grub2" cmd line option to configure
grub2 to be verbose when booting.  Also, do this configuration during
"--baremetal" on RHEL7 systems.

##########
194257

Make all email messages from tfrsync.pl contain consistently
formatted information.

##########
193988

Enhance format, efficiency, reliability and logging of "tfmkpserver.pl".

##########
193968

Add "--send-test-email" to script "tfrsync.pl" to help with debugging
email configuration.

##########
193889

Make script "tfmkpserver.pl" work on RHEL7.

##########
193877

Enhance "updateos.pl --baremetal" to set the default password hash
to sha512.

##########
193811

Add command line option "--keep-ip-addr" to "tfmkpserver.pl" to preserve
backup server ip addr when converting to production server.

##########
193702

Install new system service "systememail" via install-ostools.pl.

##########
193698

When doing an upgrade via "rtibackup.pl --upgrade",
don't generate new ".bash_profile" files for users.

When ostools is installed, the "systememail" system service should be installed.
##########
193521

When ostools is installed, the "systememail" system service should be installed.

##########
193517

The subject line of email for the summary report should conform to format
specified by email from Shannon Jackson:

> The tfrsync.pl email summary report notification subject line format should be:
> .   SUCCESS Cloud Backup (rticloud.homelinux.com or IP Address) hostname
> .   SUCCESS Server.to.Server Backup (192.168.1.22) hostname
> .   SUCCESS Local Backup (Passport) hostname
> .   SUCCESS Local Backup (/dev/sdb) hostname
> .   ERROR Cloud Backup (rticloud.homelinux.com or IP Address) hostname
> .   ERROR Server.to.Server Backup (192.168.1.22) hostname
> .   ERROR Local Backup (Passport) hostname
> .   ERROR Local Backup (/dev/sdb) hostname

##########
193509

On T300 systems, the "updateos.pl --ospatches" command should
automatically add "--keepkernels=1".

##########
193352

All ostools scripts should be of consistent style in their "--version"
and "--help" output.

##########
193334

The ostools modules should be installed under /d/ostools for Daisy
systems and /usr2/ostools under RTI systems so that all ostools files
are in one place.

##########
193285

The "tfrsync.pl" script should have a command line option to provide a
method of restoring a file from a LUKS backup device.  The command line
option should be "--luks-restore-file=s" and the command should allow
the use of "--rootdir=s" to specify a destination dir.

##########
193277

The "tfrsync.pl" script should have a command line option to verify
that a specified file exists on the LUKS backup device.  This can then
be used by the "Backup -> Device -> Advanced -> Verify File" menu item.

##########
193226

The tfrsync.pl script should have a "--report-logfile" command line
option to report the path to the logfile being used.

##########
193219

The tfrsync.pl should have a "--luks-backup-date" option to report
the date of last backup on the LUKS device.  This will used by the
tfsupport.pl Backup -> Device -> Advanced -> Backup Date.

##########
193207

The "tfrsync.pl --luks --backup=s" command should record the date of
backup on the backup device.

##########
193135

When getting a list of files from a LUKS disk via "tfrsync.pl --luks
--list=all", the user should be able to use "--luks-dir" to specify a
directory on the LUKS disk other than "today" (the default).

##########
193129

Add "Device Backup Menu" and "Advanced Device Backup Menu" for backing
up to a LUKS disk via "tfrsync.pl --luks".

##########
193112

Major overhaul of "Backup Menu" and "Advanced Backup Menu".

##########
193113

The "--checkfile" option almost always fails to find the specified file
in the backup even if present on the backup device.

##########
192959

The new Red Hat contract requires changes to "updateos.pl --sub-mgr-register".

##########
192954

The "updateos.pl --ostools" code should update ostools without running
"harden_linux.pl".

##########
192884

The "tfrsync.pl" should have a "--luks-getinfo" command line
option to report info on the luks backup device and exit.

##########
192818

Remove obsolete "--sendto" and "--receivefrom" code from rtibackup.pl.

##########
192817

Added support for LUKS disks to backup history in tfsupport.pl:
    Backup -> Backup History -> LUKS Backup History.

##########
192769

The dsyperms.pl script does not check for existence of *.orig files
before it trys to operate on them.

##########
192763

RHEL7 changes required for "tfrsync.pl --restore=osconfigs".

##########
192747

When restoring files from LUKS disks and specifying an alternate dest with
"--root.dir", the restored files should be copied so they are contained in
alt dest, rather than being copied to a path in the alt dest which which
is a copy of the mount point.  For example, restoring "daisyconfigs" to
"--root.dir=/tmp" should result in directories "d" and "etc" in "/tmp"
rather than in "/tmp/mnt/backups/today/d" and "/tmp/mnt/backup/today/etc".

##########
192671

The "tfrsync.pl --luks-install" attempts to read the config file before
installing it.

##########
192666

There are RHEL7 services on the "white list" that can be removed now
that we are up to RHEL7.2: accounts.daemon.service, avahi.daemon.service,
bluetooth.service, display.manager.service, rtkit.daemon.service.

##########
192661

The "dsyperms.pl" script is not run after a "--restore=daisy"
in the tfrsync.pl script.

##########
192650

The updateos.pl script requires a modification to support
stopping daisy on RHEL7.

##########
192649

Add support to rtibackup.pl for starting/stopping Daisy on RHEL7.

##########
192598

In tfrsync.pl, the code to start and stop Daisy does not support RHEL7.

##########
192484

When running "updateos.pl ..ipaddr=192.168.1.21", the netmask and gateway
are set to  null in the /etc/sysconfig/network.scripts/ifcfg.eth0 config
file, thus causing issues with the network after the network service
is restarted.

##########
192467

The "tfrsync.pl" script should backup files "/etc/init/tty*.conf"
on Daisy systems running RHEL6.

##########
192429

The rtibackup.pl script should backup the RHEL6 upstart files in /etc/init for
Daisy virtual consoles.

##########
192427

For RHEL7, tfremote.pl requires changes to config file generation and system
service management.

##########
192403

For RHEL7, changes are required to the subs for getting the IP addr and the
netmask.

192405

When restoring from a LUKS backup disk with tfrsync.pl, the user should be
able to specify the directory to restore from.

192409

For RHEL7, the tfrsync.pl script should not backup
"/etc/sysconfig/networking/profiles" - it does not exist.

192410

When restoring files "in place" with "tfrsync.pl", only SERVER and CLOUD
restores should restore perms with "setfacl".

192411

When restoring files from a LUKS disk, the "tfrsync.pl" script should not use
"--relative" on the rsync command.

192412

For RHEL7, when restoring "usr2" with "tfrsync.pl", the TCC links should be
updated.

192413

For RHEL7, the system utility "udevadm" should be used as it is on RHEL6 .
this utility is used to find devices on the USB bus.

##########
192400

The "applypatch.pl" should accept "--convert-to-elavon" but do nothing to
match changes to "postpatch.pl".

##########
192374

The command to register RHEL5/6 systems with Red Hat Portal needs to be
updated with new options.

##########
191926
------

The "rtibackup.pl --upgrade" command does not restore the "smb.conf" file
correctly.

##########
191881
------

For CentOS support, "upateos.pl --baremetal" must not exit if not registered
with RHN.

##########
191730
------

The tfrsync.pl script should rotate the summary log file.

##########
191710
------

The "tfinfo.pl" script should support RTI as well as Daisy.

##########
191665
------

The "tfsupport.pl" script was using the incorrect path to the TCC binary for
Daisy systems.

##########
191653
------

The "tfinfo.pl" script does not report the correct florist directory release
date.

##########
191647
------

For RHEL7, the "tfsupport.pl" menu "Linux -> Advanced -> Samba Stop/Start"
should use "systemctl".

##########
191643
------

For RHEL7, the "tfsupport.pl" menu "Network -> Advanced -> Restart"
should use "systemctl" instead of "service".

##########
191608
------

For RHEL7, the "smbstatus" command in tfsupport.pl must be run under "sudo" .
this is a change from RHEL5 and RHEL6.

##########
191604
------

For RHEL7, tfsupport.pl should use systemctl to get apcupsd system service
status instead of /sbin/service.

##########
191602
------

For RHEL7, tfsupport.pl should use systemctl to get CUPS printer status
instead of /sbin/service.

##########
191503
------

For RHEL7 and CentOS, do not require RHN registration for
"updateos.pl --rti14".

##########
191499
------

Restoring files via "rtibackup.pl" results in ifcfg.eth0 becoming corrupted.

##########
191439
------

For RHEL7, add support to "Printers -> Restart" menu in "tfsupport.pl".

##########
191436
------

Add "--rti15" command line option to "udpateos.pl" which incorporates
functionality of "update_bbj_15.pl".

##########
191428
------

Support RHEL7 in the "Linux -> Advanced -> Services" menu
in tfsupport.pl.

##########
191268
------

Enhance the tfsupport "Backup History" menu to support
cloud/server/device backups by tfrsync.pl.

##########
191142
------

For RHEL7, add "Review Logs" menu item to "Daisy" menu.

##########
191114
------

Add entry "List Daisy Dirs" in "Daisy" menu of tfsupport.pl with support
for RHEL7.

##########
191096
------

Add support for RHEL7 to "Update Directory" in "Daisy" menu of tfsupport.pl.

##########
191018
------

Add support for RHEL7 to "Update Software" in "Daisy" menu of tfsupport.pl.

##########
190994
------

Add support for RHEL7 to "Daisy Start" and "Daisy Stop" in tfsupport.pl
"Daisy Menu".

##########
190831
------

For RHEL7, added new command line option to report the system architecture
"updateos.pl --report-arch".

##########
190813
------

For RTI on RHEL7, code cleanup for "updateos.pl --rti14".

##########
190741
------

For RHEL7, the "updateos.pl --ospatches" command allows all kernel rpms to be
removed if "--keepkernels=0".

##########
190733
------

In the tfrsync.pl script, add the rsync exit status of "12" to be one that
causes a backup retry like exit status 30 and 255.

##########
190628
------

For RHEL7, document the updateos.pl script by filling in all the missing
documentation in the POD section.

##########
190625
------

For RHEL7, install-ostools.pl should be able to handle more than one
README file.

##########
190624
------

For RHEL7, modify updateos.pl --reboot to not use "service" for attempting to
stop Daisy and RTI.

##########
190623
------

For RHEL7, modify "updateos.pl --purgeprint" to use systemctl instead of
service.

##########
190622
------

When backing up to an image file with rtibackup.pl, an error msg
is output stating the backup device is not a block device.

##########
190617
------

For RHEL7, bring code managing APC UPS rpm and system service up to new
ostools standards.

##########
190586
------

For RHEL7, update "updateos.pl --kernel-msg-console", ie use "systemctl"
instead of "service" to restart the syslog system service.

##########
190526
------

For RHEL7, when updateos.pl updates syslog config files, it should use
systemctl to restart system service.

##########
190450
------

For RHEL7, "updateos.pl --baremetal" should use "systemctl" to
restart rsyslog system service.

##########
190403
------

The "harden_linux.pl --sudo" command was using "sudo" to run "visudo" to check
syntax which is unnecessary since the "harden_linux.pl" command must be run as
root or under "sudo".

##########
190402
------

Per Shannon Jackson: The "updateos.pl --daisy8" command should add the
default password for the Daisy "tfsupport" account without prompting
the user.  The issue with this change is that the default password for the
"tfsupport" account now resides in clear text on the system and currently,
the "tfsupport" account's password is not rotated on Daisy systems like
it is on RTI systems.  However, this change is required to make the large
number of RHEL5 to RHEL6 upgrades possible in the time available.

##########
190307
------

For RHEL7, "updateos.pl --baremetal" should use "systemctl" to restart CUPS.

##########
190296
------

For RHEL7, the "updateos.pl --baremetal" command should check Red Hat
subscription status before trying to register.

##########
190290
------

For RHEL7, "updateos.pl --daisy8" reports an error when trying to restart
Samba after generating a new config file.

##########
190268
------

For RHEL7, modify "updateos.pl --samba-rebuild-passdb" to support
RHEL7 platform.

##########
190172
------

For RHEL7, update "harden_linux.pl --iptables" to support RHEL7.

##########
190116
------

For RHEL7, the updateos.pl script should use the RHEL7 specific version
of the "apcupsd" rpm package.

##########
190078
------

For RHEL7, modify "updateos.pl --samba-set-passdb" to support RHEL7.

##########
190067
------

For RHEL7, fix bugs and add support for RHEL7 to "updateos.pl --forensics".

##########
190010
------

The command "updateos.pl --hostname=$name" emits an error message even
though the change was successful.

##########
189997
------

For server to server backup, tfrsync.pl should not copy /var/log from
primary server to /var/log on backup server.

##########
189936
------

For RHEL7, update code for "harden_linux.pl --ssh".

##########
189930
------

For RHEL7, modify "harden_linux.pl --pam" to run on RHEL7 platform.

##########
189923
------

For RHEL7, add support for RHEL7 system services to
"harden_linux.pl --services".

##########
189922
------

Per Shannon Jackson, add new Kaseya agent RHEL5/6 system service
name to system service  white list in harden_linux.pl

##########
189915
------

For RHEL7, obsolete "harden_linux.pl --ids" - there was never the
infrastructure to work correctly as an IDS.

##########
189877
------

For RHEL7, the "updateos.pl --ostools" option should be updated to use the
ostools 1.15.installer.

##########
189874
------

For RHEL7, verify that "harden_linux.pl --logging" configures the logrotate
schedule correctly.

##########
189856
------

For RHEL7, modify "harden_linux.pl --time" to work on RHEL7 platforms.

##########
189846
------

For RHEL7, modify "harden_linux.pl --bastille" to add support for RHEL7.

##########
189804
------

For RHEL7, to get ip address from hostname, use method from perlfaq9
instead of "hostname -i".  The RHEL7 man page for hostname(1) states that
"hostname -i" should not be used.

##########
189792
------

For RHEL7, added "--swap-size" option to updateos.pl to replace need for shell
code in kickstart file.

##########
189776
------

For RHEL7, add code to "updateos.pl --sub.mgr.reg" to attach to the
appropriate pool after registering.

##########
189772
------

For RHEL7, add code to "updateos.pl --baremetal" to configure system
to use NTP.

##########
189712
------

When running either "updateos --rti14" or "updateos --daisyv8" on RHEL7
systems, after remounting the "/teleflora" as either "/usr2" or "/d",
the script should add the "nofail" mount option for either the "/usr2"
or "/d" fstab entry.

##########
189412
------

For RHEL7: add the "--default.target" command line option to the
updateos.pl script. This command line option sets the systemd
default target to "multi.user".

##########
189394
------

Per JJ, in scripts tfconfed.pl and harden_linux.pl, add
opening up TCP port 8888 to iptables host firewall.

##########
189341
------

For RHEL7, add the "updateos.pl --locale" command line option to set the
system locale.

##########
189338
------

For RHEL7, updateos.pl should not modify the grub.conf file when doing a
remount of file systems.

##########
189331
------

RHEL7 support for "updateos.pl --daisy8" - don't put entry in /etc/fstab
for cdrom.

##########
189313
------

RHEL7 support for "updateos.pl --yum".

##########
189240
------

Added the "--i18n" option to updateos.pl for configuration of
internationalization.

##########
189195
------

Add support for RHEL7 to "updateos.pl --nameserver=s", that is, make sure
updateos.pl has the ability to generate a new /etc/resolv.conf file on
RHEL7 platforms.

##########
189121
------

Add support for RHEL7 to "updateos.pl --ipaddr=s", that is, allow
updateos.pl to change the ip address on RHEL7 systems

##########
188858
------

The rtibackup.pl script must put RETURN/LINEFEED line endings for output
sent to the printer.  The used to be done for ostools 1.13 but was
changed for 1.14 since it was understood that there would be no more
"raw" printers as part of a Daisy configuration, ie printers would be
able to print Linux text files.  Guess that's not true.

##########
188798
------

Per email from JJ, open additional inbound IP ports via iptables code
in harden_linux.pl.  Here is the list of ports from JJ that need to be
opened in addition to the ports it it already opening:

Ports 2000 thru 2009
And 2100, 2103, 2552

##########
188793
------

When installing the "rtibackup.pl" script, it should not comment out the
"lone-tar" entry from the root crontab file

##########
188438
------

Add support for LUKS devices to tfrsync.pl.

##########
188330
------

The code for each RHEL7 subscription manager cmd line option  should exit
after completion as does the rest of the command line handling code in
updateos.pl.

##########
188317
------

The ostools install script should put a symlink for tfrsync.pl in the
Daisy bin directory like it does for RTI.

##########
188315
------

The tfrsync.pl did not report the rsync transfer stats correctly
when the rsync command exit status was "24" (vanished files).

##########
188254
------

The dsyuser.pl should add the alias "l=ls -l" to the generated .bash_profile
file.

##########
188252
------

The rtiuser.pl script uses the /etc/profile.d/pro5.sh file which is now
obsolete and should be removed.

##########
188100
------

Add calls to "/d/daisy/logevent" and "/d/daisy/action" to rtibackup.pl
per requirements from Chris Moth.

##########
188069
------

Add support for RHEL7 to "--ipv6" option of harden_linux.pl,
ie add code to disable ipv6 on a RHEL7 system.

##########
188050
------

Add support for RHEL7 for the "--hostname" command line option to
updateos.pl.

##########
188040
------

Remove RHEL4 support from harden_linux.pl.

##########
188039
------

Remove RHEL4 and RHWS5 support from updateos.pl.

##########
187922
------

The tfrsync.pl script should observe the "--retry-reps" and "--retry-wait"
values when attempting to establish SSH tunnel.

##########
187918
------

The tfrsync.pl script should not accept a non-standard cloud account name
without verification from the user.

##########
187907
------

Updated all code associated with "harden_linux.pl --iptables" with respect
to RHEL7 and Perl Best Practices

##########
187903
------

The code for "updateos.pl --baremetal" was not updated to use the RHEL7
subscription mgr for registering the system.

##########
187900
------

Modified "updateos.pl --rtiv14" so it exits before trying to install
Java and BBJ since that is not yet working.  The code for installing
Java and BBJ is to be provided by the RTI Group and they are not ready to
deliver it yet. So for the time being, this commit will exit the "--rti14"
code just before installing Java and BBJ; thus, testing on v1.15 of the
ostools package can continue without it.

##########
187896
------

Updated all code associated with "harden_linux.pl --pam" with respect
to RHEL7 and Perl Best Practices

##########
187837
------

Initial changes to support RHEL7 platform in the tfsupport.pl script.

##########
187836
------

Initial changes to support RHEL7 platform in the rtibackup.pl script.

##########
187835
------

The updateos.pl "--rti14" option must verify the Red Hat sub mgr id on
RHEL7 systems rather than the rhn system id as on RHEL6 and RHEL5 systems.

##########
187747
------

Initial support for RHEL7 platform in ostools 1.15.

##########
187743
------

In the tfrsync.pl script, when doing a "restore upgrade", for all restore
types, remove excluded files from list of files to be restored.

##########
187697
------

If the tfrsync.pl script gets an exit status of 24 from
rsync during a backup, the transfer stats reported are
incorrect.

##########
187696
------

When restoring files with tfrsync.pl, if there are no user files
specified, don't attempt to restore and don't report an error

##########
187684
------

When doing a "tfrsync.pl --cloud --restore-upgrade" and restoring from
RHEL5 to RHEL6, don't restore "/etc/rsyslog.conf" since that file does
not exist on RHEL5 systems.

##########
187601
------

The tfrsync.pl must set the owner and group of the home directory of
any users added by "restore upgrade".

##########
