|Home » Learning Curve
On the 220.127.116.11 Xfile Test Drive
A closer look.
BRISBANE (Rixstep) -- Rixstep's 18.104.22.168 update to the Xfile Test Drive contains a lot of goodies.
Pick the format you want - either bzip2, DMB, or zip. They all end up as the same thing - mounted devices from which you run the tools directly. Nothing to install, nothing to move to /Applications (or ~/Applications) - just run as is. Click here.
22.214.171.124 gains yet another application integrated with the new test environment: Tracker. Other apps include the ACL beta, FileInfo, GDE, Rixcomp, Rixmode, Rixstamp, TMI, Xattrib, Xfile, Xfind, and Xscan. And of course you get a EULA to read too.
Access Control Lists
They've been popular on Windows for some time where they're sorely needed. On Mac OS X the verdict's still out as ordinary file permissions give you what you want anyway. But to the extent people use them a tool's needed to get at them. ACL is such a tool.
ACL is a file manager in its own right with data columns for file name, owner, group, mode, and flags - but with the access control entries listed as well. Users can modify any of the ordinary file attributes - group, permissions, sticky bits, set ID bits, system and extended flags - through the standard ACP Framework info sheet. The coming version of ACL will let users add, remove, modify, and reorder access control entries.
Beige Box Cruft
Users, administrators, and programmers will have to be able to get at legacy 'MacOS' file attributes for as long as the vestiges remain. FileInfo's the tool to do it. These attributes are specifically associated solely with HFS (and not with Unix) and include Finder window placement, 'colours', extension hidden, invisibility, and so on. They might not be in the spirit of a cohesive file system strategy for 2009 but as long as they're still around they have to be dealt with. Some tools deal with some of them; no tool deals with all of them - except FileInfo.
To paraphrase Spock Prime, GDE's an app that lets you go 'where no program has gone before'. GDE gets under the low level Unix file system APIs to check if anything is being hidden from you. And guess what? Quite a lot is.
Fitting FreeBSD Unix into the beige box wasn't easy. It was a valiant effort alright - but there remain quite a few loose ends. Normally you won't need to see any of this; but it's a good thing to have a utility that gets you there when you need to see it.
Unix serves up file system information on two levels. Both are relatively low level but one is lower than the other. There's a reason for these two different levels but Apple have exploited this division of labour for their own purposes.
Ultimately there has to be an API that literally reads what's on disk (in the directories). If you don't have this raw one-on-one functionality you'll never get anywhere.
But there are traditionally - on vanilla Unix systems - any number of reasons for filtering out information at the higher level. One such situation occurs when a file system object is slated for complete removal: it's inode is set to zero. As the file system driver operates on the principal of lazy write it can take time before the drive controller is back in the area again.
File system objects with an inode of zero are filtered out at the higher level. As they ordinarily represent objects that officially no longer exist they become irrelevant.
But Apple use the 'zero inode' to hide real file system objects their drivers have no intention of removing. Such as the objects representing the journaling system 'Elvis' and the HFS+ Private data repository for multi-linked files.
d_ino: 0 d_reclen: 20 d_type: DT_REG d_namlen: 8 d_name: .journal
d_ino: 0 d_reclen: 28 d_type: DT_REG d_namlen: 19 d_name: .journal_info_block
d_ino: 0 d_reclen: 40 d_type: DT_DIR d_namlen: 29 d_name: ␀␀␀␀HFS+ Private Data
The HFS+ Private data directory can contain thousands of files; if you ever find yourself wondering why a particular file can't be edited or deleted - or if you run into other strange quirks in your file system - you'll probably find the answer in there.
Too Much Information
TMI is a tutorial app - an app written to help users understand why some things are possible and other things are impossible. One of the biggest stumbling blocks for users of all proficiency levels is understanding the distinction between file permissions and directory permissions and exactly what a Unix directory is. TMI solves that.
TMI's first tab spells everything out in plain text: who you are, the groups you belong to, how many links your target file has, who owns it, what group it belongs to, who owns the parent path, and finally whether you can delete, enter, list, modify, read, rename, or run it. All in plain text.
The remaining TMI tabs deal with 'programmer stuff' - all possible file system info from all the APIs available: Unix lstat and stat calls on both the target and the parent, NSFileManager calls for both the target and the parent, HFS forks, File Info flags, HFS volume info, and Unix mount info.
Can U Spel 'U-n-i-x'?
Unix file attributes are easier to read and modify in octal and hexadecimal for the seasoned professional but not always for the neophyte. Especially the system and user extended flags - which aren't used that often - can be difficult to keep track of.
Xattrib is a 'get info' utility that lists literally everything 'Unix' about a file - the Unix file type; the sticky bit; the set ID bits; the ordinary file permissions per user, group, and other; and the system and user flags. All spelled out in plain text.
Looking for Something?
Xscan finds anything on any hard drive or network drive you want to connect to. It doesn't look inside files - that's for another utility called Xfind - but it looks for files. Files with names conforming to whatever convoluted search key you create.
Primitive search strings such as '*.jpg' are out of the question - Xscan goes a lot farther: you can anchor expressions at the beginning or end of a file name, pluck from an array of possible characters at a specific location in the file name, and so forth.
Once you've found what you're looking for you can go ahead and 'manage' it too - Xscan is a file manager in its own right. The registered version of Xscan can also perform standard file system security audits.
Looking Into Something?
Xfind looks into whatever's dropped on one of its windows - either from another application or from one of its own windows. Or from the same window back again. Which is perfect for nested searches. Xfind reports on which files contain the search key you're looking for - or for that matter: which files do not contain what you're looking for. And lacking a search key the program sums up file sizes, allocation blocks, and extended attributes. All reports are exportable as text.
ACP Users: Managing File Attributes
ACP Users: More About File Attributes
Industry Watch: Xfile Test Drive 126.96.36.199