What is the rationale for the `/usr` directory?


A directory is similar to a database, but typically contains more descriptive, attribute-based data; that is, data read more often than it is written. Also, a directory contains data that is concise and strictly relevant to an entry. By contrast, a database contains large amounts of data for each entry that may, or may not, be directly relevant to the entry. For this reason, a directory does not usually implement the transaction or roll-back schemes that regular databases require. If they are permitted at all, directory updates are typically simple all-or-nothing changes. Directories are tuned to respond quickly to high-volume lookup or search operations.

A lookup is an operation that targets a specific, unique entry, such as a domain name. A search is an operation that targets data common to multiple entries, such as the data collected, by an Internet search engine, about a topic.

Directories may replicate data widely to increase availability and reliability, and...

0 0
As previously answered by others, Twitter's character limit for usernames comes from the 160-character limit of sms messages.

Tweets are sent via sms using the format
username: message

So the 160 characters are used this way:
- username: 15 chars
- colon after username: 1 char
- space after colon: 1 char
- message text: 140 chars
For a total of 157 characters.

Back when we didn't have Twitter Search (pre-2008), Twitter had a Track feature where you could specify keywords that you wanted to track. Any tweet that contained the keyword was sent to you via SMS or IM, whether or not you followed the user who posted the Tweet.

To distinguish tweets from people you follow and tweets that contain tracked keywords, Twitter would place the username within a parenthesis if it was a tracked tweet.

Thus, the format of tracked tweets was:
(username): message text.
Which took the total count up to 159...

0 0

Next:36. httpd Up:rute Previous:34. uucp and uux




This chapter reproduces the Filesystem Hierarchy Standard, translated into LATEX with some minor formatting changes and the addition of this book's chapter number to all the section headers. An original can be obtained from the FHS home page .

If you have ever asked the questions ``Where in my file system does file xxx go?'' or ``What is directory yyy for?'', then consult this document. It can be considered to provide the final word on such matters. Although this is mostly a reference for people creating new LINUX distributions, all administrators can benefit from an understanding of the rulings and explanations provided here.

Filesystem Hierarchy Standard -- Version 2.2 final

Filesystem Hierarchy Standard Group

edited by Rusty Russell and Daniel Quinlan

ABSTRACT This standard consists of a set of requirements and...
0 0

A software developer's most important tool is the editor. If you talk to coders about the editors they use, you are usually met with massive enthusiasm and praise. You will hear how Emacs is the greatest thing ever or how vi is so elegant or how Eclipse's integration features make you so much more productive. You can sense the enthusiasm and affection that the people feel towards these programs.

The second most important tool, even more important than the compiler, is the build system.

Those are pretty much universally despised.

The most positive statement on build systems you can usually get (and it might require some coaxing) is something along the lines of well, it's a terrible system, but all other options are even worse. It is easy to see why this is the case. For starters, commonly used free build systems have obtuse syntaxes. They use for the most part global variables that are set in random locations so you can never really be sure what a given line of...

0 0

Chapter 2
Introduction to Directory Services and Directory Server

Directory Server provides a central repository for storing and managing information. Almost any kind of information can be stored, from identity profiles and access privileges to information about application and network resources, printers, network devices and manufactured parts. Information stored in Directory Server can be used for the authentication and authorization of users to enable secure access to enterprise and Internet services and applications. Directory Server is extensible, can be integrated with existing systems, and enables the consolidation of employee, customer, supplier, and partner information.

Directory Server provides the foundation for the new generation of e-business applications and Web services, with a centralized and distributed data repository that can be used in your intranet or over your extranet with your trading partners.

This chapter describes...

0 0

This PEP proposes a new a per user site-packages directory to allow users the local installation of Python packages in their home directory.

Current Python versions don't have a unified way to install packages into the home directory of a user (except for Mac Framework builds). Users are either forced to ask the system administrator to install or update a package for them or to use one of the many workarounds like Virtual Python , Working Env or Virtual Env .

It's not the goal of the PEP to replace the tools or to implement isolated installations of Python. It only implements the most common use case of an additional site-packages directory for each user.

The feature can't be implemented using the environment variable PYTHONPATH. The env var just inserts a new directory to the beginning of sys.path but it doesn't parse the pth files in the directory. A full blown site-packages path is required for several applications and Python eggs.

site directory...

0 0

Some people suggest that one thing Microsoft Research could do with that time machine they're working on is to go back in time and change the name of the Program Files directory to simply Programs.

No, it really should be Program Files.

Program Files are not the same as Programs. Programs are things like Calc, Notepad, Excel, Photoshop. They are things you run.

Program Files are things like ACRORD32.DLL and TWCUTCHR.DLL. They are files that make programs run.

If the directory were named Programs, then people who wanted to run a program would start digging into that directory and seeing a page full of weird DLL names and wonder "What the heck kind of programs are these?" And eventually they might figure out that if they want to run PowerPoint, they need to double-click on the icon named POWERPNT. "Computers are so hard to use."


If you want to find your programs, go to the Start menu. The Program Files directory is like the...

0 0
TRUSIX: Access Control Lists


