View Issue Details

IDProjectCategoryView StatusLast Update
0002507unrealinstallingpublic2007-06-22 05:49
Reporterpinstrate Assigned Tostskeeps 
PrioritynormalSeverityfeatureReproducibilityalways
Status resolvedResolutionfixed 
Fixed in Version3.3-alpha0 
Summary0002507: Renaming old files to file.old before make installing
DescriptionI suggest to insert such feature that would make copies of files that are going to be overwritten after 'make install'. For example, firstly I installed my ircd (the binary) to /home/ircd/irc.my.org/ircd. Then I dediced to recompile it because I needed something After ./Config & make, I'd do make install, bot however it would owerwrite everything what was in /home/ircd/irc.my.org/*. I suggest doing like that:
make install:
if /home/ircd/irc.my.org/ircd exists, rename it to /home/ircd/irc.my.org/ircd.old and then place the new version of compiled ircd;
if /home/ircd/irc.my.org/modules exist, rename it to /home/ircd/irc.my.org/modules.old and after that install the new/fresh directory of modules..
The same for all the files that are going to be overwritten. That would be more comfortable I think.

Sorry for my horrible English but I think You understand what I mean.
Thanks
TagsNo tags attached.
3rd party modules

Relationships

related to 0003199 resolvedstskeeps Installation overwrites files 

Activities

Stealth

2005-04-28 20:47

reporter   ~0009855

Why? Too lazy to back things up yourself?

pinstrate

2005-04-29 07:06

reporter   ~0009858

Actually no, but I saw many programs that do in such way. This would just prevent actual overwrites. In addition to that, it is VERY easy to do :)

Stealth

2005-04-29 12:38

reporter   ~0009861

Last edited: 2005-04-29 12:52

One of the main things to running a server of any kind is learning how to do backups. If you can't learn how to back things up now and then, you will be doomed to massive data loss. Having Unreal rename files to file.old or copying files to a backup directory supports people who think they are too good for backups.

This then creates other problems:
- 1 - How will these backups be restored if the user wants them restored? Surely you don't want them to rename/move every file.old...
- 2 - What will be backed up? Unreal can easily have 1,500+ files in its directory.
- 3 - What about windows? This would require a separate program run right after the installer, or some fancy installer work.
- 4 - I back my server up the proper way at leasy every 2 weeks, because of this, there is no reason making the archive file bigger than it is - let alone my Unreal directory taking more HD space. My HD space is already very limited as it is (to give you an idea about how small it is, I currently have 135 MB available.)

EDIT: A few grammatical errors caused by answering things in the morning.

pinstrate

2005-04-29 16:00

reporter   ~0009862

windows version is like a toy anyway;
but for *nix version I still think it is a good idea that 'make install' would check: if file named 'ircd' exists, move it to irc.old, if directory named 'modules' exist, move it to modules.old. [at least this sould be done for ircd and modules/]. I don't think it would cause a big mess..

Stealth

2005-04-29 16:34

reporter   ~0009863

You called Windows a toy, I agree. But you didn't answer even 1 of the 4 things I listed.

w00t

2005-04-30 02:29

reporter   ~0009864

It's one of the easiest ways to upgrade Unreal. Copy the new src files over, rename the binary under nix, re-make etc then just /restart - It'll use the new binaries, while allowing you to use the same directory. I do it often :P.

pinstrate

2005-05-01 11:40

reporter   ~0009875

Bugz:
1. In case of bad compilation or something like that, old files can be restored manually: mv ircd.old ircd & mv modules.old modules.
2. only 'ircd' file and modules/ directory backup should be ok
3. Dunno about the win version, but I think it is possible to di the same: if file, called unreal.exe (or whatever it is) exists, it gets renamed to unreal.old.exe. Same with modules dir.
4. I'm not talking here apout periodic backup of whole Unrealircd directory, which is a must; I'm suggesting a feature which would prevent accident overwrites just only at compilation time.

w00t:
Ok, the same way do I, but however:
let's say, I've recompiled my Unreal to support newer version of openssl (chosen an option in ./Config). I've changed the link blocks to support ssl on 3 of my servers which I recompiled the same way. But something was wrong with the upgraded SSL on my system #1, for example (./Config can't find it or smth). I do ./unreal stop /* stop the OLD ircd */ and then ./unreal start /* trying to start the new ircd */ And poof, it says error on X line: ssl enabled on non-ssl compile. And what's next? I'll need 30-60 minutes to investigate what's wrong with my ssl and etc, while during that way I could just lauch ./ircd.old, whick would only show a warning about ssl version mismatch but would boot. :)

stskeeps

2007-06-22 05:49

reporter   ~0014406

Fixed in .2450

Now copies to filename~ for binaries/confs/modules

Issue History

Date Modified Username Field Change
2005-04-28 15:44 pinstrate New Issue
2005-04-28 20:47 Stealth Note Added: 0009855
2005-04-29 07:06 pinstrate Note Added: 0009858
2005-04-29 12:38 Stealth Note Added: 0009861
2005-04-29 12:40 Stealth Note Edited: 0009861
2005-04-29 12:51 Stealth Note Edited: 0009861
2005-04-29 12:52 Stealth Note Edited: 0009861
2005-04-29 16:00 pinstrate Note Added: 0009862
2005-04-29 16:34 Stealth Note Added: 0009863
2005-04-30 02:29 w00t Note Added: 0009864
2005-05-01 11:40 pinstrate Note Added: 0009875
2007-04-19 04:37 stskeeps Status new => acknowledged
2007-06-10 02:16 WolfSage Relationship added related to 0003199
2007-06-22 05:49 stskeeps Status acknowledged => resolved
2007-06-22 05:49 stskeeps Fixed in Version => 3.3-alpha0
2007-06-22 05:49 stskeeps Resolution open => fixed
2007-06-22 05:49 stskeeps Assigned To => stskeeps
2007-06-22 05:49 stskeeps Note Added: 0014406