|
|
| About site: Open Source/Software/Internet/Distributed Computing - Xfiles |
Return to Computers |
| About site: http://www.idiom.com/~zilla/xfiles.html |
Title: Open Source/Software/Internet/Distributed Computing - Xfiles An interactive utility for comparing and merging one file tree with another over a network. (Java) |
|
|
|
|
ZooLib A library allowing to create native executable for GNU/Linux, Unix, Mac OS, BeOS and Windows with little or no need for platform-specific code. (C++)
| The_Tech__-_The_Revolutionaries_-_Steve_Wozniak As part of The Revolutionaries series, Jill Wolfson interviews the Apple co-founder.
| Slashdot_-_Steve_Wozniak_Unbound Apple co-founder answered questions put to him by 11 Slashdot readers. (January 7, 2000)
| CapROS Capability-based Reliable Operating System; home site; non-academic evolution and continuation of EROS system, begun in 2005; EROS was pure research, CapROS is intended to be stable commercial quality
| CapROS Growing article, with links to many related topics. Wikipedia.
| Coyotos Growing article, with links to many related topics. Wikipedia.
|
|
| Alexa statistic for http://www.idiom.com/~zilla/xfiles.html |
Please visit: http://www.idiom.com/~zilla/xfiles.html
|
| Related sites for http://www.idiom.com/~zilla/xfiles.html |
| Coyotos_Secure_Operating_System Direct EROS research successor; builds on those ideas and experiences; much code developed for EROS will migrate directly to Coyotos. | | EROS__A_Fast_Capability_System This capability-based OS for commodity processors uses a one level storage model; store persistence is transparent to applications. Surprisingly, performance of this very high security system matches | | EROS-OS_org Extremely Reliable OS; home site. Small, secure, real-time microkernel with orthogonal persistence: pull the plug and restart with no losses. Related to, and working with, ERights.org on E programming | | Extremely_Reliable_Operating_System Growing article, with links to many related topics. Wikipedia. | | KeyKOS Persistent, pure capability, microkernel OS. EROS's famous predecessor. | | Verifying_Operating_System_Security A confined program is one unable to leak information to an unauthorized party or modify unauthorized resources, an essential feature of any secure component based system. A proof of correctness of ERO | | EROS__A_Principle-Driven_Operating_System_from_the_Ground_Up Abstract of article by Jonathan S. Shapiro, Norm Hardy; published by IEEE Computer Society. [IEEE Software] (February, 2002) | | The_EROS_Alternative Shapiro interview in 'Open-Source Security' issue. Of open source OSs, most people think only Linux and OpenBSD. But another open-source OS's architecture may be more secure than either of them. [Info | | DR-DOS Growing article, with links to many related topics. Wikipedia. | | DRDOS,_Inc_ Makes: DR-DOS, compact, Y2K safe, good for embedded or thin-client systems, source code available, development kits, older and localized versions; and DRLX embedded Linux, load and run Linux programs | | DR-DOS_Wiki Information of many types on DR-DOS, Enhanced DR-DOS, OpenDOS, NovellDOS. | | The_DR-DOS/OpenDOS_Enhancement_Project Goal: continue development, enhance abilities of, add support for new standards to, extend life of this DOS under open source license. Descriptions, downloads of latest versions: source code, binaries | | OpenDOS Growing article, with links to many related topics. Wikipedia. | | OpenDOS_Stuff News, FAQ and mail archives. | | OpenDOS_Unofficial_Page Descriptions, Q&A, downloads, mail lists, programming information. Not up-to-date, but has useful information, some of historical interest. | | Unofficial_DR-DOS_Resources Links, install and use tips, FAQ; mail lists, newsgroups, fora; downloads: images, source code; tools. | | Bug_reports_for_the_GNU_Hurd_Archives Archived discussions and reports of bugs for Hurd project. May be searched by user. | | Debian Download site for Debian Hurd CDs. Offers software downloads, support, documentation and news. | | Debian_GNU_Hurd Free distribution of the original GNU operating system under name of Debian, maintained and updated by many users who volunteer their knowledge, time and effort. The Hurd is a set of servers running o | | The_Easy_Guide_to_Installing_Hurd_on_a_Linux_Box A step-by-step guide to installing Hurd on a linux box, assuming no prior knowledge. | | Edrx\'s_Hurd_Page Many useful GNU Hurd related links, not well structured. | | The_GNU_Hurd The GNU project's replacement for the Unix kernel. The Hurd is a collection of servers that run on the Mach microkernel to implement file systems, network protocols, file access control, and other fea | | GNU_Hurd_0_2_Kernel_Source_Tour Browseable Web interface to full Hurd source tree, with a fully functioning Function Search function. | | GNU_Hurd_Hardware_Compatibility_Guide A list of hardware that is known to be supported by the GNU Mach microkernel. | | GNU_Hurd_Mailing_List Mailing list archives. | | GNU_India Gateway focusing on developing, distributing, and testing the GNU OS. Includes links to documentation, projects and also offers a mailing list and contact information. | | Gnufans___Hurd___WebHome Gnufans host of the Hurd webpage. It contains many new updates. | | Gnu/Hurd Comprehensive collection of GNU Hurd links. | | Hurd A basic introduction to the Hurd project. | | The_Hurd_Development_and_Information_Links Offers a large good collection of Hurd links. | | Hurd_hacking_guide Offers guidelines on design and implementation of GNU Hurd. | | The_Hurd_on_L4 Porting the Hurd to the L4 microkernel. News, plans, pointers to mailing lists and websites. | | Okuji_-_enbug_org Information on free software, GNU Hurd, GNU GRUB, GNU Mach, and microkernels. | | Toronto_Hurd_Group An area group willing to help new users to run GNU/Hurd and to develope software for GNU/Hurd. Offers links to related files, support, mailing lists, bug documentation, current tasks and news. | | Towards_a_New_Strategy_of_OS_Design A technical article on the Hurd. | | Arch_Rock_Corp_ Systems and software firm; builds innovative products and technology for wireless sensor network, to bridge the physical and digital worlds. San Francisco, California, USA. | | Berkeley_WEbS__Wireless_Embedded_Systems Berkeley resources for DARPA Project: Secure Language-Based Adaptive Platform for Network Embedded Systems. | | Brainy_Buildings_Conserve_Energy Discusses saving energy in buildings by distributed sensor networks featuring TinyOS. | | Crossbow_Technology,_Inc_ Makes scalable product set of: hardware and software development platforms, full product designs, production and professional services, to help OEMs and system integrators bring end-to-end wireless se | | David_Culler\'s_Page Leader in worldwide TinyOS community, Professor, University of California, Berkeley, teaches wireless embedded networking, deeply embedded network systems; also works at Arch Rock Corp. |
|
This is now2007.com cache of m/ as retrieved on 2008.11.22 now2007.com's cache is the snapshot that we took of the page as we crawled the web. The page may have changed since that time.
|
Xfiles1.4 - file tree synchronization and cross-validationXfiles file tree synchronization and cross-validation ContentsWhat it isScreenshotRequirementsLicenseDownloadPreface to installation and runningBinary installationInstallation from SourceSetting up to runUsageScriptingFAQ: How does Xfiles differ from Rsync?Appendix: Version logAppendix: Sample xfiles.py scriptAppendix: Link/Alias detectionAppendix: TroubleshootingAppendix: Installation from Source using native link detectionWhat it isXfiles is an interactive utility for comparing and mergingone file tree with another over a network. It supports freeformwork on several machines (no need to keep track of what filesare changed on which machine). Xfiles can also be used as a cross-validating diskdisk backup strategy(portions of a disk may go bad at any time, with no simple indication of which files were affected. Cross-validate against a second disk before backup to make sure you aren't backing up bad data).A client/server program (GUI on the client) traverses a file tree and reports any files thatare missing on the server machine, missing on the client machine, or different.For each such file, the file size/sizes and modification date(s)are shown, and a comparison (using Unix diff) can be obtained. For files that are missing from one tree, `similarly named' files in that tree are reported.Inconsistent files can then be copied in either directionor deleted on either machine.The file trees do not need to be accessible via nfs.Files checksums are computed in parallel, so largely similar trees canbe compared over a slow network link. The client and server processes can also be run on the same machine.See the topic 'How does Xfiles differ from Rsync' below formore information.ScreenshotRequirementsXfiles1.4 requires Java jdk1.2 or above.To see if you have java installed, type java -version,which should report something like > java -version java version "1.3.0"There are various free implementations of jdk1.2 and above.www.javalobby.org has links to someimplementations. The Sun java versions are at java.sun.com under "Products and APIs". www.blackdown.org has versions that are better tuned to Linux,though their improvements are also integrated into recent Sun versions.IBM also has a free JDK1.3 implementation with an alternatehigh-performance virtual machine.LicenseDownloadRead the LICENSE.txt file first. Xfiles is released under the GPL,but it optionally uses jpython for scripting;jpython has its own open sourcelicense, see LICENSE.txt.Download the latestxfilesBinary or xfilesSource or archive.Optionally download jpython.jar if you want to do scripting (see scripting section below). [Note: in netscape download this by right-clicking on the link,or by shift-button 1. Simply clicking on the linkcauses the file to be read into the netscape window,and sometimes causes the browser to hang if you have java turned on]jpython.jar is also needed to recompile the source, though small changes to the source will let it recompile without it.jpython.jar is not needed if you do not want to script.Download the nativeFile archive only if you want native Unix link detection (see discussion at end). You probably do not need this.Source and binary archives for older versionsPreface to installation and runningJava tends to be poorly integrated with the underlying operating system.If you're new to java take care to read the directions below --there are not yet conventions for where and how java programs (norJava itself) should be installed, so the installation outlined below isnot as streamlined as a Linux rpm or similar. The individual steps areeasy however.If you don't already have Java you'llneed to select some install location such as /usr/local/java; any directory will work. Similarly, the Xfiles program can live anywhere. If you follow theinstallation below you will need to launch the program from the directorywhere it resides (this does not restrict its function). Changes to theshell files to make it run from any directory are evident.The program and this documentation refer to client and server machinesand directories. These are interchangable -- the server merely refers tothe machine that the server is running on (see below).Binary InstallationFor both client and server machines, do the following steps:Put the Java bin directory on your path. If using scripting put the jpython.jar file in the samedirectory as xfiles.jar and the xfilesClient, xfilesServer scripts.Installation from Source(The following instructions are for Unix/Linux)Put the Java bin directory on your path. The programs javac, java, and rmic will be needed.To compile the source you must download jpython.jar and place it in the source directory.makeSetting up to runThe following files comprise the program, verify that theseexist in the current directory:xfiles.jar java archive containing the programxfilesClient shell program to launch the client guixfilesServer shell program to launch the serverjpython.jar optional, needed for scriptingNetworking must be configured and turned on even if bothclient and server are running on the same machine. I believe thatJava RMI needs the system service that converts a hostname into an IP address,and uses this even if both the client and server are running on the samemachine. There is discussion of this point on some of the java mailing lists.On my Redhat system, all I do is runnetcfg and turn on oneof the configured interfaces. Doing /sbin/ifconfig <interface>up would probably work too.You may need to enable the hosts in the Unix .rhosts file.If you know networking please send me more authoritative(spell?) instructionsfor what's needed here. Launch the Xfiles server. On the server machine, run: xfilesServerThis should print out the server hostname,then "XfilesServer is running".If you get an error that says "java.lang.ClassNotFoundException: <nameof class>", one of the paths in the xfilesServer file is not setcorrectly.Launch the Xfiles client on the client machine, giving the server hostname (spelled as printed by xfilesServer)and the roots of the client and server file trees: xfilesClient duckpond /usr/jfk/devl /home/jfk/DevlThe command above will compare the file tree starting at /usr/jfk/devlon the client machine with the file tree /home/jfk/Devl on the machine 'duckpond'.UsageWhen the GUI comes up, select a directory and press the start button.The client displays the client file tree at startup to allowyou to select a sub-tree of the specified root if desired.If you select nothing the entire tree will compared when you hit the start button.To save you time Xfiles first scans the whole (sub)tree before reporting any differences (this may take a while);all differences are then reported consecutively.After synchronizing one directory, you can select another in the GUIand press start again. Currently the GUI file tree does not update to reflect deletions in earlierruns, however (see the TODO section).The following are optional command-line arguments:-fastThis causes Xfiles to ignore files whose size and date are identical,so the scan is much faster. This will not detect disk corruption however.-exclude substring1 substring2 ...Arguments up to the next flag argument indicate files to be excluded.Any file that contains one of these arguments as a substring willbe skipped.-clientonlyFocus on the client: files that are older on the server or are missingon the server are not reported.-serveronlyFocus on the server: files that are older on the client or are missingon the client are not reported.-scriptargsArguments following this are not examined; all arguments are passedto the optional xfiles.py setup(args) function, so scripting arguments should be passed following this flag.Xfiles writes a file XFILES.LOG listing the selected actions.ScriptingFile selection and interaction with a revision control system suchas RCS can be handled by scripting using jpython.To enable scripting, download the file jpython.jar and place it in the client and server launch directories.Then create a file xfiles.py, which also must be copied into both theclient and server launch directories.xfiles.py can define the following functions:setup(args) This function, if defined, will be called with the command line arguments. Arguments following -scriptargs are ignored by the application, but all arguments (not just those following -scriptargs) are passed to the xfiles.py script.pathFilter(path) This function should return 1 if Xfiles should process path, 0 if Xfiles should ignore it. preCopy(path) this function is called before Xfiles writes this file. It can be used (for example) to check out the file from RCS. postCopy(path) this function is called after Xfiles writes the file. It can be used to check the file into RCS.It is not necessary to define all of these functions, however,if a function is defined it should be correct -- if thefunction call generates an error Xfiles will quit.A sample xfiles.py file is contained with the distributionand listed at the end of this document.FAQ: How does Xfiles differ from Rsync?Rsync works automatically, and assumes the source directory is correct.If that disk has corruption, good files on in the backup directory may be overwritten with corruptedfiles from the source disk. A similar scenario is when yousave a file that was accidentally edited somehow.Again, the newer file is not the desired one.Xfiles is also allows relatively unstructured workin several places, without needing to think of onelocation as the 'master' -- in this case each directory may have files that are obsolete, as well as ones that should be mirrored. An automated algorithm will duplicate the files that need to be deleted, resulting in extra work later. Xfiles ask you if you wantto copy (and in which direction), and gives the option to delete.In the case of text files it also gives a "diff" (On unix) to help in the decision.In the case where both files have desirable parts, the file mustbe manually merged; Xfiles doesn't help here (except to identify the situation). Adding something like the Unix xdiff visual mergewould be a nice addition.In rsync's favor, rsync is much faster. (Although, if you add -cto force checksums on all files, rsync gets a lot slower).AuthorPrimary author: J.P.Lewis scribblethink.orgContributors: Peter Gadjokov, Wolfgang Lugmayr, Dan SchmittPlease e-mail problems, successes, fixes, and fears to: zilla@computer.orgSend email with subject line XFILES to be notified of updates.To doIt should be possible to rename files.The client side gui should update to reflect the changed file treePortable replacement for diff.If both client, server files are ascii it would be betterto transmit a diff and do a patch on the other end. Appendix: Version log1.4 jul00Added -clientonly, -serveronly, -fast flags;preserve dates when copying (assumes jdk1.2),update files to assume jdk1.2 (JFC no longer required on classpath),xfiles.py has setup() call.1.3 28mar99Added JPython scripting to control what filesare visited and to script interaction with a revision controlsystem such as RCS. 1.3.1: improved documentation.1.2 22mar99External rmiregistry no longer needed(simplified usage and troubleshooting, also helps if running over a firewall),paths are transmitted from client to server as java.io.Files rather than Strings sothat path separator translation is done at unserialization time --should help if client and server are running on different O/Ss.1.1 7jan99 Rewritten to not require native (non-java) link detection;program is more portable to non-Unix environments;installation is simplified; other improvements.1.0.2improved definition of 'similarly named' files,warn if deleting on the wrong side, copy direction is color coded.1.0.1 5jan99 fixes: stop did not work always, bad window sizing,prohibit copying in the wrong directionby accident - e.g. client to server if the server file exists and the client does not.1.0 3jan99 initial versionAppendix: Sample xfiles.py scriptThe following example script implements these functions:setup(args)- Just prints out the command-line argumentspathFilter(path)- Ignores all object files, libraries, .so files, RCS files, java class files preCopy(path)- Checks out a file from RCS if needed before you copy over it. postCopy(path)- Checks a newly copied file back into RCS with a message saying that Xfiles created the revision.Although jpython is quite compatible with regular python, this file is written using a mixture of python and java calls(for example, java string functions are used rather thanthe python string.split routine).This is done to limit the dependence on jpython to theone file jpython.jar.import javafrom java.io import Fileimport java.lang.Runtimeruntime = java.lang.Runtime.getRuntime()# ignore files that end with these stringsskipextensions = ['RCS', ',v', '.o', '.so', '.a', '.class', '.jar']# grab the command line arguments. # You could pass in the skipextensions here for example.def setup(args): print 'setup got args:' for arg in args: print arg# return 1 if xfiles should visit this path, else 0#def pathFilter(path): print 'pathFilter(%s)' % path if path[len(path)-1] == '~': # emacs backup file return 0 if path == 'so_locations': return 0 spath = java.lang.String(path) for ext in skipextensions: if spath.endsWith(ext): return 0 return 1# called before copying over a file# (check out from RCS if appropriate)#def preCopy(path): name = filename(path) spath = filedir(path) spath = spath + '/RCS/' print 'name = %s' % name if exists(spath): # RCS/ exists spath = spath + name + ',v' print 'spath = %s' % spath if exists(spath): # RCS/file,v exists docmd('co -l -f %s' % path)# called after copying over a file# (check in to RCS if appropriate)#def postCopy(path): name = filename(path) spath = filedir(path) spath = spath + '/RCS/' print 'name = %s' % name if exists(spath): # RCS/ exists spath = spath + name + ',v' print 'spath = %s' % spath if exists(spath): # RCS/file,v exists docmd('ci -u -f -mXfiles_copy_checkin %s' % path)# helper commandsdef docmd(cmd): if 1: print cmd pid = runtime.exec_(cmd) pid.waitFor()def filedir(path): result = File(path).getParent() if not result: if isabs(path): result = path # Must be root else: result = "" return resultdef filename(path): return File(path).getName()def exists(path): return File(path).exists()def isabs(path): return File(path).isAbsolute()Appendix: Link/Alias detectionThis section is largely obsolete because Java link detection appears to work adequately.Because Xfiles traverses a directory tree, it needs to be able to distinguishbetween "real" files and links (aliases) so as to avoid an infiniteloop in the case where a link points to a directory above itself. There are two approaches to this, and you need to selectwhich one you will use: A built in method An approach that relies on a native (non-java) library nativeFile.Xfiles will call the native function if it exists in the launch directory.Installation with the native function is a bit more work, and itdoes not exist for non-Unix operating systems yet.For most purposes it will probably be fine to use the built-in code.Read the appendix Links/Aliases/Shortcuts in Java for more details on this issue.Troubleshooting GuideConnection refused to host: 127.0.0.1The errorjava.rmi.ConnectException: Connection refused to host: 127.0.0.1this often has something to do with the /etc/hosts file.On one Redhat6.1 machine there was a /etc/hosts file that looked like127.0.0.1 localhost.localdomain localhost [Qserver]xx.xx.xx.xx Qserver [localhost]where [] means optional.When "Qserver" is present on the first line and the rmi serveris running on this host, the client gets the `rmi connection' refused error.When Qserver is removed from from the first line, the rmi connectionworks, but now the machine hangs on startup at "starting sendmail"for several minutes (but then continues ok).The sendmail hang issue is discussed in one of the /usr/doc/HOWTOdocuments, but I do not understand that discussion.In another case this seemed to happen because the unix DISPLAY variable was not set before running the server, or because"host +" was issued before starting the X server.java.rmi.UnknownHostException: Unknown host: scruffI think this happened on linux when /etc/HOSTNAME orsomething else set the name "scruff", but scurff was not found in /etc/passwd.'import exceptions' failed; using string-based exceptionsThis jpython warning is not a problem.java.lang.NoClassDefFoundError: org/python/core/PyObjectMeans that jpython.jar was not found on the CLASSPATH at runtime.This is not a problem if you are not scripting xfiles.XfilesScript.java:22: cannot resolve symbolsymbol : class PythonInterpreterThis means that jpython.jar is not found during compilation.Download jpython.jar, put it in the compile directory, andcheck that the Makefile adds it to the CLASSPATH.Installation from Source, using native link detectionPut the Java bin directory on your path. The programs java, javac, and rmic will be needed.To compile the source you must download jpython.jar and place it in the source directory.Download and extract the nativeFile archive.Build the nativeFile library - in the Nativefile subdirectoryedit the Makefile CFLAGS to pointto the location of your java installation's include files and the JNI includefiles. The latter are in a subdirectory of the java include, probably calledeither "genunix" or the name of your OS.Build the nativeFile library - build the java binding to the nativeFile:make nativeFile.classBuild the nativeFile library - compile the .so: make nativeFile.soCopy nativeFile.class and libnativeFile.sointo the directory containing Xfiles,go to that directory.Examine the LD_LIBRARY_PATH variable in xfilesClientand xfilesServer and modify if needed.makeback to home |
|
| |
An | interactive | utility | for | comparing | and | merging | one | file | tree | with | another | over | a | network. | | (Java) | |
http://www.idiom.com/~zilla/xfiles.html
Xfiles 2008 November
dvd rental
dvd
An interactive utility for comparing and merging one file tree with another over a network. (Java)
Rules
|
© 2005 Internet Explorer 5+ or Netscape 6+
|
|
Recommended Sites: 1.
Arts -
Business -
Computers -
Games -
Health -
Home -
Kids and Teens -
News -
Recreation -
Reference -
Regional -
Science -
Shopping -
Society -
Sports -
World
Miss Gallery
- Top Anime Hentai
- DVD rental by mail
- Loan - Secured Loans - Loans - Mortgage Loans - Buy Anything On eBay
|