18 August 1989


Library No. S-232,508

The National Computer Security Center (NCSC) formed the Trusted UNIX Working Group (TRUSIX) in 1987 to provide technical guidance to vendors and evaluators involved in the development of Trusted Computer System Evaluation Criteria (TCSEC) class B3 trusted UNIX* systems. The NCSC specifically targeted the UNIX operating system for this guidance because of its growing popularity among the government and vendor communities. By addressing the class B3 issues, the NCSC believes that this information will also help vendors understand how evaluation interpretations will be made at the levels of trust below this class.TRUSIX is making no attempt to address the entire spectrum of technical problems associated with the development of division B systems; rather, the intent...
0 0

Here is the detailed rationale for the various "readable" notations. If you just want to use the readable results, you don't need all this, but if you want to understand the rationale behind them, here it is.

As discussed in [Problem], software in Lisp-based programming language have traditionally been written using s-expressions. But many software developers consider s-expression notation difficult to read when used for programs. For example, s-expressions do not directly support infix operators, fail to support traditional math function notation such as f(x), and require a large number of parentheses for even simple operations.

There have been a huge number of past efforts to create readable formats, going all the way back to the original M-expression syntax that Lisp's creator expected to be used when programming. Generally, they've been unsuccessful, or they end up creating a completely different language that lacks the advantages of Lisp-based languages. After...

0 0

What is the rationale for the "unix system resources", or /usr directory, as described here, which duplicates many of the directory names under the root directory /?

My purpose: I'm installing Oracle JDK for the umpteenth time and decided this time to just put it under /home/user and I'm just reading around a bit to see if it is a bad idea on a single user machine.

There are the short version and the long version of your answer...

Short version:

As your link already said, /usr is a place for system-wide, read-only files. So all your installed software goes there. It does not duplicate any names of / except /bin and /lib, but, originally, with a different purpose: /bin, /lib is only for binaries and libraries required for booting, while /usr/bin, /usr/lib is for all the other executables and libraries. (now be a good boy and don't ask about /sbin, this is the Short Version after all)

Nowadays, the distinction between "required for booting" has...

0 0
Filesystem Hierarchy Standard - 6.1 Linux

This is the annex for the Linux operating system.

6.1.1 / : Root directory

On Linux systems, if the kernel is located in /, we recommend using the names vmlinux or vmlinuz, which have been used in recent Linux kernel source packages.

6.1.2 /bin : Essential user command binaries (for use by all users)

Linux systems which require them place these additional files into /bin.

6.1.3 /dev : Devices and special files

All devices and special files in /dev should adhere to the Linux Allocated Devices document, which is available with the Linux kernel source. It is maintained by H. Peter Anvin .

Symbolic links in /dev should not be distributed with Linux systems except as provided in the Linux Allocated Devices document.

The requirement not to make symlinks promiscuously is made because local setups will often differ from that on the distributor's development...
0 0
Filesystem Hierarchy Standard - 4.11 /usr/share : Architecture-independent data

4.11.1 Purpose

The /usr/share hierarchy is for all read-only architecture independent data files.[footnote 25]

This hierarchy is intended to be shareable among all architecture platforms of a given OS; thus, for example, a site with i386, Alpha, and PPC platforms might maintain a single /usr/share directory that is centrally-mounted. Note, however, that /usr/share is generally not intended to be shared by different OSes or by different releases of the same OS.

Any program or package which contains or requires data that doesn't need to be modified should store that data in /usr/share (or /usr/local/share, if installed locally). It is recommended that a subdirectory be used in /usr/share for this purpose.

Game data stored in /usr/share/games must be purely static data. Any modifiable files, such as score files, game play logs, and so forth, should be placed in /var/games.

0 0

copy from: http://askubuntu.com/questions/130186/what-is-the-rationale-for-the-usr-directory

There is the short version and the long version of your answer…

Short version:

As your link already said, /usr is a place for system-wide, read-only files. So all your installed software goes there. It does not duplicate any names of / except /bin and /lib, but, originally, with a different purpose: /bin, /lib is only for binaries and libraries required for booting, while /usr/bin, /usr/lib is for all the other executables and libraries. (now be a good boy and don’t ask about /sbin, this is the Short Version after all)

Nowadays, the distinction between “required for booting” has diminished, since most modern distros, including Ubuntu, can not properly boot without several files from /usr. And that’s why there is a strong movement towards merging /usr/bin and /bin, so probably in the near future (Ubuntu 12.10 perhaps?) /bin will be a symlink to...

0 0

This is the primary directory of executable commands on the system.

There must be no subdirectories in /usr/bin.

The following files, or symbolic links to files, must be in /usr/bin, if the corresponding subsystem is installed:

In many executable scripts, the interpreter to be invoked to execute the script is specified using #!path_to_interpreter on the first line of a script. To make such scripts portable among different systems, it is advantageous to standardize the interpreter locations. The shell interpreter is already fixed in /bin by this specification, but interpreters for Perl, Python, Tcl and expect may be installed in various places. The locations specified here may be implemented as symbolic links to the physical location of the...

0 0