X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2FReleaseNotes;h=d37fd90bf8654ef7f91e5ddc95e68e668cd2cde9;hb=5bdbfa126f66ff5c44009d12ee65bf2976a7ad26;hp=c4f398b287b4c01166a8883d66d4c82edefc41db;hpb=5168006b83f501a3cd516fa0e420c9bbac15f0da;p=bacula%2Fbacula diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes index c4f398b287..d37fd90bf8 100644 --- a/bacula/ReleaseNotes +++ b/bacula/ReleaseNotes @@ -1,192 +1,86 @@ - Release Notes for Bacula 1.39.18 - - Bacula code: Total files = 448 Total lines = 150,330 (*.h *.c *.in) - -Warning for version 1.39.18 and greater: -- If you have an old pre 1.39.18 database, you must upgrade it using - the upgrade_bacula_tables script. -- You *should* be able to use 1.38.x FDs with version 1.39.18 Director - and SD providing you do not use any of the new features (runscript, - data encryption). However, we do not recommend this, nor guarantee - that it works. -- The restore command no longer uses the MediaType as the primary method - of finding a suitable Storage device. Normally it will select the last - device used to write a Volume. If no storage device is defined, it - will use the old algorithm which selects the first Storage resource - with the correct MediaType. -- The MD5/SHA1 hash codes kept in the database are now kept in a binary - format compatible with the rest of the world. This means that all - FileSets will be updated, and if you are running verify jobs, you *must* - do an InitCatalog. Also, authentication uses the new algorithm by - default, but *should* accept connections from older components (FD) using - the old non-compatible algorithm. -- The --mandir ./configure option now points to the top level man - directory. The man files will be installed under mandir/man8 and - mandir/man1 as appropriate. -- The "Accept Any Volume" directive has been removed. It was never - implemented. Bacula will always accept any valid tape that is in - the drive for appending. - - -New features for 1.39.18: -- Bacula and bextract can now extract non-portable Win32 data to - any client (including Unix/Linux clients). Of course, in doing so, - the Microsoft specific permissions and ACLs will be lost. Thanks - to Thorsten Engel for this code. -- The 260 character limitation in Win32 paths is now eliminated thanks - to Thorsted Engel. -- The examples directory has a new bacula_mail_summary.sh file that - creates a single email summary of any number of jobs. Submitted by - Andrew J. Millar. -- SunOS ACLs should now work thanks to a patch from David Duchscher. -- The database Id records should be 32/64 bit independent now. 64 bits - can be enabled by changing one define, but this has never been tested. -- Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at - If this patch is applied, the number of days can be specified with - "list nextvol days=xx" - or - "status dir days=xx" - My use case is to be able to preview the next scheduled job (and the - next tape to be used) on fridays if there are no scheduled jobs during - the weekend. This patch was probably back ported to 1.38.x -- Data encryption done in the Client is now supported due to code - submitted by Landon Fuller. -- Add nagios plugin to the examples directory. Submitted by - Christian Masopust. -- Modify most restore error messages to be queued so that they - appear at the end of the job rather than mixted with the restore - listing where they could be "lost". -- Apply patch supplied by user (slightly modified) to fix - correct detection of holes in block devices and FIFOs. - Bug # 506. -- Added a report.pl program to the examples directory from Jonas Bjorklund. -- Add enable/disable job=. This command prevents - the specified job from being scheduled. Even when disabled, - the job can be manually started from the console. -- Add two new queries to query.sql provided by Arno. One - list volumes known to the Storage device, and the other - lists volumes possibly needing replacement (error, ...). -- Implement new code for changing userid and group at startup. This - should get Bacula into the correct groups. -- Implement support for removable filesystems. -- Transfer rates are now presented in a more readable format thanks - to a user submission. -- SD is now aware of what volumes are mounted. More information is printed - in the Status report. -- The Pool Maximum Volumes directive is now respected in all places. -- A Storage device can now be specified in a Pool resource. It will override - all other Storage specifications. -- Most but not all directives accept true/false in place of yes/no. -- Integrate patch from Karl Hakimian that reads JobIds, FileIndexes - from a database table for restore. -- There are a number of new tables. Some such as the Location table are - designed for user use in doing Volume Management software. -- Fix Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to - accept time qualifiers. -- Implement jobuid to replace old usage of job in keywords as - suggested by Eric Bollengier. -- Apply patch for enhancing wait from Eric Bollengier. On can now: - wait (wait for all jobs to stop) - wait jobid=nn - wait jobuid=unique id - wait job=job-name -- Implement write variables for Python to set Priority (anytime), and - Job Level, only during JobInit event. -- Use the keyword ujobid to mean the unique job id; job or jobname - to mean the Job name given on the Name directive, and jobid to - be the numeric (non-unique) job id. -- Allow the SD to use multiple drives during a backup/restore (only - one at a time). This is not well tested. -- Integrate addition of line count limitation to bsmtp -l from - Sebastian Stark -- Split the bacula start/start script into four files: - bacula -- starts and stops calling other scripts - bacula-ctl-dir -- starts/stops the director - bacula-ctl-fd -- starts/stops the File daemon - bacula-ctl-sd -- starts/stops the Storage daemon -- Remove automatic case folding on Windows FDs. You must - explictly use the 'Ignore Case = yes' option. -- Implement wild program in tools directory for testing - wild-cards. Almost identical to the regex program. -- Use the new bregex.c to implement Regex expressions on Win32. -- Apply patch from Christopher Hull - - Allow multiple connections to database with different - parameters. - - Invalidate the scheduler when doing a reload. Fixes seg - fault, but still 60 second window. - - Additional info in Reschedule message. - - Use set_jcr_job_status() everywhere to prevent loss of - cancel, error. - - Display peer IP in FD if error from connecting DIR. - - Don't increment file count for DIRBEGIN. - - Replace illegal characters in Win32 filename by _. - - Add SE_CREATE_PERMANENT_NAME privilege in Win32. - - Hash hard link filenames rather than linked list. - - Fix for security failure in chdir on Win32. - - Add CreateDirectoryA/W win32 API entry points. -- Add /silent option to Win32 FD for Install/Remove service. - programs to duplicate Bacula's base64 algorithm using standard - routines. This fixes bugs #296, and 565. Patch submitted by - author of bug #565. -- Switch the Win32 build from using Microsoft C++ to using mingw32 - cross-compiling. The inital work was done by Howard Thomson, - then tweaked by me. -- Robert Nelson then totally reworked the cross-compiling code so that it - not only cross-compiles, but also compiles on Visual Studio, and at the - same time, he added all the current Unix features to the FD, such as - selection on drives, encryption support, building *all* the tools, ... - Finally, he also ported the Directory and the Storage daemon to Win32. -- Fixes to reloading the Dir conf file from Eric Bollengier and Christopher - Hull. -- Modify LICENSE to correct some problems pointed out by Debian. - Implement patch submitted by cesarb in bug #606 to implement O_NOATIME - support. - O_NOATIME is a open() flag which makes it possible to read a file without - updating the inode atime (and also without the inode ctime update which - happens if you try to set the atime back to its previous value). It also - prevents a race condition when two programs are reading the same file, but - only one does not want to change the atime. It's most useful for backup - programs and file integrity checkers (and bacula can fit on both - categories). - - Recent versions of the Linux kernel and glibc have support for it (the - glibc support being mostly copying the O_NOATIME definition to - bits/fcntl.h). If there's no support for it on the kernel, trying to use - it does nothing (since the kernel ignores unknown flags). - - If the kernel has support for it, trying to use it either works, fails - silently (mostly in remote filesystems), or returns errno=EPERM (if you - are not either the owner of the file or root). A simple way to prevent the - failure is to open the file without the flag and set it later with - fcntl(F_SETFL), ignoring any EPERM errors. -- Implement a pile of new man pages contributed by Jose Tallon. -- Implement a number of user supplied patches for DVD writing. -- Add Eric Bollengier patch for new RunScript directive. -- Modify the database format for handling Migration jobs: - Add PriorJobId, RealEndTime to Job table - Delete MAC table - Remove Stripe from JobMedia record (not used, wasting space) - Add ScratchPoolId, RecyclePoolId, Enabled to Media record - Add Cost to Location table. - Enabled to Media table and Location table. -- Security: harden authentication failure in FD by single threading errors - and forcing a 6 second wait. -- If using GCC (actually g++) add the following compiler flags - -fno-strict-aliasing -fno-exceptions -fno-rtti -- Turn on new bsnprintf() code. This could cause print output - to look different. -- Implement job report that indicates where Storage and Pool - came from -- with overrides and Pool storage and NextPool, - it is all very complicated. -- Add more detail (Storage, Device) to list of volumes printed - for restore. -- Add new VOLMGMT message class. No messages are yet sent with this - class. -- Add Catalog message destination in Messages resource that puts the - job report in the Log database table. -- Spend a lot of time integrating mkcdrec with the rescue disk. -- Add spooling/despooling info in status output of SD. -- Add Comment field to llist of a volume. -- Allow true/false in some yes/no questions. -- Implement update volume enable=(on|off|true|false|archived|0|1|2) + Release Notes for Bacula 2.5.42 + + Bacula code: Total files = 521 Total lines = 204,881 (*.h *.c *.in) + +The diff between 2.4.4 and 2.5.x is 208,340 lines, so this release +represents an enormous effort. + +This Director and Storage daemon must be upgraded at the same time, +but they should be compatible with all 2.4.x File daemons, unless you +use some of the new features that affect the FD. In other words, you should +not have to upgrade all your File daemons when you upgrade. However, any +release of version 2.5.40 or greater requires a database upgrade. + +================== Warning !!!!!! ========================== + +New Catalog format in version 2.5.40 +------------------------------------ + +This BETA release of Bacula uses a new catalog format. We provide a set of +scripts that permit to convert a 2.4.x (version 10) catalog to 2.5.x (version +11). If you are using already a 2.5 version, you can drop the JobHistory +table before upgrading your catalog (if you are using the new "long term +statistics" module, you can upgrade this table the same way we do with +the Job table, see the src/cats/update_bacula_tables script). + +The simplest way to: +1. Stop any current version of Bacula from running. +2. Save a copy of your existing database. +3. Configure, build, and install the 2.5.42 version of Bacula +4. cd +5. ./update_bacula_tables +6. If you have multiple catalogs, edit the update_bacula_tables + script and put the name of another database, and then + execute the script again. Repeat this until all Bacula + catalogs have been updated. +7. Start the new Bacula. If everything worked, it should + not print any error messages. + +The upgrade operation will convert the FileId index field of the File table +from 32 bits to 64 bits. This operation will take TIME and will *temporarily* +DOUBLE THE SIZE of your catalog. Bacula must be shutdown during this update, +so, won't be able to run jobs during this period. For example, a 3 million files +catalog will take 2 mins to upgrade on a normal machine. Don't forget to +backup it before executing the script. + +If you start from scratch, you don't need to run the update_bacula_tables +script. However, if you are using a version of Bacula older than 2.5.40, +then you need to run the update_bacula_tables script that will be found +in the /src/cats directory after you run the ./configure command. +As mentioned above, before running this script, please backup your +catalog database, and when you do running it, be sure shutdown +Bacula and be aware that running the script can take some time depending +on your database size. + + +New configure option : +---------------------- + +This BETA release of Bacula 2.5.x development code uses libtool +to generate the Bacula libraries as shared objects rather than +being directly linked in as in prior versions. This means that +the Bacula shared objects, must either be in a shared object +directory known to the loader or they must be in the directory +where the Bacula binaries are installed. It is also possible +to explicitly specify the libraries directory on the ./configure +line (--libdir=/full-path/dir), but this should not be necessary. + +If you have problems with libtool or you wish to use the old +way of building libraries and linking them into Bacula, you +can do so by disabling libtool on the configure command line with: + + ./configure --disable-libtool +============================================================== + +This release includes large number of new features and changes. +It should be more or less compatible with previous xx.conf files +and File daemons providing that you are not using any of the new +features. + +Please see the New Features chapter of the new manual, which documents +some but not all the new features (we are still working on it): + +http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html + +The ChangeLog has more details.