The UNIX System Introduction to UNIX: Basic Concepts 1

Total Page:16

File Type:pdf, Size:1020Kb

The UNIX System Introduction to UNIX: Basic Concepts 1 Introduction to UNIX: basic concepts 2 · GNU/Linux -- various (Debian, RedHat, Ubuntu, SuSE, Gentoo, Mandriva, ...) · FreeBSD, NetBSD, OpenBSD 3. UNIX design Thereare 4 main layers to the UNIX system Introduction to UNIX: basic concepts 1. the kernel P. Regnauld <[email protected]> 2. the shell 3. applications AfNOG 2006 4. users The UNIX system 1. Content Launch processes Background processing User interaction (terminal) Non−interactive Job control • history (no terminal) (scripting) • introduction to UNIX design (kernel, virtual memory,multi-user,filesystem, access-rights) • basic concepts of UNIX (sessions, manuals, users, groups, processes, terminals, shells, sig- DAEMONS nals, job control, ...) SHELLS 2. History KERNEL • long history: over 25 years old (On the Early History and Impact of Unix1 ,Ronda Hauben). • 1969 at Bell Laboratories (pun on «Multics») -- K. Thompson / B. Kernighan APPS File management • Clanguage around 1974 (B. Kernighan / D.Richie) Editors USERS Compilers • Ported to several platforms in C («Portable OS») I/O (+ terminals) Network tools • dsitributed to laboratories / Universities for small fee ($150) Memory management (VM) ... Interruptions • 1978: V7 is the first commercial version Scheduling / Timesharing Networking • two main «branches»: BSD (4.4BSD) and SVSTEM V (SVR4), and now Linux Eat Resources :−) (uid / gid) • most ported operating system -- free versions available Today: over 50 variants (see UGU). Most known: UNIX ®lesystem layout • Solaris -- Sun Microsystems 3.1 the Kernel • HP-UX -- Hewlett Packard • AIX -- IBM · Can be monolithic (Linux, BSD) or micro-kernel (OS X/Darwin) • Irix -- Silicon Graphics, Inc. · preemptive multitasking • MacOS X / Darwin -- Apple · takes careof: · I/O (disk, terminals, printers, tapes, ...) 1. <URL:http://internet-history.org/archives/early.history.of.unix.html> Introduction to UNIX: basic concepts 1 Introduction to UNIX: basic concepts 3 Introduction to UNIX: basic concepts 4 · basic peripheral control (disk, serial, NICs...) 3.4 the Filesystem · memory management (allocation, recovery,Virtual Memory / swap) · timesharing / scheduling of processes 3.4.1 The UNIX philosophy: Everything is a file · networking (IP,etc...) The kernel is always running. It schedules running tasks one at a time (context switching) so that Most of the resources areaccessible through "special ®les" in the ®lesystem. For example: they get an equal shareofthe CPU time. · /dev/da*, /dev/ad* -- the harddisks and partitions /dev/tty*, /dev/pty* P2 · -- terminals and pseudo-terminals Scheduling · /dev/lpt0 -- the printer · ... 5 Other special ®les: · named pipes (FIFO): allow communication between processes · unix sockets: another form of interprocess communication P12 1 kernel 4 P17 · links: pointers to other ®les/directories in the ®lesystem The special ®les above can be manipulated like any other ®le: open, read, write, close. Additionally,some special ®lesystems exist which contain "virtual" ®les - for example, /proc in 3 2 Linux. 3.4.2 Hierarchy P15 P8 UNIX filesystem / ad0a Scheduling of processes dev etc sbin bin usr mnt cdrom boot 3.2 Virtual memory ... ... ... x y z x z y x z y x y kernel On UNIX, the total memory is composed of the physical memory + an on-disk area, commonly ad0d local called "swap" -- this together represents virtual memory. Programs can address the total amount of memory in the system (T = Physical + Virtual). The acd0c swap is usually 2 x the amount of physical RAM in the system. ad0e ... ... bin 3.3 Multi-user UNIX ®lesystem layout Several users can be logged in to the system simultaneously,running each multiple processes The ®lesystem tree has only one root: /.Thereare nomultiple top-level roots like on DOS/Win- (timesharing + scheduling). dows (C:, D:, ...). Each user has shared access to the resources (disk, printers, memory,...) according to his privi- Additional partitions, removal mediums (CD-ROMs), network ®lesystems are mounted on top of leges. an existing directory (see ®gure). Depending on the type of mount, the content of the directory below is visible or not. Introduction to UNIX: basic concepts 5 Introduction to UNIX: basic concepts 6 444 3.5 Access-rights 222 <-values 111 rwx r-x r-x <- permissions Files and directories areprotected with access-rights.They consist of two categories: 111 101 101 <- bit 1. permissions (Read, Write, Execute) 755 <-decimal 2. ownership (User,Group, Others) Below is a sample output of the ls -l command 3.5.1 Various example combinations -rwx r-x r-x 2root staff [...] filename || | | || | ---x--x--x 1 bin bin 65322 26 Jun 19:42 makelist || | | || +-- belongs to group "staff" as well || | | || An execute-only program: the user can only run the program, but cannot read the || | | |+-- belongs to the user "root" content of the program ®le. || | | | || | | +-- link count (number of name references to this file) d-wx-wx-wx 1 bin bin 415Jan 20:54 private || | | Adirectory than one can cd to (change directory), but cannot list ®les, or write ®les. || | +-- permissions for "others" (Read and Execute) But if the user knows the name of a "hidden" ®le, he can access it. || | || +-- permissions for the group (Read and Execute) d-w--w--w- 1 bin bin 415Jan 20:54 private || Special case: hereitisnot possible to even write ®les in the directory: for this to be |+-- permissions for the owner (user) (Read, Write and Execute) possible, the "x" but should be present so that the shell can at least check to see if the | ®le already exists. +-- File type: normal (d = directory, l = link, p = named pipe, ...) 3.5.2 Special bits Additionally,certain extra permissions exist, such as setuid and setgid, which arenot explained here. 4flags for each file: 3.5.2.1 Setuid /Setgid 1. file type: • - plain file The 'x' (eXecute) bit for the User and the Group can be made setuid (SET User ID): • d directory -r-sr-xr-x 1 bob users 12288 21 May 10:43 program • p named pipe In the above example: • s socket · Any user can run the program • l link · When the program runs, it will run with the privileges of user 'bob', since the access rights • b block device (disk, tape) for User are r-s (setuid). • c character device (terminal, serial port, parallel port) Other example: 2. Read, Write and eXecute bits for the User (owner of the file) -r-sr-x--- 1 root wheel 12288 21 May 10:43 program 3. Read, Write and eXecute bits for the Group Here: 4. Read, Write and eXecute bits for the Others · Only users of the group 'wheel' and root itself can launch the program To manipulate these access rights, two commands: · When it runs, it does with the privileges of the 'root' user • chown:change ownership For example: chown root:staff file will change the owner and group of the file to respectively root and staff This makes it possible to restrict commands to a certain group of users. • chmod:change mode. For example: chmod o-rx file or chmod 755 file This above is also true with the setgid (SET Group ID) bit: The 755 above represents the bit-values of the fields above, i.e.: -r-xr-sr-x 1 bin bin 12288 21 May 10:43 program In this case: Introduction to UNIX: basic concepts 7 Introduction to UNIX: basic concepts 8 · all users can run the program 4.4 The manuals · when the program runs, it does with the privileges of group 'bin' 3.5.2.2 The sticky bit Every UNIX system has online a complete set of documentation available with the command man.Type man man for morehelp on man :-) Thereare 9 manual sections: On a directory,itispossible to set what is called the 'sticky' bit: 1. general user commands and utilities 2. system calls drwxrwxrwt 1 bin staff 421May 10:43 files/ 3. C functions and libraries This means that all users can create ®les in this directory,but only the owner of these ®les can 4. devices and drivers modify / delete them. Example: /tmp 5. ®le formats 4. Basic concepts 6. games 7. misc. 4.1 Sessions 8. system maintenance and operation commands 9. kernel interfaces command(sec#) ls(1) To work with UNIX, one has to start a session.This is done by logging in to the system with a The standardnotation is ,asin ,which means "command ls, in section 1". login and password. Once this is done, a command shell is started and the user can start to work. 4.5 Usersand Groups To close the session, use the commands "exit" or "logout". During the time of the session, the user is logged in and is visible to other users (who and w com- mands). Other users can send messages or talk with the user (write and talk). To identify the users on a system, UNIX a combination of users and groups. To see which processes arerunning, one can use the ps and top command (top is not always User areknown by their user id or uid,which is a unique number < 65534, recorded in the pass- available). word®le (/etc/passwd). The group id, or gid allows user to belong to different groups and thus shareresources/®les with other members. It is possible for one user to be logged in several times on the same system, for example using multiple virtual terminals. The user will appear as many time as he is logged in. Only the super-user can add or remove users to/from a group. 4.2 The shell and environment 4.6 Processes, signals and job control The shell (also known as "command-line interpreter" or CLI) is a special application which inter- Everytime a new application, shell or daemon is started, it gets a PID or process id. The list of acts with the user and the system, thus creating an interface between the two.
Recommended publications
  • CERIAS Tech Report 2017-5 Deceptive Memory Systems by Christopher N
    CERIAS Tech Report 2017-5 Deceptive Memory Systems by Christopher N. Gutierrez Center for Education and Research Information Assurance and Security Purdue University, West Lafayette, IN 47907-2086 DECEPTIVE MEMORY SYSTEMS ADissertation Submitted to the Faculty of Purdue University by Christopher N. Gutierrez In Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy December 2017 Purdue University West Lafayette, Indiana ii THE PURDUE UNIVERSITY GRADUATE SCHOOL STATEMENT OF DISSERTATION APPROVAL Dr. Eugene H. Spa↵ord, Co-Chair Department of Computer Science Dr. Saurabh Bagchi, Co-Chair Department of Computer Science Dr. Dongyan Xu Department of Computer Science Dr. Mathias Payer Department of Computer Science Approved by: Dr. Voicu Popescu by Dr. William J. Gorman Head of the Graduate Program iii This work is dedicated to my wife, Gina. Thank you for all of your love and support. The moon awaits us. iv ACKNOWLEDGMENTS Iwould liketothank ProfessorsEugeneSpa↵ord and SaurabhBagchi for their guidance, support, and advice throughout my time at Purdue. Both have been instru­ mental in my development as a computer scientist, and I am forever grateful. I would also like to thank the Center for Education and Research in Information Assurance and Security (CERIAS) for fostering a multidisciplinary security culture in which I had the privilege to be part of. Special thanks to Adam Hammer and Ronald Cas­ tongia for their technical support and Thomas Yurek for his programming assistance for the experimental evaluation. I am grateful for the valuable feedback provided by the members of my thesis committee, Professor Dongyen Xu, and Professor Math­ ias Payer.
    [Show full text]
  • HTTP-FUSE Xenoppix
    HTTP-FUSE Xenoppix Kuniyasu Suzaki† Toshiki Yagi† Kengo Iijima† Kenji Kitagawa†† Shuichi Tashiro††† National Institute of Advanced Industrial Science and Technology† Alpha Systems Inc.†† Information-Technology Promotion Agency, Japan††† {k.suzaki,yagi-toshiki,k-iijima}@aist.go.jp [email protected], [email protected] Abstract a CD-ROM. Furthermore it requires remaking the entire CD-ROM when a bit of data is up- dated. The other solution is a Virtual Machine We developed “HTTP-FUSE Xenoppix” which which enables us to install many OSes and ap- boots Linux, Plan9, and NetBSD on Virtual plications easily. However, that requires in- Machine Monitor “Xen” with a small bootable stalling virtual machine software. (6.5MB) CD-ROM. The bootable CD-ROM in- cludes boot loader, kernel, and miniroot only We have developed “Xenoppix” [1], which and most part of files are obtained via Internet is a combination of CD/DVD bootable Linux with network loopback device HTTP-FUSE “KNOPPIX” [2] and Virtual Machine Monitor CLOOP. It is made from cloop (Compressed “Xen” [3, 4]. Xenoppix boots Linux (KNOP- Loopback block device) and FUSE (Filesys- PIX) as Host OS and NetBSD or Plan9 as Guest tem USErspace). HTTP-FUSE CLOOP can re- OS with a bootable DVD only. KNOPPIX construct a block device from many small block is advanced in automatic device detection and files of HTTP servers. In this paper we describe driver integration. It prepares the Xen environ- the detail of the implementation and its perfor- ment and Guest OSes don’t need to worry about mance. lack of device drivers.
    [Show full text]
  • Globalfs: a Strongly Consistent Multi-Site File System
    GlobalFS: A Strongly Consistent Multi-Site File System Leandro Pacheco Raluca Halalai Valerio Schiavoni University of Lugano University of Neuchatelˆ University of Neuchatelˆ Fernando Pedone Etienne Riviere` Pascal Felber University of Lugano University of Neuchatelˆ University of Neuchatelˆ Abstract consistency, availability, and tolerance to partitions. Our goal is to ensure strongly consistent file system operations This paper introduces GlobalFS, a POSIX-compliant despite node failures, at the price of possibly reduced geographically distributed file system. GlobalFS builds availability in the event of a network partition. Weak on two fundamental building blocks, an atomic multicast consistency is suitable for domain-specific applications group communication abstraction and multiple instances of where programmers can anticipate and provide resolution a single-site data store. We define four execution modes and methods for conflicts, or work with last-writer-wins show how all file system operations can be implemented resolution methods. Our rationale is that for general-purpose with these modes while ensuring strong consistency and services such as a file system, strong consistency is more tolerating failures. We describe the GlobalFS prototype in appropriate as it is both more intuitive for the users and detail and report on an extensive performance assessment. does not require human intervention in case of conflicts. We have deployed GlobalFS across all EC2 regions and Strong consistency requires ordering commands across show that the system scales geographically, providing replicas, which needs coordination among nodes at performance comparable to other state-of-the-art distributed geographically distributed sites (i.e., regions). Designing file systems for local commands and allowing for strongly strongly consistent distributed systems that provide good consistent operations over the whole system.
    [Show full text]
  • Absolute BSD—The Ultimate Guide to Freebsd Table of Contents Absolute BSD—The Ultimate Guide to Freebsd
    Absolute BSD—The Ultimate Guide to FreeBSD Table of Contents Absolute BSD—The Ultimate Guide to FreeBSD............................................................................1 Dedication..........................................................................................................................................3 Foreword............................................................................................................................................4 Introduction........................................................................................................................................5 What Is FreeBSD?...................................................................................................................5 How Did FreeBSD Get Here?..................................................................................................5 The BSD License: BSD Goes Public.......................................................................................6 The Birth of Modern FreeBSD.................................................................................................6 FreeBSD Development............................................................................................................7 Committers.........................................................................................................................7 Contributors........................................................................................................................8 Users..................................................................................................................................8
    [Show full text]
  • 'Unix' in a File
    ============================ AWK COMMANDS ================================ 1) find the total occurances of pattern of 'unix' in a file. ==> $awk '/unix/ {count++} END{print count}' nova.txt 2) find the total line of a file. ==> $awk 'END{print NR}' nova.txt 3) print the total number of even line of a file. ==> $awk 'NR % 2' nova.txt 4) print the total number of odd line of a file. ==> $awk 'NR % 2 == 1' nova.txt 5) print the sums of the field of every line of a file. ==> $awk '{ sum = $3+sum } END{print sum}' emp.txt 6) display those words whose length greater than 10 and consist of digits only in file awk ==> $awk '/^[0-9]+$/ length<10 {print}' t3.txt 7) display those words whose length less than 10 and consist of alpha only in file awk ==> $awk '/^[a-zA-Z]+$/ length >3 {print}' t3.txt 8) print odd number of word in each line ==> awk -F\| '{s="";for (i=1;i<=NF;i+=2) { {s=s? $i:$i} print s }}' nova.txt { s = ""; for (i = 1; i <= NF; i+=2) { s = s ? $i : $i } print s } 9) print even number of word in each line ==> awk -F\| '{s="";for (i=0;i<=NF;i+=2) { {s=s? $i:$i} print s }}' nova.txt ==> { s = ""; for (i = 0; i <= NF; i+=2) { s = s ? $i : $i } print s } 10) print the last character of a string using awk ==> awk '{print substr($0,length($0),1)}' nova.txt ============================ MIX COMMANDS ================================ 1) Assign value of 10th positional parameter to 1 variable x. ==> x=${10} 2) Display system process; ==> ps -e ==> ps -A 3) Display number of process; ==> ps aux 4) to run a utility x1 at 11:00 AM ==> at 11:00 am x1 5) Write a command to print only last 3 characters of a line or string.
    [Show full text]
  • Using the Andrew File System on *BSD [email protected], Bsdcan, 2006 Why Another Network Filesystem
    Using the Andrew File System on *BSD [email protected], BSDCan, 2006 why another network filesystem 1-slide history of Andrew File System user view admin view OpenAFS Arla AFS on OpenBSD, FreeBSD and NetBSD Filesharing on the Internet use FTP or link to HTTP file interface through WebDAV use insecure protocol over vpn History of AFS 1984: developed at Carnegie Mellon 1989: TransArc Corperation 1994: over to IBM 1997: Arla, aimed at Linux and BSD 2000: IBM releases source 2000: foundation of OpenAFS User view <1> global filesystem rooted at /afs /afs/cern.ch/... /afs/cmu.edu/... /afs/gorlaeus.net/users/h/hugo/... User view <2> authentication through Kerberos #>kinit <username> obtain krbtgt/<realm>@<realm> #>afslog obtain afs@<realm> #>cd /afs/<cell>/users/<username> User view <3> ACL (dir based) & Quota usage runs on Windows, OS X, Linux, Solaris ... and *BSD Admin view <1> <cell> <partition> <server> <volume> <volume> <server> <partition> Admin view <2> /afs/gorlaeus.net/users/h/hugo/presos/afs_slides.graffle gorlaeus.net /vicepa fwncafs1 users hugo h bram <server> /vicepb Admin view <2a> /afs/gorlaeus.net/users/h/hugo/presos/afs_slides.graffle gorlaeus.net /vicepa fwncafs1 users hugo /vicepa fwncafs2 h bram Admin view <3> servers require KeyFile ~= keytab procedure differs for Heimdal: ktutil copy MIT: asetkey add Admin view <4> entry in CellServDB >gorlaeus.net #my cell name 10.0.0.1 <dbserver host name> required on servers required on clients without DynRoot Admin view <5> File locking no databases on AFS (requires byte range locking)
    [Show full text]
  • 5 Command Line Functions by Barbara C
    ADAPS: Chapter 5. Command Line Functions 5 Command Line Functions by Barbara C. Hoopes and James F. Cornwall This chapter describes ADAPS command line functions. These are functions that are executed from the UNIX command line instead of from ADAPS menus, and that may be run manually or by automated means such as “cron” jobs. Most of these functions are NOT accessible from the ADAPS menus. These command line functions are described in detail below. 5.1 Hydra Although Hydra is available from ADAPS at the PR sub-menu, Edit Time Series Data using Hydra (TS_EDIT), it can also be started from the command line. However, to start Hydra outside of ADAPS, a DV or UV RDB file needs to be available to edit. The command is “hydra rdb_file_name.” For a complete description of using Hydra, refer to Section 4.5.2 Edit Time-Series Data using Hydra (TS_EDIT). 5.2 nwrt2rdb This command is used to output rating information in RDB format. It writes RDB files with a table containing the rating equation parameters or the rating point pairs, with all other information contained in the RDB comments. The following arguments can be used with this command: nwrt2rdb -ooutfile -zdbnum -aagency -nstation -dddid -trating_type -irating_id -e (indicates to output ratings in expanded form; it is ignored for equation ratings.) -l loctzcd (time zone code or local time code "LOC") -m (indicates multiple output files.) -r (rounding suppression) Rules • If -o is omitted, nwrt2rdb writes to stdout; AND arguments -n, -d, -t, and -i must be present. • If -o is present, no other arguments are required, and the program will use ADAPS routines to prompt for them.
    [Show full text]
  • The AWK Programming Language
    The Programming ~" ·. Language PolyAWK- The Toolbox Language· Auru:o V. AHo BRIAN W.I<ERNIGHAN PETER J. WEINBERGER TheAWK4 Programming~ Language TheAWI(. Programming~ Language ALFRED V. AHo BRIAN w. KERNIGHAN PETER J. WEINBERGER AT& T Bell Laboratories Murray Hill, New Jersey A ADDISON-WESLEY•• PUBLISHING COMPANY Reading, Massachusetts • Menlo Park, California • New York Don Mills, Ontario • Wokingham, England • Amsterdam • Bonn Sydney • Singapore • Tokyo • Madrid • Bogota Santiago • San Juan This book is in the Addison-Wesley Series in Computer Science Michael A. Harrison Consulting Editor Library of Congress Cataloging-in-Publication Data Aho, Alfred V. The AWK programming language. Includes index. I. AWK (Computer program language) I. Kernighan, Brian W. II. Weinberger, Peter J. III. Title. QA76.73.A95A35 1988 005.13'3 87-17566 ISBN 0-201-07981-X This book was typeset in Times Roman and Courier by the authors, using an Autologic APS-5 phototypesetter and a DEC VAX 8550 running the 9th Edition of the UNIX~ operating system. -~- ATs.T Copyright c 1988 by Bell Telephone Laboratories, Incorporated. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopy­ ing, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Published simultaneously in Canada. UNIX is a registered trademark of AT&T. DEFGHIJ-AL-898 PREFACE Computer users spend a lot of time doing simple, mechanical data manipula­ tion - changing the format of data, checking its validity, finding items with some property, adding up numbers, printing reports, and the like.
    [Show full text]
  • DMFS - a Data Migration File System for Netbsd
    DMFS - A Data Migration File System for NetBSD William Studenmund Veridian MRJ Technology Solutions NASAAmes Research Center" Abstract It was designed to support the mass storage systems de- ployed here at NAS under the NAStore 2 system. That system supported a total of twenty StorageTek NearLine ! have recently developed DMFS, a Data Migration File tape silos at two locations, each with up to four tape System, for NetBSD[I]. This file system provides ker- drives each. Each silo contained upwards of 5000 tapes, nel support for the data migration system being devel- and had robotic pass-throughs to adjoining silos. oped by my research group at NASA/Ames. The file system utilizes an underlying file store to provide the file The volman system is designed using a client-server backing, and coordinates user and system access to the model, and consists of three main components: the vol- files. It stores its internal metadata in a flat file, which man master, possibly multiple volman servers, and vol- resides on a separate file system. This paper will first man clients. The volman servers connect to each tape describe our data migration system to provide a context silo, mount and unmount tapes at the direction of the for DMFS, then it will describe DMFS. It also will de- volman master, and provide tape services to clients. The scribe the changes to NetBSD needed to make DMFS volman master maintains a database of known tapes and work. Then it will give an overview of the file archival locations, and directs the tape servers to move and mount and restoration procedures, and describe how some typi- tapes to service client requests.
    [Show full text]
  • Filesystems HOWTO Filesystems HOWTO Table of Contents Filesystems HOWTO
    Filesystems HOWTO Filesystems HOWTO Table of Contents Filesystems HOWTO..........................................................................................................................................1 Martin Hinner < [email protected]>, http://martin.hinner.info............................................................1 1. Introduction..........................................................................................................................................1 2. Volumes...............................................................................................................................................1 3. DOS FAT 12/16/32, VFAT.................................................................................................................2 4. High Performance FileSystem (HPFS)................................................................................................2 5. New Technology FileSystem (NTFS).................................................................................................2 6. Extended filesystems (Ext, Ext2, Ext3)...............................................................................................2 7. Macintosh Hierarchical Filesystem − HFS..........................................................................................3 8. ISO 9660 − CD−ROM filesystem.......................................................................................................3 9. Other filesystems.................................................................................................................................3
    [Show full text]
  • Unionfs: User- and Community-Oriented Development of a Unification File System
    Unionfs: User- and Community-Oriented Development of a Unification File System David Quigley, Josef Sipek, Charles P. Wright, and Erez Zadok Stony Brook University {dquigley,jsipek,cwright,ezk}@cs.sunysb.edu Abstract If a file exists in multiple branches, the user sees only the copy in the higher-priority branch. Unionfs allows some branches to be read-only, Unionfs is a stackable file system that virtually but as long as the highest-priority branch is merges a set of directories (called branches) read-write, Unionfs uses copy-on-write seman- into a single logical view. Each branch is as- tics to provide an illusion that all branches are signed a priority and may be either read-only writable. This feature allows Live-CD develop- or read-write. When the highest priority branch ers to give their users a writable system based is writable, Unionfs provides copy-on-write se- on read-only media. mantics for read-only branches. These copy- on-write semantics have lead to widespread There are many uses for namespace unifica- use of Unionfs by LiveCD projects including tion. The two most common uses are Live- Knoppix and SLAX. In this paper we describe CDs and diskless/NFS-root clients. On Live- our experiences distributing and maintaining CDs, by definition, the data is stored on a read- an out-of-kernel module since November 2004. only medium. However, it is very convenient As of March 2006 Unionfs has been down- for users to be able to modify the data. Uni- loaded by over 6,700 unique users and is used fying the read-only CD with a writable RAM by over two dozen other projects.
    [Show full text]
  • We Get Letters Sept/Oct 2018
    SEE TEXT ONLY WeGetletters by Michael W Lucas letters@ freebsdjournal.org tmpfs, or be careful to monitor tmpfs space use. Hey, FJ Letters Dude, Not that you’ll configure your monitoring system Which filesystem should I use? to watch tmpfs, because it’s temporary. And no matter what, one day you’ll forget —FreeBSD Newbie that you used memory space as a filesystem. You’ll stash something vital in that temporary space, then reboot. And get really annoyed Dear FreeBSD Newbie, when that vital data vanishes into the ether. First off, welcome to FreeBSD. The wider com- Some other filesystems aren’t actively terrible. munity is glad to help you. The device filesystem devfs(5) provides device Second, please let me know who told you to nodes. Filesystems that can’t store user data are start off by writing me. I need to properly… the best filesystems. But then some clever sysad- “thank” them. min decides to hack on /etc/devfs.rules to Filesystems? Sure, let’s talk filesystems. change the standard device nodes for their spe- Discussing which filesystem is the worst is like cial application, or /etc/devd.conf to create or debating the merits of two-handed swords as reconfigure device nodes, and the whole system compared to lumberjack-grade chainsaws and goes down the tubes. industrial tulip presses. While every one of them Speaking of clever sysadmins, now and then has perfectly legitimate uses, in the hands of the people decide that they want to optimize disk novice they’re far more likely to maim everyone space or cut down how many copies of a file involved.
    [Show full text]