Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
The Internet

Industry Standard Directory Structure For FTP Sites? 7

dgeiser13 asks: "Hello, All, I have been given the task of revamping my company's FTP site. Right now it is horribly disorganized. I was wondering if those of you who manage large FTP sites know of any resources for deciding upon a standard FTP directory structure. Or perhaps if there is no standard you could point out a few FTP sites which you think are particularly well-organized. I've been surfing around to various FTP sites and there seem to be a multitude of different ways of doings but there also seem to be a few standard aspects as well. Any and all advice is appreciated!"
This discussion has been archived. No new comments can be posted.

Industry Standard Directory Structure For FTP Sites?

Comments Filter:
  • I would like to add that preserving the directory structure of the mirrors under /pub/mirrors is also a good thing to do. Sites that don't do that are a pain to use. If you know the original site's layout, you know where to look, and using your mirror effectively becomes just a matter of replacing
    ftp://ftp.orginalsite.org/pub/software/Foo-3.14.ta r.gz
    with
    ftp://ftp.yoursite.com/pub/mirrors/ftp.originalsit e.org/pub/software/Foo-3.14.tar.gz .

    Also, name the mirror directories after the server mirrored (i.e.
    /pub/mirrors/ftp.xmms.org/
    and not something like
    /pub/mirrors/xmms-mirror/).
    This makes it significantly easier to know exactly what is mirrored without having to browse the entire structure to find out.

  • This problem is rampant through the unix communinty, a lot of sysadmins simply run too many bin(s),here's a count at sweb.uky.edu [uky.edu], my current web development platform at the University of Kentucky
    • /bin
    • /sbin
    • /sbin/bin
    • /usr/bin
    • /usr/sbin
    • /usr/sbin/bin
    • /usr/local/bin
    • /usr/local/sbin
    • /usr/local/sbin/bin

    That is nine by my count, its seems Admins should take note from Windows 95/98/2000 is that it gives people a common place to install their programs, typically called program files (I changed it to bin, you could call it bob or maurice if you wanted).

  • anal
    asian
    babes
    fetish
    gay
    group
    lesbian
    mature
    swimsuit

    but you are right, sometimes it is difficult to fit the file to the category.
    Lesbians rarely are and gay is a bit broad.
    And it's all a bit male orientated.

    .oO0Oo.
    Politics is life. Vote with your self.
    .oO0Oo.
  • As an extension of this 'ask slashdot', I have been writing a perl script that spiders FTP servers in an attempt to make an FTP search engine. Ufortunately, many windows ftp servers don't understand ls -lR which is the mechanism used by all all the FTP search engines I have seen to date.
    Obviously I would rather use a search engine already written then work on my own. I think I am going to end up using glimpse [arizona.edu] for storing and searching.

    Any thoughts?

  • by Anonymous Coward
    There is already a standard [pathname.com] for Linux(/UNIX) filesystems. The /sbin/bin (/usr/sbin/bin, /usr/local/sbin/bin) directories shouldn't be there, but the rest are normal.
  • Ok, there are the "system" directories, needed by the FTP server. These include /bin, /sbin, /lib and /etc. Of these, /lib is only necessary if you link the FTP server OR the utilities it accesses dynamically. /bin and /sbin are also "optional", in that if the FTP server does everything you want, you don't need to be able to run anything else.

    Of the remaining directories, all content really should go in /pub. This -isn't- mandatory, but it is a good idea. From /pub, anything on your site mirrored from another site shoud go into /pub/mirror or /pub/mirrors, and be held in a directory named after the site it was obtained from. eg: /pub/mirrors/ftp.funet.fi/

    Make excessive use of sybolic links. Don't assume that a structure that is obvious to one person is obvious to another. Nor should you assume that a collection that seems ideal to you is what the other person wants.

    eg: /pub/projects/MyPetProject/doc should also be reachable as /pub/doc/MyPetProject.

    If you =have= to have an /incoming directory, put it on a SMALL partition of its own, only large enough for necessary files to be transferred. Anything larger invites warez d00ds.

    Note to recycling industry: Absolutely, definitely put a 100 gigabyte hard disk, and make it an /incoming directory for FTP. Use traceroute to find the warez d00ds and reprocess their brains for aluminium. You'll make a fortune!

  • I should probably state up front that, when it comes to organizing files and directories, I am a huge fan of hierarchies and namespaces. Nothing is more frustrating than a disorganized FTP site, and few things are harder to use.

    The easiest way to layout your file system, for FTP, is by functionality. I don't know what you are putting in there (the final answer depends greatly on this, of course), but I am going to assume that your company makes software products and is making the source/binaries available via anonymous FTP.

    Other than the standard subdirectories required for operation of the FTP server (/bin, /etc, /lib, /dev), create a directory called /pub. Create a sibdirectory called software (which will live next to your mirrors subdirectory, natually :) ). In /pub/software, create a subdirectory for each package name. So here is a sample /pub:

    /pub
    /pub/mirrors
    /pub/software
    /pub/software/Foo
    /pub/software/Bar

    If you have multiple versions of your software available, and if you provide source as well as binaries, you can further subdivide each packages subdirectory with src and dist subdirectories, putting Foo-0.1.tar.gz into /pub/software/Foo/src and Foo-0.1-linux-gnu-pc.tar.gz into /pub/software/Foo/dist.

    I think this makes for a well-organized FTP system where things are easy to find, even if a particular user isn't very familiar with your system. It maintains a clear distinction between version numbers and software packages. Using symbolic links, you can point to the correct versions of required libraries. This also makes your FTP site very easy for other sites to mirror. Did I mention that I like namespaces and organizational hierarchies?

    darren


    Cthulhu for President! [cthulhu.org]

Remember to say hello to your bank teller.

Working...