X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2FReleaseNotes;h=fe281432e7b52a794e99ec775404f98b8e6fbf25;hb=83a1b9fc4c73de1496b8f4df5c1959a6f9db0eb6;hp=e1282c023f432d253e5ddddc2964091df0c09ce0;hpb=4a9d4f81f4182d90bbc2b1ba1b21f552aedb67d1;p=bacula%2Fbacula diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes index e1282c023f..fe281432e7 100644 --- a/bacula/ReleaseNotes +++ b/bacula/ReleaseNotes @@ -1,390 +1,177 @@ - Release Notes for Bacula 1.39.26 - - Bacula code: Total files = 447 Total lines = 149,711 (*.h *.c *.in) - -Version 1.39.26 contains mainly bug fixes to 1.39.24. Please - see the ChangeLog for more details. - -==== IMPORTANT a stock SuSE 10.1 kernel may crash ===== -- A stock SuSE 10.1 kernel may crash when Bacula runs and accesses - the tape drive. Workaround, load a Fedora kernel, which works fine, - or load the SuSE 10.2 rc5 kernel which also works fine. - -==== IMPORTANT Catalog update required ===== -- The database format has been updated from what was used in - Bacula 1.38.x. You must manually update your database before - running Bacula 1.39.x or higher. Please backup your previous - version of the database before running the update. The update - script will be automatically installed in your scripts directory, - or can also be found in /src/cats. It is called: - - ./update_bacula_tables - - It is necessary to run it only once the first time you move to - a 1.39.x beta or to 1.40.0. Upgrading the Bacula version - thereafter does not require updating the database again. - Depending on the size of your database the script make take a - bit of time, to run, but in general, it should be very fast. - -==== IMPORTANT DVD Volume format changed ==== -- The current Volume format written by 1.39.22 is different from - the format written by previous versions. The two formats - are not compatible. Thus any DVDs written prior to 1.39.22 will - be unreadable by version 1.39.22. - -==== IMPORTANT miscellaneous ==== -- The Gnome console program (gconsole) no longer functions as it - should. If you have multiple catalogs, you will need to select - the catalog (this I will fix). More importantly, in restore - mode, the restore tree is no longer shown in the left pane. I - suspect this is due to incompatible changes in the GTK+ API, - and hence have given up on gnome and gtk+, as this has already - happened several times previously. At some point there - will be a new GUI console. -- The bacula-dir.conf directive Accept Any Volume has been - removed because it was never implemented. You must delete all - occurrence of this directive for the Director to run. -- 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. -- 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). It seems to work here, but we do not guarantee it. -- Your Director and SD must be simultaneously upgraded. -- 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. If you are running verify - jobs, you *must* do an InitCatalog or all files will show an MD5 - difference. Also, authentication uses the new algorithm by - default, but *should* accept connections from older components (FD) using - the old non-compatible algorithm. This has been tested, but more - more testing is still needed. - -==== IMPORTANT new Win32 install procedure ===== - For Win32 migrations from versions prior to the new installer nothing special - needs to be done to upgrade. Everything should be taken care of - automatically. The only thing not done is to delete the old C:\Bacula - directory (mostly out of paranoia, we can change that prior to release if - everyone is comfortable with it). - - Prior to using the current installer, if you used a prior 1.39.x - beta version, you must do one of the following three things: - - 1) Uninstall prior beta version and select the option to delete - the configuration and state files. This will get rid of the bogus - configuration files. Reinstall the new 1.39.22 version. - - 2) Manually copy the *.conf files from C:\Bacula\bin to - C:\Documents and Settings\All Users\Application Data\Bacula. - - 3) Manually edit the *.conf files in C:\Documents and - Settings\All Users\Application Data\Bacula. The links in the Bacula menu - can be used to avoid having to enter that ugly path. - - After one of these has been done the upgrade should work fine. - - If you have problems with the above, try the following - The new Win32 installer requires that you deinstall any - previous 1.39.x beta version before installing the new version. - The following is not necessary if you are upgrading from - a 1.38.x installation. - - The simplest way to do clean up a prior 1.39.x beta is in a DOS shell: - - cd c:\bacula\bin - net stop bacula - net stop baculfd - ./bacula-fd /remove - (Install the new Bacula) - - Note, one or both of the 'net stop' commands may fail. Don't - worry about it. - - If you didn't read the release notes or forgot to do those - commands, try the following: - - cd c:\bacula\bin - net stop bacula - net stop baculafd - sc delete bacula - sc delete baculafd - - Note, at least one of the 'net' commands and possibly both - will fail, and at least one of the 'sc' commands will fail. - Don't worry about it. After that, try again to install - the new Bacula. - - -New Features in 1.40.0: -- Windows tray status windows are scrollable and resizable. -- Win32 external script excution is much more flexible -- handles - spaces in names better, ... -- Lots of DVD fixes -- I think they now work! -- Fix opening of database in a restricted console to respect - any Catalog ACL. -- Permit multiple console/director resources in bconsole.conf. - patch from Carsten Paeth calle@calle.in-berlin.de -- Character substitution in Job/JobDefs WriteBootStrap. - from Eric Bollengier. -- Apply patch supplied in bug #656 to pass priority field - in the run dialog to the Director in gnome console. -- Add support of encrypted data stream to bscan from Eric. - display data_len instead of data content (may be binary) -- Add Enabled=xxx on update slots command. -- Add host:port to connect failure messages to FD and SD from Dir -- Add WhereACL to console ACL list. If nothing is specified, only - the default is permitted for restore. Otherwise, *all* allows any - path, or you can specify permitted paths. This should allow control - over where users can restore files. This is untested. -- Install man pages with 'make install' -- Add Media.Enabled flag to client backups for dotcmds.c -- Enforce Media.Enabled=1 for a current restore to work -- Require restore case 3 to have sqlquery permission to work. -- The basic features of Migration are now complete. -- There is a Migration chapter in the doc. - http://www.bacula.org/dev-manual/Migration.html -- There is an Encryption chapter in the doc. - http://www.bacula.org/dev-manual/Bacula_Data_Encryption.html -- Additional support for removable devices. See the - Requires Mount, Mount Point, Mount Command, and Unmount - Commands in the Storage daemon configuration chapter: - http://www.bacula.org/dev-manual/Storage_Daemon_Configuratio.html - Also see the Edit Codes for Mount and Unmount Directives in the - same chapter. -- Add -n option to bconsole to turn off conio. -- The bytes field in the terminated jobs part of the status - command now reports in KB, MB, ... units. -- When not descending into a directory, print the File= name that - triggered it -- makes why not descending a bit clearer -- Do not unload autochanger when doing "update slots" -- Implement mount command for autochanger -- Fix bug #462 incorrect error message printed when client script called - from File= was not found. -- Fix bug #558 (waiting for feedback) where Bacula needs too much time to - do a rewind on Solaris when no tape is in the drive (Solaris does not - have the detailed errno found on Linux). Added Solaris specific code. - Note, this may apply to other OSes as well. -- Switch the Win32 build from using Microsoft C++ to using mingw32 - cross-compiling. The initial 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. -- Data encryption done in the Client is now supported due to code - submitted by Landon Fuller. -- Bacula restore 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 for Win32 paths name lengths is now - eliminated thanks to Thorsted Engel. -- Eric Bollengier wrote new RunScript directives that includes - the old RunBefore/AfterJob and ClientRunBefore/AfterJob features - plus a *lot* more, allowing you to control just about every aspect - of running scripts. See the manual for detailed documentation. - http://www.bacula.org/dev-manual/Configuring_Director.html#5227 -- 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 -- 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 mixed 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. -- A 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. -- 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. One 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 - explicitly 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 (performance). - - 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. -- Fixes to reloading the Dir conf file from Eric Bollengier and Christopher - Hull. -- Modify LICENSE to correct some problems pointed out by Debian. -- Apply a 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). - You enable it in the Bacula FileSet Options resource by setting: - noatime = yes - The effect of this option is similar to the keepatime option except - it is more efficient and avoids modifying ctime. -- Implement a pile of new man pages contributed by Jose Tallon. -- Implement a number of user supplied patches for DVD writing. -- 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. The reason for this code is to eliminate the - security problems associated with using the system libraries - print routines. -- 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) - -Additional Features Added for Win32: - -Added DriveType directive to the Director's Include Option FileSet -resource. Allowed values are: fixed, removable, cdrom, and remote. There -is only an implementation for Windows because it is the only platform that -has the concept of drives. - -Adds EnhancedWild directive to the Director's Include Option FileSet -resource. Allowed values are: yes and no. - -When EnhancedWild is enabled then the processing of the -Wild, WildDir and WildFile is changed in the following ways. - - Patterns conform to Posix - \ is not a special character in character classification [] - To match a - it must be the first or last character - To match a ] it must be the first character - - fnmatch option FNM_FILE_NAME is specified * doesn't match a / - so it won't match multiple directory levels in a path - -Relative WildFile patterns (ones without a leading /) match -against the filename portion. This in combination with the -FNM_FILE_NAME fnmatch() flag makes directives such as WildFile = -abc*.def work as expected. - -Adds support for the shell's feature of brace expansion. - -Here is an example where braces allow 24 lines to be expressed in 5. - -# Exclude directories full of lots and lots of useless little files -WildDir = "[A-Z]:/{Documents and -Settings,{WINNT,Windows}/Profiles}/*/Cookies" -WildDir = "[A-Z]:/{Documents and -Settings,{WINNT,Windows}/Profiles}/*/Recent" -WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local -Settings,LOCALS~1}/History" -WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local -Settings,LOCALS~1}/Temp" -WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local -Settings,LOCALS~1}/Temporary Internet Files" - - - -Here are some hints if you want to play with the Windows Director and/or -Storage daemon. - -Changer and Tape device names in Windows are Changer0, Changer1, etc and -Tape0, Tape1, etc. If there isn't a device driver loaded for the Changer -then you need to use the address :::. Port is the -SCSI Adapter Number, Bus is the Bus Number on the adapter (usually 0 since -most adapters only have one bus), Target is the device's Target Device ID, -Lun is the Logical Unit Number. - -You must specify DeviceType = tape in the Device resource in bacula-sd.conf -since detection doesn't currently work. + Release Notes for Bacula 3.0.2 + + Bacula code: Total files = 1,009 Total lines = 205,726 (Using SLOCCount) + +Note, if you are not already running 3.0.x, read the 3.0.x release notes +below. Important!!! + +Version 3.0.2 is primarily a important bug fix update to version 3.0.1 with +some enhancements (see below). + +Changes since 3.0.1: + +Bug fixes: + 1029, 1285, 1298, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1315 + 1317, 1318, 1323, 1325, 1331, 1333, 1335 + +Fixed: + - Fix problem with the Postgresql driver that sometime displays values + - Cleanup old job records when starting the Director + - Fix bugs in xattr code + - Fix encoding problem with Postgresql + - Fix that prevents restore by file selection from using Copy job + +Enhancements: + - Security enhancement for the File Daemon + - New directive to specify source address for outgoing connexions + - Show volume availability in autochanger when doing restore. + This is project 31 in the projects file. + - Add accurate=yes/no option to estimate command + - Add --with-hostname, --with-bsrdir, --with-logdir to ./configure + - Add a restore menu that contructs a full restore when entering a JobId. + This is project 2 in the projects file. + - Add new Nagios plugin + +Compatibility: +Like always, both the Director and Storage daemon must be upgraded at +the same time. + +Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.2 +Director and Storage daemons. It should be no need to upgrade older File +Daemon. + +============ Documentation improvements needed ================== + +Note!!!!! The 3.0.0+ documentation needs rather extensive modifications in the +following areas: + +1. Missing documentation. +2. Correction of links within various manuals -- most fail. +3. Integration of the new features into the main documents. +4. Much more. + +The documentation will not be completed in the near future due to lack +manpower. If you are unhappy with this situation as we are, we suggest +you help by submitting patches to the documentation. Thanks. +===== + +================== 3.0.1 Release Notes ======================== + +Version 3.0.1 is primarily a minor bug fix update to version 3.0.0 with +one enhancement. + +================== 3.0.0 Release Notes ======================== + +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 3.0.0 (2.5.40 or later) +----------------------------------------------------- + +This 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 3.0.0 (version +11). The Bacula project rpms distributed on Source Forge will automatically +detect the database change and do the upgrade for you. We strongly +recommend that you save a copy of your existing database before upgrading +using rpms. + +The simplest way to upgrade the database assuming you are building from +source: +1. Stop any current version of Bacula from running. +2. Save a copy of your existing database. +3. Configure, build, and install the 3.0.0 version of Bacula + Note the new ./configure options in the manuals see the link + at the bottom of this file. +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 because the create_bacula_tables script automatically creates the new +table format. However, if you are using a version of Bacula older than 2.5.40 +(e.g. 2.4.4) 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. + + +Important New configure options : +---------------------- + +This release of Bacula 3.0.0 uses libtool by default +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. + + ./configure --libdir= + +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 + +During the installation of Bacula 3.0.0, it will now install +bat help files (if you have configured bat). These files +are placed in /usr/share/doc/bacula/html by default. If you +want to put them elsewhere use: + + ./configure --htmldir= + +During the installation of Bacula, it will now install the +ReleaseNotes, License, technotes, ChangeLog, and similar +files in /usr/share/doc/bacula by default. If you +want to put them elsewhere use: + + ./configure --docdir= + +During the installation of Bacula, any plugins will be +installed in the plugindir, which is by default the +same as libdir (/usr/lib). You can specify an alternate +location with: + + ./configure --with-plugindir= + +============================================================== + +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.