diff --git a/en_US.ISO8859-1/books/porters-handbook/book.xml b/en_US.ISO8859-1/books/porters-handbook/book.xml index e606873275..6aa94dfffd 100644 --- a/en_US.ISO8859-1/books/porters-handbook/book.xml +++ b/en_US.ISO8859-1/books/porters-handbook/book.xml @@ -1,17041 +1,17039 @@ ]> FreeBSD Porter's Handbook The FreeBSD Documentation Project $FreeBSD$ 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 The FreeBSD Documentation Project &trademarks; &legalnotice; $FreeBSD$ Introduction The FreeBSD ports collection is the way almost everyone installs applications ("ports") on FreeBSD. Like everything else about FreeBSD, it is primarily a volunteer effort. It is important to keep this in mind when reading this document. In FreeBSD, anyone may submit a new port, or volunteer to maintain an existing port if it is unmaintained—you do not need any special commit privileges to do so. Making a New Port Yourself So, you are interested in making your own port or upgrading an existing one? Great! What follows are some guidelines for creating a new port for FreeBSD. If you want to upgrade an existing port, you should read this and then read . When this document is not sufficiently detailed, you should refer to /usr/ports/Mk/bsd.port.mk, which all port Makefiles include. Even if you do not hack Makefiles daily, it is well commented, and you will still gain much knowledge from it. Additionally, you may send specific questions to the &a.ports;. Only a fraction of the variables (VAR) that can be overridden are mentioned in this document. Most (if not all) are documented at the start of /usr/ports/Mk/bsd.port.mk; the others probably ought to be. Note that this file uses a non-standard tab setting: Emacs and Vim should recognize the setting on loading the file. Both &man.vi.1; and &man.ex.1; can be set to use the correct value by typing :set tabstop=4 once the file has been loaded. Looking for something easy to start with? Take a look at the list of requested ports and see if you can work on one (or more). Quick Porting This section tells you how to quickly create a new port. In many cases, it is not sufficient, so you will have to read further on into the document. First, get the original tarball and put it into DISTDIR, which defaults to /usr/ports/distfiles. The following assumes that the software compiled out-of-the-box, i.e., there was absolutely no change required for the port to work on your FreeBSD box. If you needed to change something, you will have to refer to the next section too. Writing the <filename>Makefile</filename> The minimal Makefile would look something like this: # $FreeBSD$ PORTNAME= oneko PORTVERSION= 1.1b CATEGORIES= games MASTER_SITES= ftp://ftp.cs.columbia.edu/archives/X11R5/contrib/ MAINTAINER= asami@FreeBSD.org COMMENT= Cat chasing a mouse all over the screen MAN1= oneko.1 MANCOMPRESSED= yes USE_IMAKE= yes .include <bsd.port.mk> In some cases, the Makefile of an existing port may contain additional lines in the header, such as the name of the port and the date it was created. This additional information has been declared obsolete, and is being phased out. See if you can figure it out. Do not worry about the contents of the $FreeBSD$ line, it will be filled in automatically by SVN when the port is imported to our main ports tree. You can find a more detailed example in the sample Makefile section. Writing the Description Files There are two description files that are required for any port, whether they actually package or not. They are pkg-descr and pkg-plist. Their pkg- prefix distinguishes them from other files. <filename>pkg-descr</filename> This is a longer description of the port. One to a few paragraphs concisely explaining what the port does is sufficient. This is not a manual or an in-depth description on how to use or compile the port! Please be careful if you are copying from the README or manpage; too often they are not a concise description of the port or are in an awkward format (e.g., manpages have justified spacing, as it looks particularly bad with monospaced fonts). A well-written pkg-descr describes the port completely enough that users would not have to consult the documentation or visit the website to understand what the software does, how it can be useful, or what particularly nice features it has. Mentioning certain requirements like a graphical toolkit, heavy dependencies, runtime environment, or implementation languages help users decide whether this port will work for them. Include a URL to the official WWW homepage. Prepend one of the websites (pick the most common one) with WWW: (followed by single space) so that automated tools will work correctly. If the URI is the root of the website or directory, it should be terminated with a slash. If the listed webpage for a port is not available, try to search the Internet first to see if the official site moved, was renamed, or is hosted elsewhere. The following example shows how your pkg-descr should look: This is a port of oneko, in which a cat chases a poor mouse all over the screen. : (etc.) WWW: http://www.oneko.org/ <filename>pkg-plist</filename> This file lists all the files installed by the port. It is also called the packing list because the package is generated by packing the files listed here. The pathnames are relative to the installation prefix (usually /usr/local. If you are using the MANn variables (as you should be), do not list any manpages here. If the port creates directories during installation, make sure to add @dirrm lines to remove them when the package is deleted. Here is a small example: bin/oneko lib/X11/app-defaults/Oneko lib/X11/oneko/cat1.xpm lib/X11/oneko/cat2.xpm lib/X11/oneko/mouse.xpm @dirrm lib/X11/oneko Refer to the &man.pkg.create.1; manual page for details on the packing list. It is recommended that you keep all the filenames in this file sorted alphabetically. It will make verifying the changes when you upgrade the port much easier. Creating a packing list manually can be a very tedious task. If the port installs a large numbers of files, creating the packing list automatically might save time. There is only one case when pkg-plist can be omitted from a port. If the port installs just a handful of files, and perhaps directories, the files and directories may be listed in the variables PLIST_FILES and PLIST_DIRS, respectively, within the port's Makefile. For instance, we could get along without pkg-plist in the above oneko port by adding the following lines to the Makefile: PLIST_FILES= bin/oneko \ lib/X11/app-defaults/Oneko \ lib/X11/oneko/cat1.xpm \ lib/X11/oneko/cat2.xpm \ lib/X11/oneko/mouse.xpm PLIST_DIRS= lib/X11/oneko Of course, PLIST_DIRS should be left unset if a port installs no directories of its own. The price for this way of listing port's files and directories is that you cannot use command sequences described in &man.pkg.create.1;. Therefore, it is suitable only for simple ports and makes them even simpler. At the same time, it has the advantage of reducing the number of files in the ports collection. Please consider using this technique before you resort to pkg-plist. Later we will see how pkg-plist and PLIST_FILES can be used to fulfill more sophisticated tasks. Creating the Checksum File Just type make makesum. The ports make rules will automatically generate the file distinfo. If a file fetched has its checksum changed regularly and you are certain the source is trusted (i.e., it comes from manufacturer CDs or documentation generated daily), you should specify these files in the IGNOREFILES variable. Then the checksum is not calculated for that file when you run make makesum, but set to IGNORE. Testing the Port You should make sure that the port rules do exactly what you want them to do, including packaging up the port. These are the important points you need to verify. pkg-plist does not contain anything not installed by your port pkg-plist contains everything that is installed by your port Your port can be installed multiple times using the reinstall target Your port cleans up after itself upon deinstall Recommended Test Ordering make install make package make deinstall pkg_add package-name make deinstall make reinstall make package make readme Make sure that there are not any warnings issued in any of the package and deinstall stages. After step 3, check to see if all the new directories are correctly deleted. Also, try using the software after step 4, to ensure that it works correctly when installed from a package. The most thorough way to automate these steps is via installing the ports tinderbox. This maintains jails in which you can test all of the above steps without changing the state of your running system. Please see ports/ports-mgmt/tinderbox for more information. Checking Your Port with <command>portlint</command> Please use portlint to see if your port conforms to our guidelines. The ports-mgmt/portlint program is part of the ports collection. In particular, you may want to check if the Makefile is in the right shape and the package is named appropriately. Submitting the New Port Before you submit the new port, make sure you have read the DOs and DON'Ts section. Now that you are happy with your port, the only thing remaining is to put it in the main &os; ports tree and make everybody else happy about it too. We do not need your work directory or the pkgname.tgz package, so delete them now. Next, assuming your port is called oneko, cd to the directory above where the oneko directory is located, and then type the following: shar `find oneko` > oneko.shar Include your oneko.shar file in a bug report and send it with the &man.send-pr.1; program (see Bug Reports and General Commentary for more information about &man.send-pr.1;). Be sure to classify the bug report as category ports and class change-request (Do not mark the report confidential!). Also add a short description of the program you ported to the Description field of the PR (e.g., perhaps a short version of the COMMENT), and add the shar file to the Fix field. You can make our work a lot easier, if you use a good description in the synopsis of the problem report. We prefer something like New port: <category>/<portname> <short description of the port> for new ports. If you stick to this scheme, the chance that someone will take a look at your PR soon is much better. One more time, do not include the original source distfile, the work directory, or the package you built with make package; and, do use &man.shar.1; for new ports, not &man.diff.1;. After you have submitted your port, please be patient. Sometimes it can take a few months before a port is included in &os;, although it might only take a few days. You can view the list of ports PRs waiting to be committed to &os;. Once we have looked at your port, we will get back to you if necessary, and put it in the tree. Your name will also be added to the list of Additional FreeBSD Contributors and other files. Slow Porting Ok, so it was not that simple, and the port required some modifications to get it to work. In this section, we will explain, step by step, how to modify it to get it to work with the ports paradigm. How Things Work First, this is the sequence of events which occurs when the user first types make in your port's directory. You may find that having bsd.port.mk in another window while you read this really helps to understand it. But do not worry if you do not really understand what bsd.port.mk is doing, not many people do... :-) The fetch target is run. The fetch target is responsible for making sure that the tarball exists locally in DISTDIR. If fetch cannot find the required files in DISTDIR it will look up the URL MASTER_SITES, which is set in the Makefile, as well as our main FTP site at , where we put sanctioned distfiles as backup. It will then attempt to fetch the named distribution file with FETCH, assuming that the requesting site has direct access to the Internet. If that succeeds, it will save the file in DISTDIR for future use and proceed. The extract target is run. It looks for your port's distribution file (typically a gzipped tarball) in DISTDIR and unpacks it into a temporary subdirectory specified by WRKDIR (defaults to work). The patch target is run. First, any patches defined in PATCHFILES are applied. Second, if any patch files named patch-* are found in PATCHDIR (defaults to the files subdirectory), they are applied at this time in alphabetical order. The configure target is run. This can do any one of many different things. If it exists, scripts/configure is run. If HAS_CONFIGURE or GNU_CONFIGURE is set, WRKSRC/configure is run. If USE_IMAKE is set, XMKMF (default: xmkmf -a) is run. The build target is run. This is responsible for descending into the port's private working directory (WRKSRC) and building it. If USE_GMAKE is set, GNU make will be used, otherwise the system make will be used. The above are the default actions. In addition, you can define targets pre-something or post-something, or put scripts with those names, in the scripts subdirectory, and they will be run before or after the default actions are done. For example, if you have a post-extract target defined in your Makefile, and a file pre-build in the scripts subdirectory, the post-extract target will be called after the regular extraction actions, and the pre-build script will be executed before the default build rules are done. It is recommended that you use Makefile targets if the actions are simple enough, because it will be easier for someone to figure out what kind of non-default action the port requires. The default actions are done by the bsd.port.mk targets do-something. For example, the commands to extract a port are in the target do-extract. If you are not happy with the default target, you can fix it by redefining the do-something target in your Makefile. The main targets (e.g., extract, configure, etc.) do nothing more than make sure all the stages up to that one are completed and call the real targets or scripts, and they are not intended to be changed. If you want to fix the extraction, fix do-extract, but never ever change the way extract operates! Additionally, the target post-deinstall is invalid and is not run by the ports infrastructure. Now that you understand what goes on when the user types make, let us go through the recommended steps to create the perfect port. Getting the Original Sources Get the original sources (normally) as a compressed tarball (foo.tar.gz or foo.tar.bz2) and copy it into DISTDIR. Always use mainstream sources when and where you can. You will need to set the variable MASTER_SITES to reflect where the original tarball resides. You will find convenient shorthand definitions for most mainstream sites in bsd.sites.mk. Please use these sites—and the associated definitions—if at all possible, to help avoid the problem of having the same information repeated over again many times in the source base. As these sites tend to change over time, this becomes a maintenance nightmare for everyone involved. If you cannot find a FTP/HTTP site that is well-connected to the net, or can only find sites that have irritatingly non-standard formats, you might want to put a copy on a reliable FTP or HTTP server that you control (e.g., your home page). If you cannot find somewhere convenient and reliable to put the distfile we can house it ourselves on ftp.FreeBSD.org; however, this is the least-preferred solution. The distfile must be placed into ~/public_distfiles/ of someone's freefall account. Ask the person who commits your port to do this. This person will also set MASTER_SITES to MASTER_SITE_LOCAL and MASTER_SITE_SUBDIR to their freefall username. If your port's distfile changes all the time without any kind of version update by the author, consider putting the distfile on your home page and listing it as the first MASTER_SITES. If you can, try to talk the port author out of doing this; it really does help to establish some kind of source code control. Hosting your own version will prevent users from getting checksum mismatch errors, and also reduce the workload of maintainers of our FTP site. Also, if there is only one master site for the port, it is recommended that you house a backup at your site and list it as the second MASTER_SITES. If your port requires some additional `patches' that are available on the Internet, fetch them too and put them in DISTDIR. Do not worry if they come from a site other than where you got the main source tarball, we have a way to handle these situations (see the description of PATCHFILES below). Modifying the Port Unpack a copy of the tarball in a private directory and make whatever changes are necessary to get the port to compile properly under the current version of &os;. Keep careful track of everything you do, as you will be automating the process shortly. Everything, including the deletion, addition, or modification of files should be doable using an automated script or patch file when your port is finished. If your port requires significant user interaction/customization to compile or install, you should take a look at one of Larry Wall's classic Configure scripts and perhaps do something similar yourself. The goal of the new ports collection is to make each port as plug-and-play as possible for the end-user while using a minimum of disk space. Unless explicitly stated, patch files, scripts, and other files you have created and contributed to the &os; ports collection are assumed to be covered by the standard BSD copyright conditions. Patching In the preparation of the port, files that have been added or changed can be picked up with a &man.diff.1; for later feeding to &man.patch.1;. Each patch you wish to apply should be saved into a file named patch-* where * indicates the pathname of the file that is patched, such as patch-Imakefile or patch-src-config.h. These files should be stored in PATCHDIR (usually files/, from where they will be automatically applied. All patches must be relative to WRKSRC (generally the directory your port's tarball unpacks itself into, that being where the build is done). To make fixes and upgrades easier, you should avoid having more than one patch fix the same file (e.g., patch-file and patch-file2 both changing WRKSRC/foobar.c). Note that if the path of a patched file contains an underscore (_) character, the patch needs to have two underscores instead in its name. For example, to patch a file named src/freeglut_joystick.c, the corresponding patch should be named patch-src-freeglut__joystick.c. Please only use characters [-+._a-zA-Z0-9] for naming your patches. Do not use any other characters besides them. Do not name your patches like patch-aa or patch-ab etc, always mention the path and file name in patch names. Do not put RCS strings in patches. SVN will mangle them when we put the files into the ports tree, and when we check them out again, they will come out different and the patch will fail. RCS strings are surrounded by dollar ($) signs, and typically start with $Id or $RCS. Using the recurse () option to &man.diff.1; to generate patches is fine, but please take a look at the resulting patches to make sure you do not have any unnecessary junk in there. In particular, diffs between two backup files, Makefiles when the port uses Imake or GNU configure, etc., are unnecessary and should be deleted. If you had to edit configure.in and run autoconf to regenerate configure, do not take the diffs of configure (it often grows to a few thousand lines!); define USE_AUTOTOOLS=autoconf:261 and take the diffs of configure.in. Also, try to minimize the amount of non-functional whitespace changes in your patches. It is common in the Open Source world for projects to share large amounts of a code base, but obey different style and indenting rules. If you take a working piece of functionality from one project to fix similar areas in another, please be careful: the resulting line patch may be full of non-functional changes. It not only increases the size of the SVN repository but makes it hard to find out what exactly caused the problem and what you changed at all. If you had to delete a file, then you can do it in the post-extract target rather than as part of the patch. Simple replacements can be performed directly from the port Makefile using the in-place mode of &man.sed.1;. This is very useful when you need to patch in a variable value. Example: post-patch: @${REINPLACE_CMD} -e 's|for Linux|for FreeBSD|g' ${WRKSRC}/README Quite often, there is a situation when the software being ported, especially if it is primarily developed on &windows;, uses the CR/LF convention for most of its source files. This may cause problems with further patching, compiler warnings, scripts execution (/bin/sh^M not found), etc. To quickly convert all files from CR/LF to just LF, add USE_DOS2UNIX=yes to the port Makefile. A list of files to convert can be specified: USE_DOS2UNIX= util.c util.h If you want to convert a group of files across subdirectories, DOS2UNIX_REGEX can be used. Its argument is a find compatible regular expression. More on the format is in &man.re.format.7;. This option is useful for converting all files of a given extension, for example all source code files leaving binary files intact: USE_DOS2UNIX= yes DOS2UNIX_REGEX= .*\.(c|cpp|h) If you want to create a patch file based off of an existing file, you can copy it with an .orig extension, and then modify the original one. The makepatch target will write out an appropriate patch file to the files directory of the port. Configuring Include any additional customization commands in your configure script and save it in the scripts subdirectory. As mentioned above, you can also do this with Makefile targets and/or scripts with the name pre-configure or post-configure. Handling User Input If your port requires user input to build, configure, or install, you must set IS_INTERACTIVE in your Makefile. This will allow overnight builds to skip your port if the user sets the variable BATCH in his environment (and if the user sets the variable INTERACTIVE, then only those ports requiring interaction are built). This will save a lot of wasted time on the set of machines that continually build ports (see below). It is also recommended that if there are reasonable default answers to the questions, you check the PACKAGE_BUILDING variable and turn off the interactive script when it is set. This will allow us to build the packages for CDROMs and FTP. Configuring the Makefile Configuring the Makefile is pretty simple, and again we suggest that you look at existing examples before starting. Also, there is a sample Makefile in this handbook, so take a look and please follow the ordering of variables and sections in that template to make your port easier for others to read. Now, consider the following problems in sequence as you design your new Makefile: The Original Source Does it live in DISTDIR as a standard gzipped tarball named something like foozolix-1.2.tar.gz? If so, you can go on to the next step. If not, you should look at overriding any of the DISTVERSION, DISTNAME, EXTRACT_CMD, EXTRACT_BEFORE_ARGS, EXTRACT_AFTER_ARGS, EXTRACT_SUFX, or DISTFILES variables, depending on how alien a format your port's distribution file is. In the worst case, you can simply create your own do-extract target to override the default, though this should be rarely, if ever, necessary. Naming The first part of the port's Makefile names the port, describes its version number, and lists it in the correct category. <makevar>PORTNAME</makevar> and <makevar>PORTVERSION</makevar> You should set PORTNAME to the base name of your port, and PORTVERSION to the version number of the port. <makevar>PORTREVISION</makevar> and <makevar>PORTEPOCH</makevar> <makevar>PORTREVISION</makevar> The PORTREVISION variable is a monotonically increasing value which is reset to 0 with every increase of PORTVERSION (i.e., every time a new official vendor release is made), and appended to the package name if non-zero. Changes to PORTREVISION are used by automated tools (e.g., &man.pkg.version.1;) to highlight the fact that a new package is available. PORTREVISION should be increased each time a change is made to the port which significantly affects the content or structure of the derived package. Examples of when PORTREVISION should be bumped: Addition of patches to correct security vulnerabilities, bugs, or to add new functionality to the port. Changes to the port Makefile to enable or disable compile-time options in the package. Changes in the packing list or the install-time behavior of the package (e.g., change to a script which generates initial data for the package, like ssh host keys). Version bump of a port's shared library dependency (in this case, someone trying to install the old package after installing a newer version of the dependency will fail since it will look for the old libfoo.x instead of libfoo.(x+1)). Silent changes to the port distfile which have significant functional differences, i.e., changes to the distfile requiring a correction to distinfo with no corresponding change to PORTVERSION, where a diff -ru of the old and new versions shows non-trivial changes to the code. Examples of changes which do not require a PORTREVISION bump: Style changes to the port skeleton with no functional change to what appears in the resulting package. Changes to MASTER_SITES or other functional changes to the port which do not affect the resulting package. Trivial patches to the distfile such as correction of typos, which are not important enough that users of the package should go to the trouble of upgrading. Build fixes which cause a package to become compilable where it was previously failing (as long as the changes do not introduce any functional change on any other platforms on which the port did previously build). Since PORTREVISION reflects the content of the package, if the package was not previously buildable then there is no need to increase PORTREVISION to mark a change. A rule of thumb is to ask yourself whether a change committed to a port is something which everyone would benefit from having (either because of an enhancement, fix, or by virtue that the new package will actually work at all), and weigh that against that fact that it will cause everyone who regularly updates their ports tree to be compelled to update. If yes, the PORTREVISION should be bumped. <makevar>PORTEPOCH</makevar> From time to time a software vendor or FreeBSD porter will do something silly and release a version of their software which is actually numerically less than the previous version. An example of this is a port which goes from foo-20000801 to foo-1.0 (the former will be incorrectly treated as a newer version since 20000801 is a numerically greater value than 1). The results of version number comparisons are not always obvious. &man.pkg.version.1; can be used to test the comparison of two version number strings. The pkgng equivalent is pkg version -t. For example: &prompt.user; pkg_version -t 0.031 0.29 > Or, for pkgng users: &prompt.user; pkg version -t 0.031 0.29 > The > output indicates that version 0.031 is considered greater than version 0.29, which may not have been obvious to the porter. In situations such as this, the PORTEPOCH version should be increased. If PORTEPOCH is nonzero it is appended to the package name as described in section 0 above. PORTEPOCH must never be decreased or reset to zero, because that would cause comparison to a package from an earlier epoch to fail (i.e., the package would not be detected as out of date): the new version number (e.g., 1.0,1 in the above example) is still numerically less than the previous version (20000801), but the ,1 suffix is treated specially by automated tools and found to be greater than the implied suffix ,0 on the earlier package. Dropping or resetting PORTEPOCH incorrectly leads to no end of grief; if you do not understand the above discussion, please keep after it until you do, or ask questions on the mailing lists. It is expected that PORTEPOCH will not be used for the majority of ports, and that sensible use of PORTVERSION can often preempt it becoming necessary if a future release of the software should change the version structure. However, care is needed by FreeBSD porters when a vendor release is made without an official version number — such as a code snapshot release. The temptation is to label the release with the release date, which will cause problems as in the example above when a new official release is made. For example, if a snapshot release is made on the date 20000917, and the previous version of the software was version 1.2, the snapshot release should be given a PORTVERSION of 1.2.20000917 or similar, not 20000917, so that the succeeding release, say 1.3, is still a numerically greater value. Example of <makevar>PORTREVISION</makevar> and <makevar>PORTEPOCH</makevar> Usage The gtkmumble port, version 0.10, is committed to the ports collection: PORTNAME= gtkmumble PORTVERSION= 0.10 PKGNAME becomes gtkmumble-0.10. A security hole is discovered which requires a local FreeBSD patch. PORTREVISION is bumped accordingly. PORTNAME= gtkmumble PORTVERSION= 0.10 PORTREVISION= 1 PKGNAME becomes gtkmumble-0.10_1 A new version is released by the vendor, numbered 0.2 (it turns out the author actually intended 0.10 to actually mean 0.1.0, not what comes after 0.9 - oops, too late now). Since the new minor version 2 is numerically less than the previous version 10, the PORTEPOCH must be bumped to manually force the new package to be detected as newer. Since it is a new vendor release of the code, PORTREVISION is reset to 0 (or removed from the Makefile). PORTNAME= gtkmumble PORTVERSION= 0.2 PORTEPOCH= 1 PKGNAME becomes gtkmumble-0.2,1 The next release is 0.3. Since PORTEPOCH never decreases, the version variables are now: PORTNAME= gtkmumble PORTVERSION= 0.3 PORTEPOCH= 1 PKGNAME becomes gtkmumble-0.3,1 If PORTEPOCH were reset to 0 with this upgrade, someone who had installed the gtkmumble-0.10_1 package would not detect the gtkmumble-0.3 package as newer, since 3 is still numerically less than 10. Remember, this is the whole point of PORTEPOCH in the first place. <makevar>PKGNAMEPREFIX</makevar> and <makevar>PKGNAMESUFFIX</makevar> Two optional variables, PKGNAMEPREFIX and PKGNAMESUFFIX, are combined with PORTNAME and PORTVERSION to form PKGNAME as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}. Make sure this conforms to our guidelines for a good package name. In particular, you are not allowed to use a hyphen (-) in PORTVERSION. Also, if the package name has the language- or the -compiled.specifics part (see below), use PKGNAMEPREFIX and PKGNAMESUFFIX, respectively. Do not make them part of PORTNAME. <makevar>LATEST_LINK</makevar> LATEST_LINK is used during package building to determine a shortened name to create links that can be used by pkg_add -r. This makes it possible to, for example, install the latest perl version by running pkg_add -r perl without knowing the exact version number. This name needs to be unique and obvious to users. In some cases, several versions of a program may be present in the ports collection at the same time. Both the index build and the package build system need to be able to see them as different, independent ports, although they may all have the same PORTNAME, PKGNAMEPREFIX, and even PKGNAMESUFFIX. In those cases, the optional LATEST_LINK variable should be set to a different value for all ports except the main one — see the lang/gcc46 and lang/gcc ports, and the www/apache* family for examples of its use. By setting NO_LATEST_LINK, no link will be generated, which may be an option for all but the main version. Note that how to choose a main version — most popular, best supported, least patched, and so on — is outside the scope of this handbook's recommendations; we only tell you how to specify the other ports' versions after you have picked a main one. Package Naming Conventions The following are the conventions you should follow in naming your packages. This is to have our package directory easy to scan, as there are already thousands of packages and users are going to turn away if they hurt their eyes! The package name should look like language_region-name-compiled.specifics-version.numbers. The package name is defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}. Make sure to set the variables to conform to that format. FreeBSD strives to support the native language of its users. The language- part should be a two letter abbreviation of the natural language defined by ISO-639 if the port is specific to a certain language. Examples are ja for Japanese, ru for Russian, vi for Vietnamese, zh for Chinese, ko for Korean and de for German. If the port is specific to a certain region within the language area, add the two letter country code as well. Examples are en_US for US English and fr_CH for Swiss French. The language- part should be set in the PKGNAMEPREFIX variable. The first letter of the name part should be lowercase. (The rest of the name may contain capital letters, so use your own discretion when you are converting a software name that has some capital letters in it.) There is a tradition of naming Perl 5 modules by prepending p5- and converting the double-colon separator to a hyphen; for example, the Data::Dumper module becomes p5-Data-Dumper. Make sure that the port's name and version are clearly separated and placed into the PORTNAME and PORTVERSION variables. The only reason for PORTNAME to contain a version part is if the upstream distribution is really named that way, as in the textproc/libxml2 or japanese/kinput2-freewnn ports. Otherwise, the PORTNAME should not contain any version-specific information. It is quite normal for several ports to have the same PORTNAME, as the www/apache* ports do; in that case, different versions (and different index entries) are distinguished by the PKGNAMEPREFIX, PKGNAMESUFFIX, and LATEST_LINK values. If the port can be built with different hardcoded defaults (usually part of the directory name in a family of ports), the -compiled.specifics part should state the compiled-in defaults (the hyphen is optional). Examples are paper size and font units. The -compiled.specifics part should be set in the PKGNAMESUFFIX variable. The version string should follow a dash (-) and be a period-separated list of integers and single lowercase alphabetics. In particular, it is not permissible to have another dash inside the version string. The only exception is the string pl (meaning patchlevel), which can be used only when there are no major and minor version numbers in the software. If the software version has strings like alpha, beta, rc, or pre, take the first letter and put it immediately after a period. If the version string continues after those names, the numbers should follow the single alphabet without an extra period between them. The idea is to make it easier to sort ports by looking at the version string. In particular, make sure version number components are always delimited by a period, and if the date is part of the string, use the 0.0.yyyy.mm.dd format, not dd.mm.yyyy or the non-Y2K compliant yy.mm.dd format. It is important to prefix the version with 0.0. in case a release with an actual version number is made, which would of course be numerically less than yyyy. Here are some (real) examples on how to convert the name as called by the software authors to a suitable package name: Distribution Name PKGNAMEPREFIX PORTNAME PKGNAMESUFFIX PORTVERSION Reason mule-2.2.2 (empty) mule (empty) 2.2.2 No changes required EmiClock-1.0.2 (empty) emiclock (empty) 1.0.2 No uppercase names for single programs rdist-1.3alpha (empty) rdist (empty) 1.3.a No strings like alpha allowed es-0.9-beta1 (empty) es (empty) 0.9.b1 No strings like beta allowed mailman-2.0rc3 (empty) mailman (empty) 2.0.r3 No strings like rc allowed v3.3beta021.src (empty) tiff (empty) 3.3 What the heck was that anyway? tvtwm (empty) tvtwm (empty) pl11 Version string always required piewm (empty) piewm (empty) 1.0 Version string always required xvgr-2.10pl1 (empty) xvgr (empty) 2.10.1 pl allowed only when no major/minor version numbers gawk-2.15.6 ja- gawk (empty) 2.15.6 Japanese language version psutils-1.13 (empty) psutils -letter 1.13 Paper size hardcoded at package build time pkfonts (empty) pkfonts 300 1.0 Package for 300dpi fonts If there is absolutely no trace of version information in the original source and it is unlikely that the original author will ever release another version, just set the version string to 1.0 (like the piewm example above). Otherwise, ask the original author or use the date string (0.0.yyyy.mm.dd) as the version. Categorization <makevar>CATEGORIES</makevar> When a package is created, it is put under /usr/ports/packages/All and links are made from one or more subdirectories of /usr/ports/packages. The names of these subdirectories are specified by the variable CATEGORIES. It is intended to make life easier for the user when he is wading through the pile of packages on the FTP site or the CDROM. Please take a look at the current list of categories and pick the ones that are suitable for your port. This list also determines where in the ports tree the port is imported. If you put more than one category here, it is assumed that the port files will be put in the subdirectory with the name in the first category. See below for more discussion about how to pick the right categories. Current List of Categories Here is the current list of port categories. Those marked with an asterisk (*) are virtual categories—those that do not have a corresponding subdirectory in the ports tree. They are only used as secondary categories, and only for search purposes. For non-virtual categories, you will find a one-line description in the COMMENT in that subdirectory's Makefile. Category Description Notes accessibility Ports to help disabled users. afterstep* Ports to support the AfterStep window manager. arabic Arabic language support. archivers Archiving tools. astro Astronomical ports. audio Sound support. benchmarks Benchmarking utilities. biology Biology-related software. cad Computer aided design tools. chinese Chinese language support. comms Communication software. Mostly software to talk to your serial port. converters Character code converters. databases Databases. deskutils Things that used to be on the desktop before computers were invented. devel Development utilities. Do not put libraries here just because they are libraries—unless they truly do not belong anywhere else, they should not be in this category. dns DNS-related software. docs* Meta-ports for FreeBSD documentation. editors General editors. Specialized editors go in the section for those tools (e.g., a mathematical-formula editor will go in math). elisp* Emacs-lisp ports. emulators Emulators for other operating systems. Terminal emulators do not belong here—X-based ones should go to x11 and text-based ones to either comms or misc, depending on the exact functionality. finance Monetary, financial and related applications. french French language support. ftp FTP client and server utilities. If your port speaks both FTP and HTTP, put it in ftp with a secondary category of www. games Games. geography* Geography-related software. german German language support. gnome* Ports from the GNOME Project. gnustep* Software related to the GNUstep desktop environment. graphics Graphics utilities. hamradio* Software for amateur radio. haskell* Software related to the Haskell language. hebrew Hebrew language support. hungarian Hungarian language support. ipv6* IPv6 related software. irc Internet Relay Chat utilities. japanese Japanese language support. java Software related to the Java™ language. The java category must not be the only one for a port. Save for ports directly related to the Java language, porters are also encouraged not to use java as the main category of a port. kde* Ports from the KDE Project. kld* Kernel loadable modules. korean Korean language support. lang Programming languages. linux* Linux applications and support utilities. lisp* Software related to the Lisp language. mail Mail software. math Numerical computation software and other utilities for mathematics. mbone* MBone applications. misc Miscellaneous utilities Basically things that do not belong anywhere else. If at all possible, try to find a better category for your port than misc, as ports tend to get overlooked in here. multimedia Multimedia software. net Miscellaneous networking software. net-im Instant messaging software. net-mgmt Networking management software. net-p2p Peer to peer network applications. news USENET news software. palm Software support for the Palm™ series. parallel* Applications dealing with parallelism in computing. pear* Ports related to the Pear PHP framework. perl5* Ports that require Perl version 5 to run. plan9* Various programs from Plan9. polish Polish language support. ports-mgmt Ports for managing, installing and developing FreeBSD ports and packages. portuguese Portuguese language support. print Printing software. Desktop publishing tools (previewers, etc.) belong here too. python* Software related to the Python language. ruby* Software related to the Ruby language. rubygems* Ports of RubyGems packages. russian Russian language support. scheme* Software related to the Scheme language. science Scientific ports that do not fit into other categories such as astro, biology and math. security Security utilities. shells Command line shells. spanish* Spanish language support. sysutils System utilities. tcl* Ports that use Tcl to run. textproc Text processing utilities. It does not include desktop publishing tools, which go to print. tk* Ports that use Tk to run. ukrainian Ukrainian language support. vietnamese Vietnamese language support. windowmaker* Ports to support the WindowMaker window manager. www Software related to the World Wide Web. HTML language support belongs here too. x11 The X Window System and friends. This category is only for software that directly supports the window system. Do not put regular X applications here; most of them should go into other x11-* categories (see below). x11-clocks X11 clocks. x11-drivers X11 drivers. x11-fm X11 file managers. x11-fonts X11 fonts and font utilities. x11-servers X11 servers. x11-themes X11 themes. x11-toolkits X11 toolkits. x11-wm X11 window managers. xfce* Ports related to the Xfce desktop environment. zope* Zope support. Choosing the Right Category As many of the categories overlap, you often have to choose which of the categories should be the primary category of your port. There are several rules that govern this issue. Here is the list of priorities, in decreasing order of precedence: The first category must be a physical category (see above). This is necessary to make the packaging work. Virtual categories and physical categories may be intermixed after that. Language specific categories always come first. For example, if your port installs Japanese X11 fonts, then your CATEGORIES line would read japanese x11-fonts. Specific categories are listed before less-specific ones. For instance, an HTML editor should be listed as www editors, not the other way around. Also, you should not list net when the port belongs to any of irc, mail, news, security, or www, as net is included implicitly. x11 is used as a secondary category only when the primary category is a natural language. In particular, you should not put x11 in the category line for X applications. Emacs modes should be placed in the same ports category as the application supported by the mode, not in editors. For example, an Emacs mode to edit source files of some programming language should go into lang. Ports which install loadable kernel modules should have the virtual category kld in their CATEGORIES line. misc should not appear with any other non-virtual category. If you have misc with something else in your CATEGORIES line, that means you can safely delete misc and just put the port in that other subdirectory! If your port truly does not belong anywhere else, put it in misc. If you are not sure about the category, please put a comment to that effect in your &man.send-pr.1; submission so we can discuss it before we import it. If you are a committer, send a note to the &a.ports; so we can discuss it first. Too often, new ports are imported to the wrong category only to be moved right away. This causes unnecessary and undesirable bloat in the master source repository. Proposing a New Category As the Ports Collection has grown over time, various new categories have been introduced. New categories can either be virtual categories—those that do not have a corresponding subdirectory in the ports tree— or physical categories—those that do. The following text discusses the issues involved in creating a new physical category so that you can understand them before you propose one. Our existing practice has been to avoid creating a new physical category unless either a large number of ports would logically belong to it, or the ports that would belong to it are a logically distinct group that is of limited general interest (for instance, categories related to spoken human languages), or preferably both. The rationale for this is that such a change creates a fair amount of work for both the committers and also for all users who track changes to the Ports Collection. In addition, proposed category changes just naturally seem to attract controversy. (Perhaps this is because there is no clear consensus on when a category is too big, nor whether categories should lend themselves to browsing (and thus what number of categories would be an ideal number), and so forth.) Here is the procedure: Propose the new category on &a.ports;. You should include a detailed rationale for the new category, including why you feel the existing categories are not sufficient, and the list of existing ports proposed to move. (If there are new ports pending in GNATS that would fit this category, list them too.) If you are the maintainer and/or submitter, respectively, mention that as it may help you to make your case. Participate in the discussion. If it seems that there is support for your idea, file a PR which includes both the rationale and the list of existing ports that need to be moved. Ideally, this PR should also include patches for the following: Makefiles for the new ports once they are repocopied Makefile for the new category Makefile for the old ports' categories Makefiles for ports that depend on the old ports (for extra credit, you can include the other files that have to change, as per the procedure in the Committer's Guide.) Since it affects the ports infrastructure and involves not only performing repo-copies but also possibly running regression tests on the build cluster, the PR should be assigned to the &a.portmgr;. If that PR is approved, a committer will need to follow the rest of the procedure that is outlined in the Committer's Guide. Proposing a new virtual category should be similar to the above but much less involved, since no ports will actually have to move. In this case, the only patches to include in the PR would be those to add the new category to the CATEGORIES of the affected ports. Proposing Reorganizing All the Categories Occasionally someone proposes reorganizing the categories with either a 2-level structure, or some other kind of keyword structure. To date, nothing has come of any of these proposals because, while they are very easy to make, the effort involved to retrofit the entire existing ports collection with any kind of reorganization is daunting to say the very least. Please read the history of these proposals in the mailing list archives before you post this idea; furthermore, you should be prepared to be challenged to offer a working prototype. The Distribution Files The second part of the Makefile describes the files that must be downloaded in order to build the port, and where they can be downloaded from. <makevar>DISTVERSION/DISTNAME</makevar> DISTNAME is the name of the port as called by the authors of the software. DISTNAME defaults to ${PORTNAME}-${PORTVERSION}, so override it only if necessary. DISTNAME is only used in two places. First, the distribution file list (DISTFILES) defaults to ${DISTNAME}${EXTRACT_SUFX}. Second, the distribution file is expected to extract into a subdirectory named WRKSRC, which defaults to work/${DISTNAME}. Some vendor's distribution names which do not fit into the ${PORTNAME}-${PORTVERSION}-scheme can be handled automatically by setting DISTVERSION. PORTVERSION and DISTNAME will be derived automatically, but can of course be overridden. The following table lists some examples: DISTVERSION PORTVERSION 0.7.1d 0.7.1.d 10Alpha3 10.a3 3Beta7-pre2 3.b7.p2 8:f_17 8f.17 PKGNAMEPREFIX and PKGNAMESUFFIX do not affect DISTNAME. Also note that if WRKSRC is equal to work/${PORTNAME}-${PORTVERSION} while the original source archive is named something other than ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}, you should probably leave DISTNAME alone— you are better off defining DISTFILES than having to set both DISTNAME and WRKSRC (and possibly EXTRACT_SUFX). <makevar>MASTER_SITES</makevar> Record the directory part of the FTP/HTTP-URL pointing at the original tarball in MASTER_SITES. Do not forget the trailing slash (/)! The make macros will try to use this specification for grabbing the distribution file with FETCH if they cannot find it already on the system. It is recommended that you put multiple sites on this list, preferably from different continents. This will safeguard against wide-area network problems. We are even planning to add support for automatically determining the closest master site and fetching from there; having multiple sites will go a long way towards helping this effort. If the original tarball is part of one of the popular archives such as SourceForge, GNU, or Perl CPAN, you may be able refer to those sites in an easy compact form using MASTER_SITE_* (e.g., MASTER_SITE_SOURCEFORGE, MASTER_SITE_GNU and MASTER_SITE_PERL_CPAN). Simply set MASTER_SITES to one of these variables and MASTER_SITE_SUBDIR to the path within the archive. Here is an example: MASTER_SITES= ${MASTER_SITE_GNU} MASTER_SITE_SUBDIR= make Or you can use a condensed format: MASTER_SITES= GNU/make These variables are defined in /usr/ports/Mk/bsd.sites.mk. There are new entries added all the time, so make sure to check the latest version of this file before submitting a port. Several magic macros exist for popular sites with a predictable directory structure. For these, just use the abbreviation and the system will try to guess the correct subdirectory for you. MASTER_SITES= SF If the guess is incorrect, it can be overridden as follows. MASTER_SITES= SF/stardict/WyabdcRealPeopleTTS/${PORTVERSION} This can be also written as MASTER_SITES= SF MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION} Popular Magic <makevar>MASTER_SITES</makevar> Macros Macro Assumed subdirectory APACHE_JAKARTA /dist/jakarta/${PORTNAME:S,-,,/,}/source BERLIOS /${PORTNAME:L} CHEESESHOP /packages/source/source/${DISTNAME:C/(.).*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/} DEBIAN /debian/pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME} GCC /pub/gcc/releases/${DISTNAME} GNOME /pub/GNOME/sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} GNU /gnu/${PORTNAME} MOZDEV /pub/mozdev/${PORTNAME:L} PERL_CPAN /pub/CPAN/modules/by-module/${PORTNAME:C/-.*//} PYTHON /ftp/python/${PYTHON_PORTVERSION:C/rc[0-9]//} RUBYFORGE /${PORTNAME:L} SAVANNAH /${PORTNAME:L} SF /project/${PORTNAME:L}/${PORTNAME:L}/${PORTVERSION}
<makevar>EXTRACT_SUFX</makevar> If you have one distribution file, and it uses an odd suffix to indicate the compression mechanism, set EXTRACT_SUFX. For example, if the distribution file was named foo.tgz instead of the more normal foo.tar.gz, you would write: DISTNAME= foo EXTRACT_SUFX= .tgz The USE_BZIP2, USE_XZ and USE_ZIP variables automatically set EXTRACT_SUFX to .tar.bz2, .tar.xz or .zip as necessary. If neither of these are set then EXTRACT_SUFX defaults to .tar.gz. You never need to set both EXTRACT_SUFX and DISTFILES. <makevar>DISTFILES</makevar> Sometimes the names of the files to be downloaded have no resemblance to the name of the port. For example, it might be called source.tar.gz or similar. In other cases the application's source code might be in several different archives, all of which must be downloaded. If this is the case, set DISTFILES to be a space separated list of all the files that must be downloaded. DISTFILES= source1.tar.gz source2.tar.gz If not explicitly set, DISTFILES defaults to ${DISTNAME}${EXTRACT_SUFX}. <makevar>EXTRACT_ONLY</makevar> If only some of the DISTFILES must be extracted—for example, one of them is the source code, while another is an uncompressed document—list the filenames that must be extracted in EXTRACT_ONLY. DISTFILES= source.tar.gz manual.html EXTRACT_ONLY= source.tar.gz If none of the DISTFILES should be uncompressed then set EXTRACT_ONLY to the empty string. EXTRACT_ONLY= <makevar>PATCHFILES</makevar> If your port requires some additional patches that are available by FTP or HTTP, set PATCHFILES to the names of the files and PATCH_SITES to the URL of the directory that contains them (the format is the same as MASTER_SITES). If the patch is not relative to the top of the source tree (i.e., WRKSRC) because it contains some extra pathnames, set PATCH_DIST_STRIP accordingly. For instance, if all the pathnames in the patch have an extra foozolix-1.0/ in front of the filenames, then set PATCH_DIST_STRIP=-p1. Do not worry if the patches are compressed; they will be decompressed automatically if the filenames end with .gz or .Z. If the patch is distributed with some other files, such as documentation, in a gzipped tarball, you cannot just use PATCHFILES. If that is the case, add the name and the location of the patch tarball to DISTFILES and MASTER_SITES. Then, use the EXTRA_PATCHES variable to point to those files and bsd.port.mk will automatically apply them for you. In particular, do not copy patch files into the PATCHDIR directory—that directory may not be writable. The tarball will have been extracted alongside the regular source by then, so there is no need to explicitly extract it if it is a regular gzipped or compressed tarball. If you do the latter, take extra care not to overwrite something that already exists in that directory. Also, do not forget to add a command to remove the copied patch in the pre-clean target. Multiple Distribution Files or Patches from Different Sites and Subdirectories (<literal>MASTER_SITES:n</literal>) (Consider this to be a somewhat advanced topic; those new to this document may wish to skip this section at first). This section has information on the fetching mechanism known as both MASTER_SITES:n and MASTER_SITES_NN. We will refer to this mechanism as MASTER_SITES:n. A little background first. OpenBSD has a neat feature inside the DISTFILES and PATCHFILES variables which allows files and patches to be postfixed with :n identifiers. Here, n can be both [0-9] and denote a group designation. For example: DISTFILES= alpha:0 beta:1 In OpenBSD, distribution file alpha will be associated with variable MASTER_SITES0 instead of our common MASTER_SITES and beta with MASTER_SITES1. This is a very interesting feature which can decrease that endless search for the correct download site. Just picture 2 files in DISTFILES and 20 sites in MASTER_SITES, the sites slow as hell where beta is carried by all sites in MASTER_SITES, and alpha can only be found in the 20th site. It would be such a waste to check all of them if the maintainer knew this beforehand, would it not? Not a good start for that lovely weekend! Now that you have the idea, just imagine more DISTFILES and more MASTER_SITES. Surely our distfiles survey meister would appreciate the relief to network strain that this would bring. In the next sections, information will follow on the FreeBSD implementation of this idea. We improved a bit on OpenBSD's concept. Simplified Information This section tells you how to quickly prepare fine grained fetching of multiple distribution files and patches from different sites and subdirectories. We describe here a case of simplified MASTER_SITES:n usage. This will be sufficient for most scenarios. However, if you need further information, you will have to refer to the next section. Some applications consist of multiple distribution files that must be downloaded from a number of different sites. For example, Ghostscript consists of the core of the program, and then a large number of driver files that are used depending on the user's printer. Some of these driver files are supplied with the core, but many others must be downloaded from a variety of different sites. To support this, each entry in DISTFILES may be followed by a colon and a tag name. Each site listed in MASTER_SITES is then followed by a colon, and the tag that indicates which distribution files should be downloaded from this site. For example, consider an application with the source split in two parts, source1.tar.gz and source2.tar.gz, which must be downloaded from two different sites. The port's Makefile would include lines like . Simplified Use of <literal>MASTER_SITES:n</literal> with One File Per Site MASTER_SITES= ftp://ftp.example1.com/:source1 \ ftp://ftp.example2.com/:source2 DISTFILES= source1.tar.gz:source1 \ source2.tar.gz:source2 Multiple distribution files can have the same tag. Continuing the previous example, suppose that there was a third distfile, source3.tar.gz, that should be downloaded from ftp.example2.com. The Makefile would then be written like . Simplified Use of <literal>MASTER_SITES:n</literal> with More Than One File Per Site MASTER_SITES= ftp://ftp.example1.com/:source1 \ ftp://ftp.example2.com/:source2 DISTFILES= source1.tar.gz:source1 \ source2.tar.gz:source2 \ source3.tar.gz:source2 Detailed Information Okay, so the previous section example did not reflect your needs? In this section we will explain in detail how the fine grained fetching mechanism MASTER_SITES:n works and how you can modify your ports to use it. Elements can be postfixed with :n where n is [^:,]+, i.e., n could conceptually be any alphanumeric string but we will limit it to [a-zA-Z_][0-9a-zA-Z_]+ for now. Moreover, string matching is case sensitive; i.e., n is different from N. However, the following words cannot be used for postfixing purposes since they yield special meaning: default, all and ALL (they are used internally in item ). Furthermore, DEFAULT is a special purpose word (check item ). Elements postfixed with :n belong to the group n, :m belong to group m and so forth. Elements without a postfix are groupless, i.e., they all belong to the special group DEFAULT. If you postfix any elements with DEFAULT, you are just being redundant unless you want to have an element belonging to both DEFAULT and other groups at the same time (check item ). The following examples are equivalent but the first one is preferred: MASTER_SITES= alpha MASTER_SITES= alpha:DEFAULT Groups are not exclusive, an element may belong to several different groups at the same time and a group can either have either several different elements or none at all. Repeated elements within the same group will be simply that, repeated elements. When you want an element to belong to several groups at the same time, you can use the comma operator (,). Instead of repeating it several times, each time with a different postfix, we can list several groups at once in a single postfix. For instance, :m,n,o marks an element that belongs to group m, n and o. All the following examples are equivalent but the last one is preferred: MASTER_SITES= alpha alpha:SOME_SITE MASTER_SITES= alpha:DEFAULT alpha:SOME_SITE MASTER_SITES= alpha:SOME_SITE,DEFAULT MASTER_SITES= alpha:DEFAULT,SOME_SITE All sites within a given group are sorted according to MASTER_SORT_AWK. All groups within MASTER_SITES and PATCH_SITES are sorted as well. Group semantics can be used in any of the following variables MASTER_SITES, PATCH_SITES, MASTER_SITE_SUBDIR, PATCH_SITE_SUBDIR, DISTFILES, and PATCHFILES according to the following syntax: All MASTER_SITES, PATCH_SITES, MASTER_SITE_SUBDIR and PATCH_SITE_SUBDIR elements must be terminated with the forward slash / character. If any elements belong to any groups, the group postfix :n must come right after the terminator /. The MASTER_SITES:n mechanism relies on the existence of the terminator / to avoid confusing elements where a :n is a valid part of the element with occurrences where :n denotes group n. For compatibility purposes, since the / terminator was not required before in both MASTER_SITE_SUBDIR and PATCH_SITE_SUBDIR elements, if the postfix immediate preceding character is not a / then :n will be considered a valid part of the element instead of a group postfix even if an element is postfixed with :n. See both and . Detailed Use of <literal>MASTER_SITES:n</literal> in <makevar>MASTER_SITE_SUBDIR</makevar> MASTER_SITE_SUBDIR= old:n new/:NEW Directories within group DEFAULT -> old:n Directories within group NEW -> new Detailed Use of <literal>MASTER_SITES:n</literal> with Comma Operator, Multiple Files, Multiple Sites and Multiple Subdirectories MASTER_SITES= http://site1/%SUBDIR%/ http://site2/:DEFAULT \ http://site3/:group3 http://site4/:group4 \ http://site5/:group5 http://site6/:group6 \ http://site7/:DEFAULT,group6 \ http://site8/%SUBDIR%/:group6,group7 \ http://site9/:group8 DISTFILES= file1 file2:DEFAULT file3:group3 \ file4:group4,group5,group6 file5:grouping \ file6:group7 MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \ directory-one/:group6,DEFAULT \ directory The previous example results in the following fine grained fetching. Sites are listed in the exact order they will be used. file1 will be fetched from MASTER_SITE_OVERRIDE http://site1/directory-trial:1/ http://site1/directory-one/ http://site1/directory/ http://site2/ http://site7/ MASTER_SITE_BACKUP file2 will be fetched exactly as file1 since they both belong to the same group MASTER_SITE_OVERRIDE http://site1/directory-trial:1/ http://site1/directory-one/ http://site1/directory/ http://site2/ http://site7/ MASTER_SITE_BACKUP file3 will be fetched from MASTER_SITE_OVERRIDE http://site3/ MASTER_SITE_BACKUP file4 will be fetched from MASTER_SITE_OVERRIDE http://site4/ http://site5/ http://site6/ http://site7/ http://site8/directory-one/ MASTER_SITE_BACKUP file5 will be fetched from MASTER_SITE_OVERRIDE MASTER_SITE_BACKUP file6 will be fetched from MASTER_SITE_OVERRIDE http://site8/ MASTER_SITE_BACKUP How do I group one of the special variables from bsd.sites.mk, e.g., MASTER_SITE_SOURCEFORGE? See . Detailed Use of <literal>MASTER_SITES:n</literal> with <makevar>MASTER_SITE_SOURCEFORGE</makevar> MASTER_SITES= http://site1/ ${MASTER_SITE_SOURCEFORGE:S/$/:sourceforge,TEST/} DISTFILES= something.tar.gz:sourceforge something.tar.gz will be fetched from all sites within MASTER_SITE_SOURCEFORGE. How do I use this with PATCH* variables? All examples were done with MASTER* variables but they work exactly the same for PATCH* ones as can be seen in . Simplified Use of <literal>MASTER_SITES:n</literal> with <makevar>PATCH_SITES</makevar> PATCH_SITES= http://site1/ http://site2/:test PATCHFILES= patch1:test What Does Change for Ports? What Does Not? All current ports remain the same. The MASTER_SITES:n feature code is only activated if there are elements postfixed with :n like elements according to the aforementioned syntax rules, especially as shown in item . The port targets remain the same: checksum, makesum, patch, configure, build, etc. With the obvious exceptions of do-fetch, fetch-list, master-sites and patch-sites. do-fetch: deploys the new grouping postfixed DISTFILES and PATCHFILES with their matching group elements within both MASTER_SITES and PATCH_SITES which use matching group elements within both MASTER_SITE_SUBDIR and PATCH_SITE_SUBDIR. Check . fetch-list: works like old fetch-list with the exception that it groups just like do-fetch. master-sites and patch-sites: (incompatible with older versions) only return the elements of group DEFAULT; in fact, they execute targets master-sites-default and patch-sites-default respectively. Furthermore, using target either master-sites-all or patch-sites-all is preferred to directly checking either MASTER_SITES or PATCH_SITES. Also, directly checking is not guaranteed to work in any future versions. Check item for more information on these new port targets. New port targets There are master-sites-n and patch-sites-n targets which will list the elements of the respective group n within MASTER_SITES and PATCH_SITES respectively. For instance, both master-sites-DEFAULT and patch-sites-DEFAULT will return the elements of group DEFAULT, master-sites-test and patch-sites-test of group test, and thereon. There are new targets master-sites-all and patch-sites-all which do the work of the old master-sites and patch-sites ones. They return the elements of all groups as if they all belonged to the same group with the caveat that it lists as many MASTER_SITE_BACKUP and MASTER_SITE_OVERRIDE as there are groups defined within either DISTFILES or PATCHFILES; respectively for master-sites-all and patch-sites-all. <makevar>DIST_SUBDIR</makevar> Do not let your port clutter /usr/ports/distfiles. If your port requires a lot of files to be fetched, or contains a file that has a name that might conflict with other ports (e.g., Makefile), set DIST_SUBDIR to the name of the port (${PORTNAME} or ${PKGNAMEPREFIX}${PORTNAME} should work fine). This will change DISTDIR from the default /usr/ports/distfiles to /usr/ports/distfiles/DIST_SUBDIR, and in effect puts everything that is required for your port into that subdirectory. It will also look at the subdirectory with the same name on the backup master site at ftp.FreeBSD.org. (Setting DISTDIR explicitly in your Makefile will not accomplish this, so please use DIST_SUBDIR.) This does not affect the MASTER_SITES you define in your Makefile. <makevar>ALWAYS_KEEP_DISTFILES</makevar> If your port uses binary distfiles and has a license that requires that the source code is provided with packages distributed in binary form, e.g., GPL, ALWAYS_KEEP_DISTFILES will instruct the &os; build cluster to keep a copy of the files specified in DISTFILES. Users of these ports will generally not need these files, so it is a good idea to only add the source distfiles to DISTFILES when PACKAGE_BUILDING is defined. Use of <makevar>ALWAYS_KEEP_DISTFILES</makevar> .if defined(PACKAGE_BUILDING) DISTFILES+= foo.tar.gz ALWAYS_KEEP_DISTFILES= yes .endif When adding extra files to DISTFILES, make sure you also add them to distinfo. Also, the additional files will normally be extracted into WRKDIR as well, which for some ports may lead to undesirable side effects and require special handling.
<makevar>MAINTAINER</makevar> Set your mail-address here. Please. :-) Note that only a single address without the comment part is allowed as a MAINTAINER value. The format used should be user@hostname.domain. Please do not include any descriptive text such as your real name in this entry—that merely confuses bsd.port.mk. The maintainer is responsible for keeping the port up to date, and ensuring the port works correctly. For a detailed description of the responsibilities of a port maintainer, refer to the The challenge for port maintainers section. Changes to the port will be sent to the maintainer of a port for review and approval before being committed. If the maintainer does not respond to an update request after two weeks (excluding major public holidays), then that is considered a maintainer timeout, and the update may be made without explicit maintainer approval. If the maintainer does not respond within three months, then that maintainer is considered absent without leave, and can be replaced as the maintainer of the particular port in question. Exceptions to this are anything maintained by the &a.portmgr;, or the &a.security-officer;. No unauthorized commits may ever be made to ports maintained by those groups. We reserve the right to modify the maintainer's submission to better match existing policies and style of the Ports Collection without explicit blessing from the submitter. Also, large infrastructural changes can result in a port being modified without the maintainer's consent. These kinds of changes will never affect the port's functionality. The &a.portmgr; reserves the right to revoke or override anyone's maintainership for any reason, and the &a.security-officer; reserves the right to revoke or override maintainership for security reasons. <makevar>COMMENT</makevar> This is a one-line description of the port. Please respect the following rules: Try to keep the COMMENT value at no longer than 70 characters, as this line will be used by the &man.pkg.info.1; utility to display a one-line summary of the port; Do not include the package name (or version number of the software); The comment should begin with a capital and end without a period; Do not start with an indefinite article (i.e., A or An); Names are capitalized (for example, Apache, JavaScript, Perl); For lists of words, use the Oxford comma (e.g., green, red, and blue); Spell check the text. Here is an example: COMMENT= Cat chasing a mouse all over the screen The COMMENT variable should immediately follow the MAINTAINER variable in the Makefile. <makevar>PORTSCOUT</makevar> Portscout is an automated distfile check utility for the &os; Ports Collection, described in detail in . The PORTSCOUT variable defines special conditions within which the Portscout distfile scanner should be restricted. Situations where the PORTSCOUT variable should be set include: When distfiles should be ignored, whether for specific versions, or specific minor revisions. For example, to exclude version 8.2 from distfile version checks because it is known to be broken, add: PORTSCOUT= ignore:8.2 When specific versions or specific major and minor revisions of a distfile should be checked. For example, if only version 0.6.4 should be monitored because newer versions have compatablity issues with &os;, add: PORTSCOUT= limit:^0\.6\.4 When URLs listing the available versions differ from the download URLs. For example, to limit distfile version checks to the download page for the databases/pgtune port, add: PORTSCOUT= site:http://pgfoundry.org/frs/?group_id=1000416 Dependencies Many ports depend on other ports. This is a very convenient feature of most Unix-like operating systems, including &os;. Multiple ports can share a common dependency, rather than bundling that dependency with every port or package that needs it. There are seven variables that can be used to ensure that all the required bits will be on the user's machine. There are also some pre-supported dependency variables for common cases, plus a few more to control the behavior of dependencies. <makevar>LIB_DEPENDS</makevar> This variable specifies the shared libraries this port depends on. It is a list of lib:dir:target tuples where lib is the name of the shared library, dir is the directory in which to find it in case it is not available, and target is the target to call in that directory. For example, LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/jpeg will check for a shared jpeg library with any version, and descend into the graphics/jpeg subdirectory of your ports tree to build and install it if it is not found. The target part can be omitted if it is equal to DEPENDS_TARGET (which defaults to install). The lib part is a regular expression which is being looked up in the ldconfig -r output. Values such as intl.9 and intl.[5-7] are allowed. The first pattern, intl.9, will match only version 9 of intl, while intl.[5-7], will match any of: intl.5, intl.6 or intl.7. The dependency is checked twice, once from within the extract target and then from within the install target. Also, the name of the dependency is put into the package so that &man.pkg.add.1; will automatically install it if it is not on the user's system. <makevar>RUN_DEPENDS</makevar> This variable specifies executables or files this port depends on during run-time. It is a list of path:dir:target tuples where path is the name of the executable or file, dir is the directory in which to find it in case it is not available, and target is the target to call in that directory. If path starts with a slash (/), it is treated as a file and its existence is tested with test -e; otherwise, it is assumed to be an executable, and which -s is used to determine if the program exists in the search path. For example, RUN_DEPENDS= ${LOCALBASE}/news/bin/innd:${PORTSDIR}/news/inn \ xmlcatmgr:${PORTSDIR}/textproc/xmlcatmgr will check if the file or directory /usr/local/news/bin/innd exists, and build and install it from the news/inn subdirectory of the ports tree if it is not found. It will also see if an executable called xmlcatmgr is in the search path, and descend into the textproc/xmlcatmgr subdirectory of your ports tree to build and install it if it is not found. In this case, innd is actually an executable; if an executable is in a place that is not expected to be in the search path, you should use the full pathname. The official search PATH used on the ports build cluster is /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin The dependency is checked from within the install target. Also, the name of the dependency is put into the package so that &man.pkg.add.1; will automatically install it if it is not on the user's system. The target part can be omitted if it is the same as DEPENDS_TARGET. A quite common situation is when RUN_DEPENDS is literally the same as BUILD_DEPENDS, especially if ported software is written in a scripted language or if it requires the same build and run-time environment. In this case, it is both tempting and intuitive to directly assign one to the other: RUN_DEPENDS= ${BUILD_DEPENDS} However, such assignment can pollute run-time dependencies with entries not defined in the port's original BUILD_DEPENDS. This happens because of &man.make.1;'s lazy evaluation of variable assignment. Consider a Makefile with USE_* variables, which are processed by ports/Mk/bsd.*.mk to augment initial build dependencies. For example, USE_GMAKE=yes adds devel/gmake to BUILD_DEPENDS. To prevent such additional dependencies from polluting RUN_DEPENDS, take care to assign with expansion, i.e., expand the value before assigning it to the variable: RUN_DEPENDS:= ${BUILD_DEPENDS} <makevar>BUILD_DEPENDS</makevar> This variable specifies executables or files this port requires to build. Like RUN_DEPENDS, it is a list of path:dir:target tuples. For example, BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip will check for an executable called unzip, and descend into the archivers/unzip subdirectory of your ports tree to build and install it if it is not found. build here means everything from extraction to compilation. The dependency is checked from within the extract target. The target part can be omitted if it is the same as DEPENDS_TARGET <makevar>FETCH_DEPENDS</makevar> This variable specifies executables or files this port requires to fetch. Like the previous two, it is a list of path:dir:target tuples. For example, FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2 will check for an executable called ncftp2, and descend into the net/ncftp2 subdirectory of your ports tree to build and install it if it is not found. The dependency is checked from within the fetch target. The target part can be omitted if it is the same as DEPENDS_TARGET. <makevar>EXTRACT_DEPENDS</makevar> This variable specifies executables or files this port requires for extraction. Like the previous, it is a list of path:dir:target tuples. For example, EXTRACT_DEPENDS= unzip:${PORTSDIR}/archivers/unzip will check for an executable called unzip, and descend into the archivers/unzip subdirectory of your ports tree to build and install it if it is not found. The dependency is checked from within the extract target. The target part can be omitted if it is the same as DEPENDS_TARGET. Use this variable only if the extraction does not already work (the default assumes gzip) and cannot be made to work using USE_ZIP or USE_BZIP2 described in . <makevar>PATCH_DEPENDS</makevar> This variable specifies executables or files this port requires to patch. Like the previous, it is a list of path:dir:target tuples. For example, PATCH_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/java/jfc:extract will descend into the java/jfc subdirectory of your ports tree to extract it. The dependency is checked from within the patch target. The target part can be omitted if it is the same as DEPENDS_TARGET. <makevar>USES</makevar> There several parameters exist for defining different kind of features and dependencies that the port in question uses. They can be specified by adding the following line to the Makefile of the port: USES= feature[:arguments] For the complete list of such values, please see . USES cannot be assigned after inclusion of bsd.port.pre.mk. <makevar>USE_<replaceable>*</replaceable></makevar> Several variables exist to define common dependencies shared by many ports. Their use is optional, but helps to reduce the verbosity of the port Makefiles. Each of them is styled as USE_*. These variables may be used only in the port Makefiles and ports/Mk/bsd.*.mk. They are not meant for user-settable options — use PORT_OPTIONS for that purpose. It is always incorrect to set any USE_* in /etc/make.conf. For instance, setting USE_GCC=3.4 would add a dependency on gcc34 for every port, including gcc34 itself! The <makevar>USE_<replaceable>*</replaceable></makevar> Variables Variable Means USE_BZIP2 The port's tarballs are compressed with bzip2. USE_ZIP The port's tarballs are compressed with zip. USE_GCC The port requires a specific version of gcc to build. The exact version can be specified with value such as 3.4. The minimal required version can be specified as 3.4+. The gcc from the base system is used when it satisfies the requested version, otherwise an appropriate gcc is compiled from ports and the CC and CXX variables are adjusted.
Variables related to gmake and the configure script are described in , while autoconf, automake and libtool are described in . Perl related variables are described in . X11 variables are listed in . deals with GNOME and with KDE related variables. documents Java variables, while contains information on Apache, PHP and PEAR modules. Python is discussed in , while Ruby in . provides variables used for SDL applications and finally, contains information on Xfce.
Minimal Version of a Dependency A minimal version of a dependency can be specified in any *_DEPENDS variable except LIB_DEPENDS using the following syntax: p5-Spiffy>=0.26:${PORTSDIR}/devel/p5-Spiffy The first field contains a dependent package name, which must match the entry in the package database, a comparison sign, and a package version. The dependency is satisfied if p5-Spiffy-0.26 or newer is installed on the machine. Notes on Dependencies As mentioned above, the default target to call when a dependency is required is DEPENDS_TARGET. It defaults to install. This is a user variable; it is never defined in a port's Makefile. If your port needs a special way to handle a dependency, use the :target part of the *_DEPENDS variables instead of redefining DEPENDS_TARGET. When you type make clean, its dependencies are automatically cleaned too. If you do not wish this to happen, define the variable NOCLEANDEPENDS in your environment. This may be particularly desirable if the port has something that takes a long time to rebuild in its dependency list, such as KDE, GNOME or Mozilla. To depend on another port unconditionally, use the variable ${NONEXISTENT} as the first field of BUILD_DEPENDS or RUN_DEPENDS. Use this only when you need to get the source of the other port. You can often save compilation time by specifying the target too. For instance BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract will always descend to the jpeg port and extract it. Circular Dependencies Are Fatal Do not introduce any circular dependencies into the ports tree! The ports building technology does not tolerate circular dependencies. If you introduce one, you will have someone, somewhere in the world, whose FreeBSD installation will break almost immediately, with many others quickly to follow. These can really be hard to detect; if in doubt, before you make that change, make sure you have done the following: cd /usr/ports; make index. That process can be quite slow on older machines, but you may be able to save a large number of people—including yourself— a lot of grief in the process. Problems Caused by Automatic Dependencies Dependencies must be declared either explicitly or by using the OPTIONS framework. Using other methods like automatic detection complicates indexing, which causes problems for port and package management. Wrong Declaration of an Optional Dependency .include <bsd.port.pre.mk> .if exists(${LOCALBASE}/bin/foo) LIB_DEPENDS= bar:${PORTSDIR}/foo/bar .endif The problem with trying to automatically add dependencies is that files and settings outside an individual port can change at any time. For example: an index is built, then a batch of ports are installed. But one of the ports installs the tested file. The index is now incorrect, because an installed port unexpectedly has a new dependency. The index may still be wrong even after rebuilding if other ports also determine their need for dependencies based on the existence of other files. Correct Declaration of an Optional Dependency OPTIONS_DEFINE= BAR BAR_DESC= Bar support .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MBAR} LIB_DEPENDS= bar:${PORTSDIR}/foo/bar .endif Testing option variables is the correct method. It will not cause inconsistencies in the index of a batch of ports, provided the options were defined prior to the index build. Simple scripts can then be used to automate the building, installation, and updating of these ports and their packages. <makevar>USE_</makevar> and <makevar>WANT_</makevar> USE_ variables are set by the port maintainer to define software on which this port depends. A port that needs Firefox would set USE_FIREFOX= yes Some USE_ variables can accept version numbers or other parameters. For example, a port that requires Apache 2.2 would set USE_APACHE= 22 For more control over dependencies in some cases, WANT_ variables are available to more precisely specify what is needed. For example, consider the mail/squirrelmail port. This port needs some PHP modules, which are listed in the USE_PHP variable: USE_PHP= session mhash gettext mbstring pcre openssl xml Those modules may be available in CLI or web versions, so the web version is selected with a WANT_ variable: WANT_PHP_WEB= yes Available USE_ and WANT_ variables are defined in the files in /usr/ports/Mk.
<makevar>MASTERDIR</makevar> If your port needs to build slightly different versions of packages by having a variable (for instance, resolution, or paper size) take different values, create one subdirectory per package to make it easier for users to see what to do, but try to share as many files as possible between ports. Typically you only need a very short Makefile in all but one of the directories if you use variables cleverly. In the sole Makefile, you can use MASTERDIR to specify the directory where the rest of the files are. Also, use a variable as part of PKGNAMESUFFIX so the packages will have different names. This will be best demonstrated by an example. This is part of japanese/xdvi300/Makefile; PORTNAME= xdvi PORTVERSION= 17 PKGNAMEPREFIX= ja- PKGNAMESUFFIX= ${RESOLUTION} : # default RESOLUTION?= 300 .if ${RESOLUTION} != 118 && ${RESOLUTION} != 240 && \ ${RESOLUTION} != 300 && ${RESOLUTION} != 400 @${ECHO_MSG} "Error: invalid value for RESOLUTION: \"${RESOLUTION}\"" @${ECHO_MSG} "Possible values are: 118, 240, 300 (default) and 400." @${FALSE} .endif japanese/xdvi300 also has all the regular patches, package files, etc. If you type make there, it will take the default value for the resolution (300) and build the port normally. As for other resolutions, this is the entire xdvi118/Makefile: RESOLUTION= 118 MASTERDIR= ${.CURDIR}/../xdvi300 .include "${MASTERDIR}/Makefile" (xdvi240/Makefile and xdvi400/Makefile are similar). The MASTERDIR definition tells bsd.port.mk that the regular set of subdirectories like FILESDIR and SCRIPTDIR are to be found under xdvi300. The RESOLUTION=118 line will override the RESOLUTION=300 line in xdvi300/Makefile and the port will be built with resolution set to 118. Man Pages The MAN[1-9LN] variables will automatically add any manpages to pkg-plist (this means you must not list manpages in the pkg-plist—see generating PLIST for more). It also makes the install stage automatically compress or uncompress manpages depending on the setting of NO_MANCOMPRESS in /etc/make.conf. If your port tries to install multiple names for manpages using symlinks or hardlinks, you must use the MLINKS variable to identify these. The link installed by your port will be destroyed and recreated by bsd.port.mk to make sure it points to the correct file. Any manpages listed in MLINKS must not be listed in the pkg-plist. To specify whether the manpages are compressed upon installation, use the MANCOMPRESSED variable. This variable can take three values, yes, no and maybe. yes means manpages are already installed compressed, no means they are not, and maybe means the software already respects the value of NO_MANCOMPRESS so bsd.port.mk does not have to do anything special. MANCOMPRESSED is automatically set to yes if USE_IMAKE is set and NO_INSTALL_MANPAGES is not set, and to no otherwise. You do not have to explicitly define it unless the default is not suitable for your port. If your port anchors its man tree somewhere other than PREFIX, you can use the MANPREFIX to set it. Also, if only manpages in certain sections go in a non-standard place, such as some perl modules ports, you can set individual man paths using MANsectPREFIX (where sect is one of 1-9, L or N). If your manpages go to language-specific subdirectories, set the name of the languages to MANLANG. The value of this variable defaults to "" (i.e., English only). Here is an example that puts it all together. MAN1= foo.1 MAN3= bar.3 MAN4= baz.4 MLINKS= foo.1 alt-name.8 MANLANG= "" ja MAN3PREFIX= ${PREFIX}/share/foobar MANCOMPRESSED= yes This states that six files are installed by this port; ${MANPREFIX}/man/man1/foo.1.gz ${MANPREFIX}/man/ja/man1/foo.1.gz ${PREFIX}/share/foobar/man/man3/bar.3.gz ${PREFIX}/share/foobar/man/ja/man3/bar.3.gz ${MANPREFIX}/man/man4/baz.4.gz ${MANPREFIX}/man/ja/man4/baz.4.gz Additionally ${MANPREFIX}/man/man8/alt-name.8.gz may or may not be installed by your port. Regardless, a symlink will be made to join the foo(1) manpage and alt-name(8) manpage. If only some manpages are translated, you can use several variables dynamically created from MANLANG content: MANLANG= "" de ja MAN1= foo.1 MAN1_EN= bar.1 MAN3_DE= baz.3 This translates into this list of files: ${MANPREFIX}/man/man1/foo.1.gz ${MANPREFIX}/man/de/man1/foo.1.gz ${MANPREFIX}/man/ja/man1/foo.1.gz ${MANPREFIX}/man/man1/bar.1.gz ${MANPREFIX}/man/de/man3/baz.3.gz Info Files If your package needs to install GNU info files, they should be listed in the INFO variable (without the trailing .info), one entry per document. These files are assumed to be installed to PREFIX/INFO_PATH. You can change INFO_PATH if your package uses a different location. However, this is not recommended. These entries contain just the path relative to PREFIX/INFO_PATH. For example, lang/gcc34 installs info files to PREFIX/INFO_PATH/gcc34, and INFO will be something like this: INFO= gcc34/cpp gcc34/cppinternals gcc34/g77 ... Appropriate installation/de-installation code will be automatically added to the temporary pkg-plist before package registration. Makefile Options Many applications can be built with optional or differing configurations. Examples include choice of natural (human) language, GUI versus command-line, or type of database to support. Users may need a different configuration than the default, so the ports system provides hooks the port author can use to control which variant will be built. Supporting these options properly will make users happy, and effectively provide two or more ports for the price of one. Knobs <makevar>WITH_<replaceable>*</replaceable></makevar> and <makevar>WITHOUT_<replaceable>*</replaceable></makevar> These variables are designed to be set by the system administrator. There are many that are standardized in the ports/KNOBS + url="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup">ports/KNOBS file. When creating a port, do not make knob names specific to a given application. For example in Avahi port, use WITHOUT_MDNS instead of WITHOUT_AVAHI_MDNS. You should not assume that a WITH_* necessarily has a corresponding WITHOUT_* variable and vice versa. In general, the default is simply assumed. Unless otherwise specified, these variables are only tested for being set or not set, rather than being set to a specific value such as YES or NO. Common <makevar>WITH_<replaceable>*</replaceable></makevar> and <makevar>WITHOUT_<replaceable>*</replaceable></makevar> Variables Variable Means WITHOUT_NLS If set, says that internationalization is not needed, which can save compile time. By default, internationalization is used. WITH_OPENSSL_BASE Use the version of OpenSSL in the base system. WITH_OPENSSL_PORT Installs the version of OpenSSL from security/openssl, even if the base is up to date. WITHOUT_X11 Ports that can be built both with and without X support are normally built with X support. If this variable is defined, then the version that does not have X support will be built instead.
Knob Naming Porters should use like-named knobs, both for the benefit of end-users and to help keep the number of knob names down. A list of popular knob names can be found in the KNOBS + url="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup">KNOBS file. Knob names should reflect what the knob is and does. When a port has a lib-prefix in the PORTNAME the lib-prefix should be dropped in knob naming.
<makevar>OPTIONS</makevar> Background The OPTIONS_* variables give the user installing the port a dialog showing the available options, and then saves those options to /var/db/ports/${UNIQUENAME}/options. The next time the port is built, the options are reused. When the user runs make config (or runs make build for the first time), the framework checks for /var/db/ports/${UNIQUENAME}/options. If that file does not exist, the values of OPTIONS_* are used, and a dialog box is displayed where the options can be enabled or disabled. Then the options file is saved and the configured variables are used when building the port. If a new version of the port adds new OPTIONS, the dialog will be presented to the user with the saved values of old OPTIONS prefilled. make showconfig shows the saved configuration. Use make rmconfig to remove the saved configuration. Syntax OPTIONS_DEFINE contains a list of OPTIONS to be used. These are independent of each other and are not grouped: OPTIONS_DEFINE= OPT1 OPT2 Once defined, OPTIONS are described (optional, but strongly recommended): OPT1_DESC= Describe OPT1 OPT2_DESC= Describe OPT2 OPT3_DESC= Describe OPT3 OPT4_DESC= Describe OPT4 OPT5_DESC= Describe OPT5 OPT6_DESC= Describe OPT6 ports/Mk/bsd.options.desc.mk has descriptions for many common OPTIONS; there is usually no need to override these. When describing options, view it from the perspective of the user: What does it do? and Why would I want to enable this? Do not just repeat the name. For example, describing the NLS option as include NLS support does not help the user, who can already see the option name but may not know what it means. Describing it as Native Language Support via gettext utilities is much more helpful. OPTIONS can be grouped as radio choices, where only one choice from each group is allowed: OPTIONS_SINGLE= SG1 OPTIONS_SINGLE_SG1= OPT3 OPT4 OPTIONS can be grouped as radio choices, where none or only one choice from each group is allowed: OPTIONS_RADIO= RG1 OPTIONS_RADIO_RG1= OPT7 OPT8 OPTIONS can also be grouped as multiple-choice lists, where at least one option must be enabled: OPTIONS_MULTI= MG1 OPTIONS_MULTI_MG1= OPT5 OPT6 OPTIONS can also be grouped as multiple-choice lists, where none or any option can be enabled: OPTIONS_GROUP= GG1 OPTIONS_GROUP_GG1= OPT9 OPT10 OPTIONS are unset by default, unless they are listed in OPTIONS_DEFAULT: OPTIONS_DEFAULT= OPT1 OPT3 OPT6 OPTIONS definitions must appear before the inclusion of bsd.port.options.mk. The PORT_OPTIONS variable can only be tested after the inclusion of bsd.port.options.mk. Inclusion of bsd.port.pre.mk can be used instead, too, and is still widely used in ports written before the introduction of bsd.port.options.mk. But be aware that some variables will not work as expected after the inclusion of bsd.port.pre.mk, typically some USE_* flags. Simple Use of <makevar>OPTIONS</makevar> OPTIONS_DEFINE= FOO BAR FOO_DESC= Enable option foo BAR_DESC= Support feature bar OPTIONS_DEFAULT=FOO .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MFOO} CONFIGURE_ARGS+=--with-foo .else CONFIGURE_ARGS+=--without-foo .endif .if ${PORT_OPTIONS:MBAR} RUN_DEPENDS+= bar:${PORTSDIR}/bar/bar .endif .include <bsd.port.mk> Check for Unset Port <makevar>OPTIONS</makevar> .if ! ${PORT_OPTIONS:MEXAMPLES} CONFIGURE_ARGS+=--without-examples .endif Practical Use of <makevar>OPTIONS</makevar> OPTIONS_DEFINE= EXAMPLES OPTIONS_SINGLE= BACKEND OPTIONS_SINGLE_BACKEND= MYSQL PGSQL BDB OPTIONS_MULTI= AUTH OPTIONS_MULTI_AUTH= LDAP PAM SSL EXAMPLES_DESC= Install extra examples MYSQL_DESC= Use MySQL as backend PGSQL_DESC= Use PostgreSQL as backend BDB_DESC= Use Berkeley DB as backend LDAP_DESC= Build with LDAP authentication support PAM_DESC= Build with PAM support SSL_DESC= Build with OpenSSL support OPTIONS_DEFAULT= PGSQL LDAP SSL .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MPGSQL} USE_PGSQL= yes CONFIGURE_ARGS+= --with-postgres .else CONFIGURE_ARGS+= --without-postgres .endif .if ${PORT_OPTIONS:MICU} LIB_DEPENDS+= icuuc:${PORTSDIR}/devel/icu .endif .if ! ${PORT_OPTIONS:MEXAMPLES} CONFIGURE_ARGS+= --without-examples .endif # Check other OPTIONS .include <bsd.port.mk> Default Options The following options are always on by default. DOCS — build and install documentation. NLS — Native Language Support. EXAMPLES — build and install examples. IPV6 — IPv6 protocol support. There is no need to add these to OPTIONS_DEFAULT. To have them show up in the options selection dialog, however, they must be added to OPTIONS_DEFINE. Feature Auto-Activation When using a GNU configure script, keep an eye on which optional features are activated by auto-detection. Explicitly disable optional features you do not wish to be used by passing respective --without-xxx or --disable-xxx in CONFIGURE_ARGS. Wrong Handling of an Option .if ${PORT_OPTIONS:MFOO} LIB_DEPENDS+= foo:${PORTSDIR}/devel/foo CONFIGURE_ARGS+= --enable-foo .endif In the example above, imagine a library libfoo is installed on the system. The user does not want this application to use libfoo, so he toggled the option off in the make config dialog. But the application's configure script detects the library present in the system and includes its support in the resulting executable. Now when the user decides to remove libfoo from the system, the ports system does not protest (no dependency on libfoo was recorded) but the application breaks. Correct Handling of an Option .if ${PORT_OPTIONS:MFOO} LIB_DEPENDS+= foo:${PORTSDIR}/devel/foo CONFIGURE_ARGS+= --enable-foo .else CONFIGURE_ARGS+= --disable-foo .endif In the second example, the library libfoo is explicitly disabled. The configure script does not enable related features in the application, despite library's presence in the system. Under some circumstances, the shorthand conditional syntax can cause problems with complex constructs. If you receive errors such as Malformed conditional, an alternative syntax can be used. .if !empty(VARIABLE:MVALUE) # as an alternative to .if ${VARIABLE:MVALUE}
Specifying the Working Directory Each port is extracted in to a working directory, which must be writable. The ports system defaults to having the DISTFILES unpack in to a directory called ${DISTNAME}. In other words, if you have set: PORTNAME= foo PORTVERSION= 1.0 then the port's distribution files contain a top-level directory, foo-1.0, and the rest of the files are located under that directory. There are a number of variables you can override if that is not the case. <makevar>WRKSRC</makevar> The variable lists the name of the directory that is created when the application's distfiles are extracted. If our previous example extracted into a directory called foo (and not foo-1.0) you would write: WRKSRC= ${WRKDIR}/foo or possibly WRKSRC= ${WRKDIR}/${PORTNAME} <makevar>NO_WRKSUBDIR</makevar> If the port does not extract in to a subdirectory at all then you should set NO_WRKSUBDIR to indicate that. NO_WRKSUBDIR= yes Conflict Handling There are three different variables to register a conflict between packages and ports: CONFLICTS, CONFLICTS_INSTALL and CONFLICTS_BUILD. The conflict variables automatically set the variable IGNORE, which is more fully documented in . When removing one of several conflicting ports, it is advisable to retain the CONFLICTS entries in those other ports for a few months to cater for users who only update once in a while. <makevar>CONFLICTS_INSTALL</makevar> If your package cannot coexist with other packages (because of file conflicts, runtime incompatibilities, etc.), list the other package names in the CONFLICTS_INSTALL variable. You can use shell globs like * and ? here. Package names should be enumerated the same way they appear in /var/db/pkg. Please make sure that CONFLICTS_INSTALL does not match this port's package itself. Otherwise enforcing its installation with FORCE_PKG_REGISTER will no longer work. The CONFLICTS_INSTALL check is done after the build stage and prior to the install stage. <makevar>CONFLICTS_BUILD</makevar> If your port cannot be built if a certain port is already installed, list the other port names in the CONFLICTS_BUILD variable. You can use shell globs like * and ? here. Package names should be enumerated the same way they appear in /var/db/pkg. The CONFLICTS_BUILD check is done prior to the build stage. Build conflicts are not recorded in the resulting package. <makevar>CONFLICTS</makevar> If your port cannot be built if a certain port is already installed and the resulting package cannot coexist with the other package, list the other package name in the CONFLICTS variable. You can use shell globs like * and ? here. Packages names should be enumerated the same way they appear in /var/db/pkg. Please make sure that CONFLICTS_INSTALL does not match this port's package itself. Otherwise enforcing its installation with FORCE_PKG_REGISTER will no longer work. The CONFLICTS check is done prior to the build stage and prior to the install stage. Installing Files <makevar>INSTALL_*</makevar> Macros Do use the macros provided in bsd.port.mk to ensure correct modes and ownership of files in your own *-install targets. INSTALL_PROGRAM is a command to install binary executables. INSTALL_SCRIPT is a command to install executable scripts. INSTALL_LIB is a command to install shared libraries. INSTALL_KLD is a command to install kernel loadable modules. Some architectures do not like having the modules stripped, so use this command instead of INSTALL_PROGRAM. INSTALL_DATA is a command to install sharable data. INSTALL_MAN is a command to install manpages and other documentation (it does not compress anything). These are basically the install command with all the appropriate flags. Stripping Binaries and Shared Libraries Do not strip binaries manually unless you have to. All binaries should be stripped, but the INSTALL_PROGRAM macro will install and strip a binary at the same time (see the next section). The INSTALL_LIB macro does the same thing to shared libraries. If you need to strip a file, but wish to use neither INSTALL_PROGRAM nor INSTALL_LIB macros, ${STRIP_CMD} will strip your program or shared library. This is typically done within the post-install target. For example: post-install: ${STRIP_CMD} ${PREFIX}/bin/xdl Use the &man.file.1; command on the installed executable to check whether the binary is stripped or not. If it does not say not stripped, it is stripped. Additionally, &man.strip.1; will not strip a previously stripped program; it will instead exit cleanly. Installing a Whole Tree of Files Sometimes, there is a need to install a big number of files, preserving their hierarchical organization, i.e., copying over a whole directory tree from WRKSRC to a target directory under PREFIX. Two macros exist for this situation. The advantage of using these macros instead of cp is that they guarantee proper file ownership and permissions on target files. The first macro, COPYTREE_BIN, will set all the installed files to be executable, thus being suitable for installing into PREFIX/bin. The second macro, COPYTREE_SHARE, does not set executable permissions on files, and is therefore suitable for installing files under PREFIX/share target. post-install: ${MKDIR} ${EXAMPLESDIR} (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${EXAMPLESDIR}) This example will install the contents of examples directory in the vendor distfile to the proper examples location of your port. post-install: ${MKDIR} ${DATADIR}/summer (cd ${WRKSRC}/temperatures && ${COPYTREE_SHARE} "June July August" ${DATADIR}/summer) And this example will install the data of summer months to the summer subdirectory of a DATADIR. Additional find arguments can be passed via the third argument to the COPYTREE_* macros. For example, to install all files from the first example except Makefiles, one can use the following command. post-install: ${MKDIR} ${EXAMPLESDIR} (cd ${WRKSRC}/examples && \ ${COPYTREE_SHARE} . ${EXAMPLESDIR} "! -name Makefile") Note that these macros does not add the installed files to pkg-plist. You still need to list them. Install Additional Documentation If your software has some documentation other than the standard man and info pages that you think is useful for the user, install it under PREFIX/share/doc. This can be done, like the previous item, in the post-install target. Create a new directory for your port. The directory name should reflect what the port is. This usually means PORTNAME. However, if you think the user might want different versions of the port to be installed at the same time, you can use the whole PKGNAME. Make the installation dependent on the variable DOCS option so that users can disable it in /etc/make.conf, like this: post-install: .if ${PORT_OPTIONS:MDOCS} ${MKDIR} ${DOCSDIR} ${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${DOCSDIR} .endif Here are some handy variables and how they are expanded by default when used in the Makefile: DATADIR gets expanded to PREFIX/share/PORTNAME. DATADIR_REL gets expanded to share/PORTNAME. DOCSDIR gets expanded to PREFIX/share/doc/PORTNAME. DOCSDIR_REL gets expanded to share/doc/PORTNAME. EXAMPLESDIR gets expanded to PREFIX/share/examples/PORTNAME. EXAMPLESDIR_REL gets expanded to share/examples/PORTNAME. The DOCS option only controls additional documentation installed in DOCSDIR. It does not apply to standard man pages and info pages. Things installed in DATADIR and EXAMPLESDIR are controlled by DATA and EXAMPLES options, respectively. These variables are exported to PLIST_SUB. Their values will appear there as pathnames relative to PREFIX if possible. That is, share/doc/PORTNAME will be substituted for %%DOCSDIR%% in the packing list by default, and so on. (See more on pkg-plist substitution here.) All conditionally installed documentation files and directories should be included in pkg-plist with the %%PORTDOCS%% prefix, for example: %%PORTDOCS%%%%DOCSDIR%%/AUTHORS %%PORTDOCS%%%%DOCSDIR%%/CONTACT %%PORTDOCS%%@dirrm %%DOCSDIR%% As an alternative to enumerating the documentation files in pkg-plist, a port can set the variable PORTDOCS to a list of file names and shell glob patterns to add to the final packing list. The names will be relative to DOCSDIR. Therefore, a port that utilizes PORTDOCS and uses a non-default location for its documentation should set DOCSDIR accordingly. If a directory is listed in PORTDOCS or matched by a glob pattern from this variable, the entire subtree of contained files and directories will be registered in the final packing list. If the DOCS option has been unset then files and directories listed in PORTDOCS would not be installed or added to port packing list. Installing the documentation at PORTDOCS as shown above remains up to the port itself. A typical example of utilizing PORTDOCS looks as follows: PORTDOCS= README.* ChangeLog docs/* The equivalents of PORTDOCS for files installed under DATADIR and EXAMPLESDIR are PORTDATA and PORTEXAMPLES, respectively. You can also use the pkg-message file to display messages upon installation. See the section on using pkg-message for details. The pkg-message file does not need to be added to pkg-plist. Subdirectories Under <makevar>PREFIX</makevar> Try to let the port put things in the right subdirectories of PREFIX. Some ports lump everything and put it in the subdirectory with the port's name, which is incorrect. Also, many ports put everything except binaries, header files and manual pages in a subdirectory of lib, which does not work well with the BSD paradigm. Many of the files should be moved to one of the following: etc (setup/configuration files), libexec (executables started internally), sbin (executables for superusers/managers), info (documentation for info browser) or share (architecture independent files). See &man.hier.7; for details; the rules governing /usr pretty much apply to /usr/local too. The exception are ports dealing with USENET news. They may use PREFIX/news as a destination for their files.
Special Considerations There are some more things you have to take into account when you create a port. This section explains the most common of those. Shared Libraries If your port installs one or more shared libraries, define a USE_LDCONFIG make variable, which will instruct a bsd.port.mk to run ${LDCONFIG} -m on the directory where the new library is installed (usually PREFIX/lib) during post-install target to register it into the shared library cache. This variable, when defined, will also facilitate addition of an appropriate @exec /sbin/ldconfig -m and @unexec /sbin/ldconfig -R pair into your pkg-plist file, so that a user who installed the package can start using the shared library immediately and de-installation will not cause the system to still believe the library is there. USE_LDCONFIG= yes If you need, you can override the default directory by setting the USE_LDCONFIG value to a list of directories into which shared libraries are to be installed. For example if your port installs shared libraries into PREFIX/lib/foo and PREFIX/lib/bar directories you could use the following in your Makefile: USE_LDCONFIG= ${PREFIX}/lib/foo ${PREFIX}/lib/bar Please double-check, often this is not necessary at all or can be avoided through -rpath or setting LD_RUN_PATH during linking (see lang/moscow_ml for an example), or through a shell-wrapper which sets LD_LIBRARY_PATH before invoking the binary, like www/seamonkey does. When installing 32-bit libraries on 64-bit system, use USE_LDCONFIG32 instead. Try to keep shared library version numbers in the libfoo.so.0 format. Our runtime linker only cares for the major (first) number. When the major library version number increments in the update to the new port version, all other ports that link to the affected library should have their PORTREVISION incremented, to force recompilation with the new library version. Ports with Distribution Restrictions Licenses vary, and some of them place restrictions on how the application can be packaged, whether it can be sold for profit, and so on. It is your responsibility as a porter to read the licensing terms of the software and make sure that the FreeBSD project will not be held accountable for violating them by redistributing the source or compiled binaries either via FTP/HTTP or CD-ROM. If in doubt, please contact the &a.ports;. In situations like this, the variables described in the following sections can be set. <makevar>NO_PACKAGE</makevar> This variable indicates that we may not generate a binary package of the application. For instance, the license may disallow binary redistribution, or it may prohibit distribution of packages created from patched sources. However, the port's DISTFILES may be freely mirrored on FTP/HTTP. They may also be distributed on a CD-ROM (or similar media) unless NO_CDROM is set as well. NO_PACKAGE should also be used if the binary package is not generally useful, and the application should always be compiled from the source code. For example, if the application has configuration information that is site specific hard coded in to it at compile time, set NO_PACKAGE. NO_PACKAGE should be set to a string describing the reason why the package should not be generated. <makevar>NO_CDROM</makevar> This variable alone indicates that, although we are allowed to generate binary packages, we may put neither those packages nor the port's DISTFILES onto a CD-ROM (or similar media) for resale. However, the binary packages and the port's DISTFILES will still be available via FTP/HTTP. If this variable is set along with NO_PACKAGE, then only the port's DISTFILES will be available, and only via FTP/HTTP. NO_CDROM should be set to a string describing the reason why the port cannot be redistributed on CD-ROM. For instance, this should be used if the port's license is for non-commercial use only. <makevar>NOFETCHFILES</makevar> Files defined in the NOFETCHFILES variable are not fetchable from any of the MASTER_SITES. An example of such a file is when the file is supplied on CD-ROM by the vendor. Tools which check for the availability of these files on the MASTER_SITES should ignore these files and not report about them. <makevar>RESTRICTED</makevar> Set this variable alone if the application's license permits neither mirroring the application's DISTFILES nor distributing the binary package in any way. NO_CDROM or NO_PACKAGE should not be set along with RESTRICTED since the latter variable implies the former ones. RESTRICTED should be set to a string describing the reason why the port cannot be redistributed. Typically, this indicates that the port contains proprietary software and that the user will need to manually download the DISTFILES, possibly after registering for the software or agreeing to accept the terms of an EULA. <makevar>RESTRICTED_FILES</makevar> When RESTRICTED or NO_CDROM is set, this variable defaults to ${DISTFILES} ${PATCHFILES}, otherwise it is empty. If only some of the distribution files are restricted, then set this variable to list them. Note that the port committer should add an entry to /usr/ports/LEGAL for every listed distribution file, describing exactly what the restriction entails. Examples The preferred way to state "the distfiles for this port must be fetched manually" is as follows: .if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}) IGNORE= may not be redistributed because of licensing reasons. Please visit some-website to accept their license and download ${DISTFILES} into ${DISTDIR} .endif This both informs the user, and sets the proper metadata on the user's machine for use by automated programs. Note that this stanza must be preceded by an inclusion of bsd.port.pre.mk. Building Mechanisms Building Ports in Parallel The &os; ports framework supports parallel building using multiple make sub-processes, which allows SMP systems to utilize all of their available CPU power, allowing port builds to be faster and more effective. This is achieved by passing -jX flag to &man.make.1; running on vendor code. Unfortunately, not all ports handle parallel building well. Therefore it is required to explicitly enable this feature by adding MAKE_JOBS_SAFE=yes somewhere below the dependency declaration section of the Makefile. Another option for controlling this feature from the maintainer's point of view is the MAKE_JOBS_UNSAFE=yes variable. It is used when a port is known to be broken with -jX and a user forces the use of multi processor compilations for all ports in /etc/make.conf with the FORCE_MAKE_JOBS=yes variable. <command>make</command>, <command>gmake</command>, and <command>imake</command> If your port uses GNU make, set USE_GMAKE=yes. Variables for Ports Related to <application>gmake</application> Variable Means USE_GMAKE The port requires gmake to build. GMAKE The full path for gmake if it is not in the PATH.
If your port is an X application that creates Makefile files from Imakefile files using imake, then set USE_IMAKE=yes. This will cause the configure stage to automatically do an xmkmf -a. If the flag is a problem for your port, set XMKMF=xmkmf. If the port uses imake but does not understand the install.man target, NO_INSTALL_MANPAGES=yes should be set. If your port's source Makefile has something else than all as the main build target, set ALL_TARGET accordingly. Same goes for install and INSTALL_TARGET.
<command>configure</command> Script If your port uses the configure script to generate Makefile files from Makefile.in files, set GNU_CONFIGURE=yes. If you want to give extra arguments to the configure script (the default argument is --prefix=${PREFIX} --infodir=${PREFIX}/${INFO_PATH} --mandir=${MANPREFIX}/man --build=${CONFIGURE_TARGET}), set those extra arguments in CONFIGURE_ARGS. Extra environment variables can be passed using CONFIGURE_ENV variable. Variables for Ports That Use <command>configure</command> Variable Means GNU_CONFIGURE The port uses configure script to prepare build. HAS_CONFIGURE Same as GNU_CONFIGURE, except default configure target is not added to CONFIGURE_ARGS. CONFIGURE_ARGS Additional arguments passed to configure script. CONFIGURE_ENV Additional environment variables to be set for configure script run. CONFIGURE_TARGET Override default configure target. Default value is ${MACHINE_ARCH}-portbld-freebsd${OSREL}.
Using <command>cmake</command> For ports that use CMake, define USES= cmake, or USES= cmake:outsource to build in a separate directory (see below). Variables for Ports That Use <command>cmake</command> Variable Means CMAKE_ARGS Port specific CMake flags to be passed to the cmake binary. CMAKE_BUILD_TYPE Type of build (CMake predefined build profiles). Default is Release, or Debug if WITH_DEBUG is set. CMAKE_ENV Environment variables to be set for cmake binary. Default is ${CONFIGURE_ENV}. CMAKE_SOURCE_PATH Path to the source directory. Default is ${WRKSRC}.
CMake supports the following build profiles: Debug, Release, RelWithDebInfo and MinSizeRel. Debug and Release profiles respect system *FLAGS, RelWithDebInfo and MinSizeRel will set CFLAGS to -O2 -g and -Os -DNDEBUG correspondingly. The lower-cased value of CMAKE_BUILD_TYPE is exported to the PLIST_SUB and should be used if port installs *.cmake files depending on the build type (see deskutils/strigi for an example). Please note that some projects may define their own build profiles and/or force particular build type by setting CMAKE_BUILD_TYPE in CMakeLists.txt files. In order to make a port for such a project respect CFLAGS and WITH_DEBUG, the CMAKE_BUILD_TYPE definitions must be removed from those files. Most CMake-based projects support an out-of-source method of building. The out-of-source build for a port can be requested by using the :outsource suffix. When enabled, CONFIGURE_WRKSRC, BUILD_WRKSRC and INSTALL_WRKSRC will be set to ${WRKDIR}/.build and this directory will be used to keep all files generated during configuration and build stages, leaving the source directory intact. <literal>USES= cmake</literal> Example The following snippet demonstrates the use of CMake for a port. CMAKE_SOURCE_PATH is not usually required, but can be set when the sources are not located in the top directory, or if only a subset of the project is intended to be built by the port. USES= cmake:outsource CMAKE_SOURCE_PATH= ${WRKSRC}/subproject
Using <command>scons</command> If your port uses SCons, define USE_SCONS=yes. Variables for Ports That Use <command>scons</command> Variable Means SCONS_ARGS Port specific SCons flags passed to the SCons environment. SCONS_BUILDENV Variables to be set in system environment. SCONS_ENV Variables to be set in SCons environment. SCONS_TARGET Last argument passed to SCons, similar to MAKE_TARGET.
To make third party SConstruct respect everything that is passed to SCons in SCONS_ENV (that is, most importantly, CC/CXX/CFLAGS/CXXFLAGS), patch the SConstruct so build Environment is constructed like this: env = Environment(**ARGUMENTS) It may be then modified with env.Append and env.Replace.
Using GNU Autotools Introduction The various GNU autotools provide an abstraction mechanism for building a piece of software over a wide variety of operating systems and machine architectures. Within the Ports Collection, an individual port can make use of these tools via a simple construct: USE_AUTOTOOLS= tool:version[:operation] ... At the time of writing, tool can be one of libtool, libltdl, autoconf, autoheader, automake or aclocal. version specifies the particular tool revision to be used (see devel/{automake,autoconf,libtool}[0-9]+ for valid versions). operation is an optional extension to modify how the tool is used. Multiple tools can be specified at once, either by including them all on a single line, or using the += Makefile construct. Finally, there is the special tool, called autotools, which is a convenience function to bring in all available versions of the autotools to allow for cross-development work. This can also be accomplished by installing the devel/autotools port. <command>libtool</command> Shared libraries using the GNU building framework usually use libtool to adjust the compilation and installation of shared libraries to match the specifics of the underlying operating system. The usual practice is to use copy of libtool bundled with the application. In case you need to use external libtool, you can use the version provided by The Ports Collection: USE_AUTOTOOLS= libtool:version[:env] With no additional operations, libtool:version tells the building framework to patch the configure script with the system-installed copy of libtool. The GNU_CONFIGURE is implied. Further, a number of make and shell variables will be assigned for onward use by the port. See bsd.autotools.mk for details. With the :env operation, only the environment will be set up. Finally, LIBTOOLFLAGS and LIBTOOLFILES can be optionally set to override the most likely arguments to, and files patched by, libtool. Most ports are unlikely to need this. See bsd.autotools.mk for further details. <command>libltdl</command> Some ports make use of the libltdl library package, which is part of the libtool suite. Use of this library does not automatically necessitate the use of libtool itself, so a separate construct is provided. USE_AUTOTOOLS= libltdl:version Currently, all this does is to bring in a LIB_DEPENDS on the appropriate libltdl port, and is provided as a convenience function to help eliminate any dependencies on the autotools ports outside of the USE_AUTOTOOLS framework. There are no optional operations for this tool. <command>autoconf</command> and <command>autoheader</command> Some ports do not contain a configure script, but do contain an autoconf template in the configure.ac file. You can use the following assignments to let autoconf create the configure script, and also have autoheader create template headers for use by the configure script. USE_AUTOTOOLS= autoconf:version[:env] and USE_AUTOTOOLS= autoheader:version which also implies the use of autoconf:version. Similarly to libtool, the inclusion of the optional :env operation simply sets up the environment for further use. Without it, patching and reconfiguration of the port is carried out. The additional optional variables AUTOCONF_ARGS and AUTOHEADER_ARGS can be overridden by the port Makefile if specifically requested. As with the libtool equivalents, most ports are unlikely to need this. <command>automake</command> and <command>aclocal</command> Some packages only contain Makefile.am files. These have to be converted into Makefile.in files using automake, and the further processed by configure to generate an actual Makefile. Similarly, packages occasionally do not ship with included aclocal.m4 files, again required to build the software. This can be achieved with aclocal, which scans configure.ac or configure.in. aclocal has a similar relationship to automake as autoheader does to autoconf, described in the previous section. aclocal implies the use of automake, thus we have: USE_AUTOTOOLS= automake:version[:env] and USE_AUTOTOOLS= aclocal:version which also implies the use of automake:version. Similarly to libtool and autoconf, the inclusion of the optional :env operation simply sets up the environment for further use. Without it, reconfiguration of the port is carried out. As with autoconf and autoheader, both automake and aclocal have optional argument variables, AUTOMAKE_ARGS and ACLOCAL_ARGS respectively, which may be overridden by the port Makefile if required. Using GNU <literal>gettext</literal> Basic Usage If your port requires gettext, set USES= gettext, and your port will inherit a dependency on devel/gettext. Other values for gettext usage are listed in . A rather common case is a port using gettext and configure. Generally, GNU configure should be able to locate gettext automatically. If it ever fails to, hints at the location of gettext can be passed in CPPFLAGS and LDFLAGS as follows: USES= gettext CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib GNU_CONFIGURE= yes Of course, the code can be more compact if there are no more flags to pass to configure: USES= gettext GNU_CONFIGURE= yes Optional Usage Some software products allow for disabling NLS, e.g., through passing to configure. In that case, your port should use gettext conditionally, depending on the status of WITHOUT_NLS. For ports of low to medium complexity, you can rely on the following idiom: GNU_CONFIGURE= yes .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MNLS} USES+= gettext PLIST_SUB+= NLS="" .else CONFIGURE_ARGS+= --disable-nls PLIST_SUB+= NLS="@comment " .endif .include <bsd.port.mk> The next item on your to-do list is to arrange so that the message catalog files are included in the packing list conditionally. The Makefile part of this task is already provided by the idiom. It is explained in the section on advanced pkg-plist practices. In a nutshell, each occurrence of %%NLS%% in pkg-plist will be replaced by @comment  if NLS is disabled, or by a null string if NLS is enabled. Consequently, the lines prefixed by %%NLS%% will become mere comments in the final packing list if NLS is off; otherwise the prefix will be just left out. All you need to do now is insert %%NLS%% before each path to a message catalog file in pkg-plist. For example: %%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo %%NLS%%share/locale/no/LC_MESSAGES/foobar.mo In high complexity cases, you may need to use more advanced techniques than the recipe given here, such as dynamic packing list generation. Handling Message Catalog Directories There is a point to note about installing message catalog files. The target directories for them, which reside under LOCALBASE/share/locale, should rarely be created and removed by a port. The most popular languages have their respective directories listed in PORTSDIR/Templates/BSD.local.dist. The directories for many other languages are governed by the devel/gettext port. Consult its pkg-plist and see whether the port is going to install a message catalog file for a unique language. Using <application>Perl</application> If MASTER_SITES is set to MASTER_SITE_PERL_CPAN, then the preferred value of MASTER_SITE_SUBDIR is the top-level hierarchy name. For example, the recommended value for p5-Module-Name is Module. The top-level hierarchy can be examined at cpan.org. This keeps the port working when the author of the module changes. The exception to this rule is when the relevant directory does not exist or the distfile does not exist in that directory. In such case, using author's id as MASTER_SITE_SUBDIR is allowed. All of the tunable knobs below accept either YES or a version string like 5.8.0+. YES means that the port can be used with any of the supported Perl versions. If a port only works with specific versions of Perl, it can be indicated with a version string, specifying a minimum version (e.g., 5.7.3+), a maximum version (e.g., 5.8.0-) or an exact version (e.g., 5.8.3). Variables for Ports That Use <application>Perl</application> Variable Meaning USE_PERL5 The port uses Perl 5 to build and run. USE_PERL5_BUILD The port uses Perl 5 to build. USE_PERL5_RUN The port uses Perl 5 to run. PERL The full path of the Perl 5 interpreter, either in the system or installed from a port, but without the version number. Use this if you need to replace #!lines in scripts. PERL_CONFIGURE Configure using Perl's MakeMaker. It implies USE_PERL5. PERL_MODBUILD Configure, build and install using Module::Build. It implies PERL_CONFIGURE. Read only variables Means PERL_VERSION The full version of Perl installed (e.g., 5.8.9). PERL_LEVEL The installed Perl version as an integer of the form MNNNPP (e.g., 500809). PERL_ARCH Where Perl stores architecture dependent libraries. Defaults to ${ARCH}-freebsd. PERL_PORT Name of the Perl port that is installed (e.g., perl5). SITE_PERL Directory name where site specific Perl packages go. This value is added to PLIST_SUB.
Ports of Perl modules which do not have an official website should link to cpan.org in the WWW line of pkg-descr. The preferred URL form is http://search.cpan.org/dist/Module-Name/ (including the trailing slash). Do not use ${SITE_PERL} in dependency declarations. Doing so assumes that bsd.perl.mk has been included, which is not always true. Ports depending on this port will have incorrect dependencies if this port's files move later in an upgrade. The right way to declare Perl module dependencies is shown in the example below. Perl Dependency Example p5-IO-Tee>=0.64:${PORTSDIR}/devel/p5-IO-Tee
Using X11 X.Org Components The X11 implementation available in The Ports Collection is X.Org. If your application depends on X components, set USE_XORG to the list of required components. Available components, at the time of writing, are: bigreqsproto compositeproto damageproto dmx dmxproto dri2proto evieproto fixesproto fontcacheproto fontenc fontsproto fontutil glproto ice inputproto kbproto libfs oldx pciaccess pixman printproto randrproto recordproto renderproto resourceproto scrnsaverproto sm trapproto videoproto x11 xau xaw xaw6 xaw7 xbitmaps xcmiscproto xcomposite xcursor xdamage xdmcp xevie xext xextproto xf86bigfontproto xf86dgaproto xf86driproto xf86miscproto xf86rushproto xf86vidmodeproto xfixes xfont xfontcache xft xi xinerama xineramaproto xkbfile xkbui xmu xmuu xorg-server xp xpm xprintapputil xprintutil xproto xproxymngproto xrandr xrender xres xscrnsaver xt xtrans xtrap xtst xv xvmc xxf86dga xxf86misc xxf86vm. Always up-to-date list can be found in /usr/ports/Mk/bsd.xorg.mk. The Mesa Project is an effort to provide free OpenGL implementation. You can specify a dependency on various components of this project with USE_GL variable. Valid options are: glut, glu, glw, glew, gl and linux. For backwards compatibility, the value of yes maps to glu. USE_XORG Example USE_XORG= xrender xft xkbfile xt xaw USE_GL= glu Variables for Ports That Use X USE_IMAKE The port uses imake. XMKMF Set to the path of xmkmf if not in the PATH. Defaults to xmkmf -a.
Variables for Depending on Individual Parts of X11 X_IMAKE_PORT Port providing imake and several other utilities used to build X11. X_LIBRARIES_PORT Port providing X11 libraries. X_CLIENTS_PORT Port providing X clients. X_SERVER_PORT Port providing X server. X_FONTSERVER_PORT Port providing font server. X_PRINTSERVER_PORT Port providing print server. X_VFBSERVER_PORT Port providing virtual framebuffer server. X_NESTSERVER_PORT Port providing a nested X server. X_FONTS_ENCODINGS_PORT Port providing encodings for fonts. X_FONTS_MISC_PORT Port providing miscellaneous bitmap fonts. X_FONTS_100DPI_PORT Port providing 100dpi bitmap fonts. X_FONTS_75DPI_PORT Port providing 75dpi bitmap fonts. X_FONTS_CYRILLIC_PORT Port providing cyrillic bitmap fonts. X_FONTS_TTF_PORT Port providing &truetype; fonts. X_FONTS_TYPE1_PORT Port providing Type1 fonts. X_MANUALS_PORT Port providing developer oriented manual pages
Using X11-Related Variables # Use some X11 libraries and depend on # font server as well as cyrillic fonts. RUN_DEPENDS= ${LOCALBASE}/bin/xfs:${X_FONTSERVER_PORT} \ ${LOCALBASE}/lib/X11/fonts/cyrillic/crox1c.pcf.gz:${X_FONTS_CYRILLIC_PORT} USE_XORG= x11 xpm
Ports That Require Motif If your port requires a Motif library, define USE_MOTIF in the Makefile. Default Motif implementation is x11-toolkits/open-motif. Users can choose x11-toolkits/lesstif instead by setting WANT_LESSTIF variable. The MOTIFLIB variable will be set by bsd.port.mk to reference the appropriate Motif library. Please patch the source of your port to use ${MOTIFLIB} wherever the Motif library is referenced in the original Makefile or Imakefile. There are two common cases: If the port refers to the Motif library as -lXm in its Makefile or Imakefile, simply substitute ${MOTIFLIB} for it. If the port uses XmClientLibs in its Imakefile, change it to ${MOTIFLIB} ${XTOOLLIB} ${XLIB}. Note that MOTIFLIB (usually) expands to -L/usr/local/lib -lXm or /usr/local/lib/libXm.a, so there is no need to add -L or -l in front. X11 Fonts If your port installs fonts for the X Window System, put them in LOCALBASE/lib/X11/fonts/local. Getting a Fake <envar>DISPLAY</envar> with Xvfb Some applications require a working X11 display for compilation to succeed. This pose a problem for machines that operate headless. When the following variable is used, the build infrastructure will start the virtual framebuffer X server. The working DISPLAY is then passed to the build. USE_DISPLAY= yes Desktop Entries Desktop entries (a Freedesktop standard) provide a way to automatically adjust desktop features when a new program is installed, without requiring user intervention. For example, newly-installed programs automatically appear in the application menus of compatible desktop environments. Desktop entries originated in the GNOME desktop environment, but are now a standard and also work with KDE and Xfce. This bit of automation provides a real benefit to the user, and desktop entries are encouraged for applications which can be used in a desktop environment. Using Predefined <filename>.desktop</filename> Files Ports that include predefined *.desktop files should include those files in pkg-plist and install them in the $LOCALBASE/share/applications directory. The INSTALL_DATA macro is useful for installing these files. Updating desktop database If a port has a MimeType entry in its portname.desktop, the desktop database must be updated after install and deinstall. To do this, define USES= desktop-file-utils. Creating Desktop Entries with the <makevar>DESKTOP_ENTRIES</makevar> Macro Desktop entries can be easily created for applications by using the DESKTOP_ENTRIES variable. A file named name.desktop will be created, installed, and added to the pkg-plist automatically. Syntax is: DESKTOP_ENTRIES= "NAME" "COMMENT" "ICON" "COMMAND" "CATEGORY" StartupNotify The list of possible categories is available on the Freedesktop website. StartupNotify indicates whether the application is compatible with startup notifications. These are typically a graphic indicator like a clock that appear at the mouse pointer, menu, or panel to give the user an indication when a program is starting. A program that is compatible with startup notifications clears the indicator after it has started. Programs that are not compatible with startup notifications would never clear the indicator (potentially confusing and infuriating the user), and should have StartupNotify set to false so the indicator is not shown at all. Example: DESKTOP_ENTRIES= "ToME" "Roguelike game based on JRR Tolkien's work" \ "${DATADIR}/xtra/graf/tome-128.png" \ "tome -v -g" "Application;Game;RolePlaying;" \ false
Using GNOME The FreeBSD/GNOME project uses its own set of variables to define which GNOME components a particular port uses. A comprehensive list of these variables exists within the FreeBSD/GNOME project's homepage. Using Qt Ports That Require Qt Variables for Ports That Use Qt USE_QT_VER The port uses the Qt toolkit. The only possible value is 3. Appropriate parameters are passed to configure script and make. USE_QT4 Specify tool and library dependencies for ports that use Qt 4. See Qt 4 component selection for more details. QT_PREFIX Set to the path where Qt installed to (read-only variable). MOC Set to the path of moc (read-only variable). Default set according to USE_QT_VER value. QTCPPFLAGS Additional compiler flags passed via CONFIGURE_ENV for Qt toolkit. Default set according to USE_QT_VER. QTCFGLIBS Additional libraries for linking passed via CONFIGURE_ENV for Qt toolkit. Default set according to USE_QT_VER. QTNONSTANDARD Suppress modification of CONFIGURE_ENV, CONFIGURE_ARGS, CPPFLAGS and MAKE_ENV.
Additional Variables for Ports That Use Qt 4.x UIC Set to the path of uic (read-only variable). QMAKE Set to the path of qmake (read-only variable). QMAKESPEC Set to the path of configuration file for qmake (read-only variable). QMAKEFLAGS Additional flags for qmake. QT_INCDIR Set to Qt 4 include directories (read-only variable). QT_LIBDIR Set to Qt 4 libraries path (read-only variable). QT_PLUGINDIR Set to Qt 4 plugins path (read-only variable).
When USE_QT_VER is set to 3, some useful settings are passed to the configure script: CONFIGURE_ARGS+= --with-qt-includes=${QT_PREFIX}/include \ --with-qt-libraries=${QT_PREFIX}/lib \ --with-extra-libs=${LOCALBASE}/lib \ --with-extra-includes=${LOCALBASE}/include CONFIGURE_ENV+= MOC="${MOC}" LIBS="${QTCFGLIBS}" \ QTDIR="${QT_PREFIX}" KDEDIR="${KDE_PREFIX}" CPPFLAGS+= ${QTCPPFLAGS} If USE_QT4 is set, the following settings are deployed: CONFIGURE_ARGS+= --with-qt-includes=${QT_INCDIR} \ --with-qt-libraries=${QT_LIBDIR} \ --with-extra-libs=${LOCALBASE}/lib \ --with-extra-includes=${LOCALBASE}/include CONFIGURE_ENV+= MOC="${MOC}" UIC="${UIC}" LIBS="${QTCFGLIBS}" \ QMAKE="${QMAKE}" QMAKESPEC="${QMAKESPEC}" QTDIR="${QT_PREFIX}" MAKE_ENV+= QMAKESPEC="${QMAKESPEC}" PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \ QT_LIBDIR_REL=${QT_LIBDIR_REL} \ QT_PLUGINDIR_REL=${QT_PLUGINDIR_REL}
Component Selection (Qt 4.x Only) Individual Qt 4 tool and library dependencies must be specified in the USE_QT4 variable. Every component can be suffixed by either _build or _run, the suffix indicating whether the component should be depended on at buildtime or runtime, respectively. If unsuffixed, the component will be depended on at both build- and runtime. Usually, library components should be specified unsuffixed, tool components should be specified with the _build suffix and plugin components should be specified with the _run suffix. The most commonly used components are listed below (all available components are listed in _USE_QT4_ALL in /usr/ports/Mk/bsd.qt.mk): Available Qt 4 Library Components Name Description corelib core library (can be omitted unless the port uses nothing but corelib) gui graphical user interface library network network library opengl OpenGL library qt3support Qt 3 compatibility library qtestlib unit testing library script script library sql SQL library xml XML library
You can determine which libraries the application depends on, by running ldd on the main executable after a successful compilation. Available Qt 4 Tool Components Name Description moc meta object compiler (needed for almost every Qt application at buildtime) qmake Makefile generator / build utility rcc resource compiler (needed if the application comes with *.rc or *.qrc files) uic user interface compiler (needed if the application comes with *.ui files created by Qt Designer - in practice, every Qt application with a GUI)
Available Qt 4 Plugin Components Name Description iconengines SVG icon engine plugin (if the application ships SVG icons) imageformats imageformat plugins for GIF, JPEG, MNG and SVG (if the application ships image files)
Selecting Qt 4 Components In this example, the ported application uses the Qt 4 graphical user interface library, the Qt 4 core library, all of the Qt 4 code generation tools and Qt 4's Makefile generator. Since the gui library implies a dependency on the core library, corelib does not need to be specified. The Qt 4 code generation tools moc, uic and rcc, as well as the Makefile generator qmake are only needed at buildtime, thus they are specified with the _build suffix: USE_QT4= gui moc_build qmake_build rcc_build uic_build
Additional Considerations If the application does not provide a configure file but a .pro file, you can use the following: HAS_CONFIGURE= yes do-configure: @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \ ${QMAKE} ${QMAKEFLAGS} PREFIX=${PREFIX} texmaker.pro Note the similarity to the qmake line from the provided BUILD.sh script. Passing CONFIGURE_ENV ensures qmake will see the QMAKESPEC variable, without which it cannot work. qmake generates standard Makefiles, so it is not necessary to write our own build target. Qt applications often are written to be cross-platform and often X11/Unix is not the platform they are developed on, which in turn often leads to certain loose ends, like: Missing additional include paths. Many applications come with system tray icon support, but neglect to look for includes and/or libraries in the X11 directories. You can tell qmake to add directories to the include and library search paths via the command line, for example: ${QMAKE} ${QMAKEFLAGS} PREFIX=${PREFIX} INCLUDEPATH+=${LOCALBASE}/include \ LIBS+=-L${LOCALBASE}/lib sillyapp.pro Bogus installation paths. Sometimes data such as icons or .desktop files are by default installed into directories which are not scanned by XDG-compatible applications. editors/texmaker is an example for this - look at patch-texmaker.pro in the files directory of that port for a template on how to remedy this directly in the qmake project file.
Using KDE Variable Definitions (KDE 3.x Only) Variables for Ports That Use KDE 3.x USE_KDELIBS_VER The port uses KDE libraries. It specifies the major version of KDE to use and implies USE_QT_VER of the appropriate version. The only possible value is 3. USE_KDEBASE_VER The port uses KDE base. It specifies the major version of KDE to use and implies USE_QT_VER of the appropriate version. The only possible value is 3.
KDE 4 Variable Definitions If your application depends on KDE 4.x, set USE_KDE4 to the list of required components. _build and _run suffixes can be used to force components dependency type (e.g., baseapps_run). If no suffix is set, a default dependency type will be used. If you want to force both types, add the component twice with both suffixes (e.g., automoc4_build automoc4_run). The most commonly used components are listed below (up-to-date components are documented at the top of /usr/ports/Mk/bsd.kde4.mk): Available KDE 4 Components Name Description kdehier Hierarchy of common KDE directories kdelibs KDE Developer Platform kdeprefix If set, port will be installed into ${KDE4_PREFIX} instead of ${LOCALBASE} sharedmime MIME types database for KDE ports automoc4 Automatic moc for Qt 4 packages akonadi Storage server for KDE-Pim soprano Qt 4 RDF framework strigi Desktop search daemon libkcddb KDE CDDB library libkcompactdisc KDE library for interfacing with audio CDs libkdeedu Libraries used by educational applications libkdcraw KDE LibRaw library libkexiv2 KDE Exiv2 library libkipi KDE Image Plugin Interface libkonq Konqueror core library libksane KDE SANE ("Scanner Access Now Easy") library pimlibs KDE-Pim libraries kate Text editor framework marble Virtual globe okular Universal document viewer korundum KDE Ruby bindings perlkde KDE Perl bindings pykde4 KDE Python bindings pykdeuic4 PyKDE user interface compiler smokekde KDE SMOKE libraries
KDE 4.x ports are installed into KDE4_PREFIX, which is /usr/local/kde4 currently, to avoid conflicts with KDE 3.x ports. This is achieved by specifying the kdeprefix component, which overrides the default PREFIX. The ports however respect any PREFIX set via MAKEFLAGS environment variable and/or make arguments. <makevar>USE_KDE4</makevar> Example This is a simple example for a KDE 4 port. USES= cmake:outsource instructs the port to utilize CMake, a configuration tool widely used by KDE 4 projects (see for detailed usage). USE_KDE4 brings dependency on KDE libraries and makes port using automoc4 at build stage. Required KDE components and other dependencies can be determined through configure log. USE_KDE4 does not imply USE_QT4. If a port requires some Qt 4 components, they should be specified in USE_QT4. USES= cmake:outsource USE_KDE4= kdelibs kdeprefix automoc4 USE_QT4= moc_build qmake_build rcc_build uic_build
Using Java Variable Definitions If your port needs a Java™ Development Kit (JDK™) to either build, run or even extract the distfile, then it should define USE_JAVA. There are several JDKs in the ports collection, from various vendors, and in several versions. If your port must use one of these versions, you can define which one. The - most current version is java/jdk16. + most current version, and &os; default is java/openjdk6. Variables Which May be Set by Ports That Use Java Variable Means USE_JAVA Should be defined for the remaining variables to have any effect. JAVA_VERSION List of space-separated suitable Java versions for the port. An optional "+" allows you to specify a range of versions (allowed values: 1.5[+] 1.6[+] 1.7[+]). JAVA_OS List of space-separated suitable JDK port operating systems for the port (allowed values: native linux). JAVA_VENDOR List of space-separated suitable JDK port vendors for the port (allowed values: freebsd bsdjava sun openjdk). JAVA_BUILD When set, it means that the selected JDK port should be added to the build dependencies of the port. JAVA_RUN When set, it means that the selected JDK port should be added to the run dependencies of the port. JAVA_EXTRACT When set, it means that the selected JDK port should be added to the extract dependencies of the port.
Below is the list of all settings a port will receive after setting USE_JAVA: Variables Provided to Ports That Use Java Variable Value JAVA_PORT The name of the JDK port (e.g., 'java/openjdk6'). JAVA_PORT_VERSION The full version of the JDK port (e.g., '1.6.0'). If you only need the first two digits of this version number, use ${JAVA_PORT_VERSION:C/^([0-9])\.([0-9])(.*)$/\1.\2/}. JAVA_PORT_OS The operating system used by the JDK port (e.g., 'native'). JAVA_PORT_VENDOR The vendor of the JDK port (e.g., 'openjdk'). JAVA_PORT_OS_DESCRIPTION Description of the operating system used by the JDK port (e.g., 'Native'). JAVA_PORT_VENDOR_DESCRIPTION Description of the vendor of the JDK port (e.g., 'OpenJDK BSD Porting Team'). JAVA_HOME Path to the installation directory of the JDK (e.g., '/usr/local/openjdk6'). JAVAC Path to the Java compiler to use (e.g., '/usr/local/openjdk6/bin/javac'). JAR Path to the jar tool to use (e.g., '/usr/local/openjdk6/bin/jar' or '/usr/local/bin/fastjar'). APPLETVIEWER Path to the appletviewer utility (e.g., '/usr/local/openjdk6/bin/appletviewer'). JAVA Path to the java executable. Use this for executing Java programs (e.g., '/usr/local/openjdk6/bin/java'). JAVADOC Path to the javadoc utility program. JAVAH Path to the javah program. JAVAP Path to the javap program. JAVA_KEYTOOL Path to the keytool utility program. JAVA_N2A Path to the native2ascii tool. JAVA_POLICYTOOL Path to the policytool program. JAVA_SERIALVER Path to the serialver utility program. RMIC Path to the RMI stub/skeleton generator, rmic. RMIREGISTRY Path to the RMI registry program, rmiregistry. RMID Path to the RMI daemon program rmid. JAVA_CLASSES Path to the archive that contains the JDK class files, ${JAVA_HOME}/jre/lib/rt.jar.
You may use the java-debug make target to get information for debugging your port. It will display the value of many of the forecited variables. Additionally, the following constants are defined so all Java ports may be installed in a consistent way: Constants Defined for Ports That Use Java Constant Value JAVASHAREDIR The base directory for everything related to Java. Default: ${PREFIX}/share/java. JAVAJARDIR The directory where JAR files should be installed. Default: ${JAVASHAREDIR}/classes. JAVALIBDIR The directory where JAR files installed by other ports are located. Default: ${LOCALBASE}/share/java/classes.
The related entries are defined in both PLIST_SUB (documented in ) and SUB_LIST.
Building with Ant When the port is to be built using Apache Ant, it has to define USE_ANT. Ant is thus considered to be the sub-make command. When no do-build target is defined by the port, a default one will be set that simply runs Ant according to MAKE_ENV, MAKE_ARGS and ALL_TARGET. This is similar to the USE_GMAKE mechanism, which is documented in . Best Practices When porting a Java library, your port should install the JAR file(s) in ${JAVAJARDIR}, and everything else under ${JAVASHAREDIR}/${PORTNAME} (except for the documentation, see below). In order to reduce the packing file size, you may reference the JAR file(s) directly in the Makefile. Just use the following statement (where myport.jar is the name of the JAR file installed as part of the port): PLIST_FILES+= %%JAVAJARDIR%%/myport.jar When porting a Java application, the port usually installs everything under a single directory (including its JAR dependencies). The use of ${JAVASHAREDIR}/${PORTNAME} is strongly encouraged in this regard. It is up the porter to decide whether the port should install the additional JAR dependencies under this directory or directly use the already installed ones (from ${JAVAJARDIR}). Regardless of the type of your port (library or application), the additional documentation should be installed in the same location as for any other port. The JavaDoc tool is known to produce a different set of files depending on the version of the JDK that is used. For ports that do not enforce the use of a particular JDK, it is therefore a complex task to specify the packing list (pkg-plist). This is one reason why porters are strongly encouraged to use the PORTDOCS macro. Moreover, even if you can predict the set of files that will be generated by javadoc, the size of the resulting pkg-plist advocates for the use of PORTDOCS. The default value for DATADIR is ${PREFIX}/share/${PORTNAME}. It is a good idea to override DATADIR to ${JAVASHAREDIR}/${PORTNAME} for Java ports. Indeed, DATADIR is automatically added to PLIST_SUB (documented in ) so you may use %%DATADIR%% directly in pkg-plist. As for the choice of building Java ports from source or directly installing them from a binary distribution, there is no defined policy at the time of writing. However, people from the &os; Java Project encourage porters to have their ports built from source whenever it is a trivial task. All the features that have been presented in this section are implemented in bsd.java.mk. If you ever think that your port needs more sophisticated Java support, please first have a look at the bsd.java.mk + url="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.java.mk?view=markup">bsd.java.mk SVN log as it usually takes some time to document the latest features. Then, if you think the support you are lacking would be beneficial to many other Java ports, feel free to discuss it on the &a.java;. Although there is a java category for PRs, it refers to the JDK porting effort from the &os; Java project. Therefore, you should submit your Java port in the ports category as for any other port, unless the issue you are trying to resolve is related to either a JDK implementation or bsd.java.mk. Similarly, there is a defined policy regarding the CATEGORIES of a Java port, which is detailed in .
Web Applications, Apache and PHP Apache Variables for Ports That Use Apache USE_APACHE The port requires Apache. Possible values: yes (gets any version), 22, 24, 22-24, 22+, etc. The default APACHE version is 22. More details are available in ports/Mk/bsd.apache.mk and at wiki.freebsd.org/Apache/. APXS Full path to the apxs binary. Can be overridden in your port. HTTPD Full path to the httpd binary. Can be overridden in your port. APACHE_VERSION The version of present Apache installation (read-only variable). This variable is only available after inclusion of bsd.port.pre.mk. Possible values: 22, 24. APACHEMODDIR Directory for Apache modules. This variable is automatically expanded in pkg-plist. APACHEINCLUDEDIR Directory for Apache headers. This variable is automatically expanded in pkg-plist. APACHEETCDIR Directory for Apache configuration files. This variable is automatically expanded in pkg-plist.
Useful Variables for Porting Apache Modules MODULENAME Name of the module. Default value is PORTNAME. Example: mod_hello SHORTMODNAME Short name of the module. Automatically derived from MODULENAME, but can be overridden. Example: hello AP_FAST_BUILD Use apxs to compile and install the module. AP_GENPLIST Also automatically creates a pkg-plist. AP_INC Adds a directory to a header search path during compilation. AP_LIB Adds a directory to a library search path during compilation. AP_EXTRAS Additional flags to pass to apxs.
Web Applications Web applications should be installed into PREFIX/www/appname. For your convenience, this path is available both in Makefile and in pkg-plist as WWWDIR, and the path relative to PREFIX is available in Makefile as WWWDIR_REL. The user and group of web server process are available as WWWOWN and WWWGRP, in case you need to change the ownership of some files. The default values of both are www. If you want different values for your port, use WWWOWN?= myuser notation, to allow user to override it easily. Do not depend on Apache unless the web app explicitly needs Apache. Respect that users may wish to run your web app on different web server than Apache. PHP Variables for Ports That Use PHP USE_PHP The port requires PHP. The value yes adds a dependency on PHP. The list of required PHP extensions can be specified instead. Example: pcre xml gettext DEFAULT_PHP_VER Selects which major version of PHP will be installed as a dependency when no PHP is installed yet. Default is 5. Possible values: 4, 5 IGNORE_WITH_PHP The port does not work with PHP of the given version. Possible values: 4, 5 USE_PHPIZE The port will be built as a PHP extension. USE_PHPEXT The port will be treated as a PHP extension, including installation and registration in the extension registry. USE_PHP_BUILD Set PHP as a build dependency. WANT_PHP_CLI Want the CLI (command line) version of PHP. WANT_PHP_CGI Want the CGI version of PHP. WANT_PHP_MOD Want the Apache module version of PHP. WANT_PHP_SCR Want the CLI or the CGI version of PHP. WANT_PHP_WEB Want the Apache module or the CGI version of PHP.
PEAR Modules Porting PEAR modules is a very simple process. Use the variables FILES, TESTS, DATA, SQLS, SCRIPTFILES, DOCS and EXAMPLES to list the files you want to install. All listed files will be automatically installed into the appropriate locations and added to pkg-plist. Include ${PORTSDIR}/devel/pear/bsd.pear.mk on the last line of the Makefile. Example Makefile for PEAR Class PORTNAME= Date PORTVERSION= 1.4.3 CATEGORIES= devel www pear MAINTAINER= example@domain.com COMMENT= PEAR Date and Time Zone Classes BUILD_DEPENDS= ${PEARDIR}/PEAR.php:${PORTSDIR}/devel/pear-PEAR RUN_DEPENDS:= ${BUILD_DEPENDS} FILES= Date.php Date/Calc.php Date/Human.php Date/Span.php \ Date/TimeZone.php TESTS= test_calc.php test_date_methods_span.php testunit.php \ testunit_date.php testunit_date_span.php wknotest.txt \ bug674.php bug727_1.php bug727_2.php bug727_3.php \ bug727_4.php bug967.php weeksinmonth_4_monday.txt \ weeksinmonth_4_sunday.txt weeksinmonth_rdm_monday.txt \ weeksinmonth_rdm_sunday.txt DOCS= TODO _DOCSDIR= . .include <bsd.port.pre.mk> .include "${PORTSDIR}/devel/pear/bsd.pear.mk" .include <bsd.port.post.mk>
Using Python The Ports Collection supports parallel installation of multiple Python versions. Ports should make sure to use a correct python interpreter, according to the user-settable PYTHON_VERSION variable. Most prominently, this means replacing the path to python executable in scripts with the value of PYTHON_CMD variable. Ports that install files under PYTHON_SITELIBDIR should use the pyXY- package name prefix, so their package name embeds the version of Python they are installed into. PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} Most Useful Variables for Ports That Use Python USE_PYTHON The port needs Python. Minimal required version can be specified with values such as 2.6+. Version ranges can also be specified, by separating two version numbers with a dash, e.g.: 2.6-2.7 USE_PYDISTUTILS Use Python distutils for configuring, compiling and installing. This is required when the port comes with setup.py. This overrides the do-build and do-install targets and may also override do-configure if GNU_CONFIGURE is not defined. PYTHON_PKGNAMEPREFIX Used as a PKGNAMEPREFIX to distinguish packages for different Python versions. Example: py24- PYTHON_SITELIBDIR Location of the site-packages tree, that contains installation path of Python (usually LOCALBASE). The PYTHON_SITELIBDIR variable can be very useful when installing Python modules. PYTHONPREFIX_SITELIBDIR The PREFIX-clean variant of PYTHON_SITELIBDIR. Always use %%PYTHON_SITELIBDIR%% in pkg-plist when possible. The default value of %%PYTHON_SITELIBDIR%% is lib/python%%PYTHON_VERSION%%/site-packages PYTHON_CMD Python interpreter command line, including version number. PYNUMERIC Dependency line for numeric extension. PYNUMPY Dependency line for the new numeric extension, numpy. (PYNUMERIC is deprecated by upstream vendor). PYXML Dependency line for XML extension (not needed for Python 2.0 and higher as it is also in base distribution). USE_TWISTED Add dependency on twistedCore. The list of required components can be specified as a value of this variable. Example: web lore pair flow USE_ZOPE Add dependency on Zope, a web application platform. Change Python dependency to Python 2.7. Set ZOPEBASEDIR containing a directory with Zope installation.
A complete list of available variables can be found in /usr/ports/Mk/bsd.python.mk.
Using <application>Tcl/Tk</application> The Ports Collection supports parallel installation of multiple Tcl/Tk versions. Ports should try to support at least the default Tcl/Tk version and higher with the USE_TCL and USE_TK variables. It is possible to specify the desired version of tcl with the WITH_TCL_VER variable. The Most Useful Variables for Ports That Use <application>Tcl/Tk</application> USE_TCL The port depends on the Tcl library (not the shell). Minimal required version can be specified with values such as 84+. Individual unsupported versions can be specified with the INVALID_TCL_VER variable. USE_TCL_BUILD The port needs Tcl only during the build time. USE_TCL_WRAPPER Ports that require the Tcl shell and do not require a specific tclsh version should use this new variable. The tclsh wrapper is installed on the system. The user can specify the desired tcl shell to use. WITH_TCL_VER User-defined variable that sets the desired Tcl version. UNIQUENAME_WITH_TCL_VER Like WITH_TCL_VER, but per-port. USE_TCL_THREADS Require a threaded build of Tcl/Tk. USE_TK The port depends on the Tk library (not the wish shell). Implies USE_TCL with the same value. For more information see the description of USE_TCL variable. USE_TK_BUILD Analog to the USE_TCL_BUILD variable. USE_TK_WRAPPER Analog to the USE_TCL_WRAPPER variable. WITH_TK_VER Analog to the WITH_TCL_VER variable and implies WITH_TCL_VER of the same value.
A complete list of available variables can be found in /usr/ports/Mk/bsd.tcl.mk.
Using Emacs This section is yet to be written. Using Ruby Useful Variables for Ports That Use Ruby Variable Description USE_RUBY The port requires Ruby. USE_RUBY_EXTCONF The port uses extconf.rb to configure. USE_RUBY_SETUP The port uses setup.rb to configure. RUBY_SETUP Set to the alternative name of setup.rb. Common value is install.rb.
The following table shows the selected variables available to port authors via the ports infrastructure. These variables should be used to install files into their proper locations. Use them in pkg-plist as much as possible. These variables should not be redefined in the port. Selected Read-Only Variables for Ports That Use Ruby Variable Description Example value RUBY_PKGNAMEPREFIX Used as a PKGNAMEPREFIX to distinguish packages for different Ruby versions. ruby18- RUBY_VERSION Full version of Ruby in the form of x.y.z. 1.8.2 RUBY_SITELIBDIR Architecture independent libraries installation path. /usr/local/lib/ruby/site_ruby/1.8 RUBY_SITEARCHLIBDIR Architecture dependent libraries installation path. /usr/local/lib/ruby/site_ruby/1.8/amd64-freebsd6 RUBY_MODDOCDIR Module documentation installation path. /usr/local/share/doc/ruby18/patsy RUBY_MODEXAMPLESDIR Module examples installation path. /usr/local/share/examples/ruby18/patsy
A complete list of available variables can be found in /usr/ports/Mk/bsd.ruby.mk.
Using SDL The USE_SDL variable is used to autoconfigure the dependencies for ports which use an SDL based library like devel/sdl12 and x11-toolkits/sdl_gui. The following SDL libraries are recognized at the moment: sdl: devel/sdl12 gfx: graphics/sdl_gfx gui: x11-toolkits/sdl_gui image: graphics/sdl_image ldbad: devel/sdl_ldbad mixer: audio/sdl_mixer mm: devel/sdlmm net: net/sdl_net sound: audio/sdl_sound ttf: graphics/sdl_ttf Therefore, if a port has a dependency on net/sdl_net and audio/sdl_mixer, the syntax will be: USE_SDL= net mixer The dependency devel/sdl12, which is required by net/sdl_net and audio/sdl_mixer, is automatically added as well. If you use USE_SDL, it will automatically: Add a dependency on sdl12-config to BUILD_DEPENDS Add the variable SDL_CONFIG to CONFIGURE_ENV Add the dependencies of the selected libraries to the LIB_DEPENDS To check whether an SDL library is available, you can do it with the WANT_SDL variable: WANT_SDL= yes .include <bsd.port.pre.mk> .if ${HAVE_SDL:Mmixer}!="" USE_SDL+= mixer .endif .include <bsd.port.post.mk> Using <application>wxWidgets</application> This section describes the status of the wxWidgets libraries in the ports tree and its integration with the ports system. Introduction There are many versions of the wxWidgets libraries which conflict between them (install files under the same name). In the ports tree this problem has been solved by installing each version under a different name using version number suffixes. The obvious disadvantage of this is that each application has to be modified to find the expected version. Fortunately, most of the applications call the wx-config script to determine the necessary compiler and linker flags. The script is named differently for every available version. Majority of applications respect an environment variable, or accept a configure argument, to specify which wx-config script to call. Otherwise they have to be patched. Version Selection To make your port use a specific version of wxWidgets there are two variables available for defining (if only one is defined the other will be set to a default value): Variables to Select <application>wxWidgets</application> Versions Variable Description Default value USE_WX List of versions the port can use All available versions USE_WX_NOT List of versions the port can not use None
The following is a list of available wxWidgets versions and the corresponding ports in the tree: Available <application>wxWidgets</application> Versions Version Port 2.4 x11-toolkits/wxgtk24 2.6 x11-toolkits/wxgtk26 2.8 x11-toolkits/wxgtk28
The versions starting from 2.5 also come in Unicode version and are installed by a slave port named like the normal one plus a -unicode suffix, but this can be handled with variables (see ). The variables in can be set to one or more of the following combinations separated by spaces: <application>wxWidgets</application> Version Specifications Description Example Single version 2.4 Ascending range 2.4+ Descending range 2.6- Full range (must be ascending) 2.4-2.6
There are also some variables to select the preferred versions from the available ones. They can be set to a list of versions, the first ones will have higher priority. Variables to Select Preferred <application>wxWidgets</application> Versions Name Designed for WANT_WX_VER the port WITH_WX_VER the user
Component Selection There are other applications that, while not being wxWidgets libraries, are related to them. These applications can be specified in the WX_COMPS variable. The following components are available: Available <application>wxWidgets</application> Components Name Description Version restriction wx main library none contrib contributed libraries none python wxPython (Python bindings) 2.4-2.6 mozilla wxMozilla 2.4 svg wxSVG 2.6
The dependency type can be selected for each component by adding a suffix separated by a semicolon. If not present then a default type will be used (see ). The following types are available: Available <application>wxWidgets</application> Dependency Types Name Description build Component is required for building, equivalent to BUILD_DEPENDS run Component is required for running, equivalent to RUN_DEPENDS lib Component is required for building and running, equivalent to LIB_DEPENDS
The default values for the components are detailed in the following table: Default <application>wxWidgets</application> Dependency Types Component Dependency type wx lib contrib lib python run mozilla lib svg lib
Selecting <application>wxWidgets</application> Components The following fragment corresponds to a port which uses wxWidgets version 2.4 and its contributed libraries. USE_WX= 2.4 WX_COMPS= wx contrib
Unicode The wxWidgets library supports Unicode since version 2.5. In the ports tree both versions are available and can be selected with the following variables: Variables to Select Unicode in <application>wxWidgets</application> Versions Variable Description Designed for WX_UNICODE The port works only with the Unicode version the port WANT_UNICODE The port works with both versions but prefers the Unicode one the port WITH_UNICODE The port will use the Unicode version the user WITHOUT_UNICODE The port will use the normal version if supported (when WX_UNICODE is not defined) the user
Do not use WX_UNICODE for ports that can use both Unicode and normal versions. If you want the port to use Unicode by default define WANT_UNICODE instead.
Detecting Installed Versions To detect an installed version you have to define WANT_WX. If you do not set it to a specific version then the components will have a version suffix. The HAVE_WX variable will be filled after detection. Detecting Installed <application>wxWidgets</application> Versions and Components The following fragment can be used in a port that uses wxWidgets if it is installed, or an option is selected. WANT_WX= yes .include <bsd.port.pre.mk> .if defined(WITH_WX) || !empty(PORT_OPTIONS:MWX) || !empty(HAVE_WX:Mwx-2.4) USE_WX= 2.4 CONFIGURE_ARGS+= --enable-wx .endif The following fragment can be used in a port that enables wxPython support if it is installed or if an option is selected, in addition to wxWidgets, both version 2.6. USE_WX= 2.6 WX_COMPS= wx WANT_WX= 2.6 .include <bsd.port.pre.mk> .if defined(WITH_WXPYTHON) || !empty(PORT_OPTIONS:MWXPYTHON) || !empty(HAVE_WX:Mpython) WX_COMPS+= python CONFIGURE_ARGS+= --enable-wxpython .endif Defined Variables The following variables are available in the port (after defining one from ). Variables Defined for Ports That Use <application>wxWidgets</application> Name Description WX_CONFIG The path to the wxWidgets wx-config script (with different name) WXRC_CMD The path to the wxWidgets wxrc program (with different name) WX_VERSION The wxWidgets version that is going to be used (e.g., 2.6) WX_UNICODE If not defined but Unicode is going to be used then it will be defined
Processing in <filename>bsd.port.pre.mk</filename> If you need to use the variables for running commands right after including bsd.port.pre.mk you need to define WX_PREMK. If you define WX_PREMK, then the version, dependencies, components and defined variables will not change if you modify the wxWidgets port variables after including bsd.port.pre.mk. Using <application>wxWidgets</application> Variables in Commands The following fragment illustrates the use of WX_PREMK by running the wx-config script to obtain the full version string, assign it to a variable and pass it to the program. USE_WX= 2.4 WX_PREMK= yes .include <bsd.port.pre.mk> .if exists(${WX_CONFIG}) VER_STR!= ${WX_CONFIG} --release PLIST_SUB+= VERSION="${VER_STR}" .endif The wxWidgets variables can be safely used in commands when they are inside targets without the need of WX_PREMK. Additional <command>configure</command> Arguments Some GNU configure scripts can not find wxWidgets with just the WX_CONFIG environment variable set, requiring additional arguments. The WX_CONF_ARGS variable can be used for provide them. Legal Values for <makevar>WX_CONF_ARGS</makevar> Possible value Resulting argument absolute --with-wx-config=${WX_CONFIG} relative --with-wx=${LOCALBASE} --with-wx-config=${WX_CONFIG:T}
Using <application>Lua</application> This section describes the status of the Lua libraries in the ports tree and its integration with the ports system. Introduction There are many versions of the Lua libraries and corresponding interpreters, which conflict between them (install files under the same name). In the ports tree this problem has been solved by installing each version under a different name using version number suffixes. The obvious disadvantage of this is that each application has to be modified to find the expected version. But it can be solved by adding some additional flags to the compiler and linker. Version Selection To make your port use a specific version of Lua there are two variables available for defining (if only one is defined the other will be set to a default value): Variables to Select <application>Lua</application> Versions Variable Description Default value USE_LUA List of versions the port can use All available versions USE_LUA_NOT List of versions the port can not use None
The following is a list of available Lua versions and the corresponding ports in the tree: Available <application>Lua</application> Versions Version Port 4.0 lang/lua4 5.0 lang/lua50 5.1 lang/lua
The variables in can be set to one or more of the following combinations separated by spaces: <application>Lua</application> Version Specifications Description Example Single version 4.0 Ascending range 5.0+ Descending range 5.0- Full range (must be ascending) 5.0-5.1
There are also some variables to select the preferred versions from the available ones. They can be set to a list of versions, the first ones will have higher priority. Variables to Select Preferred <application>Lua</application> Versions Name Designed for WANT_LUA_VER the port WITH_LUA_VER the user
Selecting the <application>Lua</application> Version The following fragment is from a port which can use Lua version 5.0 or 5.1, and uses 5.0 by default. It can be overridden by the user with WITH_LUA_VER. USE_LUA= 5.0-5.1 WANT_LUA_VER= 5.0
Component Selection There are other applications that, while not being Lua libraries, are related to them. These applications can be specified in the LUA_COMPS variable. The following components are available: Available <application>Lua</application> Components Name Description Version restriction lua main library none tolua Library for accessing C/C++ code 4.0-5.0 ruby Ruby bindings 4.0-5.0
There are more components but they are modules for the interpreter, not used by applications (only by other modules). The dependency type can be selected for each component by adding a suffix separated by a semicolon. If not present then a default type will be used (see ). The following types are available: Available <application>Lua</application> Dependency Types Name Description build Component is required for building, equivalent to BUILD_DEPENDS run Component is required for running, equivalent to RUN_DEPENDS lib Component is required for building and running, equivalent to LIB_DEPENDS
The default values for the components are detailed in the following table: Default <application>Lua</application> Dependency Types Component Dependency type lua lib for 4.0-5.0 (shared) and build for 5.1 (static) tolua build (static) ruby lib (shared)
Selecting <application>Lua</application> Components The following fragment corresponds to a port which uses Lua version 4.0 and its Ruby bindings. USE_LUA= 4.0 LUA_COMPS= lua ruby
Detecting Installed Versions To detect an installed version you have to define WANT_LUA. If you do not set it to a specific version then the components will have a version suffix. The HAVE_LUA variable will be filled after detection. Detecting Installed <application>Lua</application> Versions and Components The following fragment can be used in a port that uses Lua if it is installed, or an option is selected. WANT_LUA= yes .include <bsd.port.pre.mk> .if defined(WITH_LUA5) || !empty(PORT_OPTIONS:MLUA5) || !empty(HAVE_LUA:Mlua-5.[01]) USE_LUA= 5.0-5.1 CONFIGURE_ARGS+= --enable-lua5 .endif The following fragment can be used in a port that enables tolua support if it is installed or if an option is selected, in addition to Lua, both version 4.0. USE_LUA= 4.0 LUA_COMPS= lua WANT_LUA= 4.0 .include <bsd.port.pre.mk> .if defined(WITH_TOLUA) || !empty(PORT_OPTIONS:MTOLUA) || !empty(HAVE_LUA:Mtolua) LUA_COMPS+= tolua CONFIGURE_ARGS+= --enable-tolua .endif Defined Variables The following variables are available in the port (after defining one from ). Variables Defined for Ports That Use <application>Lua</application> Name Description LUA_VER The Lua version that is going to be used (e.g., 5.1) LUA_VER_SH The Lua shared library major version (e.g., 1) LUA_VER_STR The Lua version without the dots (e.g., 51) LUA_PREFIX The prefix where Lua (and components) is installed LUA_SUBDIR The directory under ${PREFIX}/bin, ${PREFIX}/share and ${PREFIX}/lib where Lua is installed LUA_INCDIR The directory where Lua and tolua header files are installed LUA_LIBDIR The directory where Lua and tolua libraries are installed LUA_MODLIBDIR The directory where Lua module libraries (.so) are installed LUA_MODSHAREDIR The directory where Lua modules (.lua) are installed LUA_PKGNAMEPREFIX The package name prefix used by Lua modules LUA_CMD The path to the Lua interpreter LUAC_CMD The path to the Lua compiler TOLUA_CMD The path to the tolua program
Telling the Port Where to Find <application>Lua</application> The following fragment shows how to tell a port that uses a configure script where the Lua header files and libraries are. USE_LUA= 4.0 GNU_CONFIGURE= yes CONFIGURE_ENV= CPPFLAGS="-I${LUA_INCDIR}" LDFLAGS="-L${LUA_LIBDIR}"
Processing in <filename>bsd.port.pre.mk</filename> If you need to use the variables for running commands right after including bsd.port.pre.mk you need to define LUA_PREMK. If you define LUA_PREMK, then the version, dependencies, components and defined variables will not change if you modify the Lua port variables after including bsd.port.pre.mk. Using <application>Lua</application> Variables in Commands The following fragment illustrates the use of LUA_PREMK by running the Lua interpreter to obtain the full version string, assign it to a variable and pass it to the program. USE_LUA= 5.0 LUA_PREMK= yes .include <bsd.port.pre.mk> .if exists(${LUA_CMD}) VER_STR!= ${LUA_CMD} -v CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}" .endif The Lua variables can be safely used in commands when they are inside targets without the need of LUA_PREMK.
Using Xfce The USE_XFCE variable is used to autoconfigure the dependencies for ports which use an Xfce based library or application like x11-toolkits/libxfce4gui and x11-wm/xfce4-panel. The following Xfce libraries and applications are recognized at the moment: libexo: x11/libexo libgui: x11-toolkits/libxfce4gui libutil: x11/libxfce4util libmcs: x11/libxfce4mcs mcsmanager: sysutils/xfce4-mcs-manager panel: x11-wm/xfce4-panel thunar: x11-fm/thunar wm: x11-wm/xfce4-wm xfdev: dev/xfce4-dev-tools The following additional parameters are recognized: configenv: Use this if your port requires a special modified CONFIGURE_ENV to find its required libraries. -I${LOCALBASE}/include -L${LOCALBASE}/lib gets added to CPPFLAGS to CONFIGURE_ENV. Therefore, if a port has a dependency on sysutils/xfce4-mcs-manager and requires the special CPPFLAGS in its configure environment, the syntax will be: USE_XFCE= mcsmanager configenv Using Mozilla Variables for Ports That Use Mozilla USE_GECKO Gecko backend the port can handle. Possible values: libxul (libxul.so), seamonkey (libgtkembedmoz.so, deprecated, should not be used any more). USE_FIREFOX The port requires Firefox as a runtime dependency. Possible values: yes (get default version), 40, 36, 35. Default dependency is on version 40. USE_FIREFOX_BUILD The port requires Firefox as a buildtime dependency. Possible values: see USE_FIREFOX. This automatically sets USE_FIREFOX and assigns the same value. USE_SEAMONKEY The port requires SeaMonkey as a runtime dependency. Possible values: yes (get default version), 20, 11 (deprecated, should not be used any more). Default dependency is on version 20. USE_SEAMONKEY_BUILD The port requires SeaMonkey as a buildtime dependency. Possible values: see USE_SEAMONKEY. This automatically sets USE_SEAMONKEY and assigns the same value. USE_THUNDERBIRD The port requires Thunderbird as a runtime dependency. Possible values: yes (get default version), 31, 30 (deprecated, should not be used any more). Default dependency is on version 31. USE_THUNDERBIRD_BUILD The port requires Thunderbird as a buildtime dependency. Possible values: see USE_THUNDERBIRD. This automatically sets USE_THUNDERBIRD and assigns the same value.
A complete list of available variables can be found in /usr/ports/Mk/bsd.gecko.mk.
Using Databases Variables for Ports Using Databases Variable Means USE_BDB If variable is set to yes, add dependency on databases/db41 port. The variable may also be set to values: 40, 41, 42, 43, 44, 46, 47, 48, or 51. You can declare a range of acceptable values, USE_BDB=42+ will find the highest installed version, and fall back to 42 if nothing else is installed. USE_MYSQL If variable is set to yes, add dependency on databases/mysql55-client port. An associated variable, WANT_MYSQL_VER, may be set to values such as 323, 40, 41, 50, 51, 52, 55, or 60. USE_PGSQL If set to yes, add dependency on databases/postgresql90-client port. An associated variable, WANT_PGSQL_VER, may be set to values such as 83, 84, 90, 91 or 92. You can declare a minimum or maximum value; WANT_PGSQL_VER= 90+ will cause the port to depend on a minimum version of 9.0. USE_SQLITE If variable is set to yes, add dependency on databases/sqlite3 port. The variable may also be set to values: 3, 2.
More details are available in bsd.database.mk. + url="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.database.mk?view=markup">bsd.database.mk.
Starting and Stopping Services (<literal>rc</literal> Scripts) rc.d scripts are used to start services on system startup, and to give administrators a standard way of stopping, starting and restarting the service. Ports integrate into the system rc.d framework. Details on its usage can be found in the rc.d Handbook chapter. Detailed explanation of available commands is provided in &man.rc.8; and &man.rc.subr.8;. Finally, there is an article on practical aspects of rc.d scripting. One or more rc.d scripts can be installed: USE_RC_SUBR= doormand Scripts must be placed in the files subdirectory and a .in suffix must be added to their filename. Standard SUB_LIST expansions will be used for this file. Use of the %%PREFIX%% and %%LOCALBASE%% expansions is strongly encouraged as well. More on SUB_LIST in the relevant section. Prior to &os; 6.1-RELEASE, integration with &man.rcorder.8; is available by using USE_RCORDER instead of USE_RC_SUBR. However, use of this method is not necessary unless the port has an option to install itself in the base, or the service needs to run prior to the FILESYSTEMS rc.d script in the base. As of &os; 6.1-RELEASE, local rc.d scripts (including those installed by ports) are included in the overall &man.rcorder.8; of the base system. Example simple rc.d script: #!/bin/sh # $FreeBSD$ # # PROVIDE: doormand # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service: # # doormand_enable (bool): Set to NO by default. # Set it to YES to enable doormand. # doormand_config (path): Set to %%PREFIX%%/etc/doormand/doormand.cf # by default. . /etc/rc.subr name=doormand rcvar=doormand_enable load_rc_config $name : ${doormand_enable:="NO"} : ${doormand_config="%%PREFIX%%/etc/doormand/doormand.cf"} command=%%PREFIX%%/sbin/${name} pidfile=/var/run/${name}.pid command_args="-p $pidfile -f $doormand_config" run_rc_command "$1" Unless there is a good reason to start the service earlier all ports scripts should use REQUIRE: LOGIN If the service runs as a particular user (other than root) this is mandatory. KEYWORD: shutdown is included in the script above because the mythical port we are using as an example starts a service, and should be shut down cleanly when the system shuts down. If the script is not starting a persistent service this is not necessary. For optional configuration elements the "=" style of default variable assignment is preferable to the ":=" style here, since the former sets a default value only if the variable is unset, and the latter sets one if the variable is unset or null. A user might very well include something like doormand_flags="" in their rc.conf.local file, and a variable substitution using ":=" would inappropriately override the user's intention. The _enable variable is not optional, and should use the ":" for the default. No new scripts should be added with the .sh suffix. Pre-Commit Checklist Before contributing a port with an rc.d script, and more importantly, before committing one, please consult the following checklist to be sure that it is ready. If this is a new file, does it have .sh in the file name? If so that should be changed to just file.in since new rc.d files may not end with that extension. Does the file have a $FreeBSD$ tag? Do the name of the file (minus .in), the PROVIDE line, and $name all match? The file name matching PROVIDE makes debugging easier, especially for &man.rcorder.8; issues. Matching the file name and $name makes it easier to figure out which variables are relevant in rc.conf[.local]. The latter is also what you might call “policy” for all new scripts, including those in the base system. Is the REQUIRE line set to LOGIN? This is mandatory for scripts that run as a non-root user. If it runs as root, is there a good reason for it to run prior to LOGIN? If not, it should run there so that we can loosely group local scripts to a point in &man.rcorder.8; after most everything in the base is already running. Does the script start a persistent service? If so, it should have KEYWORD: shutdown. Make sure there is no KEYWORD: FreeBSD present. This has not been necessary or desirable for years. It is also an indication that the new script was copy/pasted from an old script, so extra caution should be given to the review. If the script uses an interpreted language like perl, python, or ruby, make certain that command_interpreter is set appropriately. Otherwise, &prompt.root; service name stop will probably not work properly. See &man.service.8; for more information. Have all occurrences of /usr/local been replaced with %%PREFIX%%? Do the default variable assignments come after load_rc_config? Are there default assignments to empty strings? They should be removed, but double-check that the option is documented in the comments at the top of the file. Are things that are set in variables actually used in the script? Are options listed in the default name_flags things that are actually mandatory? If so, they should be in command_args. The option is a red flag (pardon the pun) here, since it is usually the option to “daemonize” the process, and therefore is actually mandatory. The name_flags variable should never be included in command_args (and vice versa, although that error is less common). Does the script execute any code unconditionally? This is frowned on. Usually these things can/should be dealt with through a start_precmd. All boolean tests should utilize the checkyesno function. No hand-rolled tests for [Yy][Ee][Ss], etc. If there is a loop (for example, waiting for something to start) does it have a counter to terminate the loop? We do not want the boot to be stuck forever if there is an error. Does the script create files or directories that need specific permissions, for example, a pid file that needs to be owned by the user that runs the process? Rather than the traditional &man.touch.1;/&man.chown.8;/&man.chmod.1; routine, consider using &man.install.1; with the proper command line arguments to do the whole procedure with one step. Adding Users and Groups Some ports require a certain user to be on the installed system. Choose a free UID from 50 to 999 and register it either in ports/UIDs (for users) or in ports/GIDs (for groups). Make sure you do not use a UID already used by the system or other ports. Please include a patch against these two files when you require a new user or group to be created for your port. Then you can use USERS and GROUPS variables in your Makefile, and the user will be automatically created when installing the port. USERS= pulse GROUPS= pulse pulse-access pulse-rt The current list of reserved UIDs and GIDs can be found in ports/UIDs and ports/GIDs. Ports That Rely on Kernel Sources Some ports (such as kernel loadable modules) need the kernel source files so that the port can compile. Here is the correct way to determine if the user has them installed: .if !exists(${SRC_BASE}/sys/Makefile) IGNORE= requires kernel sources to be installed .endif
Advanced <filename>pkg-plist</filename> Practices Changing <filename>pkg-plist</filename> Based on Make Variables Some ports, particularly the p5- ports, need to change their pkg-plist depending on what options they are configured with (or version of perl, in the case of p5- ports). To make this easy, any instances in the pkg-plist of %%OSREL%%, %%PERL_VER%%, and %%PERL_VERSION%% will be substituted for appropriately. The value of %%OSREL%% is the numeric revision of the operating system (e.g., 4.9). %%PERL_VERSION%% and %%PERL_VER%% is the full version number of perl (e.g., 5.8.9). Several other %%VARS%% related to port's documentation files are described in the relevant section. If you need to make other substitutions, you can set the PLIST_SUB variable with a list of VAR=VALUE pairs and instances of %%VAR%% will be substituted with VALUE in the pkg-plist. For instance, if you have a port that installs many files in a version-specific subdirectory, you can put something like OCTAVE_VERSION= 2.0.13 PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} in the Makefile and use %%OCTAVE_VERSION%% wherever the version shows up in pkg-plist. That way, when you upgrade the port, you will not have to change dozens (or in some cases, hundreds) of lines in the pkg-plist. If your port installs files conditionally on the options set in the port, the usual way of handling it is prefixing the pkg-plist lines with a %%TAG%% and adding that TAG to the PLIST_SUB variable inside the Makefile with a special value of @comment, which makes package tools to ignore the line: .if defined(WITH_X11) PLIST_SUB+= X11="" .else PLIST_SUB+= X11="@comment " .endif and in the pkg-plist: %%X11%%bin/foo-gui This substitution (as well as addition of any manual pages) will be done between the pre-install and do-install targets, by reading from PLIST and writing to TMPPLIST (default: WRKDIR/.PLIST.mktmp). So if your port builds PLIST on the fly, do so in or before pre-install. Also, if your port needs to edit the resulting file, do so in post-install to a file named TMPPLIST. Another possibility to modify port's packing list is based on setting the variables PLIST_FILES and PLIST_DIRS. The value of each variable is regarded as a list of pathnames to write to TMPPLIST along with PLIST contents. Names listed in PLIST_FILES and PLIST_DIRS are subject to %%VAR%% substitution, as described above. Except for that, names from PLIST_FILES will appear in the final packing list unchanged, while @dirrm will be prepended to names from PLIST_DIRS. To take effect, PLIST_FILES and PLIST_DIRS must be set before TMPPLIST is written, i.e., in pre-install or earlier. Empty Directories Cleaning Up Empty Directories Do make your ports remove empty directories when they are de-installed. This is usually accomplished by adding @dirrm lines for all directories that are specifically created by the port. You need to delete subdirectories before you can delete parent directories. : lib/X11/oneko/pixmaps/cat.xpm lib/X11/oneko/sounds/cat.au : @dirrm lib/X11/oneko/pixmaps @dirrm lib/X11/oneko/sounds @dirrm lib/X11/oneko However, sometimes @dirrm will give you errors because other ports share the same directory. You can use @dirrmtry to remove only empty directories without warning. @dirrmtry share/doc/gimp This will neither print any error messages nor cause &man.pkg.delete.1; to exit abnormally even if ${PREFIX}/share/doc/gimp is not empty due to other ports installing some files in there. Creating Empty Directories Empty directories created during port installation need special attention. They will not get created when installing the package, because packages only store the files, and &man.pkg.add.1; creates directories for them as needed. To make sure the empty directory is created when installing the package, add this line to pkg-plist above the corresponding @dirrm line: @exec mkdir -p %D/share/foo/templates Configuration Files If your port installs configuration files to PREFIX/etc (or elsewhere) do not simply list them in the pkg-plist. That will cause &man.pkg.delete.1; to remove the files carefully edited by the user, and a re-installation will wipe them out. Instead, install sample file(s) with a filename.sample suffix. Then copy the sample file to the real configuration file name, if it does not already exist. On deinstall delete the configuration file, but only if it is identical to the .sample file. You need to handle this both in the port Makefile, and in the pkg-plist (for installation from the package). Example of the Makefile part: post-install: @if [ ! -f ${PREFIX}/etc/orbit.conf ]; then \ ${CP} -p ${PREFIX}/etc/orbit.conf.sample ${PREFIX}/etc/orbit.conf ; \ fi For each configuration file, create the following three lines in pkg-plist: @unexec if cmp -s %D/etc/orbit.conf.sample %D/etc/orbit.conf; then rm -f %D/etc/orbit.conf; fi etc/orbit.conf.sample @exec if [ ! -f %D/etc/orbit.conf ] ; then cp -p %D/%F %B/orbit.conf; fi The order of these lines is important. On deinstallation, the sample file is compared to the actual configuration file. If these files are identical, no changes have been made by the user and the actual file can be safely deleted. Because the sample file must still exist for the comparison, the @unexec line comes before the sample configuration file name. On installation, if an actual configuration file is not already present, the sample file is copied to the actual file. The sample file must be present before it can be copied, so the @exec line comes after the sample configuration file name. To debug any issues, temporarily remove the -s flag to &man.cmp.1; for more output. See &man.pkg.create.1; for more information on %D and related substitution markers. If there is a very good reason not to install a working configuration file by default, leave the @exec line out of pkg-plist and add a message pointing out that the user must copy and edit the file before the software will work. Dynamic Versus Static Package List A static package list is a package list which is available in the Ports Collection either as a pkg-plist file (with or without variable substitution), or embedded into the Makefile via PLIST_FILES and PLIST_DIRS. Even if the contents are auto-generated by a tool or a target in the Makefile before the inclusion into the Ports Collection by a committer, this is still considered a static list, since it is possible to examine it without having to download or compile the distfile. A dynamic package list is a package list which is generated at the time the port is compiled based upon the files and directories which are installed. It is not possible to examine it before the source code of the ported application is downloaded and compiled, or after running a make clean. While the use of dynamic package lists is not forbidden, maintainers should use static package lists wherever possible, as it enables users to &man.grep.1; through available ports to discover, for example, which port installs a certain file. Dynamic lists should be primarily used for complex ports where the package list changes drastically based upon optional features of the port (and thus maintaining a static package list is infeasible), or ports which change the package list based upon the version of dependent software used (e.g., ports which generate docs with Javadoc). Maintainers who prefer dynamic package lists are encouraged to add a new target to their port which generates the pkg-plist file so that users may examine the contents. Automated Package List Creation First, make sure your port is almost complete, with only pkg-plist missing. Next, create a temporary directory tree into which your port can be installed, and install any dependencies. &prompt.root; mkdir /var/tmp/`make -V PORTNAME` &prompt.root; mtree -U -f `make -V MTREE_FILE` -d -e -p /var/tmp/`make -V PORTNAME` &prompt.root; make depends PREFIX=/var/tmp/`make -V PORTNAME` Store the directory structure in a new file. &prompt.root; (cd /var/tmp/`make -V PORTNAME` && find -d * -type d) | sort > OLD-DIRS Create an empty pkg-plist file: &prompt.root; :>pkg-plist If your port honors PREFIX (which it should) you can then install the port and create the package list. &prompt.root; make install PREFIX=/var/tmp/`make -V PORTNAME` &prompt.root; (cd /var/tmp/`make -V PORTNAME` && find -d * \! -type d) | sort > pkg-plist You must also add any newly created directories to the packing list. &prompt.root; (cd /var/tmp/`make -V PORTNAME` && find -d * -type d) | sort | comm -13 OLD-DIRS - | sort -r | sed -e 's#^#@dirrm #' >> pkg-plist Finally, you need to tidy up the packing list by hand; it is not all automated. Manual pages should be listed in the port's Makefile under MANn, and not in the package list. User configuration files should be removed, or installed as filename.sample. The info/dir file should not be listed and appropriate install-info lines should be added as noted in the info files section. Any libraries installed by the port should be listed as specified in the shared libraries section. Alternatively, use the plist script in /usr/ports/Tools/scripts/ to build the package list automatically. The plist script is a Ruby script that automates most of the manual steps outlined in the previous paragraphs. The first step is the same as above: take the first three lines, that is, mkdir, mtree and make depends. Then build and install the port: &prompt.root; make install PREFIX=/var/tmp/`make -V PORTNAME` And let plist create the pkg-plist file: &prompt.root; /usr/ports/Tools/scripts/plist -Md -m `make -V MTREE_FILE` /var/tmp/`make -V PORTNAME` > pkg-plist The packing list still has to be tidied up by hand as stated above. Another tool that might be used to create an initial pkg-plist is ports-mgmt/genplist. As with any automated tool, the resulting pkg-plist should be checked and manually edited as needed. The <filename>pkg-<replaceable>*</replaceable></filename> Files There are some tricks we have not mentioned yet about the pkg-* files that come in handy sometimes. <filename>pkg-message</filename> If you need to display a message to the installer, you may place the message in pkg-message. This capability is often useful to display additional installation steps to be taken after a &man.pkg.add.1; or to display licensing information. When some lines about the build-time knobs or warnings have to be displayed, use ECHO_MSG. The pkg-message file is only for post-installation steps. Likewise, the distinction between ECHO_MSG and ECHO_CMD should be kept in mind. The former is for printing informational text to the screen, while the latter is for command pipelining: update-etc-shells: @${ECHO_MSG} "updating /etc/shells" @${CP} /etc/shells /etc/shells.bak @( ${GREP} -v ${PREFIX}/bin/bash /etc/shells.bak; \ ${ECHO_CMD} ${PREFIX}/bin/bash) >/etc/shells @${RM} /etc/shells.bak The pkg-message file does not need to be added to pkg-plist. Also, it will not get automatically printed if the user is using the port, not the package, so you should probably display it from the post-install target yourself. <filename>pkg-install</filename> If your port needs to execute commands when the binary package is installed with &man.pkg.add.1; you can do this via the pkg-install script. This script will automatically be added to the package, and will be run twice by &man.pkg.add.1;: the first time as ${SH} pkg-install ${PKGNAME} PRE-INSTALL and the second time as ${SH} pkg-install ${PKGNAME} POST-INSTALL. $2 can be tested to determine which mode the script is being run in. The PKG_PREFIX environmental variable will be set to the package installation directory. See &man.pkg.add.1; for additional information. This script is not run automatically if you install the port with make install. If you are depending on it being run, you will have to explicitly call it from your port's Makefile, with a line like PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL. <filename>pkg-deinstall</filename> This script executes when a package is removed. This script will be run twice by &man.pkg.delete.1;. The first time as ${SH} pkg-deinstall ${PKGNAME} DEINSTALL and the second time as ${SH} pkg-deinstall ${PKGNAME} POST-DEINSTALL. <filename>pkg-req</filename> If your port needs to determine if it should install or not, you can create a pkg-req requirements script. It will be invoked automatically at installation/de-installation time to determine whether or not installation/de-installation should proceed. The script will be run at installation time by &man.pkg.add.1; as pkg-req ${PKGNAME} INSTALL. At de-installation time it will be run by &man.pkg.delete.1; as pkg-req ${PKGNAME} DEINSTALL. Changing the Names of <filename>pkg-<replaceable>*</replaceable></filename> Files All the names of pkg-* files are defined using variables so you can change them in your Makefile if need be. This is especially useful when you are sharing the same pkg-* files among several ports or have to write to one of the above files (see writing to places other than WRKDIR for why it is a bad idea to write directly into the pkg-* subdirectory). Here is a list of variable names and their default values. (PKGDIR defaults to ${MASTERDIR}.) Variable Default value DESCR ${PKGDIR}/pkg-descr PLIST ${PKGDIR}/pkg-plist PKGINSTALL ${PKGDIR}/pkg-install PKGDEINSTALL ${PKGDIR}/pkg-deinstall PKGREQ ${PKGDIR}/pkg-req PKGMESSAGE ${PKGDIR}/pkg-message Please change these variables rather than overriding PKG_ARGS. If you change PKG_ARGS, those files will not correctly be installed in /var/db/pkg upon install from a port. Making Use of <makevar>SUB_FILES</makevar> and <makevar>SUB_LIST</makevar> The SUB_FILES and SUB_LIST variables are useful for dynamic values in port files, such as the installation PREFIX in pkg-message. The SUB_FILES variable specifies a list of files to be automatically modified. Each file in the SUB_FILES list must have a corresponding file.in present in FILESDIR. A modified version will be created in WRKDIR. Files defined as a value of USE_RC_SUBR (or the deprecated USE_RCORDER) are automatically added to the SUB_FILES. For the files pkg-message, pkg-install, pkg-deinstall and pkg-req, the corresponding Makefile variable is automatically set to point to the processed version. The SUB_LIST variable is a list of VAR=VALUE pairs. For each pair %%VAR%% will get replaced with VALUE in each file listed in SUB_FILES. Several common pairs are automatically defined: PREFIX, LOCALBASE, DATADIR, DOCSDIR, EXAMPLESDIR, WWWDIR, and ETCDIR. Any line beginning with @comment will be deleted from resulting files after a variable substitution. The following example will replace %%ARCH%% with the system architecture in a pkg-message: SUB_FILES= pkg-message SUB_LIST= ARCH=${ARCH} Note that for this example, the pkg-message.in file must exist in FILESDIR. Example of a good pkg-message.in: Now it is time to configure this package. Copy %%PREFIX%%/share/examples/putsy/%%ARCH%%.conf into your home directory as .putsy.conf and edit it. Testing Your Port Running <command>make describe</command> Several of the &os; port maintenance tools, such as &man.portupgrade.1;, rely on a database called /usr/ports/INDEX which keeps track of such items as port dependencies. INDEX is created by the top-level ports/Makefile via make index, which descends into each port subdirectory and executes make describe there. Thus, if make describe fails in any port, no one can generate INDEX, and many people will quickly become unhappy. It is important to be able to generate this file no matter what options are present in make.conf, so please avoid doing things such as using .error statements when (for instance) a dependency is not satisfied. (See .) If make describe produces a string rather than an error message, you are probably safe. See bsd.port.mk for the meaning of the string produced. Also note that running a recent version of portlint (as specified in the next section) will cause make describe to be run automatically. Portlint Do check your work with portlint before you submit or commit it. portlint warns you about many common errors, both functional and stylistic. For a new (or repocopied) port, portlint -A is the most thorough; for an existing port, portlint -C is sufficient. Since portlint uses heuristics to try to figure out errors, it can produce false positive warnings. In addition, occasionally something that is flagged as a problem really cannot be done in any other way due to limitations in the ports framework. When in doubt, the best thing to do is ask on &a.ports;. Port Tools The ports-mgmt/porttools program is part of the Ports Collection. port is the front-end script, which can help you simplify the testing job. Whenever you want to test a new port or update an existing one, you can use port test to test your port, including the portlint checking. This command also detects and lists any files that are not listed in pkg-plist. See the following example: &prompt.root; port test /usr/ports/net/csup <makevar>PREFIX</makevar> and <makevar>DESTDIR</makevar> PREFIX determines where the port will be installed. It defaults to /usr/local, but can be set by the user to a custom path like /opt. Your port must respect the value of this variable. DESTDIR, if set by the user, determines the complete alternative environment, usually a jail or an installed system mounted somewhere other than /. A port will actually install into DESTDIR/PREFIX, and register with the package database in DESTDIR/var/db/pkg. As DESTDIR is handled automatically by the ports infrastructure with &man.chroot.8;, you do not need any modifications or any extra care to write DESTDIR-compliant ports. The value of PREFIX will be set to LOCALBASE (defaulting to /usr/local). If USE_LINUX_PREFIX is set, PREFIX will be LINUXBASE (defaulting to /compat/linux). Avoiding hard-coded /usr/local paths in the source makes the port much more flexible and able to cater to the needs of other sites. Often, this can be accomplished by simply replacing occurrences of /usr/local in the port's various Makefiles with ${PREFIX}. This variable is automatically passed down to every stage of the build and install processes. Make sure your application is not installing things in /usr/local instead of PREFIX. A quick test for such hard-coded paths is: &prompt.root; make clean; make package PREFIX=/var/tmp/`make -V PORTNAME` If anything is installed outside of PREFIX, the package creation process will complain that it cannot find the files. This test will not find hard-coded paths inside the port's files, nor will it verify that LOCALBASE is being used to correctly refer to files from other ports. The temporarily-installed port in /var/tmp/`make -V PORTNAME` should be tested for proper operation to make sure there are no problems with paths. PREFIX should not be set explicitly in a port's Makefile. Users installing the port may have set PREFIX to a custom location, and the port should respect that setting. Refer to programs and files from other ports with the variables mentioned above, not explicit pathnames. For instance, if your port requires a macro PAGER to have the full pathname of less, do not use a literal path of /usr/local/bin/less. Instead, use ${LOCALBASE}: -DPAGER=\"${LOCALBASE}/bin/less\" The path with LOCALBASE is more likely to still work if the system administrator has moved the whole /usr/local tree somewhere else. Tinderbox If you are an avid ports contributor, you might want to take a look at Tinderbox. It is a powerful system for building and testing ports based on the scripts used on Pointyhat. You can install Tinderbox using ports-mgmt/tinderbox port. Be sure to read supplied documentation since the configuration is not trivial. Visit the Tinderbox website for more details. Upgrading an Individual Port When you notice that a port is out of date compared to the latest version from the original authors, you should first ensure that you have the latest port. You can find them in the ports/ports-current directory of the &os; FTP mirror sites. However, if you are working with more than a few ports, you will probably find it easier to use Subversion or &man.portsnap.8; to keep your whole ports collection up-to-date, as described in the Handbook. This will have the added benefit of tracking all the ports' dependencies. The next step is to see if there is an update already pending. To do this, you have two options. There is a searchable interface to the FreeBSD Problem Report (PR) database (also known as GNATS). Select ports in the dropdown, and enter the name of the port. However, sometimes people forget to put the name of the port into the Synopsis field in an unambiguous fashion. In that case, you can try the FreeBSD Ports Monitoring System (also known as portsmon). This system attempts to classify port PRs by portname. To search for PRs about a particular port, use the Overview of One Port. If there is no pending PR, the next step is to send an email to the port's maintainer, as shown by make maintainer. That person may already be working on an upgrade, or have a reason to not upgrade the port right now (because of, for example, stability problems of the new version); you would not want to duplicate their work. Note that unmaintained ports are listed with a maintainer of ports@FreeBSD.org, which is just the general ports mailing list, so sending mail there probably will not help in this case. If the maintainer asks you to do the upgrade or there is no maintainer, then you have a chance to help out &os; by preparing the update yourself! Please do this by using the &man.diff.1; command in the base system. To create a suitable diff for a single patch, copy the file that needs patching to something.orig, save your changes to something and then create your patch: &prompt.user; diff -u something.orig something > something.diff Otherwise, you should either use the svn diff method () or copy the contents of the port to an entire different directory and use the result of the recursive &man.diff.1; output of the new and old ports directories (e.g., if your modified port directory is called superedit and the original is in our tree as superedit.bak, then save the result of diff -ruN superedit.bak superedit). Either unified or context diff is fine, but port committers generally prefer unified diffs. Note the use of the -N option—this is the accepted way to force diff to properly deal with the case of new files being added or old files being deleted. Before sending us the diff, please examine the output to make sure all the changes make sense. (In particular, make sure you first clean out the work directories with make clean). To simplify common operations with patch files, you can use /usr/ports/Tools/scripts/patchtool.py. Before using it, please read /usr/ports/Tools/scripts/README.patchtool. If the port is unmaintained, and you are actively using it yourself, please consider volunteering to become its maintainer. &os; has over 4000 ports without maintainers, and this is an area where more volunteers are always needed. (For a detailed description of the responsibilities of maintainers, refer to the section in the Developer's Handbook.) The best way to send us the diff is by including it via &man.send-pr.1; (category ports). If you are maintaining the port, be sure to put [maintainer update] at the beginning of your synopsis line and set the Class of your PR to maintainer-update. Otherwise, the Class of your PR should be change-request. Please mention any added or deleted files in the message, as they have to be explicitly specified to &man.svn.1; when doing a commit. If the diff is more than about 20KB, please compress and uuencode it; otherwise, just include it in the PR as is. Before you &man.send-pr.1;, you should review the Writing the problem report section in the Problem Reports article; it contains far more information about how to write useful problem reports. If your upgrade is motivated by security concerns or a serious fault in the currently committed port, please notify the &a.portmgr; to request immediate rebuilding and redistribution of your port's package. Unsuspecting users of &man.pkg.add.1; will otherwise continue to install the old version via pkg_add -r for several weeks. Once again, please use &man.diff.1; and not &man.shar.1; to send updates to existing ports! This helps ports committers understand exactly what is being changed. Now that you have done all that, you will want to read about how to keep up-to-date in . Using <literal>SVN</literal> to Make Patches If you can, please submit a &man.svn.1; diff — they are easier to handle than diffs between new and old directories. Plus it is easier for you to see what you have changed and to update your diff if something is modified in the Ports Collection from when you started to work on it until you submit your changes, or if the committer asks you to fix something. &prompt.user; cd ~/my_wrkdir &prompt.user; svn co https://svn0.us-west.FreeBSD.org/ports/head/dns/pdnsd &prompt.user; cd ~/my_wrkdir/pdnsd This can be anywhere you want, of course; building ports is not limited to within /usr/ports/. svn0.us-west.FreeBSD.org is a public SVN server. Select the closest mirror and verify the mirror server certificate from the list of Subversion mirror sites. While in the working directory, make any changes that you would usually make to the port. If you add or remove a file, use svn to track these changes: &prompt.user; svn add new_file &prompt.user; svn remove deleted_file Make sure that you check the port using the checklist in and . &prompt.user; svn status &prompt.user; svn update This will try to merge the differences between your patch and current SVN; watch the output carefully. The letter in front of each file name indicates what was done with it. See for a complete list. <literal>SVN</literal> Update File Prefixes U The file was updated without problems. G The file was updated without problems (you will only see this when working against a remote repository). M The file had been modified, and was merged without conflicts. C The file had been modified, and was merged with conflicts.
If you get C as a result of svn update it means something changed in the SVN repository and &man.svn.1; was not able to merge your local changes and those from the repository. It is always a good idea to inspect the changes anyway, since &man.svn.1; does not know anything about how a port should be, so it might (and probably will) merge things that do not make sense. The last step is to make a unified &man.diff.1; of the files against SVN: &prompt.user; svn diff > ../`basename ${PWD}`.diff Any files that have been removed should be explicitly mentioned in the PR, because file removal may not be obvious to the committer. Send your patch following the guidelines in .
The Files <filename>UPDATING</filename> and <filename>MOVED</filename> If upgrading the port requires special steps like changing configuration files or running a specific program, you should document this in the file /usr/ports/UPDATING. The format of an entry in this file is as follows: YYYYMMDD: AFFECTS: users of portcategory/portname AUTHOR: Your name <Your email address> Special instructions If you are including exact portmaster or portupgrading instructions, please make sure to get the shell escaping right. The /usr/ports/MOVED file is used to list moved or removed ports. Each line in the file is made up of the name of the port, where the port was moved to, when, and why. If the port was removed, the section detailing where it was moved to can be left blank. Each section must be separated by the | (pipe) character, like so: old name|new name (blank for deleted)|date of move|reason The date should be entered in the form YYYY-MM-DD. New entries should be added to the end of the file to keep it in chronological order. If a port was removed but has since been restored, delete the line in this file that states that it was removed. The changes can be validated with Tools/scripts/MOVEDlint.awk.
Ports Security Why Security is So Important Bugs are occasionally introduced to the software. Arguably, the most dangerous of them are those opening security vulnerabilities. From the technical viewpoint, such vulnerabilities are to be closed by exterminating the bugs that caused them. However, the policies for handling mere bugs and security vulnerabilities are very different. A typical small bug affects only those users who have enabled some combination of options triggering the bug. The developer will eventually release a patch followed by a new version of the software, free of the bug, but the majority of users will not take the trouble of upgrading immediately because the bug has never vexed them. A critical bug that may cause data loss represents a graver issue. Nevertheless, prudent users know that a lot of possible accidents, besides software bugs, are likely to lead to data loss, and so they make backups of important data; in addition, a critical bug will be discovered really soon. A security vulnerability is all different. First, it may remain unnoticed for years because often it does not cause software malfunction. Second, a malicious party can use it to gain unauthorized access to a vulnerable system, to destroy or alter sensitive data; and in the worst case the user will not even notice the harm caused. Third, exposing a vulnerable system often assists attackers to break into other systems that could not be compromised otherwise. Therefore closing a vulnerability alone is not enough: the audience should be notified of it in most clear and comprehensive manner, which will allow to evaluate the danger and take appropriate actions. Fixing Security Vulnerabilities While on the subject of ports and packages, a security vulnerability may initially appear in the original distribution or in the port files. In the former case, the original software developer is likely to release a patch or a new version instantly, and you will only need to update the port promptly with respect to the author's fix. If the fix is delayed for some reason, you should either mark the port as FORBIDDEN or introduce a patch file of your own to the port. In the case of a vulnerable port, just fix the port as soon as possible. In either case, the standard procedure for submitting your change should be followed unless you have rights to commit it directly to the ports tree. Being a ports committer is not enough to commit to an arbitrary port. Remember that ports usually have maintainers, whom you should respect. Please make sure that the port's revision is bumped as soon as the vulnerability has been closed. That is how the users who upgrade installed packages on a regular basis will see they need to run an update. Besides, a new package will be built and distributed over FTP and WWW mirrors, replacing the vulnerable one. PORTREVISION should be bumped unless PORTVERSION has changed in the course of correcting the vulnerability. That is you should bump PORTREVISION if you have added a patch file to the port, but you should not if you have updated the port to the latest software version and thus already touched PORTVERSION. Please refer to the corresponding section for more information. Keeping the Community Informed The VuXML Database A very important and urgent step to take as early after a security vulnerability is discovered as possible is to notify the community of port users about the jeopardy. Such notification serves two purposes. First, should the danger be really severe it will be wise to apply an instant workaround. E.g., stop the affected network service or even deinstall the port completely until the vulnerability is closed. Second, a lot of users tend to upgrade installed packages only occasionally. They will know from the notification that they must update the package without delay as soon as a corrected version is available. Given the huge number of ports in the tree a security advisory cannot be issued on each incident without creating a flood and losing the attention of the audience when it comes to really serious matters. Therefore security vulnerabilities found in ports are recorded in the FreeBSD VuXML database. The Security Officer Team members also monitor it for issues requiring their intervention. If you have committer rights you can update the VuXML database by yourself. So you will both help the Security Officer Team and deliver the crucial information to the community earlier. However, if you are not a committer, or you believe you have found an exceptionally severe vulnerability please do not hesitate to contact the Security Officer Team directly as described on the FreeBSD Security Information page. The VuXML database is an XML document. Its source file vuln.xml is kept right inside the port security/vuxml. Therefore the file's full pathname will be PORTSDIR/security/vuxml/vuln.xml. Each time you discover a security vulnerability in a port please add an entry for it to that file. Until you are familiar with VuXML, the best thing you can do is to find an existing entry fitting your case, then copy it and use it as a template. A Short Introduction to VuXML The full-blown XML format is complex, and far beyond the scope of this book. However, to gain basic insight on the structure of a VuXML entry you need only the notion of tags. XML tag names are enclosed in angle brackets. Each opening <tag> must have a matching closing </tag>. Tags may be nested. If nesting, the inner tags must be closed before the outer ones. There is a hierarchy of tags, i.e., more complex rules of nesting them. This is similar to HTML. The major difference is that XML is eXtensible, i.e., based on defining custom tags. Due to its intrinsic structure XML puts otherwise amorphous data into shape. VuXML is particularly tailored to mark up descriptions of security vulnerabilities. Now consider a realistic VuXML entry: <vuln vid="f4bc80f4-da62-11d8-90ea-0004ac98a7b9"> <topic>Several vulnerabilities found in Foo</topic> <affects> <package> <name>foo</name> <name>foo-devel</name> <name>ja-foo</name> <range><ge>1.6</ge><lt>1.9</lt></range> <range><ge>2.*</ge><lt>2.4_1</lt></range> <range><eq>3.0b1</eq></range> </package> <package> <name>openfoo</name> <range><lt>1.10_7</lt></range> <range><ge>1.2,1</ge><lt>1.3_1,1</lt></range> </package> </affects> <description> <body xmlns="http://www.w3.org/1999/xhtml"> <p>J. Random Hacker reports:</p> <blockquote cite="http://j.r.hacker.com/advisories/1"> <p>Several issues in the Foo software may be exploited via carefully crafted QUUX requests. These requests will permit the injection of Bar code, mumble theft, and the readability of the Foo administrator account.</p> </blockquote> </body> </description> <references> <freebsdsa>SA-10:75.foo</freebsdsa> <freebsdpr>ports/987654</freebsdpr> <cvename>CAN-2010-0201</cvename> <cvename>CAN-2010-0466</cvename> <bid>96298</bid> <certsa>CA-2010-99</certsa> <certvu>740169</certvu> <uscertsa>SA10-99A</uscertsa> <uscertta>SA10-99A</uscertta> <mlist msgid="201075606@hacker.com">http://marc.theaimsgroup.com/?l=bugtraq&amp;m=203886607825605</mlist> <url>http://j.r.hacker.com/advisories/1</url> </references> <dates> <discovery>2010-05-25</discovery> <entry>2010-07-13</entry> <modified>2010-09-17</modified> </dates> </vuln> The tag names are supposed to be self-explanatory so we shall take a closer look only at fields you will need to fill in by yourself: This is the top-level tag of a VuXML entry. It has a mandatory attribute, vid, specifying a universally unique identifier (UUID) for this entry (in quotes). You should generate a UUID for each new VuXML entry (and do not forget to substitute it for the template UUID unless you are writing the entry from scratch). You can use &man.uuidgen.1; to generate a VuXML UUID. This is a one-line description of the issue found. The names of packages affected are listed there. Multiple names can be given since several packages may be based on a single master port or software product. This may include stable and development branches, localized versions, and slave ports featuring different choices of important build-time configuration options. It is your responsibility to find all such related packages when writing a VuXML entry. Keep in mind that make search name=foo is your friend. The primary points to look for are as follows: the foo-devel variant for a foo port; other variants with a suffix like -a4 (for print-related packages), -without-gui (for packages with X support disabled), or similar; jp-, ru-, zh-, and other possible localized variants in the corresponding national categories of the ports collection. Affected versions of the package(s) are specified there as one or more ranges using a combination of <lt>, <le>, <eq>, <ge>, and <gt> elements. The version ranges given should not overlap. In a range specification, * (asterisk) denotes the smallest version number. In particular, 2.* is less than 2.a. Therefore an asterisk may be used for a range to match all possible alpha, beta, and RC versions. For instance, <ge>2.*</ge><lt>3.*</lt> will selectively match every 2.x version while <ge>2.0</ge><lt>3.0</lt> will not since the latter misses 2.r3 and matches 3.b. The above example specifies that affected are versions from 1.6 to 1.9 inclusive, versions 2.x before 2.4_1, and version 3.0b1. Several related package groups (essentially, ports) can be listed in the <affected> section. This can be used if several software products (say FooBar, FreeBar and OpenBar) grow from the same code base and still share its bugs and vulnerabilities. Note the difference from listing multiple names within a single <package> section. The version ranges should allow for PORTEPOCH and PORTREVISION if applicable. Please remember that according to the collation rules, a version with a non-zero PORTEPOCH is greater than any version without PORTEPOCH, e.g., 3.0,1 is greater than 3.1 or even than 8.9. This is a summary of the issue. XHTML is used in this field. At least enclosing <p> and </p> should appear. More complex mark-up may be used, but only for the sake of accuracy and clarity: No eye candy please. This section contains references to relevant documents. As many references as apply are encouraged. This is a FreeBSD security advisory. This is a FreeBSD problem report. This is a MITRE CVE identifier. This is a SecurityFocus Bug ID. This is a US-CERT security advisory. This is a US-CERT vulnerability note. This is a US-CERT Cyber Security Alert. This is a US-CERT Technical Cyber Security Alert. This is a URL to an archived posting in a mailing list. The attribute msgid is optional and may specify the message ID of the posting. This is a generic URL. It should be used only if none of the other reference categories apply. This is the date when the issue was disclosed (YYYY-MM-DD). This is the date when the entry was added (YYYY-MM-DD). This is the date when any information in the entry was last modified (YYYY-MM-DD). New entries must not include this field. It should be added upon editing an existing entry. Testing Your Changes to the VuXML Database Assume you just wrote or filled in an entry for a vulnerability in the package clamav that has been fixed in version 0.65_7. As a prerequisite, you need to install fresh versions of the ports ports-mgmt/portaudit, ports-mgmt/portaudit-db, and security/vuxml. To run packaudit you must have permission to write to its DATABASEDIR, typically /var/db/portaudit. To use a different directory set the DATABASEDIR environment variable to a different location. If you are working in a directory other than ${PORTSDIR}/security/vuxml set the VUXMLDIR environment variable to the directory where vuln.xml is located. First, check whether there already is an entry for this vulnerability. If there were such an entry, it would match the previous version of the package, 0.65_6: &prompt.user; packaudit &prompt.user; portaudit clamav-0.65_6 If there is none found, you have the green light to add a new entry for this vulnerability. &prompt.user; cd ${PORTSDIR}/security/vuxml &prompt.user; make newentry When you are done verify its syntax and formatting. &prompt.user; make validate You will need at least one of the following packages installed: textproc/libxml2, textproc/jade. Now rebuild the portaudit database from the VuXML file: &prompt.user; packaudit To verify that the <affected> section of your entry will match correct package(s), issue the following command: &prompt.user; portaudit -f /usr/ports/INDEX -r uuid Please refer to &man.portaudit.1; for better understanding of the command syntax. Make sure that your entry produces no spurious matches in the output. Now check whether the right package versions are matched by your entry: &prompt.user; portaudit clamav-0.65_6 clamav-0.65_7 Affected package: clamav-0.65_6 (matched by clamav<0.65_7) Type of problem: clamav remote denial-of-service. Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-0020ed76ef5a.html> 1 problem(s) found. The former version should match while the latter one should not. Finally, verify whether the web page generated from the VuXML database looks like expected: &prompt.user; mkdir -p ~/public_html/portaudit &prompt.user; packaudit &prompt.user; lynx ~/public_html/portaudit/74a9541d-5d6c-11d8-80e3-0020ed76ef5a.html Dos and Don'ts Introduction Here is a list of common dos and don'ts that you encounter during the porting process. You should check your own port against this list, but you can also check ports in the PR database that others have submitted. Submit any comments on ports you check as described in Bug Reports and General Commentary. Checking ports in the PR database will both make it faster for us to commit them, and prove that you know what you are doing. <makevar>WRKDIR</makevar> Do not write anything to files outside WRKDIR. WRKDIR is the only place that is guaranteed to be writable during the port build (see installing ports from a CDROM for an example of building ports from a read-only tree). If you need to modify one of the pkg-* files, do so by redefining a variable, not by writing over it. <makevar>WRKDIRPREFIX</makevar> Make sure your port honors WRKDIRPREFIX. Most ports do not have to worry about this. In particular, if you are referring to a WRKDIR of another port, note that the correct location is WRKDIRPREFIXPORTSDIR/subdir/name/work not PORTSDIR/subdir/name/work or .CURDIR/../../subdir/name/work or some such. Also, if you are defining WRKDIR yourself, make sure you prepend ${WRKDIRPREFIX}${.CURDIR} in the front. Differentiating Operating Systems and OS Versions You may come across code that needs modifications or conditional compilation based upon what version of Unix it is running under. If you need to make such changes to the code for conditional compilation, make sure you make the changes as general as possible so that we can back-port code to older FreeBSD systems and cross-port to other BSD systems such as 4.4BSD from CSRG, BSD/386, 386BSD, NetBSD, and OpenBSD. The preferred way to tell 4.3BSD/Reno (1990) and newer versions of the BSD code apart is by using the BSD macro defined in sys/param.h. Hopefully that file is already included; if not, add the code: #if (defined(__unix__) || defined(unix)) && !defined(USG) #include <sys/param.h> #endif to the proper place in the .c file. We believe that every system that defines these two symbols has sys/param.h. If you find a system that does not, we would like to know. Please send mail to the &a.ports;. Another way is to use the GNU Autoconf style of doing this: #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif Do not forget to add -DHAVE_SYS_PARAM_H to the CFLAGS in the Makefile for this method. Once you have sys/param.h included, you may use: #if (defined(BSD) && (BSD >= 199103)) to detect if the code is being compiled on a 4.3 Net2 code base or newer (e.g., FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD, BSD/386 1.1 and below). Use: #if (defined(BSD) && (BSD >= 199306)) to detect if the code is being compiled on a 4.4 code base or newer (e.g., FreeBSD 2.x, 4.4, NetBSD 1.0, BSD/386 2.0 or above). The value of the BSD macro is 199506 for the 4.4BSD-Lite2 code base. This is stated for informational purposes only. It should not be used to distinguish between versions of FreeBSD based only on 4.4-Lite versus versions that have merged in changes from 4.4-Lite2. The __FreeBSD__ macro should be used instead. Use sparingly: __FreeBSD__ is defined in all versions of FreeBSD. Use it if the change you are making only affects FreeBSD. Porting gotchas like the use of sys_errlist[] versus strerror() are Berkeley-isms, not FreeBSD changes. In FreeBSD 2.x, __FreeBSD__ is defined to be 2. In earlier versions, it is 1. Later versions always bump it to match their major version number. If you need to tell the difference between a FreeBSD 1.x system and a FreeBSD 2.x or above system, usually the right answer is to use the BSD macros described above. If there actually is a FreeBSD specific change (such as special shared library options when using ld) then it is OK to use __FreeBSD__ and #if __FreeBSD__ > 1 to detect a FreeBSD 2.x and later system. If you need more granularity in detecting FreeBSD systems since 2.0-RELEASE you can use the following: #if __FreeBSD__ >= 2 #include <osreldate.h> # if __FreeBSD_version >= 199504 /* 2.0.5+ release specific code here */ # endif #endif In the hundreds of ports that have been done, there have only been one or two cases where __FreeBSD__ should have been used. Just because an earlier port screwed up and used it in the wrong place does not mean you should do so too. <literal>__FreeBSD_version</literal> Values Here is a convenient list of __FreeBSD_version values as defined in sys/param.h: <literal>__FreeBSD_version</literal> Values Value Date Release 119411 2.0-RELEASE 199501, 199503 March 19, 1995 2.1-CURRENT 199504 April 9, 1995 2.0.5-RELEASE 199508 August 26, 1995 2.2-CURRENT before 2.1 199511 November 10, 1995 2.1.0-RELEASE 199512 November 10, 1995 2.2-CURRENT before 2.1.5 199607 July 10, 1996 2.1.5-RELEASE 199608 July 12, 1996 2.2-CURRENT before 2.1.6 199612 November 15, 1996 2.1.6-RELEASE 199612 2.1.7-RELEASE 220000 February 19, 1997 2.2-RELEASE (not changed) 2.2.1-RELEASE (not changed) 2.2-STABLE after 2.2.1-RELEASE 221001 April 15, 1997 2.2-STABLE after texinfo-3.9 221002 April 30, 1997 2.2-STABLE after top 222000 May 16, 1997 2.2.2-RELEASE 222001 May 19, 1997 2.2-STABLE after 2.2.2-RELEASE 225000 October 2, 1997 2.2.5-RELEASE 225001 November 20, 1997 2.2-STABLE after 2.2.5-RELEASE 225002 December 27, 1997 2.2-STABLE after ldconfig -R merge 226000 March 24, 1998 2.2.6-RELEASE 227000 July 21, 1998 2.2.7-RELEASE 227001 July 21, 1998 2.2-STABLE after 2.2.7-RELEASE 227002 September 19, 1998 2.2-STABLE after &man.semctl.2; change 228000 November 29, 1998 2.2.8-RELEASE 228001 November 29, 1998 2.2-STABLE after 2.2.8-RELEASE 300000 February 19, 1996 3.0-CURRENT before &man.mount.2; change 300001 September 24, 1997 3.0-CURRENT after &man.mount.2; change 300002 June 2, 1998 3.0-CURRENT after &man.semctl.2; change 300003 June 7, 1998 3.0-CURRENT after ioctl arg changes 300004 September 3, 1998 3.0-CURRENT after ELF conversion 300005 October 16, 1998 3.0-RELEASE 300006 October 16, 1998 3.0-CURRENT after 3.0-RELEASE 300007 January 22, 1999 3.0-STABLE after 3/4 branch 310000 February 9, 1999 3.1-RELEASE 310001 March 27, 1999 3.1-STABLE after 3.1-RELEASE 310002 April 14, 1999 3.1-STABLE after C++ constructor/destructor order change 320000 3.2-RELEASE 320001 May 8, 1999 3.2-STABLE 320002 August 29, 1999 3.2-STABLE after binary-incompatible IPFW and socket changes 330000 September 2, 1999 3.3-RELEASE 330001 September 16, 1999 3.3-STABLE 330002 November 24, 1999 3.3-STABLE after adding &man.mkstemp.3; to libc 340000 December 5, 1999 3.4-RELEASE 340001 December 17, 1999 3.4-STABLE 350000 June 20, 2000 3.5-RELEASE 350001 July 12, 2000 3.5-STABLE 400000 January 22, 1999 4.0-CURRENT after 3.4 branch 400001 February 20, 1999 4.0-CURRENT after change in dynamic linker handling 400002 March 13, 1999 4.0-CURRENT after C++ constructor/destructor order change 400003 March 27, 1999 4.0-CURRENT after functioning &man.dladdr.3; 400004 April 5, 1999 4.0-CURRENT after __deregister_frame_info dynamic linker bug fix (also 4.0-CURRENT after EGCS 1.1.2 integration) 400005 April 27, 1999 4.0-CURRENT after &man.suser.9; API change (also 4.0-CURRENT after newbus) 400006 May 31, 1999 4.0-CURRENT after cdevsw registration change 400007 June 17, 1999 4.0-CURRENT after the addition of so_cred for socket level credentials 400008 June 20, 1999 4.0-CURRENT after the addition of a poll syscall wrapper to libc_r 400009 July 20, 1999 4.0-CURRENT after the change of the kernel's dev_t type to struct specinfo pointer 400010 September 25, 1999 4.0-CURRENT after fixing a hole in &man.jail.2; 400011 September 29, 1999 4.0-CURRENT after the sigset_t datatype change 400012 November 15, 1999 4.0-CURRENT after the cutover to the GCC 2.95.2 compiler 400013 December 4, 1999 4.0-CURRENT after adding pluggable linux-mode ioctl handlers 400014 January 18, 2000 4.0-CURRENT after importing OpenSSL 400015 January 27, 2000 4.0-CURRENT after the C++ ABI change in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default 400016 February 27, 2000 4.0-CURRENT after importing OpenSSH 400017 March 13, 2000 4.0-RELEASE 400018 March 17, 2000 4.0-STABLE after 4.0-RELEASE 400019 May 5, 2000 4.0-STABLE after the introduction of delayed checksums. 400020 June 4, 2000 4.0-STABLE after merging libxpg4 code into libc. 400021 July 8, 2000 4.0-STABLE after upgrading Binutils to 2.10.0, ELF branding changes, and tcsh in the base system. 410000 July 14, 2000 4.1-RELEASE 410001 July 29, 2000 4.1-STABLE after 4.1-RELEASE 410002 September 16, 2000 4.1-STABLE after &man.setproctitle.3; moved from libutil to libc. 411000 September 25, 2000 4.1.1-RELEASE 411001 4.1.1-STABLE after 4.1.1-RELEASE 420000 October 31, 2000 4.2-RELEASE 420001 January 10, 2001 4.2-STABLE after combining libgcc.a and libgcc_r.a, and associated GCC linkage changes. 430000 March 6, 2001 4.3-RELEASE 430001 May 18, 2001 4.3-STABLE after wint_t introduction. 430002 July 22, 2001 4.3-STABLE after PCI powerstate API merge. 440000 August 1, 2001 4.4-RELEASE 440001 October 23, 2001 4.4-STABLE after d_thread_t introduction. 440002 November 4, 2001 4.4-STABLE after mount structure changes (affects filesystem klds). 440003 December 18, 2001 4.4-STABLE after the userland components of smbfs were imported. 450000 December 20, 2001 4.5-RELEASE 450001 February 24, 2002 4.5-STABLE after the usb structure element rename. 450004 April 16, 2002 4.5-STABLE after the sendmail_enable &man.rc.conf.5; variable was made to take the value NONE. 450005 April 27, 2002 4.5-STABLE after moving to XFree86 4 by default for package builds. 450006 May 1, 2002 4.5-STABLE after accept filtering was fixed so that is no longer susceptible to an easy DoS. 460000 June 21, 2002 4.6-RELEASE 460001 June 21, 2002 4.6-STABLE &man.sendfile.2; fixed to comply with documentation, not to count any headers sent against the amount of data to be sent from the file. 460002 July 19, 2002 4.6.2-RELEASE 460100 June 26, 2002 4.6-STABLE 460101 June 26, 2002 4.6-STABLE after MFC of `sed -i'. 460102 September 1, 2002 4.6-STABLE after MFC of many new pkg_install features from the HEAD. 470000 October 8, 2002 4.7-RELEASE 470100 October 9, 2002 4.7-STABLE 470101 November 10, 2002 Start generated __std{in,out,err}p references rather than __sF. This changes std{in,out,err} from a compile time expression to a runtime one. 470102 January 23, 2003 4.7-STABLE after MFC of mbuf changes to replace m_aux mbufs by m_tag's 470103 February 14, 2003 4.7-STABLE gets OpenSSL 0.9.7 480000 March 30, 2003 4.8-RELEASE 480100 April 5, 2003 4.8-STABLE 480101 May 22, 2003 4.8-STABLE after &man.realpath.3; has been made thread-safe 480102 August 10, 2003 4.8-STABLE 3ware API changes to twe. 490000 October 27, 2003 4.9-RELEASE 490100 October 27, 2003 4.9-STABLE 490101 January 8, 2004 4.9-STABLE after e_sid was added to struct kinfo_eproc. 490102 February 4, 2004 4.9-STABLE after MFC of libmap functionality for rtld. 491000 May 25, 2004 4.10-RELEASE 491100 June 1, 2004 4.10-STABLE 491101 August 11, 2004 4.10-STABLE after MFC of revision 20040629 of the package tools 491102 November 16, 2004 4.10-STABLE after VM fix dealing with unwiring of fictitious pages 492000 December 17, 2004 4.11-RELEASE 492100 December 17, 2004 4.11-STABLE 492101 April 18, 2006 4.11-STABLE after adding libdata/ldconfig directories to mtree files. 500000 March 13, 2000 5.0-CURRENT 500001 April 18, 2000 5.0-CURRENT after adding addition ELF header fields, and changing our ELF binary branding method. 500002 May 2, 2000 5.0-CURRENT after kld metadata changes. 500003 May 18, 2000 5.0-CURRENT after buf/bio changes. 500004 May 26, 2000 5.0-CURRENT after binutils upgrade. 500005 June 3, 2000 5.0-CURRENT after merging libxpg4 code into libc and after TASKQ interface introduction. 500006 June 10, 2000 5.0-CURRENT after the addition of AGP interfaces. 500007 June 29, 2000 5.0-CURRENT after Perl upgrade to 5.6.0 500008 July 7, 2000 5.0-CURRENT after the update of KAME code to 2000/07 sources. 500009 July 14, 2000 5.0-CURRENT after ether_ifattach() and ether_ifdetach() changes. 500010 July 16, 2000 5.0-CURRENT after changing mtree defaults back to original variant, adding -L to follow symlinks. 500011 July 18, 2000 5.0-CURRENT after kqueue API changed. 500012 September 2, 2000 5.0-CURRENT after &man.setproctitle.3; moved from libutil to libc. 500013 September 10, 2000 5.0-CURRENT after the first SMPng commit. 500014 January 4, 2001 5.0-CURRENT after <sys/select.h> moved to <sys/selinfo.h>. 500015 January 10, 2001 5.0-CURRENT after combining libgcc.a and libgcc_r.a, and associated GCC linkage changes. 500016 January 24, 2001 5.0-CURRENT after change allowing libc and libc_r to be linked together, deprecating -pthread option. 500017 February 18, 2001 5.0-CURRENT after switch from struct ucred to struct xucred to stabilize kernel-exported API for mountd et al. 500018 February 24, 2001 5.0-CURRENT after addition of CPUTYPE make variable for controlling CPU-specific optimizations. 500019 June 9, 2001 5.0-CURRENT after moving machine/ioctl_fd.h to sys/fdcio.h 500020 June 15, 2001 5.0-CURRENT after locale names renaming. 500021 June 22, 2001 5.0-CURRENT after Bzip2 import. Also signifies removal of S/Key. 500022 July 12, 2001 5.0-CURRENT after SSE support. 500023 September 14, 2001 5.0-CURRENT after KSE Milestone 2. 500024 October 1, 2001 5.0-CURRENT after d_thread_t, and moving UUCP to ports. 500025 October 4, 2001 5.0-CURRENT after ABI change for descriptor and creds passing on 64 bit platforms. 500026 October 9, 2001 5.0-CURRENT after moving to XFree86 4 by default for package builds, and after the new libc strnstr() function was added. 500027 October 10, 2001 5.0-CURRENT after the new libc strcasestr() function was added. 500028 December 14, 2001 5.0-CURRENT after the userland components of smbfs were imported. (not changed) 5.0-CURRENT after the new C99 specific-width integer types were added. 500029 January 29, 2002 5.0-CURRENT after a change was made in the return value of &man.sendfile.2;. 500030 February 15, 2002 5.0-CURRENT after the introduction of the type fflags_t, which is the appropriate size for file flags. 500031 February 24, 2002 5.0-CURRENT after the usb structure element rename. 500032 March 16, 2002 5.0-CURRENT after the introduction of Perl 5.6.1. 500033 April 3, 2002 5.0-CURRENT after the sendmail_enable &man.rc.conf.5; variable was made to take the value NONE. 500034 April 30, 2002 5.0-CURRENT after mtx_init() grew a third argument. 500035 May 13, 2002 5.0-CURRENT with Gcc 3.1. 500036 May 17, 2002 5.0-CURRENT without Perl in /usr/src 500037 May 29, 2002 5.0-CURRENT after the addition of &man.dlfunc.3; 500038 July 24, 2002 5.0-CURRENT after the types of some struct sockbuf members were changed and the structure was reordered. 500039 September 1, 2002 5.0-CURRENT after GCC 3.2.1 import. Also after headers stopped using _BSD_FOO_T_ and started using _FOO_T_DECLARED. This value can also be used as a conservative estimate of the start of &man.bzip2.1; package support. 500040 September 20, 2002 5.0-CURRENT after various changes to disk functions were made in the name of removing dependency on disklabel structure internals. 500041 October 1, 2002 5.0-CURRENT after the addition of &man.getopt.long.3; to libc. 500042 October 15, 2002 5.0-CURRENT after Binutils 2.13 upgrade, which included new FreeBSD emulation, vec, and output format. 500043 November 1, 2002 5.0-CURRENT after adding weak pthread_XXX stubs to libc, obsoleting libXThrStub.so. 5.0-RELEASE. 500100 January 17, 2003 5.0-CURRENT after branching for RELENG_5_0 500101 February 19, 2003 <sys/dkstat.h> is empty and should not be included. 500102 February 25, 2003 5.0-CURRENT after the d_mmap_t interface change. 500103 February 26, 2003 5.0-CURRENT after taskqueue_swi changed to run without Giant, and taskqueue_swi_giant added to run with Giant. 500104 February 27, 2003 cdevsw_add() and cdevsw_remove() no longer exists. Appearance of MAJOR_AUTO allocation facility. 500105 March 4, 2003 5.0-CURRENT after new cdevsw initialization method. 500106 March 8, 2003 devstat_add_entry() has been replaced by devstat_new_entry() 500107 March 15, 2003 Devstat interface change; see sys/sys/param.h 1.149 500108 March 15, 2003 Token-Ring interface changes. 500109 March 25, 2003 Addition of vm_paddr_t. 500110 March 28, 2003 5.0-CURRENT after &man.realpath.3; has been made thread-safe 500111 April 9, 2003 5.0-CURRENT after &man.usbhid.3; has been synced with NetBSD 500112 April 17, 2003 5.0-CURRENT after new NSS implementation and addition of POSIX.1 getpw*_r, getgr*_r functions 500113 May 2, 2003 5.0-CURRENT after removal of the old rc system. 501000 June 4, 2003 5.1-RELEASE. 501100 June 2, 2003 5.1-CURRENT after branching for RELENG_5_1. 501101 June 29, 2003 5.1-CURRENT after correcting the semantics of sigtimedwait(2) and sigwaitinfo(2). 501102 July 3, 2003 5.1-CURRENT after adding the lockfunc and lockfuncarg fields to &man.bus.dma.tag.create.9;. 501103 July 31, 2003 5.1-CURRENT after GCC 3.3.1-pre 20030711 snapshot integration. 501104 August 5, 2003 5.1-CURRENT 3ware API changes to twe. 501105 August 17, 2003 5.1-CURRENT dynamically-linked /bin and /sbin support and movement of libraries to /lib. 501106 September 8, 2003 5.1-CURRENT after adding kernel support for Coda 6.x. 501107 September 17, 2003 5.1-CURRENT after 16550 UART constants moved from <dev/sio/sioreg.h> to <dev/ic/ns16550.h>. Also when libmap functionality was unconditionally supported by rtld. 501108 September 23, 2003 5.1-CURRENT after PFIL_HOOKS API update 501109 September 27, 2003 5.1-CURRENT after adding kiconv(3) 501110 September 28, 2003 5.1-CURRENT after changing default operations for open and close in cdevsw 501111 October 16, 2003 5.1-CURRENT after changed layout of cdevsw 501112 October 16, 2003 5.1-CURRENT after adding kobj multiple inheritance 501113 October 31, 2003 5.1-CURRENT after the if_xname change in struct ifnet 501114 November 16, 2003 5.1-CURRENT after changing /bin and /sbin to be dynamically linked 502000 December 7, 2003 5.2-RELEASE 502010 February 23, 2004 5.2.1-RELEASE 502100 December 7, 2003 5.2-CURRENT after branching for RELENG_5_2 502101 December 19, 2003 5.2-CURRENT after __cxa_atexit/__cxa_finalize functions were added to libc. 502102 January 30, 2004 5.2-CURRENT after change of default thread library from libc_r to libpthread. 502103 February 21, 2004 5.2-CURRENT after device driver API megapatch. 502104 February 25, 2004 5.2-CURRENT after getopt_long_only() addition. 502105 March 5, 2004 5.2-CURRENT after NULL is made into ((void *)0) for C, creating more warnings. 502106 March 8, 2004 5.2-CURRENT after pf is linked to the build and install. 502107 March 10, 2004 5.2-CURRENT after time_t is changed to a 64-bit value on sparc64. 502108 March 12, 2004 5.2-CURRENT after Intel C/C++ compiler support in some headers and execve(2) changes to be more strictly conforming to POSIX. 502109 March 22, 2004 5.2-CURRENT after the introduction of the bus_alloc_resource_any API 502110 March 27, 2004 5.2-CURRENT after the addition of UTF-8 locales 502111 April 11, 2004 5.2-CURRENT after the removal of the getvfsent(3) API 502112 April 13, 2004 5.2-CURRENT after the addition of the .warning directive for make. 502113 June 4, 2004 5.2-CURRENT after ttyioctl() was made mandatory for serial drivers. 502114 June 13, 2004 5.2-CURRENT after import of the ALTQ framework. 502115 June 14, 2004 5.2-CURRENT after changing sema_timedwait(9) to return 0 on success and a non-zero error code on failure. 502116 June 16, 2004 5.2-CURRENT after changing kernel dev_t to be pointer to struct cdev *. 502117 June 17, 2004 5.2-CURRENT after changing kernel udev_t to dev_t. 502118 June 17, 2004 5.2-CURRENT after adding support for CLOCK_VIRTUAL and CLOCK_PROF to clock_gettime(2) and clock_getres(2). 502119 June 22, 2004 5.2-CURRENT after changing network interface cloning overhaul. 502120 July 2, 2004 5.2-CURRENT after the update of the package tools to revision 20040629. 502121 July 9, 2004 5.2-CURRENT after marking Bluetooth code as non-i386 specific. 502122 July 11, 2004 5.2-CURRENT after the introduction of the KDB debugger framework, the conversion of DDB into a backend and the introduction of the GDB backend. 502123 July 12, 2004 5.2-CURRENT after change to make VFS_ROOT take a struct thread argument as does vflush. Struct kinfo_proc now has a user data pointer. The switch of the default X implementation to xorg was also made at this time. 502124 July 24, 2004 5.2-CURRENT after the change to separate the way ports rc.d and legacy scripts are started. 502125 July 28, 2004 5.2-CURRENT after the backout of the previous change. 502126 July 31, 2004 5.2-CURRENT after the removal of kmem_alloc_pageable() and the import of gcc 3.4.2. 502127 August 2, 2004 5.2-CURRENT after changing the UMA kernel API to allow ctors/inits to fail. 502128 August 8, 2004 5.2-CURRENT after the change of the vfs_mount signature as well as global replacement of PRISON_ROOT with SUSER_ALLOWJAIL for the suser(9) API. 503000 August 23, 2004 5.3-BETA/RC before the pfil API change 503001 September 22, 2004 5.3-RELEASE 503100 October 16, 2004 5.3-STABLE after branching for RELENG_5_3 503101 December 3, 2004 5.3-STABLE after addition of glibc style &man.strftime.3; padding options. 503102 February 13, 2005 5.3-STABLE after OpenBSD's nc(1) import MFC. 503103 February 27, 2005 5.4-PRERELEASE after the MFC of the fixes in <src/include/stdbool.h> and <src/sys/i386/include/_types.h> for using the GCC-compatibility of the Intel C/C++ compiler. 503104 February 28, 2005 5.4-PRERELEASE after the MFC of the change of ifi_epoch from wall clock time to uptime. 503105 March 2, 2005 5.4-PRERELEASE after the MFC of the fix of EOVERFLOW check in vswprintf(3). 504000 April 3, 2005 5.4-RELEASE. 504100 April 3, 2005 5.4-STABLE after branching for RELENG_5_4 504101 May 11, 2005 5.4-STABLE after increasing the default thread stacksizes 504102 June 24, 2005 5.4-STABLE after the addition of sha256 504103 October 3, 2005 5.4-STABLE after the MFC of if_bridge 504104 November 13, 2005 5.4-STABLE after the MFC of bsdiff and portsnap 504105 January 17, 2006 5.4-STABLE after MFC of ldconfig_local_dirs change. 505000 May 12, 2006 5.5-RELEASE. 505100 May 12, 2006 5.5-STABLE after branching for RELENG_5_5 600000 August 18, 2004 6.0-CURRENT 600001 August 27, 2004 6.0-CURRENT after permanently enabling PFIL_HOOKS in the kernel. 600002 August 30, 2004 6.0-CURRENT after initial addition of ifi_epoch to struct if_data. Backed out after a few days. Do not use this value. 600003 September 8, 2004 6.0-CURRENT after the re-addition of the ifi_epoch member of struct if_data. 600004 September 29, 2004 6.0-CURRENT after addition of the struct inpcb argument to the pfil API. 600005 October 5, 2004 6.0-CURRENT after addition of the "-d DESTDIR" argument to newsyslog. 600006 November 4, 2004 6.0-CURRENT after addition of glibc style &man.strftime.3; padding options. 600007 December 12, 2004 6.0-CURRENT after addition of 802.11 framework updates. 600008 January 25, 2005 6.0-CURRENT after changes to VOP_*VOBJECT() functions and introduction of MNTK_MPSAFE flag for Giantfree filesystems. 600009 February 4, 2005 6.0-CURRENT after addition of the cpufreq framework and drivers. 600010 February 6, 2005 6.0-CURRENT after importing OpenBSD's nc(1). 600011 February 12, 2005 6.0-CURRENT after removing semblance of SVID2 matherr() support. 600012 February 15, 2005 6.0-CURRENT after increase of default thread stacks' size. 600013 February 19, 2005 6.0-CURRENT after fixes in <src/include/stdbool.h> and <src/sys/i386/include/_types.h> for using the GCC-compatibility of the Intel C/C++ compiler. 600014 February 21, 2005 6.0-CURRENT after EOVERFLOW checks in vswprintf(3) fixed. 600015 February 25, 2005 6.0-CURRENT after changing the struct if_data member, ifi_epoch, from wall clock time to uptime. 600016 February 26, 2005 6.0-CURRENT after LC_CTYPE disk format changed. 600017 February 27, 2005 6.0-CURRENT after NLS catalogs disk format changed. 600018 February 27, 2005 6.0-CURRENT after LC_COLLATE disk format changed. 600019 February 28, 2005 Installation of acpica includes into /usr/include. 600020 March 9, 2005 Addition of MSG_NOSIGNAL flag to send(2) API. 600021 March 17, 2005 Addition of fields to cdevsw 600022 March 21, 2005 Removed gtar from base system. 600023 April 13, 2005 LOCAL_CREDS, LOCAL_CONNWAIT socket options added to unix(4). 600024 April 19, 2005 &man.hwpmc.4; and related tools added to 6.0-CURRENT. 600025 April 26, 2005 struct icmphdr added to 6.0-CURRENT. 600026 May 3, 2005 pf updated to 3.7. 600027 May 6, 2005 Kernel libalias and ng_nat introduced. 600028 May 13, 2005 POSIX ttyname_r(3) made available through unistd.h and libc. 600029 May 29, 2005 6.0-CURRENT after libpcap updated to v0.9.1 alpha 096. 600030 June 5, 2005 6.0-CURRENT after importing NetBSD's if_bridge(4). 600031 June 10, 2005 6.0-CURRENT after struct ifnet was broken out of the driver softcs. 600032 July 11, 2005 6.0-CURRENT after the import of libpcap v0.9.1. 600033 July 25, 2005 6.0-STABLE after bump of all shared library versions that had not been changed since RELENG_5. 600034 August 13, 2005 6.0-STABLE after credential argument is added to dev_clone event handler. 6.0-RELEASE. 600100 November 1, 2005 6.0-STABLE after 6.0-RELEASE 600101 December 21, 2005 6.0-STABLE after incorporating scripts from the local_startup directories into the base &man.rcorder.8;. 600102 December 30, 2005 6.0-STABLE after updating the ELF types and constants. 600103 January 15, 2006 6.0-STABLE after MFC of pidfile(3) API. 600104 January 17, 2006 6.0-STABLE after MFC of ldconfig_local_dirs change. 600105 February 26, 2006 6.0-STABLE after NLS catalog support of csh(1). 601000 May 6, 2006 6.1-RELEASE 601100 May 6, 2006 6.1-STABLE after 6.1-RELEASE. 601101 June 22, 2006 6.1-STABLE after the import of csup. 601102 July 11, 2006 6.1-STABLE after the iwi(4) update. 601103 July 17, 2006 6.1-STABLE after the resolver update to BIND9, and exposure of reentrant version of netdb functions. 601104 August 8, 2006 6.1-STABLE after DSO (dynamic shared objects) support has been enabled in OpenSSL. 601105 September 2, 2006 6.1-STABLE after 802.11 fixups changed the api for the IEEE80211_IOC_STA_INFO ioctl. 602000 November 15, 2006 6.2-RELEASE 602100 September 15, 2006 6.2-STABLE after 6.2-RELEASE. 602101 December 12, 2006 6.2-STABLE after the addition of Wi-Spy quirk. 602102 December 28, 2006 6.2-STABLE after pci_find_extcap() addition. 602103 January 16, 2007 6.2-STABLE after MFC of dlsym change to look for a requested symbol both in specified dso and its implicit dependencies. 602104 January 28, 2007 6.2-STABLE after MFC of ng_deflate(4) and ng_pred1(4) netgraph nodes and new compression and encryption modes for ng_ppp(4) node. 602105 February 20, 2007 6.2-STABLE after MFC of BSD licensed version of &man.gzip.1; ported from NetBSD. 602106 March 31, 2007 6.2-STABLE after MFC of PCI MSI and MSI-X support. 602107 April 6, 2007 6.2-STABLE after MFC of ncurses 5.6 and wide character support. 602108 April 11, 2007 6.2-STABLE after MFC of CAM 'SG' peripheral device, which implements a subset of Linux SCSI SG passthrough device API. 602109 April 17, 2007 6.2-STABLE after MFC of readline 5.2 patchset 002. 602110 May 2, 2007 6.2-STABLE after MFC of pmap_invalidate_cache(), pmap_change_attr(), pmap_mapbios(), pmap_mapdev_attr(), and pmap_unmapbios() for amd64 and i386. 602111 June 11, 2007 6.2-STABLE after MFC of BOP_BDFLUSH and caused breakage of the filesystem modules KBI. 602112 September 21, 2007 6.2-STABLE after libutil(3) MFC's. 602113 October 25, 2007 6.2-STABLE after MFC of wide and single byte ctype separation. Newly compiled binary that references to ctype.h may require a new symbol, __mb_sb_limit, which is not available on older systems. 602114 October 30, 2007 6.2-STABLE after ctype ABI forward compatibility restored. 602115 November 21, 2007 6.2-STABLE after back out of wide and single byte ctype separation. 603000 November 25, 2007 6.3-RELEASE 603100 November 25, 2007 6.3-STABLE after 6.3-RELEASE. 603101 December 7, 2007 6.3-STABLE after fixing multibyte type support in bit macro. 603102 April 24, 2008 6.3-STABLE after adding l_sysid to struct flock. 603103 May 27, 2008 6.3-STABLE after MFC of the memrchr function. 603104 June 15, 2008 6.3-STABLE after MFC of support for :u variable modifier in make(1). 604000 October 4, 2008 6.4-RELEASE 604100 October 4, 2008 6.4-STABLE after 6.4-RELEASE. 700000 July 11, 2005 7.0-CURRENT. 700001 July 23, 2005 7.0-CURRENT after bump of all shared library versions that had not been changed since RELENG_5. 700002 August 13, 2005 7.0-CURRENT after credential argument is added to dev_clone event handler. 700003 August 25, 2005 7.0-CURRENT after memmem(3) is added to libc. 700004 October 30, 2005 7.0-CURRENT after solisten(9) kernel arguments are modified to accept a backlog parameter. 700005 November 11, 2005 7.0-CURRENT after IFP2ENADDR() was changed to return a pointer to IF_LLADDR(). 700006 November 11, 2005 7.0-CURRENT after addition of if_addr member to struct ifnet and IFP2ENADDR() removal. 700007 December 2, 2005 7.0-CURRENT after incorporating scripts from the local_startup directories into the base &man.rcorder.8;. 700008 December 5, 2005 7.0-CURRENT after removal of MNT_NODEV mount option. 700009 December 19, 2005 7.0-CURRENT after ELF-64 type changes and symbol versioning. 700010 December 20, 2005 7.0-CURRENT after addition of hostb and vgapci drivers, addition of pci_find_extcap(), and changing the AGP drivers to no longer map the aperture. 700011 December 31, 2005 7.0-CURRENT after tv_sec was made time_t on all platforms but Alpha. 700012 January 8, 2006 7.0-CURRENT after ldconfig_local_dirs change. 700013 January 12, 2006 7.0-CURRENT after changes to /etc/rc.d/abi to support /compat/linux/etc/ld.so.cache being a symlink in a readonly filesystem. 700014 January 26, 2006 7.0-CURRENT after pts import. 700015 March 26, 2006 7.0-CURRENT after the introduction of version 2 of &man.hwpmc.4;'s ABI. 700016 April 22, 2006 7.0-CURRENT after addition of &man.fcloseall.3; to libc. 700017 May 13, 2006 7.0-CURRENT after removal of ip6fw. 700018 July 15, 2006 7.0-CURRENT after import of snd_emu10kx. 700019 July 29, 2006 7.0-CURRENT after import of OpenSSL 0.9.8b. 700020 September 3, 2006 7.0-CURRENT after addition of bus_dma_get_tag function 700021 September 4, 2006 7.0-CURRENT after libpcap 0.9.4 and tcpdump 3.9.4 import. 700022 September 9, 2006 7.0-CURRENT after dlsym change to look for a requested symbol both in specified dso and its implicit dependencies. 700023 September 23, 2006 7.0-CURRENT after adding new sound IOCTLs for the OSSv4 mixer API. 700024 September 28, 2006 7.0-CURRENT after import of OpenSSL 0.9.8d. 700025 November 11, 2006 7.0-CURRENT after the addition of libelf. 700026 November 26, 2006 7.0-CURRENT after major changes on sound sysctls. 700027 November 30, 2006 7.0-CURRENT after the addition of Wi-Spy quirk. 700028 December 15, 2006 7.0-CURRENT after the addition of sctp calls to libc 700029 January 26, 2007 7.0-CURRENT after the GNU &man.gzip.1; implementation was replaced with a BSD licensed version ported from NetBSD. 700030 February 7, 2007 7.0-CURRENT after the removal of IPIP tunnel encapsulation (VIFF_TUNNEL) from the IPv4 multicast forwarding code. 700031 February 23, 2007 7.0-CURRENT after the modification of bus_setup_intr() (newbus). 700032 March 2, 2007 7.0-CURRENT after the inclusion of ipw(4) and iwi(4) firmware. 700033 March 9, 2007 7.0-CURRENT after the inclusion of ncurses wide character support. 700034 March 19, 2007 7.0-CURRENT after changes to how insmntque(), getnewvnode(), and vfs_hash_insert() work. 700035 March 26, 2007 7.0-CURRENT after addition of a notify mechanism for CPU frequency changes. 700036 April 6, 2007 7.0-CURRENT after import of the ZFS filesystem. 700037 April 8, 2007 7.0-CURRENT after addition of CAM 'SG' peripheral device, which implements a subset of Linux SCSI SG passthrough device API. 700038 April 30, 2007 7.0-CURRENT after changing &man.getenv.3;, &man.putenv.3;, &man.setenv.3; and &man.unsetenv.3; to be POSIX conformant. 700039 May 1, 2007 7.0-CURRENT after the changes in 700038 were backed out. 700040 May 10, 2007 7.0-CURRENT after the addition of &man.flopen.3; to libutil. 700041 May 13, 2007 7.0-CURRENT after enabling symbol versioning, and changing the default thread library to libthr. 700042 May 19, 2007 7.0-CURRENT after the import of gcc 4.2.0. 700043 May 21, 2007 7.0-CURRENT after bump of all shared library versions that had not been changed since RELENG_6. 700044 June 7, 2007 7.0-CURRENT after changing the argument for vn_open()/VOP_OPEN() from file descriptor index to the struct file *. 700045 June 10, 2007 7.0-CURRENT after changing &man.pam.nologin.8; to provide an account management function instead of an authentication function to the PAM framework. 700046 June 11, 2007 7.0-CURRENT after updated 802.11 wireless support. 700047 June 11, 2007 7.0-CURRENT after adding TCP LRO interface capabilities. 700048 June 12, 2007 7.0-CURRENT after RFC 3678 API support added to the IPv4 stack. Legacy RFC 1724 behavior of the IP_MULTICAST_IF ioctl has now been removed; 0.0.0.0/8 may no longer be used to specify an interface index. struct ipmreqn should be used instead. 700049 July 3, 2007 7.0-CURRENT after importing pf from OpenBSD 4.1 (not changed) 7.0-CURRENT after adding IPv6 support for FAST_IPSEC, deleting KAME IPSEC, and renaming FAST_IPSEC to IPSEC. 700050 July 4, 2007 7.0-CURRENT after converting setenv/putenv/etc. calls from traditional BSD to POSIX. 700051 July 4, 2007 7.0-CURRENT after adding new mmap/lseek/etc syscalls. 700052 July 6, 2007 7.0-CURRENT after moving I4B headers to include/i4b. 700053 September 30, 2007 7.0-CURRENT after the addition of support for PCI domains 700054 October 25, 2007 7.0-CURRENT after MFC of wide and single byte ctype separation. 700055 October 28, 2007 7.0-RELEASE, and 7.0-CURRENT after ABI backwards compatibility to the FreeBSD 4/5/6 versions of the PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs was MFCed, which required the ABI of the PCIOCGETCONF IOCTL to be broken again 700100 December 22, 2007 7.0-STABLE after 7.0-RELEASE 700101 February 8, 2008 7.0-STABLE after the MFC of m_collapse(). 700102 March 30, 2008 7.0-STABLE after the MFC of kdb_enter_why(). 700103 April 10, 2008 7.0-STABLE after adding l_sysid to struct flock. 700104 April 11, 2008 7.0-STABLE after the MFC of procstat(1). 700105 April 11, 2008 7.0-STABLE after the MFC of umtx features. 700106 April 15, 2008 7.0-STABLE after the MFC of &man.write.2; support to &man.psm.4;. 700107 April 20, 2008 7.0-STABLE after the MFC of F_DUP2FD command to &man.fcntl.2;. 700108 May 5, 2008 7.0-STABLE after some &man.lockmgr.9; changes, which makes it necessary to include sys/lock.h in order to use &man.lockmgr.9;. 700109 May 27, 2008 7.0-STABLE after MFC of the memrchr function. 700110 August 5, 2008 7.0-STABLE after MFC of kernel NFS lockd client. 700111 August 20, 2008 7.0-STABLE after addition of physically contiguous jumbo frame support. 700112 August 27, 2008 7.0-STABLE after MFC of kernel DTrace support. 701000 November 25, 2008 7.1-RELEASE 701100 November 25, 2008 7.1-STABLE after 7.1-RELEASE. 701101 January 10, 2009 7.1-STABLE after strndup merge. 701102 January 17, 2009 7.1-STABLE after cpuctl(4) support added. 701103 February 7, 2009 7.1-STABLE after the merge of multi-/no-IPv4/v6 jails. 701104 February 14, 2009 7.1-STABLE after the store of the suspension owner in the struct mount, and introduction of vfs_susp_clean method into the struct vfsops. 701105 March 12, 2009 7.1-STABLE after the incompatible change to the kern.ipc.shmsegs sysctl to allow to allocate larger SysV shared memory segments on 64bit architectures. 701106 March 14, 2009 7.1-STABLE after the merge of a fix for POSIX semaphore wait operations. 702000 April 15, 2009 7.2-RELEASE 702100 April 15, 2009 7.2-STABLE after 7.2-RELEASE. 702101 May 15, 2009 7.2-STABLE after ichsmb(4) was changed to use left-adjusted slave addressing to match other SMBus controller drivers. 702102 May 28, 2009 7.2-STABLE after MFC of the fdopendir function. 702103 June 06, 2009 7.2-STABLE after MFC of PmcTools. 702104 July 14, 2009 7.2-STABLE after MFC of the closefrom system call. 702105 July 31, 2009 7.2-STABLE after MFC of the SYSVIPC ABI change. 702106 September 14, 2009 7.2-STABLE after MFC of the x86 PAT enhancements and addition of d_mmap_single() and the scatter/gather list VM object type. 703000 February 9, 2010 7.3-RELEASE 703100 February 9, 2010 7.3-STABLE after 7.3-RELEASE. 704000 December 22, 2010 7.4-RELEASE 704100 December 22, 2010 7.4-STABLE after 7.4-RELEASE. 800000 October 11, 2007 8.0-CURRENT. Separating wide and single byte ctype. 800001 October 16, 2007 8.0-CURRENT after libpcap 0.9.8 and tcpdump 3.9.8 import. 800002 October 21, 2007 8.0-CURRENT after renaming kthread_create() and friends to kproc_create() etc. 800003 October 24, 2007 8.0-CURRENT after ABI backwards compatibility to the FreeBSD 4/5/6 versions of the PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs was added, which required the ABI of the PCIOCGETCONF IOCTL to be broken again 800004 November 12, 2007 8.0-CURRENT after agp(4) driver moved from src/sys/pci to src/sys/dev/agp 800005 December 4, 2007 - 8.0-CURRENT after - changes - to the jumbo frame allocator. + 8.0-CURRENT after changes to the jumbo frame + allocator (rev 174247). 800006 December 7, 2007 8.0-CURRENT after the addition of callgraph capture functionality to &man.hwpmc.4;. 800007 December 25, 2007 8.0-CURRENT after kdb_enter() gains a "why" argument. 800008 December 28, 2007 8.0-CURRENT after LK_EXCLUPGRADE option removal. 800009 January 9, 2008 8.0-CURRENT after introduction of &man.lockmgr.disown.9; 800010 January 10, 2008 8.0-CURRENT after the &man.vn.lock.9; prototype change. 800011 January 13, 2008 8.0-CURRENT after the &man.VOP.LOCK.9; and &man.VOP.UNLOCK.9; prototype changes. 800012 January 19, 2008 8.0-CURRENT after introduction of &man.lockmgr.recursed.9;, &man.BUF.RECURSED.9; and &man.BUF.ISLOCKED.9; and the removal of BUF_REFCNT(). 800013 January 23, 2008 8.0-CURRENT after introduction of the ASCII encoding. 800014 January 24, 2008 8.0-CURRENT after changing the prototype of &man.lockmgr.9; and removal of lockcount() and LOCKMGR_ASSERT(). 800015 January 26, 2008 8.0-CURRENT after extending the types of the &man.fts.3; structures. 800016 February 1, 2008 8.0-CURRENT after adding an argument to MEXTADD(9) 800017 February 6, 2008 8.0-CURRENT after the introduction of LK_NODUP and LK_NOWITNESS options in the &man.lockmgr.9; space. 800018 February 8, 2008 8.0-CURRENT after the addition of m_collapse. 800019 February 9, 2008 8.0-CURRENT after the addition of current working directory, root directory, and jail directory support to the kern.proc.filedesc sysctl. 800020 February 13, 2008 8.0-CURRENT after introduction of &man.lockmgr.assert.9; and BUF_ASSERT functions. 800021 February 15, 2008 8.0-CURRENT after introduction of &man.lockmgr.args.9; and LK_INTERNAL flag removal. 800022 (backed out) 8.0-CURRENT after changing the default system ar to BSD &man.ar.1;. 800023 February 25, 2008 8.0-CURRENT after changing the prototypes of &man.lockstatus.9; and &man.VOP.ISLOCKED.9;, more specifically retiring the struct thread argument. 800024 March 1, 2008 8.0-CURRENT after axing out the lockwaiters and BUF_LOCKWAITERS functions, changing the return value of brelvp from void to int and introducing new flags for &man.lockinit.9;. 800025 March 8, 2008 8.0-CURRENT after adding F_DUP2FD command to &man.fcntl.2;. 800026 March 12, 2008 8.0-CURRENT after changing the priority parameter to cv_broadcastpri such that 0 means no priority. 800027 March 24, 2008 8.0-CURRENT after changing the bpf monitoring ABI when zerocopy bpf buffers were added. 800028 March 26, 2008 8.0-CURRENT after adding l_sysid to struct flock. 800029 March 28, 2008 8.0-CURRENT after reintegration of the BUF_LOCKWAITERS function and the addition of &man.lockmgr.waiters.9;. 800030 April 1, 2008 8.0-CURRENT after the introduction of the &man.rw.try.rlock.9; and &man.rw.try.wlock.9; functions. 800031 April 6, 2008 8.0-CURRENT after the introduction of the lockmgr_rw and lockmgr_args_rw functions. 800032 April 8, 2008 8.0-CURRENT after the implementation of the openat and related syscalls, introduction of the O_EXEC flag for the &man.open.2;, and providing the corresponding linux compatibility syscalls. 800033 April 8, 2008 8.0-CURRENT after added &man.write.2; support for &man.psm.4; in native operation level. Now arbitrary commands can be written to /dev/psm%d and status can be read back from it. 800034 April 10, 2008 8.0-CURRENT after introduction of the memrchr function. 800035 April 16, 2008 8.0-CURRENT after introduction of the fdopendir function. 800036 April 20, 2008 8.0-CURRENT after switchover of 802.11 wireless to multi-bss support (aka vaps). 800037 May 9, 2008 8.0-CURRENT after addition of multi routing table support (aka setfib(1), setfib(2)). 800038 May 26, 2008 8.0-CURRENT after removal of netatm and ISDN4BSD. Also, the addition of the Compact C Type (CTF) tools. 800039 June 14, 2008 8.0-CURRENT after removal of sgtty. 800040 June 26, 2008 8.0-CURRENT with kernel NFS lockd client. 800041 July 22, 2008 8.0-CURRENT after addition of arc4random_buf(3) and arc4random_uniform(3). 800042 August 8, 2008 8.0-CURRENT after addition of cpuctl(4). 800043 August 13, 2008 8.0-CURRENT after changing bpf(4) to use a single device node, instead of device cloning. 800044 August 17, 2008 8.0-CURRENT after the commit of the first step of the vimage project renaming global variables to be virtualized with a V_ prefix with macros to map them back to their global names. 800045 August 20, 2008 8.0-CURRENT after the integration of the MPSAFE TTY layer, including changes to various drivers and utilities that interact with it. 800046 September 8, 2008 8.0-CURRENT after the separation of the GDT per CPU on amd64 architecture. 800047 September 10, 2008 8.0-CURRENT after removal of VSVTX, VSGID and VSUID. 800048 September 16, 2008 8.0-CURRENT after converting the kernel NFS mount code to accept individual mount options in the nmount() iovec, not just one big struct nfs_args. 800049 September 17, 2008 8.0-CURRENT after the removal of &man.suser.9; and &man.suser.cred.9;. 800050 October 20, 2008 8.0-CURRENT after buffer cache API change. 800051 October 23, 2008 8.0-CURRENT after the removal of the &man.MALLOC.9; and &man.FREE.9; macros. 800052 October 28, 2008 8.0-CURRENT after the introduction of accmode_t and renaming of VOP_ACCESS 'a_mode' argument to 'a_accmode'. 800053 November 2, 2008 8.0-CURRENT after the prototype change of &man.vfs.busy.9; and the introduction of its MBF_NOWAIT and MBF_MNTLSTLOCK flags. 800054 November 22, 2008 8.0-CURRENT after the addition of buf_ring, memory barriers and ifnet functions to facilitate multiple hardware transmit queues for cards that support them, and a lockless ring-buffer implementation to enable drivers to more efficiently manage queuing of packets. 800055 November 27, 2008 8.0-CURRENT after the addition of Intel™ Core, Core2, and Atom support to &man.hwpmc.4;. 800056 November 29, 2008 8.0-CURRENT after the introduction of multi-/no-IPv4/v6 jails. 800057 December 1, 2008 8.0-CURRENT after the switch to the ath hal source code. 800058 December 12, 2008 8.0-CURRENT after the introduction of the VOP_VPTOCNP operation. 800059 December 15, 2008 8.0-CURRENT incorporates the new arp-v2 rewrite. 800060 December 19, 2008 8.0-CURRENT after the addition of makefs. 800061 January 15, 2009 8.0-CURRENT after TCP Appropriate Byte Counting. 800062 January 28, 2009 8.0-CURRENT after removal of minor(), minor2unit(), unit2minor(), etc. 800063 February 18, 2009 8.0-CURRENT after GENERIC config change to use the USB2 stack, but also the addition of fdevname(3). 800064 February 23, 2009 8.0-CURRENT after the USB2 stack is moved to and replaces dev/usb. 800065 February 26, 2009 8.0-CURRENT after the renaming of all functions in libmp(3). 800066 February 27, 2009 8.0-CURRENT after changing USB devfs handling and layout. 800067 February 28, 2009 8.0-CURRENT after adding getdelim(), getline(), stpncpy(), strnlen(), wcsnlen(), wcscasecmp(), and wcsncasecmp(). 800068 March 2, 2009 8.0-CURRENT after renaming the ushub devclass to uhub. 800069 March 9, 2009 8.0-CURRENT after libusb20.so.1 was renamed to libusb.so.1. 800070 March 9, 2009 8.0-CURRENT after merging IGMPv3 and Source-Specific Multicast (SSM) to the IPv4 stack. 800071 March 14, 2009 8.0-CURRENT after gcc was patched to use C99 inline semantics in c99 and gnu99 mode. 800072 March 15, 2009 8.0-CURRENT after the IFF_NEEDSGIANT flag has been removed; non-MPSAFE network device drivers are no longer supported. 800073 March 18, 2009 8.0-CURRENT after the dynamic string token substitution has been implemented for rpath and needed paths. 800074 March 24, 2009 8.0-CURRENT after tcpdump 4.0.0 and libpcap 1.0.0 import. 800075 April 6, 2009 8.0-CURRENT after layout of structs vnet_net, vnet_inet and vnet_ipfw has been changed. 800076 April 9, 2009 8.0-CURRENT after adding delay profiles in dummynet. 800077 April 14, 2009 8.0-CURRENT after removing VOP_LEASE() and vop_vector.vop_lease. 800078 April 15, 2009 8.0-CURRENT after struct rt_weight fields have been added to struct rt_metrics and struct rt_metrics_lite, changing the layout of struct rt_metrics_lite. A bump to RTM_VERSION was made, but backed out. 800079 April 15, 2009 8.0-CURRENT after struct llentry pointers are added to struct route and struct route_in6. 800080 April 15, 2009 8.0-CURRENT after layout of struct inpcb has been changed. 800081 April 19, 2009 8.0-CURRENT after the layout of struct malloc_type has been changed. 800082 April 21, 2009 8.0-CURRENT after the layout of struct ifnet has changed, and with if_ref() and if_rele() ifnet refcounting. 800083 April 22, 2009 8.0-CURRENT after the implementation of a low-level Bluetooth HCI API. 800084 April 29, 2009 8.0-CURRENT after IPv6 SSM and MLDv2 changes. 800085 April 30, 2009 8.0-CURRENT after enabling support for VIMAGE kernel builds with one active image. 800086 May 8, 2009 8.0-CURRENT after adding support for input lines of arbitrarily length in patch(1). 800087 May 11, 2009 8.0-CURRENT after some VFS KPI changes. The thread argument has been removed from the FSD parts of the VFS. VFS_* functions do not need the context any more because it always refers to curthread. In some special cases, the old behavior is retained. 800088 May 20, 2009 8.0-CURRENT after net80211 monitor mode changes. 800089 May 23, 2009 8.0-CURRENT after adding UDP control block support. 800090 May 23, 2009 8.0-CURRENT after virtualizing interface cloning. 800091 May 27, 2009 8.0-CURRENT after adding hierarchical jails and removing global securelevel. 800092 May 29, 2009 8.0-CURRENT after changing sx_init_flags() KPI. The SX_ADAPTIVESPIN is retired and a new SX_NOADAPTIVE flag is introduced in order to handle the reversed logic. 800093 May 29, 2009 8.0-CURRENT after adding mnt_xflag to struct mount. 800094 May 30, 2009 8.0-CURRENT after adding &man.VOP.ACCESSX.9;. 800095 May 30, 2009 8.0-CURRENT after changing the polling KPI. The polling handlers now return the number of packets processed. A new IFCAP_POLLING_NOCOUNT is also introduced to specify that the return value is not significant and the counting should be skipped. 800096 June 1, 2009 8.0-CURRENT after updating to the new netisr implementation and after changing the way we store and access FIBs. 800097 June 8, 2009 8.0-CURRENT after the introduction of vnet destructor hooks and infrastructure. 800097 June 11, 2009 8.0-CURRENT after the introduction of netgraph outbound to inbound path call detection and queuing, which also changed the layout of struct thread. 800098 June 14, 2009 8.0-CURRENT after OpenSSL 0.9.8k import. 800099 June 22, 2009 8.0-CURRENT after NGROUPS update and moving route virtualization into its own VImage module. 800100 June 24, 2009 8.0-CURRENT after SYSVIPC ABI change. 800101 June 29, 2009 8.0-CURRENT after the removal of the /dev/net/* per-interface character devices. 800102 July 12, 2009 8.0-CURRENT after padding was added to struct sackhint, struct tcpcb, and struct tcpstat. 800103 July 13, 2009 8.0-CURRENT after replacing struct tcpopt with struct toeopt in the TOE driver interface to the TCP syncache. 800104 July 14, 2009 8.0-CURRENT after the addition of the linker-set based per-vnet allocator. 800105 July 19, 2009 8.0-CURRENT after version bump for all shared libraries that do not have symbol versioning turned on. 800106 July 24, 2009 8.0-CURRENT after introduction of OBJT_SG VM object type. 800107 August 2, 2009 8.0-CURRENT after making the newbus subsystem Giant free by adding the newbus sxlock and 8.0-RELEASE. 800108 November 21, 2009 8.0-STABLE after implementing EVFILT_USER kevent filter. 800500 January 7, 2010 8.0-STABLE after __FreeBSD_version bump to make pkg_add -r use packages-8-stable. 800501 January 24, 2010 8.0-STABLE after change of the scandir(3) and alphasort(3) prototypes to conform to SUSv4. 800502 January 31, 2010 8.0-STABLE after addition of sigpause(3). 800503 February 25, 2010 8.0-STABLE after addition of SIOCGIFDESCR and SIOCSIFDESCR ioctls to network interfaces. These ioctl can be used to manipulate interface description, as inspired by OpenBSD. 800504 March 1, 2010 8.0-STABLE after MFC of importing x86emu, a software emulator for real mode x86 CPU from OpenBSD. 800505 May 18, 2010 8.0-STABLE after MFC of adding liblzma, xz, xzdec, and lzmainfo. 801000 June 14, 2010 8.1-RELEASE 801500 June 14, 2010 8.1-STABLE after 8.1-RELEASE. 801501 November 3, 2010 8.1-STABLE after KBI change in struct sysentvec, and implementation of PL_FLAG_SCE/SCX/EXEC/SI and pl_siginfo for ptrace(PT_LWPINFO) . 802000 December 22, 2010 8.2-RELEASE 802500 December 22, 2010 8.2-STABLE after 8.2-RELEASE. 802501 February 28, 2011 8.2-STABLE after merging DTrace changes, including support for userland tracing. 802502 March 6, 2011 8.2-STABLE after merging log2 and log2f into libm. 802503 May 1, 2011 8.2-STABLE after upgrade of the gcc to the last GPLv2 version from the FSF gcc-4_2-branch. 802504 May 28, 2011 8.2-STABLE after introduction of the KPI and supporting infrastructure for modular congestion control. 802505 May 28, 2011 8.2-STABLE after introduction of Hhook and Khelp KPIs. 802506 May 28, 2011 8.2-STABLE after addition of OSD to struct tcpcb. 802507 June 6, 2011 8.2-STABLE after ZFS v28 import. 802508 June 8, 2011 8.2-STABLE after removal of the schedtail event handler and addition of the sv_schedtail method to struct sysvec. 802509 July 14, 2011 8.2-STABLE after merging the SSSE3 support into binutils. 802510 July 19, 2011 8.2-STABLE after addition of RFTSIGZMB flag for rfork(2). 802511 September 9, 2011 8.2-STABLE after addition of automatic detection of USB mass storage devices which do not support the no synchronize cache SCSI command. 802512 September 10, 2011 8.2-STABLE after merging of re-factoring of auto-quirk. 802513 October 25, 2011 8.2-STABLE after merging of the MAP_PREFAULT_READ flag to mmap(2). 802514 November 16, 2011 8.2-STABLE after merging of addition of posix_fallocate(2) syscall. 802515 January 6, 2012 8.2-STABLE after merging of addition of the posix_fadvise(2) system call. 802516 January 16, 2012 8.2-STABLE after merging gperf 3.0.3 802517 February 15, 2012 8.2-STABLE after introduction of the new extensible sysctl(3) interface NET_RT_IFLISTL to query address lists (rev - 231769. + 231769). 803000 March 3, 2012 8.3-RELEASE. 803500 March 3, 2012 8.3-STABLE after branching releng/8.3 (RELENG_8_3). 804000 March 28, 2013 8.4-RELEASE. 804500 March 28, 2013 8.4-STABLE after 8.4-RELEASE. 900000 August 22, 2009 9.0-CURRENT. 900001 September 8, 2009 9.0-CURRENT after importing x86emu, a software emulator for real mode x86 CPU from OpenBSD. 900002 September 23, 2009 9.0-CURRENT after implementing the EVFILT_USER kevent filter functionality. 900003 December 2, 2009 9.0-CURRENT after addition of sigpause(3) and PIE support in csu. 900004 December 6, 2009 9.0-CURRENT after addition of libulog and its libutempter compatibility interface. 900005 December 12, 2009 9.0-CURRENT after addition of sleepq_sleepcnt(), which can be used to query the number of waiters on a specific waiting queue. 900006 January 4, 2010 9.0-CURRENT after change of the scandir(3) and alphasort(3) prototypes to conform to SUSv4. 900007 January 13, 2010 9.0-CURRENT after the removal of utmp(5) and the addition of utmpx (see getutxent(3)) for improved logging of user logins and system events. 900008 January 20, 2010 9.0-CURRENT after the import of BSDL bc/dc and the deprecation of GNU bc/dc. 900009 January 26, 2010 9.0-CURRENT after the addition of SIOCGIFDESCR and SIOCSIFDESCR ioctls to network interfaces. These ioctl can be used to manipulate interface description, as inspired by OpenBSD. 900010 March 22, 2010 9.0-CURRENT after the import of zlib 1.2.4. 900011 April 24, 2010 9.0-CURRENT after adding soft-updates journalling. 900012 May 10, 2010 9.0-CURRENT after adding liblzma, xz, xzdec, and lzmainfo. 900013 May 24, 2010 9.0-CURRENT after bringing in USB fixes for linux(4). 900014 June 10, 2010 9.0-CURRENT after adding Clang. 900015 July 22, 2010 9.0-CURRENT after the import of BSD grep. 900016 July 28, 2010 9.0-CURRENT after adding mti_zone to struct malloc_type_internal. 900017 August 23, 2010 9.0-CURRENT after changing back default grep to GNU grep and adding WITH_BSD_GREP knob. 900018 August 24, 2010 9.0-CURRENT after the pthread_kill(3) -generated signal is identified as SI_LWP in si_code. Previously, si_code was SI_USER. 900019 August 28, 2010 9.0-CURRENT after addition of the MAP_PREFAULT_READ flag to mmap(2). 900020 September 9, 2010 9.0-CURRENT after adding drain functionality to sbufs, which also changed the layout of struct sbuf. 900021 September 13, 2010 9.0-CURRENT after DTrace has grown support for userland tracing. 900022 October 2, 2010 9.0-CURRENT after addition of the BSDL man utilities and retirement of GNU/GPL man utilities. 900023 October 11, 2010 9.0-CURRENT after updating xz to git 20101010 snapshot. 900024 November 11, 2010 9.0-CURRENT after libgcc.a was replaced by libcompiler_rt.a. 900025 November 12, 2010 9.0-CURRENT after the introduction of the modularised congestion control. 900026 November 30, 2010 9.0-CURRENT after the introduction of Serial Management Protocol (SMP) passthrough and the XPT_SMP_IO and XPT_GDEV_ADVINFO CAM CCBs. 900027 December 5, 2010 9.0-CURRENT after the addition of log2 to libm. 900028 December 21, 2010 9.0-CURRENT after the addition of the Hhook (Helper Hook), Khelp (Kernel Helpers) and Object Specific Data (OSD) KPIs. 900029 December 28, 2010 9.0-CURRENT after the modification of the TCP stack to allow Khelp modules to interact with it via helper hook points and store per-connection data in the TCP control block. 900030 January 12, 2011 9.0-CURRENT after the update of libdialog to version 20100428. 900031 February 7, 2011 9.0-CURRENT after the addition of pthread_getthreadid_np(3). 900032 February 8, 2011 9.0-CURRENT after the removal of the uio_yield prototype and symbol. 900033 February 18, 2011 9.0-CURRENT after the update of binutils to version 2.17.50. 900034 March 8, 2011 9.0-CURRENT after the struct sysvec (sv_schedtail) changes. 900035 March 29, 2011 9.0-CURRENT after the update of base gcc and libstdc++ to the last GPLv2 licensed revision. 900036 April 18, 2011 9.0-CURRENT after the removal of libobjc and Objective-C support from the base system. 900037 May 13, 2011 9.0-CURRENT after importing the libprocstat(3) library and fuser(1) utility to the base system. 900038 May 22, 2011 9.0-CURRENT after adding a lock flag argument to VFS_FHTOVP(9). 900039 June 28, 2011 9.0-CURRENT after importing pf from OpenBSD 4.5. 900040 July 19, 2011 Increase default MAXCPU for FreeBSD to 64 on amd64 and ia64 and to 128 for XLP (mips). 900041 August 13, 2011 9.0-CURRENT after the implementation of Capsicum capabilities; fget(9) gains a rights argument. 900042 August 28, 2011 Bump shared libraries' version numbers for libraries whose ABI has changed in preparation for 9.0. 900043 September 2, 2011 Add automatic detection of USB mass storage devices which do not support the no synchronize cache SCSI command. 900044 September 10, 2011 Re-factor auto-quirk. 9.0-RELEASE. 900045 January 2, 2012 9-CURRENT after MFC of true/false from 1000002. 900500 January 2, 2012 9.0-STABLE. 900501 January 6, 2012 9.0-STABLE after merging of addition of the posix_fadvise(2) system call. 900502 January 16, 2012 9.0-STABLE after merging gperf 3.0.3 900503 February 15, 2012 9.0-STABLE after introduction of the new extensible sysctl(3) interface NET_RT_IFLISTL to query address lists (rev 231768). 900504 March 3, 2012 9.0-STABLE after changes related to mounting of filesystem inside a jail (rev 232728). 900505 March 13, 2012 9.0-STABLE after introduction of new tcp(4) socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL, and TCP_KEEPCNT (rev 232945). 900506 May 22, 2012 9.0-STABLE after introduction of the quick_exit function and related changes required for C++11 (rev 235786). 901000 August 5, 2012 9.1-RELEASE. 901500 August 6, 2012 9.1-STABLE after branching releng/9.1 (RELENG_9_1). 901501 November 11, 2012 9.1-STABLE after LIST_PREV() added to queue.h (rev 242893) and KBI change in USB serial devices (rev 240659). 901502 November 28, 2012 9.1-STABLE after USB serial jitter buffer requires rebuild of USB serial device modules. 901503 February 21, 2013 9.1-STABLE after USB moved to the driver structure requiring a rebuild of all USB modules. Also indicates the presence of nmtree. 901504 March 15, 2013 9.1-STABLE after install gained -l, -M, -N and related flags and cat gained the -l option. 901505 June 13, 2013 9.1-STABLE after fixes in ctfmerge boostrapping (rev 249243). 1000000 September 26, 2011 10.0-CURRENT. 1000001 November 4, 2011 10-CURRENT after addition of the posix_fadvise(2) system call. 1000002 December 12, 2011 10-CURRENT after defining boolean true/false in sys/types.h, sizeof(bool) may have changed (rev 228444). 10-CURRENT after xlocale.h was introduced (rev 227753). 1000003 December 16, 2011 10-CURRENT after major changes to carp(4), changing size of struct in_aliasreq, struct in6_aliasreq (rev 228571) and straitening arguments check of SIOCAIFADDR (rev 228574). 1000004 January 1, 2012 10-CURRENT after the removal of skpc(9) and the addition of memcchr(9) (rev 229200). 1000005 January 16, 2012 10-CURRENT after the removal of support for SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR, SIOCSIFDSTADDR ioctls (rev 230207). 1000006 January 26, 2012 10-CURRENT after introduction of read capacity data asynchronous notification in the cam(4) layer (rev 230590). 1000007 February 5, 2012 10-CURRENT after introduction of new tcp(4) socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL, and TCP_KEEPCNT (rev 231025). 1000008 February 11, 2012 10-CURRENT after introduction of the new extensible sysctl(3) interface NET_RT_IFLISTL to query address lists (rev 231505). 1000009 February 25, 2012 10-CURRENT after import of libarchive 3.0.3 (rev 232153). 1000010 March 31, 2012 10-CURRENT after xlocale cleanup (rev 233757). 1000011 April 16, 2012 10-CURRENT import of LLVM/Clang 3.1 trunk r154661 (rev 234353). 1000012 May 2, 2012 10-CURRENT jemalloc import (rev 234924). 1000013 May 22, 2012 10-CURRENT after byacc import (rev 235788). 1000014 June 27, 2012 10-CURRENT after BSD sort becoming the default sort (rev 237629). 1000015 July 12, 2012 10-CURRENT after import of OpenSSL 1.0.1c (rev 238405). (not changed) July 13, 2012 10-CURRENT after the fix for LLVM/Clang 3.1 regression (rev 238429). 1000016 August 8, 2012 10-CURRENT after KBI change in &man.ucom.4; (rev 239179). 1000017 August 8, 2012 10-CURRENT after adding streams feature to the USB stack (rev 239214). 1000018 September 8, 2012 10-CURRENT after major rewrite of &man.pf.4; (rev 240233). 1000019 October 6, 2012 10-CURRENT after &man.pfil.9; KBI/KPI changed to supply packets in net byte order to AF_INET filter hooks (rev 241245). 1000020 October 16, 2012 10-CURRENT after the network interface cloning KPI changed and struct if_clone becoming opaque (rev 241610). 1000021 October 22, 2012 10-CURRENT after removal of support for non-MPSAFE filesystems and addition of support for FUSEFS (rev 241519, 241897). 1000022 October 22, 2012 10-CURRENT after the entire IPv4 stack switched to network byte order for IP packet header storage (rev 241913). 1000023 November 5, 2012 10-CURRENT after jitter buffer in the common USB serial driver code, to temporarily store characters if the TTY buffer is full. Add flow stop and start signals when this happens (rev 242619). 1000024 November 5, 2012 10-CURRENT after clang was made the default compiler on i386 and amd64 (rev 242624). 1000025 November 17, 2012 10-CURRENT after the sin6_scope_id member variable in struct sockaddr_in6 was changed to being filled by the kernel before passing the structure to the userland via sysctl or routing socket. This means the KAME-specific embedded scope id in sin6_addr.s6_addr[2] is always cleared in userland application (rev 243443). 1000026 January 11, 2013 10-CURRENT after install gained the -N flag (rev 245313). May also be used to indicate the presence of nmtree. 1000027 January 29, 2013 10-CURRENT after cat gained the -l flag (rev 246083). 1000028 February 13, 2013 10-CURRENT after USB moved to the driver structure requiring a rebuild of all USB modules (rev 246759). 1000029 March 4, 2013 10-CURRENT after the introduction of tickless callout facility which also changed the layout of struct callout (rev 247777). 1000030 March 12, 2013 10-CURRENT after KPI breakage introduced in the VM subsystem to support read/write locking (rev 248084). 1000031 April 26, 2013 10-CURRENT after the dst parameter of the ifnet if_output method was changed to take const qualifier (rev 249925). 1000032 May 1, 2013 10-CURRENT after the introduction of the accept4 (rev 250154) and pipe2 (rev 250159) system calls. 1000033 May 21, 2013 10-CURRENT after flex 2.5.37 import (rev 250881). 1000034 June 3, 2013 10-CURRENT after the addition of the following functions to libm: cacos, cacosf, cacosh, cacoshf, casin, casinf, casinh, casinhf, catan, catanf, catanh, catanhf, logl, log2l, log10l, log1pl, expm1l (rev 251294). 1000035 June 8, 2013 10-CURRENT after the introduction of the aio_mlock system call (rev 251526).
Note that 2.2-STABLE sometimes identifies itself as 2.2.5-STABLE after the 2.2.5-RELEASE. The pattern used to be year followed by the month, but we decided to change it to a more straightforward major/minor system starting from 2.2. This is because the parallel development on several branches made it infeasible to classify the releases simply by their real release dates. If you are making a port now, you do not have to worry about old -CURRENTs; they are listed here just for your reference.
Writing Something After <filename>bsd.port.mk</filename> Do not write anything after the .include <bsd.port.mk> line. It usually can be avoided by including bsd.port.pre.mk somewhere in the middle of your Makefile and bsd.port.post.mk at the end. Include either the bsd.port.pre.mk/bsd.port.post.mk pair or bsd.port.mk only; do not mix these two usages. bsd.port.pre.mk only defines a few variables, which can be used in tests in the Makefile, bsd.port.post.mk defines the rest. Here are some important variables defined in bsd.port.pre.mk (this is not the complete list, please read bsd.port.mk for the complete list). Variable Description ARCH The architecture as returned by uname -m (e.g., i386) OPSYS The operating system type, as returned by uname -s (e.g., FreeBSD) OSREL The release version of the operating system (e.g., 2.1.5 or 2.2.7) OSVERSION The numeric version of the operating system; the same as __FreeBSD_version. LOCALBASE The base of the local tree (e.g., /usr/local) PREFIX Where the port installs itself (see more on PREFIX). If you have to define the variables USE_IMAKE or MASTERDIR, do so before including bsd.port.pre.mk. Here are some examples of things you can write after bsd.port.pre.mk: # no need to compile lang/perl5 if perl5 is already in system .if ${OSVERSION} > 300003 BROKEN= perl is in system .endif You did remember to use tab instead of spaces after BROKEN= and :-). Use the <function>exec</function> Statement in Wrapper Scripts If the port installs a shell script whose purpose is to launch another program, and if launching that program is the last action performed by the script, make sure to launch the program using the exec statement, for instance: #!/bin/sh exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@" The exec statement replaces the shell process with the specified program. If exec is omitted, the shell process remains in memory while the program is executing, and needlessly consumes system resources. Do Things Rationally The Makefile should do things simply and reasonably. If you can make it a couple of lines shorter or more readable, then do so. Examples include using a make .if construct instead of a shell if construct, not redefining do-extract if you can redefine EXTRACT* instead, and using GNU_CONFIGURE instead of CONFIGURE_ARGS += --prefix=${PREFIX}. If you find yourself having to write a lot of new code to try to do something, please go back and review bsd.port.mk to see if it contains an existing implementation of what you are trying to do. While hard to read, there are a great many seemingly-hard problems for which bsd.port.mk already provides a shorthand solution. Respect Both <makevar>CC</makevar> and <makevar>CXX</makevar> The port must respect both CC and CXX variables. What we mean by this is that the port must not set the values of these variables absolutely, overriding existing values; instead, it may append whatever values it needs to the existing values. This is so that build options that affect all ports can be set globally. If the port does not respect these variables, please add NO_PACKAGE=ignores either cc or cxx to the Makefile. An example of a Makefile respecting both CC and CXX variables follows. Note the ?=: CC?= gcc CXX?= g++ Here is an example which respects neither CC nor CXX variables: CC= gcc CXX= g++ Both CC and CXX variables can be defined on FreeBSD systems in /etc/make.conf. The first example defines a value if it was not previously set in /etc/make.conf, preserving any system-wide definitions. The second example clobbers anything previously defined. Respect <makevar>CFLAGS</makevar> The port must respect the CFLAGS variable. What we mean by this is that the port must not set the value of this variable absolutely, overriding the existing value; instead, it may append whatever values it needs to the existing value. This is so that build options that affect all ports can be set globally. If it does not, please add NO_PACKAGE=ignores cflags to the Makefile. An example of a Makefile respecting the CFLAGS variable follows. Note the +=: CFLAGS+= -Wall -Werror Here is an example which does not respect the CFLAGS variable: CFLAGS= -Wall -Werror The CFLAGS variable is defined on FreeBSD systems in /etc/make.conf. The first example appends additional flags to the CFLAGS variable, preserving any system-wide definitions. The second example clobbers anything previously defined. You should remove optimization flags from the third party Makefiles. System CFLAGS contains system-wide optimization flags. An example from an unmodified Makefile: CFLAGS= -O3 -funroll-loops -DHAVE_SOUND Using system optimization flags, the Makefile would look similar to the following example: CFLAGS+= -DHAVE_SOUND Threading Libraries The threading library must be linked to the binaries using a special flag -pthread on &os;. If a port insists on linking -lpthread directly, patch it to use -pthread. If building the port errors out with unrecognized option '-pthread', it may be desirable to use cc as linker by setting CONFIGURE_ENV to LD=${CC}. The -pthread option is not supported by ld directly. Feedback Do send applicable changes/patches to the original author/maintainer for inclusion in next release of the code. This will only make your job that much easier for the next release. <filename>README.html</filename> Do not include the README.html file. This file is not part of the SVN collection but is generated using the make readme command. If make readme fails, make sure that the default value of ECHO_MSG has not been modified by the port. Marking a Port Not Installable with <makevar>BROKEN</makevar>, <makevar>FORBIDDEN</makevar>, or <makevar>IGNORE</makevar> In certain cases users should be prevented from installing a port. To tell a user that a port should not be installed, there are several make variables that can be used in a port's Makefile. The value of the following make variables will be the reason that is given back to users for why the port refuses to install itself. Please use the correct make variable as each make variable conveys radically different meanings to both users, and to automated systems that depend on the Makefiles, such as the ports build cluster, FreshPorts, and portsmon. Variables BROKEN is reserved for ports that currently do not compile, install, or deinstall correctly. It should be used for ports where the problem is believed to be temporary. If instructed, the build cluster will still attempt to try to build them to see if the underlying problem has been resolved. (However, in general, the cluster is run without this.) For instance, use BROKEN when a port: does not compile fails its configuration or installation process installs files outside of ${LOCALBASE} does not remove all its files cleanly upon deinstall (however, it may be acceptable, and desirable, for the port to leave user-modified files behind) FORBIDDEN is used for ports that contain a security vulnerability or induce grave concern regarding the security of a FreeBSD system with a given port installed (e.g., a reputably insecure program or a program that provides easily exploitable services). Ports should be marked as FORBIDDEN as soon as a particular piece of software has a vulnerability and there is no released upgrade. Ideally ports should be upgraded as soon as possible when a security vulnerability is discovered so as to reduce the number of vulnerable FreeBSD hosts (we like being known for being secure), however sometimes there is a noticeable time gap between disclosure of a vulnerability and an updated release of the vulnerable software. Do not mark a port FORBIDDEN for any reason other than security. IGNORE is reserved for ports that should not be built for some other reason. It should be used for ports where the problem is believed to be structural. The build cluster will not, under any circumstances, build ports marked as IGNORE. For instance, use IGNORE when a port: compiles but does not run properly does not work on the installed version of &os; requires &os; kernel sources to build, but the user does not have them installed has a distfile which may not be automatically fetched due to licensing restrictions does not work with some other currently installed port (for instance, the port depends on www/apache20 but www/apache22 is installed) If a port would conflict with a currently installed port (for example, if they install a file in the same place that performs a different function), use CONFLICTS instead. CONFLICTS will set IGNORE by itself. If a port should be marked IGNORE only on certain architectures, there are two other convenience variables that will automatically set IGNORE for you: ONLY_FOR_ARCHS and NOT_FOR_ARCHS. Examples: ONLY_FOR_ARCHS= i386 amd64 NOT_FOR_ARCHS= ia64 sparc64 A custom IGNORE message can be set using ONLY_FOR_ARCHS_REASON and NOT_FOR_ARCHS_REASON. Per architecture entries are possible with ONLY_FOR_ARCHS_REASON_ARCH and NOT_FOR_ARCHS_REASON_ARCH. If a port fetches i386 binaries and installs them, IA32_BINARY_PORT should be set. If this variable is set, it will be checked whether the /usr/lib32 directory is available for IA32 versions of libraries and whether the kernel has IA32 compatibility compiled in. If one of these two dependencies is not satisfied, IGNORE will be set automatically. Implementation Notes The strings should not be quoted. Also, the wording of the string should be somewhat different due to the way the information is shown to the user. Examples: BROKEN= this port is unsupported on FreeBSD 5.x IGNORE= is unsupported on FreeBSD 5.x resulting in the following output from make describe: ===> foobar-0.1 is marked as broken: this port is unsupported on FreeBSD 5.x. ===> foobar-0.1 is unsupported on FreeBSD 5.x. Marking a Port for Removal with <makevar>DEPRECATED</makevar> or <makevar>EXPIRATION_DATE</makevar> Do remember that BROKEN and FORBIDDEN are to be used as a temporary resort if a port is not working. Permanently broken ports should be removed from the tree entirely. When it makes sense to do so, users can be warned about a pending port removal with DEPRECATED and EXPIRATION_DATE. The former is simply a string stating why the port is scheduled for removal; the latter is a string in ISO 8601 format (YYYY-MM-DD). Both will be shown to the user. It is possible to set DEPRECATED without an EXPIRATION_DATE (for instance, recommending a newer version of the port), but the converse does not make any sense. There is no set policy on how much notice to give. Current practice seems to be one month for security-related issues and two months for build issues. This also gives any interested committers a little time to fix the problems. Avoid Use of the <literal>.error</literal> Construct The correct way for a Makefile to signal that the port can not be installed due to some external factor (for instance, the user has specified an illegal combination of build options) is to set a non-blank value to IGNORE. This value will be formatted and shown to the user by make install. It is a common mistake to use .error for this purpose. The problem with this is that many automated tools that work with the ports tree will fail in this situation. The most common occurrence of this is seen when trying to build /usr/ports/INDEX (see ). However, even more trivial commands such as make maintainer also fail in this scenario. This is not acceptable. How to Avoid Using <literal>.error</literal> Assume that someone has the line USE_POINTYHAT=yes in make.conf. The first of the next two Makefile snippets will cause make index to fail, while the second one will not: .if USE_POINTYHAT .error "POINTYHAT is not supported" .endif .if USE_POINTYHAT IGNORE= POINTYHAT is not supported .endif Usage of <filename>sysctl</filename> The usage of sysctl is discouraged except in targets. This is because the evaluation of any makevars, such as used during make index, then has to run the command, further slowing down that process. Usage of &man.sysctl.8; should always be done with the SYSCTL variable, as it contains the fully qualified path and can be overridden, if one has such a special need. Rerolling Distfiles Sometimes the authors of software change the content of released distfiles without changing the file's name. You have to verify that the changes are official and have been performed by the author. It has happened in the past that the distfile was silently altered on the download servers with the intent to cause harm or compromise end user security. Put the old distfile aside, download the new one, unpack them and compare the content with &man.diff.1;. If you see nothing suspicious, you can update distinfo. Be sure to summarize the differences in your PR or commit log, so that other people know that you have taken care to ensure that nothing bad has happened. You might also want to contact the authors of the software and confirm the changes with them. Avoiding Linuxisms Do not use /proc if there are any other ways of getting the information, e.g., setprogname(argv[0]) in main() and then &man.getprogname.3; if you want to know your name. Do not rely on behaviour that is undocumented by POSIX. Do not record timestamps in the critical path of the application if it also works without. Getting timestamps may be slow, depending on the accuracy of timestamps in the OS. If timestamps are really needed, determine how precise they have to be and use an API which is documented to just deliver the needed precision. A number of simple syscalls (for example &man.gettimeofday.2;, &man.getpid.2;) are much faster on &linux; than on any other operating system due to caching and the vsyscall performance optimizations. Do not rely on them being cheap in performance-critical applications. In general, try hard to avoid syscalls if possible. Do not rely on &linux;-specific socket behaviour. In particular, default socket buffer sizes are different (call &man.setsockopt.2; with SO_SNDBUF and SO_RCVBUF, and while &linux;'s &man.send.2; blocks when the socket buffer is full, &os;'s will fail and set ENOBUFS in errno. If relying on non-standard behaviour is required, encapsulate it properly into a generic API, do a check for the behaviour in the configure stage, and stop if it is missing. Check the man pages to see if the function used is a POSIX interface (in the STANDARDS section of the man page). Do not assume that /bin/sh is bash. Ensure that a command line passed to &man.system.3; will work with a POSIX compliant shell. A list of common bashisms is available here. Do not #include <stdint.h> if inttypes.h is sufficient. This will ensure that the software builds on older versions of &os;. Check that headers are included in the POSIX or man page recommended way, e.g., sys/types.h is often forgotten, which is not as much of a problem for &linux; as it is for &os;. Compile threaded applications with -pthread, not -lpthread or variations thereof. Miscellanea The files pkg-descr and pkg-plist should each be double-checked. If you are reviewing a port and feel they can be worded better, do so. Do not copy more copies of the GNU General Public License into our system, please. Please be careful to note any legal issues! Do not let us illegally distribute software!
A Sample <filename>Makefile</filename> Here is a sample Makefile that you can use to create a new port. Make sure you remove all the extra comments (ones between brackets)! It is recommended that you follow this format (ordering of variables, empty lines between sections, etc.). This format is designed so that the most important information is easy to locate. We recommend that you use portlint to check the Makefile. [the header...just to make it easier for us to identify the ports.] # Created by: Satoshi Asami <asami@FreeBSD.org> [The optional Created by: line names the person who originally created the port. Note that the : is followed by a space and not a tab character. If this line is present, future maintainers should not change or remove it except at the original author's request.] # $FreeBSD$ [ ^^^^^^^^^ This will be automatically replaced with RCS ID string by SVN when it is committed to our repository. If upgrading a port, do not alter this line back to "$FreeBSD$". SVN deals with it automatically.] [section to describe the port itself and the master site - PORTNAME and PORTVERSION are always first, followed by CATEGORIES, and then MASTER_SITES, which can be followed by MASTER_SITE_SUBDIR. PKGNAMEPREFIX and PKGNAMESUFFIX, if needed, will be after that. Then comes DISTNAME, EXTRACT_SUFX and/or DISTFILES, and then EXTRACT_ONLY, as necessary.] PORTNAME= xdvi PORTVERSION= 18.2 CATEGORIES= print [do not forget the trailing slash ("/")! if you are not using MASTER_SITE_* macros] MASTER_SITES= ${MASTER_SITE_XCONTRIB} MASTER_SITE_SUBDIR= applications PKGNAMEPREFIX= ja- DISTNAME= xdvi-pl18 [set this if the source is not in the standard ".tar.gz" form] EXTRACT_SUFX= .tar.Z [section for distributed patches -- can be empty] PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/ PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz [maintainer; *mandatory*! This is the person who is volunteering to handle port updates, build breakages, and to whom a users can direct questions and bug reports. To keep the quality of the Ports Collection as high as possible, we no longer accept new ports that are assigned to "ports@FreeBSD.org".] MAINTAINER= asami@FreeBSD.org COMMENT= A DVI Previewer for the X Window System [dependencies -- can be empty] RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript LIB_DEPENDS= Xpm:${PORTSDIR}/graphics/xpm [this section is for other standard bsd.port.mk variables that do not belong to any of the above] [If it asks questions during configure, build, install...] IS_INTERACTIVE= yes [If it extracts to a directory other than ${DISTNAME}...] WRKSRC= ${WRKDIR}/xdvi-new [If the distributed patches were not made relative to ${WRKSRC}, you may need to tweak this] PATCH_DIST_STRIP= -p1 [If it requires a "configure" script generated by GNU autoconf to be run] GNU_CONFIGURE= yes [If it requires GNU make, not /usr/bin/make, to build...] USE_GMAKE= yes [If it is an X application and requires "xmkmf -a" to be run...] USE_IMAKE= yes [et cetera.] [non-standard variables to be used in the rules below] MY_FAVORITE_RESPONSE= "yeah, right" [then the special rules, in the order they are called] pre-fetch: i go fetch something, yeah post-patch: i need to do something after patch, great pre-install: and then some more stuff before installing, wow [and then the epilogue] .include <bsd.port.mk> Keeping Up The &os; Ports Collection is constantly changing. Here is some information on how to keep up. FreshPorts One of the easiest ways to learn about updates that have already been committed is by subscribing to FreshPorts. You can select multiple ports to monitor. Maintainers are strongly encouraged to subscribe, because they will receive notification of not only their own changes, but also any changes that any other &os; committer has made. (These are often necessary to keep up with changes in the underlying ports framework—although it would be most polite to receive an advance heads-up from those committing such changes, sometimes this is overlooked or just simply impractical. Also, in some cases, the changes are very minor in nature. We expect everyone to use their best judgement in these cases.) If you wish to use FreshPorts, all you need is an account. If your registered email address is @FreeBSD.org, you will see the opt-in link on the right hand side of the webpages. For those of you who already have a FreshPorts account, but are not using your @FreeBSD.org email address, just change your email to @FreeBSD.org, subscribe, then change it back again. FreshPorts also has a sanity test feature which automatically tests each commit to the FreeBSD ports tree. If subscribed to this service, you will be notified of any errors which FreshPorts detects during sanity testing of your commits. The Web Interface to the Source Repository It is possible to browse the files in the source repository by using a web interface. Changes that affect the entire port system are now documented in the CHANGES file. Changes that affect individual ports are now documented in the UPDATING file. However, the definitive answer to any question is undoubtedly to read the source code of bsd.port.mk, and associated files. The &os; Ports Mailing List If you maintain ports, you should consider following the &a.ports;. Important changes to the way ports work will be announced there, and then committed to CHANGES. If this mailing list is too high volume you may consider following &a.ports-announce; which is moderated and has no discussion. The &os; Port Building Cluster on <hostid role="hostname">pointyhat.FreeBSD.org</hostid> One of the least-publicized strengths of &os; is that an entire cluster of machines is dedicated to continually building the Ports Collection, for each of the major OS releases and for each Tier-1 architecture. You can find the results of these builds at package building logs and errors. Individual ports are built unless they are specifically marked with IGNORE. Ports that are marked with BROKEN will still be attempted, to see if the underlying problem has been resolved. (This is done by passing TRYBROKEN to the port's Makefile.) Portscout: the &os; Ports Distfile Scanner The build cluster is dedicated to building the latest release of each port with distfiles that have already been fetched. However, as the Internet continually changes, distfiles can quickly go missing. Portscout, the &os; Ports distfile scanner, attempts to query every download site for every port to find out if each distfile is still available. Portscout can generate HTML reports and send emails about newly available ports to those who request them. Unless not otherwise subscribed, maintainers are asked to check periodically for changes, either by hand or using the RSS feed. Portscout's first page gives the email address of the port maintainer, the number of ports the maintainer is responsible for, the number of those ports with new distfiles, and the percentage of those ports that are out-of-date. The search function allows for searching by email address for a specific maintainer, and for selecting whether or not only out-of-date ports should be shown. Upon clicking on a maintainer's email address, a list of all of their ports is displayed, along with port category, current version number, whether or not there is a new version, when the port was last updated, and finally when it was last checked. A search function on this page allows the user to search for a specific port. Clicking on a port name in the list displays the FreshPorts port information. The &os; Ports Monitoring System Another handy resource is the FreeBSD Ports Monitoring System (also known as portsmon). This system comprises a database that processes information from several sources and allows it to be browsed via a web interface. Currently, the ports Problem Reports (PRs), the error logs from the build cluster, and individual files from the ports collection are used. In the future, this will be expanded to include the distfile survey, as well as other sources. To get started, you can view all information about a particular port by using the Overview of One Port. As of this writing, this is the only resource available that maps GNATS PR entries to portnames. (PR submitters do not always include the portname in their Synopsis, although we would prefer that they did.) So, portsmon is a good place to start if you want to find out whether an existing port has any PRs filed against it and/or any build errors; or, to find out if a new port that you may be thinking about creating has already been submitted. Appendices Values of <makevar>USES</makevar> Values of <makevar>USES</makevar> Feature Arguments Description &values.uses;
diff --git a/en_US.ISO8859-1/htdocs/java/install.xml b/en_US.ISO8859-1/htdocs/java/install.xml index 036022a6ed..5079f72596 100644 --- a/en_US.ISO8859-1/htdocs/java/install.xml +++ b/en_US.ISO8859-1/htdocs/java/install.xml @@ -1,54 +1,44 @@ ]> &title; $FreeBSD$

When installing Java on FreeBSD you have the choice between different Java Development Kits:

OpenJDK on FreeBSD

This is a native port of OpenJDK to FreeBSD.

cd /usr/ports/java/openjdk6
make install clean

-

Oracle JDK on FreeBSD

- -

This is the effort of the Java FreeBSD porting project. -By the use of patchsets and the JDK source code released by Oracle, -this port builds a native JDK for FreeBSD.

- -

cd /usr/ports/java/jdk16 -
make install clean -

-

Oracle JDK for Linux

This port installs the Java Development Kit from Oracle which was built for Linux. It will run under FreeBSD using the Linux compatibility.

cd /usr/ports/java/linux-sun-jdk16
make install clean

Note: Please note that due to the current licensing policy the Oracle JDK on FreeBSD binaries can not be distributed and you are only permitted to use them personally. Due to the same reasons you have to manually fetch the source code and patchset for FreeBSD.

If you should have trouble, you can see the FreeBSD Handbook section on "installing applications" for help.

diff --git a/en_US.ISO8859-1/htdocs/news/status/report-2013-04-2013-06.xml b/en_US.ISO8859-1/htdocs/news/status/report-2013-04-2013-06.xml index 9bfbe5ee01..018f6e21b8 100644 --- a/en_US.ISO8859-1/htdocs/news/status/report-2013-04-2013-06.xml +++ b/en_US.ISO8859-1/htdocs/news/status/report-2013-04-2013-06.xml @@ -1,618 +1,754 @@ April-June 2013
Introduction

This report covers &os;-related projects between April and June 2013. This is the second of four reports planned for 2013.

Thanks to all the reporters for the excellent work! This report - contains 12 entries and we hope you enjoy reading it.

+ contains 14 entries and we hope you enjoy reading it.

The deadline for submissions covering between July and September 2013 is not yet decided.

team &os; Team Reports proj Projects kern Kernel arch Architectures bin Userland Programs ports Ports docs Documentation PC-BSD Kris Moore kmoore@FreeBSD.org PC-BSD Home Page

Progress on moving PC-BSD & TrueOS to a "rolling release" is happening quickly. We have implemented our own package repository, fully based on pkg(8), which is updated twice monthly, and are now hosting dedicated freebsd-update(8) systems. In addition to the 9.1-RELEASE ISO images, we have begun to create a 9-STABLE branch as well, using freebsd-update(8) to push out the latest world and kernel binaries on a monthly basis.

We are currently working on an implementation of ZFS Boot Environments for desktops and servers. These users to install updates or experimental versions in separate ZFS clones and select the one to run at boot time, providing an easy way of testing upgrades before deployment.

Wireless Networking Improvements Adrian Chadd adrian@FreeBSD.org

Recently the &os; wireless networking stack has received updates in the following areas:

  • Improved transmit locking in net80211(4) to eliminate a whole class of subtle race conditions leading to out-of-order packets being handed to the driver.
  • Spectral scan (FFT) information is now available for the AR9280, AR9285, AR9287 series NICs.
  • Added support for AR93xx, AR94xx, AR95xx NICs — hostap, adhoc and station modes have been tested, including 3x3 stream support for the those NICs where appropriate.
  • Implemented ps-poll handling in hostap mode. This was required for correct behaviour with stations that implement aggressive power save.
  • Added AR933x SoC support — including all on-board peripherals — the 8devices.com Carambola-2 board is now fully supported and will run &os; from NOR flash.
Intel IOMMU (VT-d, DMAR) Support Konstantin Belousov kib@FreeBSD.org

A VT-d driver was developed that implements the busdma(9) interface using the DMA Remap units (DMARs) found in current Intel chipsets. The driver provides reliability and security improvements for the system by facilitating restricted access to main memory from busmastering devices.

It also eliminates bounce buffering (copying) by allocating remapped regions that satisfy a device's access limitations.

With additional work to define a suitable interface the VT-d driver will also provide PCI pass-through functionality for hypervisors.

This project is sponsored by the &os; Foundation.

Implement workarounds for chipset errata. Commit to HEAD after additional testing. Rebalance MSI/MSI-X using interrupt remapping unit, also required for x2APIC use on big machines. Integrate with the Intel GPU MMU and handle Ironlake and SandyBridge errata for the GFXVTd unit. Provide an interface for VMM (hypervisors). Consider implementing a driver for AMD's IOMMU.
Multi-threaded Pagedaemon Konstantin Belousov kib@FreeBSD.org

This project aims to improve scalability of the virtual memory subsystem. Based on a prototype change from Jeff Roberson, per-domain page queues and per-domain pagedaemon working threads have been implemented to enable this. At the moment, the domains coincide with the NUMA proximity domains, but this is not neccessary and could be improved with further separation to allow more parallelism in the pagedaemon.

The patch is relatively simple, with the most delicate parts being the page laundry and OOM logic, which requires coordination between all pagedaemon threads to prevent false triggering.

Testing on diverse workloads and on real multi-socket machines is required.

This project is sponsored by the &os; Foundation.

Debug on multi-domain NUMA machine. Test, get review and commit.
HAST Module for <tt>bsnmpd(1)</tt> Mikolaj Golub trociny@FreeBSD.org

HAST module for bsnmpd(1) has been committed to -CURRENT and merged to 8.x and 9.x -STABLE branches. The module allows to monitor and manage HAST via the SNMP protocol.

&os; Release Engineering Team &os; Release Engineering Team re@FreeBSD.org

The &os; 8.4-RELEASE cycle completed on June 7, 2013, approximately two months behind the original schedule. Please be sure to read the Errata Notices for any post-release issues discovered after 8.4-RELEASE.

The &os; 9.2-RELEASE process will begin July 6, 2013. Unless any critical issues arise, &os; 9.2-RELEASE is expected to be available late August or early September.

Users tracking the &os; 9.X branch are encouraged to test the -BETA and -RC builds whenever possible, and provide feedback and report issues to the freebsd-stable mailing list.

Virtual Private Systems Klaus Ohrhallinger k@7he.at

VPS for &os; is an OS-level based virtualization implementation that supports advanced features like live migration. It has been recently imported into the Project's Subversion repository as a project branch. The code is currently of alpha quality.

Test with many different guest setups/applications. All feedback is highly appreciated.
KDE/&os; KDE &os; kde@FreeBSD.org KDE/&os; home page area51

The KDE/&os; Team have continued to improve the experience of KDE software and Qt under &os;. During this quarter, the team has kept most of the KDE and Qt ports up-to-date, working on the following releases:

As a result — according to PortScoutkde@ has 473 ports (up from 431), of which 98.73% are up-to-date (up from 93.5%). iXsystems Inc. continues to provided a machine for the team to build packages and to test updates. iXsystems Inc. has been providing the KDE/&os; Team with support for quite a long time and we are very grateful for that. This quarter, we would also like to thank Steve Wills (swills@) for providing access to another machine so that we can do our work even faster.

While a great deal of the team's efforts are focused towards packaging released code, we also take a proactive stand in making sure future versions of the software we port is also going to work well on &os;. This involves being in close contact with upstream, raising awareness of &os; as an active project and also sending actual patches that most of the time benefit many other operating systems besides &os; itself. In this regard, we have been dedicating a lot of time making sure both clang and libc++ are fully supported in KDE and Qt. Not only has this resulted in many patches being sent to these projects, but the exposure to these large code bases have been beneficial to the Clang-on-&os; project as well. Dimitry Andric (dim@) has been of great help as a point of contact for all the issues we have faced.

As usual, the team is always looking for more testers and porters so please contact us and visit our home page. It would be especially useful to have more helping hands on tasks such as getting rid of the dependency on the defunct HAL project and providing integration with KDE's Bluedevil Bluetooth interface.

Update out-of-date ports, see PortScout for a list. Work on KDE 4.11 and Qt 5. Make sure the whole KDE stack (including Qt) builds and works correctly with clang and libc++. Remove the dependency on HAL.
Upgrading the Documentation Set to DocBook 5.0 Gábor Kövesdán gabor@FreeBSD.org

The Documentation Project has been using old versions of markup standards until recently when we switched to a real XML toolchain and DocBook 4.5. However, we still depend on obsolete technologies — DSSSL and Jade. Besides, DocBook 5.0 provides cleaner markup and some nice new features.

The objective of this project is to upgrade the documentation set to DocBook 5.0 and to find a way to properly render our sources without using DSSSL, since the DSSSL stylesheets are discontinued and cannot render DocBook 5.0. The documentation sources have already been successfully transformed to DocBook 5.0 and updates to the rendering process are under development. The common opinion among &os; developers is that Java is a heavy dependency that should be avoided. This has suggested the transformation of DocBook sources to TeX and use TeX as a rendering backend. There are two ways to do this; the sources can be transformed either directly or through the XSL FO output generated by the stylesheets provided for the DocBook Project. The latter approach has been chosen as a preferred way since it better fits the existing documentation infrastructure and provides easier customization.

This project is generously funded by The &os; Foundation.

Finish the implementation of the rendering process. Integrate the rendering solution into the infrastructure. Merge back changes to head.
AMD GPU Kernel Mode-setting Support Jean-Sébastien Pédron dumbbell@FreeBSD.org Konstantin Belousov kib@FreeBSD.org Project status on the wiki

Due to non-&os;-related activities from April to end of June, the project progressed slowly:

Several users tested the driver. Andriy Gapon, Jonathan Gray, and Mark Kettenis (of OpenBSD) submitted patches. kyzh kindly donated several discrete cards from different series. A big thanks to all those contributors!

The driver is still not stable enough for a wider call for testers.

Write instructions for the wiki to explain how to test the driver.
Realtek RTL8188CU/RTL8192CU USB Wireless Driver Rui Paulo rpaulo@FreeBSD.org Kevin Lo kevlo@FreeBSD.org

The urtwn(4) driver was imported from OpenBSD. This is a driver for very small Realtek USB WiFi cards which are pretty inexpensive and can do 802.11n at the maximum theoretical speed of 150 Mbps. They make a good addition to embedded systems such as the Raspberry Pi and the BeagleBone. The driver requires firmware that is available in the &os; Ports Collection (net/urtwn-firmware-kmod). Note that 802.11n is not yet supported.

ZFS TRIM and Enhanced <tt>BIO_DELETE</tt> Support Pawel Jakub Dawidek pjd@FreeBSD.org Steven Hartland smh@FreeBSD.org

As of the end of June, &os;'s ZFS implementation now includes TRIM support in head, stable/9, and stable/8 branches. This allows ZFS to help maintain high performance on flash-based devices such as SSD's even under high-load conditions.

When creating new pools and adding new devices to existing pools it first performs a full-device level TRIM to help ensure optimum starting performance. This behaviour can be overridden by setting the vfs.zfs.vdev.trim_on_init sysctl variable to 0 if for example the disks are new or have already been secure erased, which can also now be done using camcontrol(8) security actions.

In order to support TRIM, the kernel requires the underlying device driver supports BIO_DELETE. This is currently mapped through to hardware methods such as ATA TRIM and SCSI UNMAP, which are commonly supported by SSDs via CAM.

In order to increase the supported hardware base, CAM's SCSI layer was also enhanced to allow ATA TRIM via SATL ATA Passthrough to be used in addition to the existing UNMAP and WS methods. This allows SATA disks attached to SCSI controllers with CAM based drivers such as mps(4) and mpt(4) to provide delete support.

Stats for ZFS TRIM can be monitored by looking at the sysctl variables under kstat.zfs.misc.zio_trim in addition to live GEOM delete stats via the gstat -d command.

This project was sponsored by Multiplay and implemented by Pawel Jakub Dawidek.

+ + + Superpages for ARMv7 + + + + + Zbigniew + Bodek + + zbb@semihalf.com + + + + + Grzegorz + Bernacki + + gjb@semihalf.com + + + + + Rafal + Jaworowski + + raj@semihalf.com + + + + + + + + + + +

The ARM architecture is more and more prevalent, not only in + the mobile and embedded space. Among the more interesting + industry trends emerging in the recent months, there has been + the concept of "ARM server". Some top-tier companies, e.g. + Dell and HP, have already started to develop such systems.

+ +

Key to success of &os; in these new areas is dealing with the + sophisticated features of the platform, for example adding + support for superpages.

+ +

The objective of this project is to enable &os;/arm to utilize + superpages which would allow efficient use of TLB translations + (by enlarging TLB coverage), leading to improved performance in + many applications and scalability. This is intended to work on + ARMv7-based processors, however compatibility with ARMv6 will be + preserved.

+ +

The following steps have been made since the last status + report:

+ + + +

Next steps:

+ + + +

This project is jointly sponsored by The &os; Foundation and + Semihalf sp.j.

+ + + + Start utilizing superpages on ARMv6/v7. + Find bugs and debug. + +
+ + + LLDB Debugger Port + + + + + Ed + Maste + + emaste@FreeBSD.org + + + + + + + + +

LLDB is the the debugger project in the LLVM family. It + supports the Mac OS X, Linux, and &os; platforms, but the latter + has recently suffered under a lack of maintenance.

+ +

After cleaning bit rot in LLDB's &os; support, it again builds + and can be used for basic debugging of single-threaded + applications. The test suite also runs to completion, although + it experiences a large number of failures.

+ +

Ed Maste has been granted an LLDB commit bit, and is now + committing ongoing bug fixes and development directly to the + upstream repository. There is a significant amount of work + still to be done, with one goal being the incorporation of + lldb into the base system.

+ +

This project is sponsored by DARPA/AFRL in collaboration with + SRI International and the University of Cambridge.

+ + + + Add support for multithreaded processes. + Fix watchpoints. + Add support for remote debuging (gdbserver / + debugserver). + Add support for core files. + Add support for kernel debugging. + Verify i386 and ARM architectures. + Implement MIPS target support. + Verify cross-debugging. + Investigate and fix test suite failures. + Prepare lldb for incorporation into the base + system. + +
diff --git a/en_US.ISO8859-1/htdocs/ports/references.xml b/en_US.ISO8859-1/htdocs/ports/references.xml index b83128734a..bd97b9e91f 100644 --- a/en_US.ISO8859-1/htdocs/ports/references.xml +++ b/en_US.ISO8859-1/htdocs/ports/references.xml @@ -1,93 +1,93 @@ %ports.ent; %statistics.ent; ]> &title; $FreeBSD$ &searchform;

To start learning more about ports and packages, see Installing Applications: Packages and Ports, a section of the FreeBSD Handbook.

The Porter's Handbook is the master reference for both creating new ports and maintaining existing ports, including a section on Keeping Up. It also contains more detail about the topics below, as well as more references for further study.

You may also find the following to be useful:

diff --git a/es_ES.ISO8859-1/books/handbook/disks/chapter.xml b/es_ES.ISO8859-1/books/handbook/disks/chapter.xml index 37a0547506..c2809bf416 100644 --- a/es_ES.ISO8859-1/books/handbook/disks/chapter.xml +++ b/es_ES.ISO8859-1/books/handbook/disks/chapter.xml @@ -1,4211 +1,4205 @@ Almacenamiento Sinopsis Este capítulo trata sobre el uso de discos en &os;. Esto incluye discos basados en memoria, discos conectados a través de la red, dispositivos de almacenamiento SCSI/IDE estándar y dispositivos que utilizan el interfaz USB. Tras leer este capítulo: Conocerá la terminología que se usa en &os; para describir la organización de datos en un disco físico (particiones y porciones). Sabrá cómo añadir discos duros a su sistema. Sabrá cómo configurar &os; para utilizar dispositivos de almacenamiento USB. Sabrá cómo configurar sistemas virtuales de ficheros, como los discos de memoria. Sabrá cómo usar cuotas para limitar el uso del espacio en disco. Sabrá cómo cifrar discos para hacerlos más seguros ante un atacante. Sabrá cómo se crean y graban los CD y DVD en &os;. Conocerá diversas opciones de almacenamiento de copias de seguridad. Sabrá cómo usar diversos programas de respaldo que pueden utilizarse en &os;. Sabrá cómo hacer copias de seguridad utilizando disquetes (floppy). Sabrá en qué consiste una instantánea (snapshot) y cómo utilizarla de forma eficiente. Antes de leer este capítulo: Debe saber cómo configurar e instalar un nuevo kernel en &os; (). Nombres de dispositivo A continuación le mostraremos una lista de dispositivos de físicos almacenamiento soportados por &os; y los nombres de dispositivo asociados con ellos. Convenciones para nombrar discos físicos Tipo de unidad Nombre de dispositivo de la unidad Discos duros IDE ad Unidades CDROM IDE acd Discos duros SCSI y dispositivos de almacenamiento masivo USB da Unidades CDROM SCSI cd Diferentes tipos de unidades CDROM no estándares mcd para CD-ROM Mitsumi, scd para CD-ROM Sony, matcd para CD-ROM Matsushita/Panasonic - - El controlador &man.matcd.4; ha sido eliminado - de la rama FreeBSD 4.X el 5 de octubre - de 2002 y no existe en FreeBSD 5.0 y - versiones posteriores. - Unidades de disquete (floppy) fd Unidades de cinta SCSI sa Unidades de cinta IDE ast Unidades Flash fla para dispositivos &diskonchip; Unidades RAID aacd para &adaptec; AdvancedRAID, mlxd y mlyd para &mylex;, amrd para AMI &megaraid;, idad para Compaq Smart RAID, twed para &tm.3ware; RAID.
David O'Brien Texto original de Añadir discos discos añadir Digamos que queremos añadir un nuevo disco SCSI a una máquina que solo tiene un disco. Comience por apagar el sistema e instale el disco siguiendo las instrucciones del fabricante de la computadora, del disco y de la controladora. Debido a la gran variedad de procedimientos posibles los detalles están más allá del alcance de este texto. Entre como usuario root. Una vez instalado el disco inspeccione /var/run/dmesg.boot para asegurarse de que el sistema encontró el nuevo disco. Continuando con nuestro ejemplo, el disco recién añadido será da1 y queremos montarlo en /1 (si está añadiendo un disco IDE, el nombre de dispositivo será wd1 en sistemas anteriores a 4.0, y ad1 en sistemas 4.X y 5.X). particiones slices fdisk &os; funciona en computadoras IBM-PC y compatibles, por lo tanto tendrá en cuenta las particiones de la BIOS del PC, que son diferentes del tipo de partición que se ha venido usando en BSD. Un disco para PC puede contener hasta cuatro entradas de particiones BIOS. Si el disco va a utilizarse íntegramente con &os; puede usar el modo dedicado. Si no, &os; tendrá que instalarse dentro de una las particiones BIOS. En &os; se llama slices (porciones o rebanadas) a las particiones de PC BIOS para no confundirlas con las particiones BSD. También puede utilizar slices en un disco dedicado a &os; pero que se está usando en un sistema que también tiene otro sistema operativo instalado. Esta es una buena manera de evitar confundir la versión de fdisk de otros sistemas operativos. Desde el punto de vista de las slices el disco se añadirá como /dev/da1s1e. Se interpreta del siguiente modo: disco SCSI, unidad número 1 (segundo disco SCSI), slice 1 (partición 1 de PC BIOS), y partición BSD e. Si es un disco dedicado, el disco se añadirá como /dev/da1e. Debido al uso de enteros de 32-bits para almacenar el número de sectores, &man.bsdlabel.8; (llamado &man.disklabel.8; en &os; 4.X) está limitado a 2^32-1 sectores por disco ó 2TB (en la mayoría de los casos). El formato de &man.fdisk.8; permite un sector de arranque de un máximo de más de 2^32-1 y no más de 2^32-1 de longitud, limitando las particiones a 2TB y los discos a 4TB (también en la mayoría de los casos). El formato &man.sunlabel.8; tiene una limitación de 2^32-1 sectores por partición y 8 particiones en un espacio máximo de 16TB. Si va a usar discos mayores puede usar particiones &man.gpt.8;. Uso de &man.sysinstall.8; sysinstall añadir discos su Navegar en <application>Sysinstall</application> Puede utilizar sysinstall (/stand/sysinstall en versiones de &os; anteriores a 5.2) para particionar y etiquetar un disco nuevo usando sus intuitivos menús. Entre como el usuario root o utilice su. Ejecute sysinstall y entre al menú Configure. Dentro de FreeBSD Configuration Menu, descienda y seleccione la opción Fdisk. Editor de particiones <application>fdisk</application> Una vez dentro de fdisk, teclée A si quiere usar el disco entero con &os; Cuando se le pregunte remain cooperative with any future possible operating systems Mantener el disco accesible a sistemas operativos que pudieran necesitar acceder al mismo en algún momento. , responda YES. Escriba los cambios al disco pulsando W. Salga del editor FDISK pulsando q. A continuación se le preguntará sobre el Master Boot Record. Debido a que está añadiendo un nuevo disco a un sistema que ya está instalado, tendrá que seleccionar None. Editor de etiquetas de disco particiones BSD A continuación, debe salir de sysinstall e iniciarlo de nuevo. Siga las instrucciones arriba expuestas, pero esta vez elija la opción Label. De este modo accederá al editor de etiquetas de disco. En él creará las particiones BSD tradicionales. Un disco puede tener hasta ocho particiones, etiquetadas desde la a a la h. Algunas de las etiquetas de las particiones tienen usos especiales. La partición a se utiliza para la partición raíz (/), por lo tanto sólo su disco de sistema (esto es, el disco desde el cual arranca) tendrá una partición a. La partición b se usa como partición swap; puede tener más de una partición swap y puede alojarlas en más de un disco. La partición c hace referencia al disco entero en modo dedicado, o a la slice de &os; completa en modo slice. Las demás particiones son para el resto de los usos típicos. El editor de etiquetas de sysinstall creará la partición e como partición ni raíz, ni swap. En el editor de etiquetas crée un solo sistema de ficheros tecleando C. Cuando se le pregunte si debe etiquetarse como FS (sistema de ficheros) o swap, elija FS y teclée un punto de montaje (por ejemplo /mnt). Al añadir un disco en modo post-instalación sysinstall no creará automáticamente las entradas correspondientes en /etc/fstab, por lo que el punto de montaje que usted especifique no tiene importancia. Ahora puede escribir la nueva etiqueta al disco y crear un sistema de ficheros en él tecleando W. Ignore cualquier error que pudiera generar sysinstall acerca de dificultades para montar la nueva partición. Salga del editor de etiquetas y de sysinstall. Terminar El último paso es editar /etc/fstab y añadir una entrada para su nuevo disco. Uso de utilidades de línea de comandos Uso de slices Esta configuración le permitirá a su disco convivir sin sobresaltos con otro sistema operativo que pueda estar instalado en su sistema y no confundirá a las utilidades fdisk de esos otros sistemas operativos. Se recomienda utilizar este método para instalar discos nuevos. Utilice el modo dedicado sólamente si tiene un buen motivo para hacerlo. &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; fdisk -BI da1 #Initialice el nuevo disco. &prompt.root; disklabel -B -w -r da1s1 auto #Etiquételo. &prompt.root; disklabel -e da1s1 # Edite la etiqueta de disco que acaba de crear y añada particiones. &prompt.root; mkdir -p /1 &prompt.root; newfs /dev/da1s1e # Repita este paso por cada partición que crée. &prompt.root; mount /dev/da1s1e /1 # Monte la partición o particiones. &prompt.root; vi /etc/fstab # Añada la/s entrada/s apropiadas en /etc/fstab. Si tiene un disco IDE, sustituya ad por da. En sistemas anteriores a 4.X utilice wd. Dedicado OS/2 Si no va a compartir el nuevo disco con otro sistema operativo puede utilizar el modo dedicado. Recuerde que este modo puede confundir a los sistemas operativos de Microsoft, aunque no podrán dañar por ello el disco o su contenido. Tenga en cuenta que &os; (de IBM) se apropiará de cualquier partición que encuentre y no entienda. &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; disklabel -Brw da1 auto &prompt.root; disklabel -e da1 # crear partición `e' &prompt.root; newfs -d0 /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # agregar una entrada para /dev/da1e &prompt.root; mount /1 Una forma alternativa de hacerlo sería: &prompt.root; dd if=/dev/zero of=/dev/da1 count=2 &prompt.root; disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin &prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # añadir una entrada para /dev/da1e &prompt.root; mount /1 A partir de &os; 5.1-RELEASE, la utilidad &man.bsdlabel.8; reemplazó al antiguo programa &man.disklabel.8;. En &man.bsdlabel.8; se han eliminado muchos parámetros y opciones obsoletas; en los ejemplos de arriba la opción debe eliminarse si se usa &man.bsdlabel.8;. Para más información diríjase al manual de &man.bsdlabel.8;. RAID Software RAID Christopher Shumway Texto original de Jim Brown Revisado por Configuración de controlador de disco concatenado (CCD) RAIDsoftware RAIDCCD Al escoger una solución de almacenamiento masivo los factores más importantes a considerar son velocidad, fiabilidad y coste. Es raro tener los tres por igual; normalmente un dispositivo de almacenamiento masivo veloz y fiable es caro, y para recortar los costes suele sacrificarse la velocidad o la fiabilidad. Al diseñar el sistema descrito más adelante se eligió el coste como el factor más importante, seguido de la velocidad, y luego la fiabilidad. La velocidad de transferencia de datos para este sistema está, en última instancia, limitada por la red. Y mientras que la confiabilidad es muy importante, el controlador CCD descrito más adelante sirve datos que están respaldados en CD-R y pueden ser reemplazados sin dificultad. Al escoger una solución de almacenamiento masivo el primer paso es definir sus necesidades. Si prefiere velocidad o fiabilidad por encima del coste, el resultado será distinto del que vamos a describir en esta sección. Instalación del hardware Además del disco IDE, el núcleo del disco CCD está compuesto por tres discos IDE discos IDE Western Digital de 30GB y 5400 RPM, que ofrecen aproximadamente 90GB de almacenamiento. Lo ideal sería que cada disco IDE tuviera su propio cable y controlador, pero para minimizar costes no se utilizaron controladores IDE adicionales. En lugar de eso se configuraron los discos con jumpers para que cada controlador IDE tuviera un maestro y un esclavo. Despues de reiniciar la BIOS se configuró para que detectara automáticamente los discos conectados. &os; los detectó al reiniciar: ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33 ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33 ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33 ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33 Si &os; no detecta todos los discos asegúrese de que ha colocado correctamente los jumpers. La mayoría de los discos IDE tienen un jumper Cable Select. Este no es el jumper que define la relación maestro/esclavo. Consulte la documentación del disco para identificar el jumper correcto. El siguiente paso es estudiar cómo conectarlos para que formen parte del sistema de ficheros. Investigue Debe investigar &man.vinum.8; () y &man.ccd.4;. Nosotros elegimos &man.ccd.4; para nuestra configuración. Configuración de CCD El controlador &man.ccd.4; le permite tomar varios discos idénticos y concatenarlos en un solo sistema lógico de ficheros. Para poder usar &man.ccd.4; necesita un kernel compilado con soporte de &man.ccd.4;. Añada esta línea al fichero de configuración de su kernel, recompile y reinstale su kernel: pseudo-device ccd 4 En sistemas 5.X, use la siguiente línea: device ccd En FreeBSD 5.X no es necesario especificar un número de dispositivos &man.ccd.4;, ya que el controlador de dispositivo &man.ccd.4; es capaz de clonarse a sí mismo (se crearán nuevas instancias de dispositivo automáticamente según vayan haciendo falta). El soporte de &man.ccd.4; también puede cargarse como módulo en &os; 3.0 y posteriores. Para configurar &man.ccd.4; tendrá que usar &man.disklabel.8; para etiquetar los discos: disklabel -r -w ad1 auto disklabel -r -w ad2 auto disklabel -r -w ad3 auto Esto crea una etiqueta de disco para ad1c, ad2c y ad3c que abarcan el disco completo. A partir de &os; 5.1-RELEASE &man.bsdlabel.8; reemplazó al antiguo programa &man.disklabel.8;. En &man.bsdlabel.8; se eliminaron muchas opciones y parámetros obsoletos; en los ejemplos de arriba la opción deben obviarse. Para más información consulte &man.bsdlabel.8;. El siguiente paso es cambiar el tipo de etiqueta de disco. Edite los discos con &man.disklabel.8;: disklabel -e ad1 disklabel -e ad2 disklabel -e ad3 Esto abre la etiqueta de disco de cada disco con el editor declarado en la variable de entorno EDITOR, por defecto &man.vi.1;. Esta es una etiqueta de disco sin modificar: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) &man.ccd.4; necesita que añada una nueva partición e. Puede copiarla desde la partición c, pero el tipo de sistema de ficheros (la opción ) debe ser 4.2BSD. La etiqueta del disco debería tener este aspecto: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597) Contrucción del sistema de ficheros Puede que todavía no exista el nodo de dispositivo para ccd0c. Si es así, ejecute lo siguiente: cd /dev sh MAKEDEV ccd0 En FreeBSD 5.0 &man.devfs.5; administrará automáticamente los nodos de dispositivos en /dev, así que no tendrá que usar MAKEDEV. Una vez etiquetados todos los discos construya el &man.ccd.4;. Utilice &man.ccdconfig.8; con opciones similares a las siguientes: ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e El uso y el significado de cada una de las opciones se muestra más abajo: El primer argumento es el dispositivo a configurar, en este caso /dev/ccd0c. La parte /dev/ es opcional. El intervalo para el sistema de ficheros. El intervalo define el tamaño de una banda en bloques de disco, normalmente 512 bytes. Por lo tanto, un intervalo de 32 equivaldría 16.384 bytes. Banderas para &man.ccdconfig.8;. Si desea disponer sus discos en espejo use aquí una bandera. Esta configuración no necesita discos en espejo, por lo que está dispuesta a 0 (cero). Los últimos argumentos de &man.ccdconfig.8; son los dispositivos a colocar en el array. Utilice la ruta completa para cada dispositivo. Despues de ejecutar &man.ccdconfig.8; el &man.ccd.4; estará configurado y podrá instalar un sistema de ficheros. Consulte las opciones de &man.newfs.8; y ejecute: newfs /dev/ccd0c Automatización Seguramente querrá que &man.ccd.4; esté dispuesto tras cada reinicio. Para ello, debe configurarlo. Guarde su configuración en /etc/ccd.conf mediante lo siguiente: ccdconfig -g > /etc/ccd.conf Durante el reinicio, el script /etc/rc ejecuta ccdconfig -C si encuentra el fichero /etc/ccd.conf. De este modo &man.ccd.4; queda configurado automáticamente para que pueda montarse. Si ha arrancando en modo mono usuario necesita ejecutar el siguiente comando antes de que pueda montar el &man.ccd.4; para configurar el array: ccdconfig -C Para montar automaticamente el &man.ccd.4; coloque una entrada para &man.ccd.4; en /etc/fstab para que se monte durante el arranque: /dev/ccd0c /media ufs rw 2 2 El administrador de volúmenes Vinum RAIDsoftware RAID Vinum El administrador de volúmenes Vinum es un controlador de dispositivos de bloque que implementa unidades de disco virtuales. Aísla los discos hardware de la interfaz de dispositivos de bloque y mapea datos de modo que revierta en un incremento de flexibilidad, rendimiento y fiabilidad comparados con el sistema de slices de almacenamiento de disco tradicional. &man.vinum.8; implementa los modelos RAID-0, RAID-1 y RAID-5, individualmente o combinados. Consulte el para mayor información sobre &man.vinum.8;. RAID por Hardware RAID hardware FreeBSD admite una gran variedad de controladores RAID por hardware. Estos dispositivos controlan un subsistema RAID sin necesidad de software específico para &os; que administre el array. Puede controlar la mayoría de las operaciones de disco con una tarjeta que incorpore BIOS. El siguiente texto es una breve descripción de configuración utilizando una controladora Promise RAID IDE. Cuando se instala esta tarjeta e inicia el sistema despliega un prompt pidiendo información. Siga las instrucciones para entrar a la pantalla de configuración de la tarjeta. Ahí tendrá posibilidad de combinar todos los discos que haya conectado. Hecho esto el disco (o discos) aparecerán como una sola unidad en &os;. Pueden configurarse otros niveles de RAID. Reconstrucción de arrays ATA RAID1 &os; le permite reemplazar en caliente un disco dañado. Esto requiere que lo intercepte antes de reiniciar. Probablemente vea algo como lo siguiente en /var/log/messages o en la salida de &man.dmesg.8;: ad6 on monster1 suffered a hard error. ad6: READ command timeout tag=0 serv=0 - resetting ad6: trying fallback to PIO mode ata3: resetting devices .. done ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\ status=59 error=40 ar0: WARNING - mirror lost Consulte &man.atacontrol.8; para más información: &prompt.root; atacontrol list ATA channel 0: Master: no device present Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0 ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ATA channel 3: Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED Primero debe desconectar el disco del array para que pueda retirarlo con seguridad: &prompt.root; atacontrol detach 3 Reemplace el disco. Conecte el disco de repuesto: &prompt.root; atacontrol attach 3 Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present Reconstruya el array: &prompt.root; atacontrol rebuild ar0 El comando de reconstrucción no responderá hasta que termine la tarea. Puede abrir otra terminal (mediante Alt Fn) y revisar el progreso ejecutando lo siguiente: &prompt.root; dmesg | tail -10 [texto eliminado] ad6: removed from configuration ad6: deleted from ar0 disk1 ad6: inserted into ar0 disk1 as spare &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed Espere hasta que termine la operación. Marc Fonvieille Texto de Dispositivos de almacenamiento USB USB discos Hoy día hay una enorme cantidad de soluciones de almacenamiento externoque usan el bus serie universal (USB): discos duros, mecheros (o lápices) USB, grabadoras de CD-R, etc. &os; puede usar estos dispositivos. Configuración El controlador de dispositivos de almacenamiento masivo USB, &man.umass.4;, ofrece soporte para dispositivos de almacenamiento USB. Si usa el kernel GENERIC no necesita cambiar nada en su configuración. Si utiliza un kernel personalizado asegúrese de que su fichero de configuración del kernel contiene las siguientes líneas: device scbus device da device pass device uhci device ohci device usb device umass El controlador &man.umass.4; usa el subsistema SCSI para acceder a los dispositivos de almacenamiento USB y su dispositivo USB aparecerá en el sistema como dispositivo SCSI. Dependiendo del chipset USB de su placa base sólamente necesitará device uhci o device ohci; en cualquier caso tener los dos en el fichero de configuración del kernel no provocará ningún daño. No olvide compilar e instalar el nuevo kernel si hizo alguna modificación. Si su dispositivo USB es una grabadora CD-R o DVD el controlador SCSI CD-ROM, &man.cd.4;, debe ser añadirse al kernel mediante la siguiente línea: device cd Dado que la grabadora aparece como una unidad SCSI no tiene que usar el controlador &man.atapicam.4; en la configuración del kernel. En &os; 5.X y en la rama 4.X desde &os; 4.10-RELEASE el soporte para controladores USB 2.0 se incorpora al sistema del siguiente modo: device ehci Tenga en cuenta que &man.uhci.4; y &man.ohci.4; siguen siendo necesarios si quiere disponer de soporte para USB 1.X. En &os; 4.X, El dæmon USB (&man.usbd.8;) debe ejecutarse para poder ver ciertos tipos de dispositivo USB. Para habilitarlo, añada usbd_enable="YES" en /etc/rc.conf y reinicie la máquina. Prueba de la configuración La configuración está lista para probarse: conecte su dispositivo USB; en el búfer de mensajes del sistema (&man.dmesg.8;), la unidad debe aparecer como algo similar a esto: umass0: USB Solid state disk, rev 1.10/1.00, addr 2 GEOM: create disk da0 dp=0xc2d74850 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device da0: 1.000MB/s transfers da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C) Obviamente la marca, el nodo de dispositivo (da0) y otros detalles pueden diferir dependiendo de su hardware. Ya que el dispositivo USB aparece como uno SCSI, puede usar camcontrol para ver una lista de dispositivos USB conectados al sistema: &prompt.root; camcontrol devlist <Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0) Si la unidad tiene un sistema de ficheros puede montarla. La contiene información que le resultará muy útil para formatear y crear particiones en el disco USB en caso de necesitarlo. Si desconecta el dispositivo (el disco debe desmontarse previamente), debería ver en el búfer de mensajes del sistema algo parecido a esto: umass0: at uhub0 port 1 (addr 2) disconnected (da0:umass-sim0:0:0:0): lost device (da0:umass-sim0:0:0:0): removing device entry GEOM: destroy disk da0 dp=0xc2d74850 umass0: detached Lecturas recomendadas Ademas de las secciones Cómo añadir discos y Montado y desmontado de sistemas ficheros, consulte las siguientes páginas man: &man.umass.4;, &man.camcontrol.8; y &man.usbdevs.8;. Mike Meyer Texto de Creación y uso de medios ópticos (CD) CDROM creación Introducción Los CD tienen muchas opciones que los hacen distintos de los discos convencionales. Al principio los usuarios no podían escribirlos. Su diseño permite que leamos en ellos sin el retardo del movimiento de una cabeza lectora de una pista a otra. También son mucho más fáciles de transportar de un sistema a otro que muchos otros soportes de información. Los CD tienen pistas, pero son una sección de los que permiten lectura contínua, no una propiedad física del disco. Para crear un CD en &os; debe preparar los ficheros de datos que van a constituir las pistas del CD y luego escribir las pistas al CD. ISO 9660 sistema de ficheros ISO 9660 El sistema de ficheros ISO 9660 se diseñó para gestionar estas diferencias. Por desgracia implementa límites de sistema de ficheros que eran comunes en la época en que se diseñó. Por suerte también proporciona un mecanismo de extensiones que permite que CD escritos excediendo dichos límites funcionen en sistemas que no soportan esas extensiones. sysutils/cdrtools El port sysutils/cdrtools incluye &man.mkisofs.8;, un programa que le permitirá crear un fichero de datos que contenga un sistema de ficheros ISO 9660. Incorpora opciones que soportan varias extensiones. Se describe más adelante. grabadora de CD ATAPI Qué herramienta usar para grabar el CD depende de si su grabadora es ATAPI o no. Las grabadoras de CD ATAPI usan el programa burncd, que forma parte del sistema base. Las grabadoras SCSI y USB usan cdrecord, del port sysutils/cdrtools. burncd no soporta cualquier unidad de grabación. Para saber si una unidad está soportada consulte la siguiente lista de unidades CD-R/RW soportadas. grabadora de CD controlador ATAPI/CAM Si utiliza &os; 5.X, &os; 4.8-RELEASE o posteriores, puede utilizar cdrecord y otras herramientas para unidades SCSI en hardware ATAPI con el módulo ATAPI/CAM. Si quiere usar un interfaz gráfico con su software de grabación de CD quizás le guste X-CD-Roast o K3b. Puede instalar estas herramientas como paquetes o desde los ports sysutils/xcdroast y sysutils/k3b, respectivamente. X-CD-Roast y K3b requieren el módulo ATAPI/CAM si usa hardware ATAPI. mkisofs El programa &man.mkisofs.8; (que forma parte del port sysutils/cdrtools) genera un sistema de ficheros ISO 9660 que es una imagen de un árbol de directorios en el espacio de nombres del sistema de ficheros &unix;. Esta es la forma más simple de usarlo: &prompt.root; mkisofs -o ficherodeimagen.iso /ruta/del/árbol sistemas de ficheros ISO 9660 Este comando creará un ficherodeimagen.iso que contenga un sistema de ficheros ISO 9660 que es una copia del árbol ubicado en /ruta/al/árbol. En el proceso, mapeará los nombres de fichero a nombres que se ajusten a las limitaciones del estándar del sistema de ficheros ISO 9660, y excluirá ficheros que posean nombres no característicos de sistemas de ficheros ISO. sistemas de ficheros HFS sistemas de ficheros Joliet Existe gran cantidad de opciones que permiten superar esas restricciones. En particular, habilita las extensiones Rock Ridge comunes para sistemas &unix;, habilita las extensiones Joliet usadas por sistemas Microsoft y puede usarse para crear sistemas de ficheros utilizados por &macos;. Puede utilizar para deshabilitar todas las restricciones de nombres de fichero si quiere crear un CD que se vaya a usar exclusivamente en sistemas &os;. Cuando se usa con produce una imagen de sistema de ficheros que es idéntica al árbol &os; origen, aunque puede violar el estándar ISO 9660 de múltiples formas. CDROMs creación cd CD arrancables La última opción de uso general es . Se usa para configurar la ubicación de la imagen de arranque que se usará al crear un CD arrancable El Torito. Esta opción usa como argumento la ruta a la imagen de arranque desde la raíz del árbol de directorios que se va a escribir en el CD. Por defecto &man.mkisofs.8; crea una imagen ISO en un modo llamado de emulación de disquete (floppy), y por lo tanto espera que la imagen de arranque sea exactamente de 1.200, 1.440 o 2880 KB de tamaño. Algunos cargadores de arranque, como el que se usa en los discos de la distribución &os;, no utilizan modo de emulación: se usa la opción . Por tanto, si /tmp/miarranque tiene un sistema &os; arrancable con la imagen de arranque en /tmp/miarranque/boot/cdboot podría crear la imagen en un sistema de ficheros ISO 9660 en /tmp/arrancable.iso de la siguiente manera: &prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/arrancable.iso /tmp/miarranque Hecho esto, si tiene vn (FreeBSD 4.X), o md (FreeBSD 5.X) configurado en su kernel, puede montar el sistema de ficheros del siguiente modo: &prompt.root; vnconfig -e vn0c /tmp/arrancable.iso &prompt.root; mount -t cd9660 /dev/vn0c /mnt En FreeBSD 4.X y FreeBSD 5.X proceda del siguiente modo: &prompt.root; mdconfig -a -t vnode -f /tmp/arrancable.iso -u 0 &prompt.root; mount -t cd9660 /dev/md0 /mnt Ahora puede verificar que /mnt y /tmp/miarranque sean idénticos. Existen muchas otras opciones que puede usar para depurar el comportamiento de &man.mkisofs.8;, sobre todo en lo que se refiere al esquema ISO 9660 y la creación de discos Joliet y HFS. Consulte el manual de &man.mkisofs.8;. burncd CDROM grabar Si tiene una grabadora ATAPI puede usar burncd para grabar una imagen ISO en un CD. burncd forma parte del sistema base, y está en /usr/sbin/burncd. Su uso es muy sencillo, ya que tiene pocas opciones: &prompt.root; burncd -f unidaddecd data ficheroimagen.iso fixate Esto grabará una copia de ficheroimagen.iso en unidadcd. El dispositivo por defecto es /dev/acd0 (o /dev/acd0c en &os; 4.X). Consulte &man.burncd.8; para ver las opciones de configuración de velocidad de escritura, expulsión de CD una vez grabado, y escritura de datos de audio. cdrecord Si no dispone de una grabadora ATAPI de CD, tendrá que usar cdrecord para grabar sus CD. cdrecord no forma parte del sistema base; instálelo desde el port sysutils/cdrtools o como paquete. Los cambios en el sistema base pueden hacer que las versiones binarias del programa fallen. Tendrá que actualizar el port cuando actualice su sistema o, si está siguiendo la rama -STABLE, actualizar el port cuando haya una nueva versión disponible. Aunque cdrecord tiene muchas opciones, el uso básico es incluso más simple que el de burncd. Así se graba una imagen ISO 9660: &prompt.root; cdrecord dev=dispositivo ficheroimagen.iso La parte complicada de utilizar cdrecord es encontrar qué usar. Utilice la bandera para dar con la configuración apropiada. La salida será parecida a la siguiente: CDROMs grabar &prompt.root; cdrecord -scanbus Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 Jörg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) * Esta lista muestra los valores apropiados para los dispositivos de la lista. Localice su grabadora de CD y utilice los tres números separados por comas como valor para . En este caso, el dispositivo CDW es 1,5,0 y por tanto la entrada apropiada sería . Hay modos más fáciles de especificar este valor; consulte &man.cdrecord.1; para más detalles. También es el lugar donde buscar información sobre la escritura de pistas de audio, controlar la velocidad de escritura y muchas más cosas. Copiar CD de audio Puede duplicar un CD de audio extrayendo los datos de audio del CD a ficheros y escribir estos ficheros en un CD virgen. El proceso es ligeramente diferente en unidades ATAPI y SCSI. Unidades SCSI Use cdda2wav para extraer el audio. &prompt.user; cdda2wav -v255 -D2,0 -B -Owav Use cdrecord para escribir los ficheros .wav. &prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav Asegúrese de que 2,0 este configurado apropiadamente, como se describe en la . Unidades ATAPI El controlador de CD ATAPI hace que cada pista sea accesible como /dev/acddtnn, donde d es el número de unidad y nn es el número de pista expresado con dos dígitos decimales, precedido por un cero si es necesario. La primera pista del primer disco es /dev/acd0t01, la segunda es /dev/acd0t02, la tercera es /dev/acd0t03 y así sucesivamente. Asegúrese de que existen los ficheros apropiados en /dev. &prompt.root; cd /dev &prompt.root; sh MAKEDEV acd0t99 En FreeBSD 5.0 &man.devfs.5; creará y gestionará automáticamente las entradas necesarias en /dev, así que no será necesario usar MAKEDEV. Extraer cada pista con &man.dd.1;. También deberá declarar un tamaño específico de bloque al extraer los ficheros. &prompt.root; dd if=/dev/acd0t01 of=pista1.cdr bs=2352 &prompt.root; dd if=/dev/acd0t02 of=pista2.cdr bs=2352 ... Grabar los ficheros extraídos a disco con burncd. Debe declarar que son ficheros de audio y que burncd debe cerrar (fixate) el disco al terminar la grabación. &prompt.root; burncd -f /dev/acd0 audio pista1.cdr pista2.cdr ... fixate Duplicar CDs de datos Puede copiar un CD de datos a un fichero de imagen que será funcionalmente equivalente al fichero de imagen creado con &man.mkisofs.8;, y puede usarlo para duplicar cualquier CD de datos. El ejemplo dado aquí asume que su dispositivo CDROM es acd0. Sustitúyalo por el dispositivo CDROM correcto para su configuración. Bajo &os; 4.X, se debe añadir una c al final del nombre del dispositivo para indicar la partición entera o, en el caso de los CDROM, el disco entero. &prompt.root; dd if=/dev/acd0 of=fichero.iso bs=2048 Hecha la imagen puede garbarla en un CD como se describió anteriormente. Uso de CD de datos Ahora que ha creado un CDROM de datos estándar tal vez quiera montarlo y leer los datos que contiene. Por defecto &man.mount.8; asume que los sistemas de ficheros son de tipo ufs. Si trata de hacer algo como &prompt.root; mount /dev/cd0 /mnt recibirá un error como este: Incorrect super block y no se montará. Un CDROM no es un sistema de ficheros UFS así que los intentos de montarlo como tal fallarán. Tendrá que decirle a &man.mount.8; que el sistema de ficheros es de tipo ISO9660 y funcionará. Puede hacerlo mediante la opción . Por ejemplo, si quiere montar el dispositivo CDROM /dev/cd0 en /mnt ejecute: &prompt.root; mount -t cd9660 /dev/cd0 /mnt Tenga en cuenta que el nombre de su dispositivo (/dev/cd0 en este ejemplo) puede ser diferente, dependiendo de la interfaz que su CDROM utilice. Además la opción sólo ejecuta &man.mount.cd9660.8;. El ejemplo de arriba puede resumirse del siguiente modo: &prompt.root; mount_cd9660 /dev/cd0 /mnt En general puede usar CDROM de datos de cualquier fabricante, aunque los discos con ciertas extensiones ISO 9660 pueden mostrar un comportamiento extraño. Por ejemplo, los discos Joliet almacenan todos los nombres de fichero en caracteres unicode de dos-bytes. El kernel de &os; no comprende unicode (todavía) así que los caracteres que no están en inglés aparecen como signos de interrogación. (Si utiliza &os; 4.3 o alguna versión posterior, el controlador CD9660 incluye unas estructuras llamadas ganchos, que le permitirán cargar una tabla de conversión unicode apropiada cuando haga falta. Hay módulos para algunas de las codificaciones más comunes en el port sysutils/cd9660_unicode.) Es posible que reciba un error Device not configured al tratar de montar un CDROM. Generalmente esto significa que la unidad de CDROM piensa que no hay disco en la bandeja, o que la unidad no es visible en el bus. Puede llevar un par de segundos el que una unidad de CDROM se dé cuenta de que ha sido alimentada, por lo tanto sea paciente. Algunas veces un CDROM SCSI puede perdido debido a que no tuvo tiempo suficiente para responder al reset del bus. Si tiene un CDROM SCSI añada la siguiente opción a su fichero de configuración del kernel y recompile su kernel. options SCSI_DELAY=15000 Esto le indica a su bus SCSI que haga una pausa de 15 segundos durante el arranque para darle ocasión a su unidad de CDROM de responder al reset del bus. Grabar CD de datos <quote>crudos</quote> (Raw) Puede guardar un fichero directamente a CD sin crear un sistema de ficheros ISO 9660. Algunas personas hacen esto al crear respaldos. Es un proceso más rápido que grabar un CD estándar: &prompt.root; burncd -f /dev/acd1 -s 12 data fichero.tar.gz fixate Para recuperar los datos guardardados de este modo en un CD, debe leer los datos desde el nodo de dispositivo crudo: &prompt.root; tar xzvf /dev/acd1 No puede montar este disco como lo haría con un CDROM normal. Estos CDROM no pueden leerse en ningún sistema operativo que no sea &os;. Si quiere montar el CD o compartir los datos con otro sistema operativo debe utilizar &man.mkisofs.8; como se describió previamente. Marc Fonvieille Original de Uso del controlador ATAPI/CAM Grabadora de CD controlador ATAPI/CAM Este controlador permite que dispositivos ATAPI (CD-ROM, CD-RW, unidades DVD, etc) sean accesibles a través del subsistema SCSI y por lo tanto permite el uso de aplicaciones como sysutils/cdrdao o &man.cdrecord.1;. Para usar este controlador necesitará añadir la siguiente línea al fichero de configuración de su kernel: device atapicam Es posible que necesite también las siguientes líneas en el fichero de configuración de su kernel: device ata device scbus device cd device pass (que, por otra parte, ya deberín estar presentes). Recompile, instale su nuevo kernel y reinicie su máquina. Durante el proceso de arranque su grabadora debe ser detectada; veamos un ejemplo: acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed Puede acceder a la unidad a través del del nombre de dispositivo /dev/cd0; por ejemplo, para montar un CDROM en /mnt, teclée lo siguiente: &prompt.root; mount -t cd9660 /dev/cd0 /mnt Como root, puede ejecutar el siguiente comando para obtener las direcciones SCSI del dispositivo: &prompt.root; camcontrol devlist <MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0) Según esto, 1,0,0 será la dirección SCSI a utilizar con &man.cdrecord.1; y otras aplicaciones SCSI. Para mayor información sobre sistemas ATAPI/CAM y SCSI, diríjase a las páginas de manual &man.atapicam.4; y &man.cam.4;. Marc Fonvieille Texto de Andy Polyakov Con colaboraciones de Crear y utilizar medios ópticos (DVDs) DVD grabar Introducción Comparado con el CD, el DVD es la nueva generación de tecnología de almacenamiento en medios ópticos. El DVD puede almacenar más datos que cualquier CD y hoy día es el estándar para publicación de vídeo. Se pueden definir cinco formatos de grabación para lo que llamamos un DVD grabable: DVD-R: Este fué el primer formato de grabación de DVD. El DVD-R estándar fué definido por el DVD Forum. Este formato es de una sola escritura. DVD-RW: Esta es la versión reescribible del DVD-R estándar. Un DVD-RW puede reescribirse unas 1.000 veces. DVD-RAM: Este es también un formato reescribible soportado por el DVD Forum. Un DVD-RAM puede verse como un disco duro extraíble. Este medio no es compatible con la mayoría de las unidades DVD-ROM y reproductores de video DVD; hay muy pocas grabadoras de DVD que soporten el formato DVD-RAM. DVD+RW: Este es un formato reescribible definido por la DVD+RW Alliance. Un DVD+RW puede reescribirse unas 1000 veces. DVD+R: Este un formato es la versión de una sola escritura del formato DVD+RW. Un DVD grabable de una capa puede almacenar hasta 4.700.000.000 bytes, es decir, 4'38 GB o 4485 MB (1 kilobyte son 1.024 bytes). Debemos hacer una distinción entre medio físico y aplicación. Un DVD de vídeo es una estructura de fichero específica que puede escribirse en cualquier medio físico consistente en un DVD grabable: DVD-R, DVD+R, DVD-RW, etc. Antes de elegir el tipo de medio, debe asegurarse que la grabadora y el reproductor de DVD de vídeo (un reproductor independiente o una unidad DVD-ROM en una computadora) son compatibles con el medio que pretende utilizar. Configuración Utilice &man.growisofs.1; para grabar el DVD. Forma parte de las herramientas dvd+rw-tools (sysutils/dvd+rw-tools). Las dvd+rw-tools permiten usar todos los tipos de DVD. Estas herramientas utilizan el subsistema SCSI para acceder a los dispositivos, por lo tanto el soporte ATAPI/CAM debe estar presente en su kernel. Si su grabadora usa el interfaz USB no tendrá que hacerlo, pero tendrá que leer la para más información sobre la configuración de dispositivos USB. También debe que habilitar el acceso DMA para dispositivos ATAPI. Para ello añada la siguiente línea a /boot/loader.conf: hw.ata.atapi_dma="1" Antes de intentar utilizar dvd+rw-tools debe consultar las notas de compatibilidad de hardware de dvd+rw-tools por si apareciera cualquier información relacionada con su grabadora de DVD. Si desea un interfaz gráfico debería echar un vistazo a K3b (sysutils/k3b), que ofrece un interfaz de usuario amigable para &man.growisofs.1; y muchas otras herramientas de grabación. Quemado de DVD de datos &man.growisofs.1; es un frontend de mkisofs, invocará a &man.mkisofs.8; para crear una estructura de sistema de ficheros y realizará la escritura del DVD. Esto significa que no necesita crear una imagen de los datos antes del proceso de escritura. La grabación en DVD+R o DVD-R de los datos del directorio /ruta/a/los/datos, se hace del siguiente modo: &prompt.root; growisofs -dvd-compat -Z /dev/cd0 -J -R /ruta/a/los/datos Las opciones se suministran a &man.mkisofs.8; para la creación del sistema de ficheros (en este caso: un sistema de ficheros ISO 9660 con extensiones Joliet y Rock Ridge). Consulte la página de manual &man.mkisofs.8; para más detalles. La opción se usa la sesión inicial de grabación en todos los casos, sesiones múltiples o no. El dispositivo DVD del ejemplo, /dev/cd0, debe ajustarse de acuerdo a la configuración de su sistema. El parámero cerrar´ el disco (no se podrá añadir nada a la grabación). Por contra, esto le brindará una mejor compatibilidad del medio con unidades DVD-ROM. También es posible grabar una imagen pre-masterizada, por ejemplo para guardar la imagen ficheroimagen.iso: &prompt.root; growisofs -dvd-compat -Z /dev/cd0=ficheroimagen.iso La velocidad de escritura se detecta y configura automáticamente según el medio y la unidad que se esté utilizando. Si quiere forzar la velocidad de escritura utilice el parámetro . Para más información consulte la página de manual &man.growisofs.1;. Grabación de un DVD de vídeo DVD DVD-Video Un DVD de vídeo es una estructura de ficheros específica basada en las especificiones ISO 9660 y micro-UDF (M-UDF). El DVD de vídeo también dispone de una jerarquía de estructura de datos específica; por esta razón es necesario un programa especializado para crear tal DVD: multimedia/dvdauthor. Si ya tiene una imagen de un sistema de ficheros de DVD de vídeo grábelo de la misma manera que cualquier otra imagen; consulte la sección previa para ver un ejemplo. Si ha creado el DVD y el resultado está en, por ejemplo, el directorio /ruta/al/vídeo, use el siguiente comando para grabar el DVD de vídeo: &prompt.root; growisofs -Z /dev/cd0 -dvd-video /ruta/al/vídeo La opción de &man.mkisofs.8; hará posible la creación de una estructura de sistema de ficheros de DVD de vídeo. Además, la opción implica la opción de &man.growisofs.1;. Uso de un DVD+RW DVD DVD+RW A diferencia de un CD-RW, un DVD+RW virgen necesita ser formateado antes de usarse por primera vez. El programa &man.growisofs.1; se encargará de ello automáticamente cuando sea necesario, lo cual es el método recomendado. De todas formas puede usted usar el comando dvd+rw-format para formatear el DVD+RW: &prompt.root; dvd+rw-format /dev/cd0 Necesita ejecutar esta operación solamente una vez, recuerde que sólo los DVD+RW vírgenes necesitan ser formateados. Hecho eso ya puede usar el DVD+RW de la forma expuesta en las secciones previas. Si desea guardar nuevos datos (grabar un sistema de ficheros totalmente nuevo, no añadir más datos) en un DVD+RW no necesita borrarlo, sólo tiene que escribir sobre la grabación anterior (realizando una nueva sesión inicial): &prompt.root; growisofs -Z /dev/cd0 -J -R /ruta/alos/datosnuevos El formato DVD+RW ofrece la posibilidad de añadir datos fácilmente a una grabación previa. La operación consiste en fusionar una nueva sesión a la existente, no es escritura multisesión; &man.growisofs.1; hará crecer el sistema de ficheros ISO 9660 presente en el medio. Si, por ejemplo, añadir datos al DVD+RW del ejemplo anterior tenemos que usar lo siguiente: &prompt.root; growisofs -M /dev/cd0 -J -R /ruta/alos/datosnuevos Las mismas opciones de &man.mkisofs.8; que utilizamos para quemar la sesión inicial pueden usarse en ulteriores escritura. Puede usar la opción si desea mejor la compatibilidad de medios con unidades DVD-ROM. Si la usa en un DVD+RW no evitará que pueda añadir más datos. Si por alguna razón desea borrar el contenido del medio, haga lo siguiente: &prompt.root; growisofs -Z /dev/cd0=/dev/zero Uso de un DVD-RW DVD DVD-RW Un DVD-RW acepta dos formatos de disco: el incremental secuencial y el de sobreescritura restringida. Por defecto los discos DVD-RW están en formato secuencial. Un DVD-RW virgen puede utilizarse directamente sin necesidad de formateo, sin embargo un DVD-RW no virgen en formato secuencial necesita ser borrado antes de poder guardar una nueva sesión inicial. Para borrar un DVD-RW en modo secuencial, ejecute: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Un borrado total () tardará aproximadamente una hora en un medio 1x. Un borrado rápido puede realizarse con la opción si el DVD-RW fué grabado en modo Disk-At-Once (DAO). Para grabar el DVD-RW en modo DAO use el comando: &prompt.root; growisofs -use-the-force-luke=dao -Z /dev/cd0=ficheroimagen.iso La opción no es imprescindible, ya que &man.growisofs.1; trata de detectar el medio (borrado rápido) y entrar en escritura DAO. Debería usarse el modo de reescritura restringida en los DVD-RW, pues este formato es más flexible que el formato de incremento secuencial, el formato por defecto. Para escribir datos en un DVD-RW secuencial proceda del mismo modo que con los demás formatos de DVD: &prompt.root; growisofs -Z /dev/cd0 -J -R /ruta/alos/datos Si desea añadir datos a una grabación previa tendrá que usar la opción de &man.growisofs.1;. si añade datos a un DVD-RW en modo incremental secuencial se creará en el disco una nueva sesión y el resultado será un disco multisesión. Un DVD-RW en formato de sobreescritura restringido no necesita ser borrado antes de una nueva sesión inicial, sólo tiene que sobreescribir el disco con la opción . esto es similar al caso DVD+RW. También es posible ampliar un sistema de ficheros ISO 9660 ya existente y escrito en el disco del mismo modo que para un DVD+RW con la opción . El resultado será un DVD de una sesión. Para poner un DVD-RW en el formato de sobreescritura restringido haga lo siguiente: &prompt.root; dvd+rw-format /dev/cd0 Para devolverlo al formato secuencial use: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Multisesión Muy pocas unidades DVD-ROM soportan DVDs multisesión. La mayoría de las veces (y si tiene suerte) solamente leerán la primera sesión. Los DVD+R, DVD-R y DVD-RW en formato secuencial pueden aceptar multisesiones. El concepto de multisesión no existe en los formatos de sobreescritura restringida de DVD+RW y DVD-RW. Usando el siguiente comando despues de una sesión inicial (no-cerrada) en un DVD+R, DVD-R o DVD-RW en formato secuencial añadirá una nueva sesión al disco: &prompt.root; growisofs -M /dev/cd0 -J -R /ruta/alos/nuevosdatos Usando este comando con un DVD+RW o un DVD-RW en modo de sobreescritura restringida, agregará datos fusionando la nueva sesión a la ya existente. El resultado será un disco de una sola sesión. Este es el procedimiento habitual para añadir datos tras la escritura inicial. Una cierta cantidad de espacio en el medio se usa en cada sesión al finalizar e iniciar sesiones; por tanto, se deben añadir sesiones con grandes cantidades de datos para optimizar el espacio del DVD. El número de sesiones está limitado a 154 para un DVD+R, aproximadamente 2.000 para un DVD-R y 127 para un DVD+R de doble capa. Para mayor información Para más información sobre un DVD,puede ejecutar el comando dvd+rw-mediainfo /dev/cd0 con el disco en la unidad. Tiene más información sobre dvd+rw-tools en la manual &man.growisofs.1;, en el sitio web de dvd+rw-tools y en los archivos de la lista de correos de cdwrite. Si va a enviar un informe de problemas es imperativo que adjunte la salida que dvd+rw-mediainfo produjo al grabar (o no grabar) el medio. Sin esta salida será prácticamente imposible ayudarle. Julio Merino Texto original de Martin Karlsson Reescrito por Creación y uso de disquetes (floppies) Poder almacenar datos en discos flexibles es útil algunas veces, por ejemplo cuando no se tiene cualquier otro medio de almacenamiento extraible o cuando se necesita transferir una cantidad pequeña de datos a otro sistema. Esta sección explicará cómo usar disquetes en &os;. Cubrirá principalmente el formateo y utilización de disquetes DOS de 3.5 pulgadas, pero los conceptos son similares en otros formatos de disquete. Formateo de disquetes El dispositivo El acceso a los disquetes se efectúa a través de entradas en /dev, igual que en otros dispositivos. Para acceder al disquete crudo (raw) en versiones 4.X y anteriores, se usa /dev/fdN, donde N representa el número de unidad, generalmente 0, o /dev/fdNX, donde X representa una letra. En versiones 5.0 o posteriores, simplemente use /dev/fdN. El tamaño de disco en versiones 4.X y anteriores También existen dispositivos /dev/fdN.tamaño, donde tamaño es el tamaño del disquete en kilobytes. Estas entradas se usan durante el formateo a bajo nivel para determinar el tamaño del disco. En los siguientes ejemplos se usará el tamaño de 1440kB. Algunas veces las entradas bajo /dev tendrán que ser (re)creadas. Para ello, ejecute: &prompt.root; cd /dev && ./MAKEDEV "fd*" El tamaño de disco en versiones 5.0 y posteriores En 5.0, &man.devfs.5; administrará automáticamente los nodos de dispositivo en /dev, así que el uso de MAKEDEV no es necesario. El tamaño de disco deseado se pasa a &man.fdformat.1; mediante la bandera . Los tamaños soportados aparecen en &man.fdcontrol.8;, pero tenga muy en cuenta que 1440kB es el que funciona mejor. Formatear Un disquete necesita ser formateado a bajo nivel antes de poder usarse. Esto suele hacerlo el fabricante, pero el formateo es una buena manera de revisar la integridad del medio. Aunque es posible forzar tamaños de disco más grandes (o pequeños), 1440kB es para lo que la mayoría de los disquetes están diseñados. Para formatear un disquete a bajo nivel debe usar &man.fdformat.1;. Esta utilidad espera el nombre del dispositivo como argumento. Tome nota de cualquier mensaje de error, ya que éstos pueden ayudarle a determinar si el disco está bien o mal. Formateo en versiones 4.X y anteriores Use el dispositivo /dev/fdN.tamaño para formatear el disquete. Inserte un disco de 3'5 pulgadas en su unidad y ejecute: &prompt.root; /usr/sbin/fdformat /dev/fd0.1440 Formateo en versiones 5.0 y posteriores Use el dispositivo /dev/fdN para formatear el disquete. Inserte un disco de 3'5 pulgadas en su unidad y ejecute: &prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0 La etiqueta de disco Tras un formato del disco a bajo nivel necesitará colocar una etiqueta de disco en él. Esta etiqueta de disco será destruida más tarde, pero es necesaria para que el sistema determine el tamaño del disco y su geometría. La nueva etiqueta de disco ocupará todo el disco, y contendrá toda la información apropiada sobre la geometría del disquete. Los valores de geometría para la etiqueta de disco están en /etc/disktab. Ejecute &man.disklabel.8; así: &prompt.root; /sbin/disklabel -B -r -w /dev/fd0 fd1440 Desde &os; 5.1-RELEASE &man.bsdlabel.8; reemplazó al viejo programa &man.disklabel.8;. En &man.bsdlabel.8; se eliminaron muchas opciones y parámetros obsoletos; en el ejemplo de arriba la opción no debe usarse. Para mayor información consulte la página de manual de &man.bsdlabel.8;. El sistema de ficheros Ahora el disquete está listo para ser formateado a alto nivel. Esto colocará un sistema de ficheros nuevo en el disco y permitirá a &os; leer y escribir en el disco. Después de crear el sistema de ficheros se destruye la etiqueta de disco, así que si desea reformatearlo, tendrá que recrear la etiqueta de disco. El sistema de ficheros del disquete puede ser UFS o o FAT. FAT suele ser una mejor opción para disquetes. Para formatear un disquete ejecute: &prompt.root; /sbin/newfs_msdos /dev/fd0 El disco está para su uso. Uso de un disquete Para usar el disquete móntelo con &man.mount.msdos.8; (en versiones 4.X y anteriores) o con &man.mount.msdosfs.8; (en versiones 5.X o posteriores). También se puede usar emulators/mtools. Creación y uso de cintas de datos medios de cinta Los principales medios de cinta son 4mm, 8mm, QIC, mini-cartridge y DLT. 4mm (DDS: Digital Data Storage) medios de cinta cintas DDS (4mm) medios de cinta cintas QIC Las cintas de 4mm están reemplazando a las QIC como los medios de respaldo más frecuentes en estaciones de trabajo. Esta tendencia se aceleró en gran medida cuando Conner adquirió Archive, un fabricante líder de unidades QIC, y abandonó la producción de unidades QIC. Las unidades de 4mm son pequeñas y silenciosas pero no tienen la reputación de fiabilidad de la que disfrutan las unidades de 8mm. Los cartuchos son más baratos y más pequeños (3 x 2 x 0.5 pulgadas, 76 x 51 x 12 mm) que los cartuchos de 8mm. En el caso de las cintas de 4mm, igual que las de 8mm, tienen un cabezal con una vida comparativamente más corta. Ambos utilizan el escaneado en espiral. El ancho de datos de estas unidades comienza por aprox. 150 kB/s, con un pico de aprox. ~500 kB/s. La capacidad de datos va de los 1'3 GB a 2'0 GB. La compresión por hardware, disponible con la mayoría de estas unidades, dobla aproximadamente la capacidad. Existen unidades de biblioteca de cinta multi-unidad con 6 unidades en un solo armario y cambio de cinta automático. Las capacidades de estas bibliotecas alcanzan los 240 GB. El estándar DDS-3 soporta capacidades de cinta de hasta 12 GB (o 24 GB con compresión). Las unidades de 4mm, igual que las unidades de 8mm, utilizan escaneo en espiral. Tanto unas como otras tienen las mismas ventajas y desventajas. Las cintas deben renovarse por otras después de 2,000 pasadas ó 100 respaldos completos. 8mm (Exabyte) medios de cinta cintas Exabyte (8mm) Las cintas de 8mm son las unidades de cinta SCSI más comunes; son la mejor opción de cintas reemplazables y eso hace que las unidades de cinta Exabyte 8mm de 2 GB sean casi omnipresentes. Las unidades de 8mm son fiables, prácticas y silenciosas. Los cartuchos son baratos y bastante pequeños (4.8 x 3.3 x 0.6 pulgadas; 122 x 84 x 15 mm). Una desventaja de las cintas de 8mm es la vida relativamente corta del cabezal y de la propia cinta debido a la alta tasa de movimiento relativo de la cinta por los cabezales. El ancho de datos varía de aprox. 250 kB/s hasta los 500 kB/s. La capacidad va desde los 300 MB hasta los 7 GB. La compresión por hardware, disponible con la mayoría de estas unidades, dobla aproximadamente la capacidad. Estas unidades están disponibles como unidades solas o como unidades de biblioteca de cinta multi-unidad con 6 unidades y 120 cintas en un solo armario. Las cintas las cambia automáticamente la unidad. La capacidad de dichas bibliotecas alcanza los 840+ GB. El modelo Exabyte Mammoth soporta 12 GB en una cinta (24 GB con compresión) y cuesta aproximadamente el doble que las unidades de cinta convencionales. Los datos se graban en cinta utilizando escaneo en espiral. Las cabezas se posicionan en ángulo en relación al medio (6 grados aproximadamente). La cinta se envuelve cerca de 270 grados en el cilindro que soporta las cabezas. El cilindro gira mientras la cinta se desliza sobre el cilindro. El resultado es una alta densidad de datos y pistas almacenadas muy pegadas, dispuestas en ángulo a través de la cinta de un extremo al otro. QIC medios de cinta QIC-150 Las cintas y unidades QIC-150 son, quizás, las unidades y medios de cinta más comunes. Las unidades de cinta QIC son las unidades de respaldo serias menos caras. La desventaja es el coste del medio. Las cintas QIC son caras comparadas con las cintas de 8mm o de 4mm, hasta 5 veces el precio de almacenamiento de datos por GB. No obstante, si sus necesidades pueden satisfacerse con media docena de cintas, QIC tal vez sea la decisión correcta. QIC es la unidad de cinta más común. Casi en todas partes tienen una unidad QIC de una u otra densidad. Y ese es el problema, QIC ofrece un enorme número de densidades en cintas físicamente similares (algunas veces idénticas). Las unidades QIC son cualquier cosa menos silenciosas. Hacen bastante ruido antes de iniciar la grabación de datos y son claramente audibles siempre que leen, escriben o hacen una búsqueda. Las cintas QIC miden 6 x 4 x 0.7 pulgadas; 152 x 102 x 17 mm. El ancho de datos varía de aprox. 150 kB/s a aprox. 500 kB/s. La capacidad de datos varía de 40 MB a 15 GB. La compresión por hardware existe en muchas de las nuevas unidades QIC. Las unidades QIC se ven con menos frecuencia y además están siendo suplantadas por unidades DAT. Los datos se graban en la cinta en pistas. Las pistas discurren a lo largo del extenso eje de la cinta de un extremo al otro. El número de pistas, y por lo tanto el ancho de una pista varía según la capacidad de la cinta. La mayoría, si no todas las unidades nuevas, ofrecen compatibilidad con modelos anteriores al menos para lectura (y también en muchos casos de escritura). QIC tiene buena reputación en cuanto a seguridad de los datos (las piezas mecánicas son más simples y más robustas que en las unidades de búsqueda en espiral). Las cintas deben ser sustituirse por otras después de 5,000 respaldos. DLT medios de cinta DLT DLT tiene la tasa de transferencia de datos más rápida de todos los tipos de unidades mostradas aquí. La cinta de 1/2" (12'5mm) está alojada en un cartucho de un solo cilindro (4 x 4 x 1 pulgadas; 100 x 100 x 25 mm). El cartucho tiene una puerta giratoria a lo largo de todo un lado del cartucho. El mecanismo de la unidad abre esta puerta para extraer el líder. El lider de la cinta tiene un agujero oval que la unidad utiliza para enganchar la cinta. El cilindro de levantamiento está dentro de la unidad de cinta. Los demás cartuchos descritos en este texto (los cartuchos de 9 pistas son la única excepción) tienen el cilindro proveedor alojados dentro del propio cartucho de cinta. El ancho de datos es aproximadamente de 1'5 MB/s, tres veces el ancho de unidades de cinta de 4mm, de 8mm o QIC. Las capacidades de datos varían entre 10 GB y 20 GB en una sola unidad. Hay unidades multicinta y con cargadores multi-cinta, y bibliotecas multiunidad que pueden albergar de 5 a 900 cintas con una a 20 unidades, con lo que pueden alcanzar desde 50 GB hasta 9 TB de almacenamiento. Con compresión, el formato DLT Type IV soporta hasta 70 GB de capacidad. Los datos se almacenan en cinta en pistas paralelas a la dirección del movimiento de la cinta (como en las cintas QIC). Se escriben dos pistas al mismo tiempo. El tiempo de vida de lectura/escritura es relativamente largo. Una vez que la cinta no hay movimiento relativo entre las cabezas y la cinta. AIT medios de cinta AIT AIT es un nuevo formato de Sony, y puede almacenar hasta 50 GB (con compresión) por cinta. Las cintas contienen chips de memoria que retienen un índice de los contenidos de la cinta. Este índice puede ser leido rápidamente para determinar la posición de los ficheros en la cinta, en lugar de los varios minutos que requeriría el proceso con otras cintas. SAMS:Alexandria puede gestionar más de 40 bibliotecas de cinta AIT, comunicándose directamente con el chip de memoria de la cinta para desplegar el contenido en pantalla, determinar qué ficheros fueron respaldados a qué cinta, ubicar la cinta correcta, cargarla y restaurar los datos desde la cinta. Las bibliotecas como ésta cuestan alrededor de 20.000 dólares, lo que las aleja bastante del alcance de los aficionados. Estreno de una cinta La primera vez que trate de leer o escribir una cinta nueva, completamente en blanco, la operación fallará. El mensaje de la consola se parecerá al siguiente: sa0(ncr1:4:0): NOT READY asc:4,1 sa0(ncr1:4:0): Logical unit is in process of becoming ready La cinta no contiene un bloque identificador (bloque número 0). Todas las unidades de cinta QIC desde la adopción del estándar QIC-525 escriben un bloque identificador en la cinta. Existen dos soluciones: mt fsf 1 hace que la unidad de cinta escriba un bloque identificador a la cinta. Use el botón del panel frontal para expulsar la cinta. Inserte nuevamente la cinta y haga un dump de datos a la cinta. dump devolverá DUMP: End of tape detected y la consola mostrará HARDWARE FAILURE info:280 asc:80,96. Rebobine la cinta usando: mt rewind. A partir de ese momento podrá utilizar la cinta. Respaldos en disquetes ?Puedo utilizar disquetes para respaldar mis datos? respaldo en discos flexibles discos flexibles Los disquetes no son realmente el medio ideal para hacer respaldos debido a que: El medio no es fiable, especialmente después de largos periodos de tiempo. El respaldo y la restauración es muy lento. Tienen una capacidad muy limitada (los dís de respaldar un disco duro entero en una docena de disquetes pasaron hace mucho). De todas maneras, si no tiene otro método para respaldar sus datos los disquetes son una mejor solución que no tener ningún respaldo. Si tiene que utilizar disquetes asegúrese de usar discos de buena calidad. Los disquetes que han estado almacenados en la oficina durante un par de años son una mala elección. Lo mejor sería que utilizara discos nuevos de un fabricante respetado. ?Cómo respaldo mis datos a discos flexibles? La mejor manera de respaldar a un disquete es usar &man.tar.1; con la opción (multi volumen), que permite que el respaldo se guarde en varios disquetes. Para respaldar todos los ficheros en el directorio actual y sus subdirectorios use esto (como root): &prompt.root; tar Mcvf /dev/fd0 * Cuando el primer disquete esté lleno &man.tar.1; le solicitará que inserte el siguiente volumen (debido a que &man.tar.1; es independiente del medio se refiere a volúmenes; en éste contexto se refiere a disquetes). Prepare volume #2 for /dev/fd0 and hit return: Esto se repite (con el número de volumen incrementando) hasta que todos los ficheros especificados hayan sido archivados. ?Puedo comprimir mis respaldos? tar gzip compresión Desafortunadamente, &man.tar.1; no permite el uso de la opción para archivos multi-volumen. Puede, por supuesto, hacer un &man.gzip.1; a todos los ficheros, mandarlos con &man.tar.1; a los disquetes, y después hacer &man.gunzip.1; a los archivos ?Cómo recupero mis respaldos? Para restaurar el archivo completo use: &prompt.root; tar Mxvf /dev/fd0 Hay dos maneras que puede usar para restaurar ficheros específicos. La primera, puede comenzar por el primer disco flexible y usar: &prompt.root; tar Mxvf /dev/fd0 nombredefichero La utilidad &man.tar.1; le pedirá que inserte el resto de disquetes hasta que encuentre el fichero requerido. La segunda manera es: si sabe en qué disco se encuentra el fichero puede insertar ese disco y usar el comando expuesto arriba. Tenga en cuenta que si el primer fichero en el disquete es la continuación del anterior &man.tar.1; le advertirá que no puede restaurarlo incluso si no se lo ha solicitado Bases para respaldos Los tres principales programas para respaldos son &man.dump.8;, &man.tar.1; y &man.cpio.1;. Dump y Restore backup software dump / restore dump restore Los programas &unix; que se han usado durante muchos años para hacer copias de seguridad son dump y restore. Operan en las unidades como una colección de bloques de disco, bajo la abstracción de ficheros, los enlaces y directorios creados por el sistema de ficheros. dump respalda un sistema de ficheros completo en un dispositivo. No es capaz de respaldar solamente parte de un sistema de ficheros o un árbol de directorios que se extienda por más de un sistema de ficheros. dump no escribe ficheros y directorios a cinta, escribe los bloques de datos crudos (raw) que conforman los ficheros y directorios. Si utiliza dump en su directorio raíz, no respaldará /home, /usr ni muchos otros directorios, ya que suelen ser puntos de montaje de otros sistemas de ficheros o enlaces simbólicos hacia dichos sistemas de ficheros. dump tiene peculiaridades que se mantienen desde sus primeros días en la Version 6 de AT&T UNIX (alrededor de 1975). Los parámetros por defecto son los adecuados para cintas de 9 pistas (6250 bpi), pero no para los medios de alta densidad disponibles hoy en día (hasta 62,182 ftpi). Estos valores por defecto deben obviarse en la línea de comandos para aprovechar la capacidad de las unidades de cinta actuales. .rhosts También es posible respaldar datos a través de la red a una unidad de cinta conectada a otra computadora con rdump y rrestore. Ambos programas dependen de &man.rcmd.3; y &man.ruserok.3; para acceder a la unidad de cinta remota. Por consiguiente, el usuario que realiza el respaldo debe estar listado en el fichero .rhosts de la computadora remota. Los argumentos para rdump y rrestore deben ser adecuados para usarse en la computadora remota. Cuando realice un rdump desde &os; a una unidad de cinta Exabyte conectada a una Sun llamada komodo, use: &prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1 Advertencia: existen implicaciones de seguridad al permitir autentificación mediante .rhosts. Le recomendamos que evalúe la situación cuidadosamente. También es posible usar dump y restore de una forma más segura a través de ssh. Utilizando <command>dump</command> a través de <application>ssh</application> &prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ usuario@maquinaobjetivo.ejemplo.com dd of=/misficherosgrandes/dump-usr-l0.gz Uso del método integrado de dump, configurando la variable de ambiente RSH: Uso de <command>dump</command> a través de <application>ssh</application> con <envar>RSH</envar> configurada &prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f usuario@maquinaobjetivo.ejemplo.com:/dev/sa0 /usr <command>tar</command> software de respaldo tar &man.tar.1; también es de la época de la Version 6 de AT&T UNIX (alrededor de 1975). tar trabaja en cooperación con el sistema de ficheros; escribe ficheros y directorios a cinta. tar no soporta el rango completo de opciones que ofrece &man.cpio.1;, pero no requiere el inusual comando de pipeline que utiliza cpio. tar En FreeBSD 5.3 y posteriores, tiene a su disposición GNU tar y el comando por defecto bsdtar. La versión GNU puede ser invocada mediante gtar. Soporta dispositivos remotos mediante la misma sintaxis que rdump. Para hacer un tar a una unidad de cinta conectada a una Sun llamada komodo, use: &prompt.root; /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1 Puede hacer lo mismo con o con bsdtar usando un pipe y rsh para mandar los datos a una unidad de cinta remota. &prompt.root; tar cf - . | rsh nombredemaquina dd of=dispositivo-de-cinta obs=20b Si le preocupa la seguridad del proceso de hacer un respaldo a través de una red debe usar ssh en lugar de rsh. <command>cpio</command> software de respaldo cpio &man.cpio.1; es el programa de intercambio de archivos de cinta para medios magnéticos. cpio tiene opciones (entre muchas otras) para realizar intercambio de bytes, escribir un número diferente de formatos de archivo y hacer pipe de datos hacia otros programas. Esta última opción hace de cpio una elección excelente para medios de instalación. cpio no sabe cómo recorrer el árbol de directorios, así que debe facilitarle una lista de directorios a través de stdin. cpio cpio no permite respaldos a través de la red. Puede usar un pipe y rsh para mandar los datos a una unidad de cinta remota. &prompt.root; for f in lista_directorios; do find $f << backup.list done &prompt.root; cpio -v -o --format=newc < backup.list | ssh usuario@máquina "cat > dispositivo_de_respaldo" Donde lista_directorios es la lista de directorios que desea respaldar, usuario@máquina es la combinación usuario/nombre de equipo que realizará el respaldo y dispositivo_de_respaldo es donde el respaldo se escribirá efectivamente (por ejemplo /dev/nsa0). <command>pax</command> software de respaldo pax pax POSIX IEEE &man.pax.1; es la respuesta IEEE/&posix; a tar y cpio. A través de los años las diversas versiones de tar y cpio se han vuelto ligeramente incompatibles, así que en lugar de pelear por hacerlo completamente estándar, &posix; creó una nueva utilidad de archivado. pax trata de leer y escribir muchos de los diversos formatos de cpio y tar, además de nuevos formatos propios. Su conjunto de comandos se parece más a cpio que a tar. <application>Amanda</application> software de respaldo Amanda Amanda Amanda (Advanced Maryland Network Disk Archiver) es un sistema de respaldos cliente/servidor, en lugar de un solo programa. Un servidor Amanda respaldará a una sola unidad de cinta cualquier cantidad de computadoras que tengan clientes Amanda y una conexión de red al servidor Amanda. Un problema común en sitios con gran cantidad de discos grandes es que la cantidad de tiempo requerida para respaldar los datos directamente a cinta excede la cantidad de tiempo disponible para la tarea. Amanda resuelve este problema. Amanda puede usar un disco intermedio para respaldar varios sistemas de ficheros al mismo tiempo. Amanda crea conjuntos de archivo, esto es, un grupo de cintas usadas durante un periodo de tiempo para crear respaldos completos de todos los sistemas de ficheros listados en el fichero de configuración de Amanda. El conjunto de archivo también contiene respaldos incrementales nocturnos (o diferenciales) de todos los sistemas de ficheros. Para restaurar un sistema de ficheros dañado hace falta el respaldo completo más reciente y los respaldos incrementales. El fichero de configuración ofrece un control exhaustivo de los respaldos y del tráfico de red que Amanda genera. Amanda usará cualquiera de los programas de respaldo mencionados arriba para escribir los datos a cinta. Puede instalar Amanda como paquete y como port. No forma parte del sistema base. No hacer nada No hacer nada no es un programa, pero es la estrategia de respaldo más extendida. No tiene coste. No hay un calendario de respaldos a seguir. Simplemente hay que decir que no. Si algo le sucediera a sus datos sonría y acostúmbrese a su nueva situación. Si su tiempo y sus datos valen poco o nada, entonces no hacer nada es el programa de respaldo más adecuado para usted. Pero cuidado, &unix; es una herramienta muy poderosa y puede suceder que dentro de seis meses tenga un montón de ficheros que sean valiosos para usted. No hacer nada es el método correcto de respaldo para /usr/obj y otros árboles de directorios que pueden ser fácilmente recreados por su computadora. Un ejemplo son los archivos que forman la versión HTML o &postscript; de este manual. Estos documentos han sido generados desde ficheros SGML. Crear respaldos de los archivos HTML o &postscript; no es necesario dado que los ficheros SGML se respaldan regularmente. ?Cuál es el mejor programa de respaldos? LISA &man.dump.8;. Y no hay más que hablar. Elizabeth D. Zwicky realizó pruebas de estrés a a todos los programas de copia de seguridad aquí expuestos. La elección clarísima para preservar todos sus datos y todas las peculiaridades de sus sistemas de ficheros &unix; es dump. Elizabeth creó sistemas de ficheros conteniendo una gran variedad de condiciones inusuales (y algunos no tan inusuales) y probó cada programa haciendo un respaldo y restaurando esos sistemas de ficheros. Esas peculiaridades incluían: ficheros con y un bloque nulo, ficheros con caracteres extraños en sus nombres, ficheros que no se podían leer ni escribir, dispositivos, ficheros que cambiaban de tamaño durante el respaldo, ficheros que eran creados/borrados durante el respaldo y cosas así. Elizabeth presentó los resultados en LISA V en octubre de 1991. Consulte torture-testing Backup and Archive Programs. Procedimiento de restauración de emergencia Antes del desastre Solamente existen cuatro pasos que debe realizar en preparación de cualquier desastre que pudiera ocurrir. disklabel Primero, imprima la etiqueta de disco de cada uno de sus discos (disklabel da0 | lpr), su tabla de sistemas de ficheros (/etc/fstab) y todos los mensajes de arranque, dos copias de cada uno. fix-it floppies Segundo, asegúrese que los disquetes de rescate (boot.flp y fixit.flp) tienen todos sus dispositivos. La manera más fácil de revisarlo es reiniciar su máquina con el disquete en la unidad y revisar los mensajes de arranque. Si todos sus dispositivos aparecen en la lista y funcionan, pase al tercer paso. Si ha habido algún problema tiene que crear dos disquetes de arranque personalizados, que deben tener un kernel que pueda montar todos sus discos y acceder a su unidad de cinta. Estos discos deben contener: fdisk, disklabel, newfs, mount y cualquier programa de respaldo que utilice. Estos programas deben estar enlazados estáticamente. Si usa dump, el disquete debe contener restore. Tercero, use cintas de respaldo regularmente. Cualquier cambio que haga después de su último respaldo puede perderse irremediablemente. Proteja contra escritura las cintas de respaldo. Cuarto, pruebe los disquetes (ya sea boot.flp y fixit.flp o los dos discos personalizados que creó en el segundo paso) y las cintas de respaldo. Documente el procedimiento. Almacene estas notas con los discos de arranque, las impresiones y las cintas de respaldo. Estará tan perturbado cuando restaure su sistema que las notas pueden pueden evitar que destruya sus cintas de respaldo. (?Como? en lugar de tar xvf /dev/sa0, puede teclear accidentalmente tar cvf /dev/sa0 y sobreescribir su cinta). Como medida adicional de seguridad haga discos de inicio y dos cintas de respaldo cada vez. Almacene una de cada en una ubicación remota. Una ubicación remota NO es el sótano del mismo edificio. Muchas firmas alojadas en el World Trade Center aprendieron esta leccón de la manera más difícil. Esa ubicación remota debe estar separada físicamente de sus computadoras y unidades de disco por una distancia significativa. Un <quote>script</quote> para la creación de discos flexibles de arranque /mnt/sbin/init gzip -c -best /sbin/fsck > /mnt/sbin/fsck gzip -c -best /sbin/mount > /mnt/sbin/mount gzip -c -best /sbin/halt > /mnt/sbin/halt gzip -c -best /sbin/restore > /mnt/sbin/restore gzip -c -best /bin/sh > /mnt/bin/sh gzip -c -best /bin/sync > /mnt/bin/sync cp /root/.profile /mnt/root cp -f /dev/MAKEDEV /mnt/dev chmod 755 /mnt/dev/MAKEDEV chmod 500 /mnt/sbin/init chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt chmod 555 /mnt/bin/sh /mnt/bin/sync chmod 6555 /mnt/sbin/restore # # create the devices nodes # cd /mnt/dev ./MAKEDEV std ./MAKEDEV da0 ./MAKEDEV da1 ./MAKEDEV da2 ./MAKEDEV sa0 ./MAKEDEV pty0 cd / # # create minimum file system table # cat > /mnt/etc/fstab <<EOM /dev/fd0a / ufs rw 1 1 EOM # # create minimum passwd file # cat > /mnt/etc/passwd <<EOM root:*:0:0:Charlie &:/root:/bin/sh EOM cat > /mnt/etc/master.passwd <<EOM root::0:0::0:0:Charlie &:/root:/bin/sh EOM chmod 600 /mnt/etc/master.passwd chmod 644 /mnt/etc/passwd /usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd # # umount the floppy and inform the user # /sbin/umount /mnt echo "The floppy has been unmounted and is now ready."]]> Después del desastre La pregunta clave es: ?sobrevivió su hardware? Ha estado haciendo respaldos regularmente, así que no hay necesidad de preocuparse por el software. Si el hardware ha sufrido daños los componentes deben reemplazarse antes de intentar de usar su sistema. Si su hardware está bien revise sus discos de arranque. Si usa disquetes de arranque personalizados arranque en modo monousuario (teclée -s en el en el prompt de arranque boot:). Sáltese el siguiente párrafo. Si utiliza usando los discos boot.flp y fixit.flp, siga leyendo. Inserte el disco boot.flp en la primera unidad de disquete y arranque la máquina. El menú de instalación original se desplegará en pantalla. Seleccione la opción Fixit--Repair mode with CDROM or floppy.. Inserte el disco fixit.flp cuando se le pida. Tanto restore como los demás programas que necesitará están en /mnt2/rescue (/mnt2/stand para versiones de &os; anteriores a 5.2). Recupere cada sistema de ficheros por separado. mount partición raíz disklabel newfs Trate de montar (por ejemplo mount /dev/da0a /mnt) la partición raíz de su primer disco. Si la etiqueta del disco ha sufrido daños use disklabel para reparticionar y etiquetar el disco de forma que coincida con la etiqueta que imprimió y guardó previamente. Use newfs para crear de nuevo sus sistemas de ficheros. Monte de nuevo la partición raíz del disquete en modo lectura/escritura (mount -u -o rw /mnt). Ejecute su programa de respaldo y utilice las cintas de respaldo para restaurar sus datos en este sistema de ficheros (restore vrf /dev/sa0). Desmonte el sistema de ficheros (umount /mnt). Repita el proceso con cada sistema de ficheros que sufrió daños. Una vez que su sistema esté en marcha respalde sus datos en cintas nuevas. Cualquiera que haya sido la causa de la caída o pérdida de datos puede suceder de nuevo. Una hora más que gaste ahora puede ahorrarle mucho sufrimiento más adelante. Marc Fonvieille Reorganizado y mejorado por Sistemas de ficheros en red, memoria y respaldados en fichero discos virtuales discos virtuales Además de los discos que conecta físicamente en su máquina (discos flexibles, CDs, discos duros, etc.) &os; permite usar otro tipo de discos: los discos virtuales. NFS Coda discos memoria Esto incluye sistemas de ficheros en red como NFS y Coda, sistemas de ficheros basados en memoria y sistemas de ficheros basados en fichero. Según la versión de &os; que utilice tendrá que utilizar diferentes herramientas para la creación y uso de sistemas de ficheros en memoria y sistemas de ficheros basados en fichero. Los usuarios de FreeBSD 4.X tendrán que usar &man.MAKEDEV.8; para crear los dispositivos requeridos. FreeBSD 5.0 y posteriores usan &man.devfs.5; para gestionar los nodos de dispositivo correspondientes de forma transparente para el usuario. Sistema de ficheros basado en fichero en FreeBSD 4.X discos file-backed (4.X) La utilidad &man.vnconfig.8; configura y habilita vnodes de dispositivos de pseudodisco. Un vnode es una representación de un fichero y es el enfoque de la actividad de fichero. Esto significa que &man.vnconfig.8; utiliza ficheros para crear y operar un sistema de ficheros. Un uso posible es el montaje de imágenes de disquetes o CD almacenadas como ficheros. Para poder usar &man.vnconfig.8; necesitará tener &man.vn.4; en el fichero de configuración de su kernel: pseudo-device vn Para montar una imagen de un sistema de ficheros: Uso de vnconfig para montar una imagen de un sistema de ficheros bajo &os; 4.X &prompt.root; vnconfig vn0 imagendedisco &prompt.root; mount /dev/vn0c /mnt Para crear una nueva imagen de un sistema de ficheros con &man.vnconfig.8;: Creación de una imagen nueva de un sistema de ficheros respaldado en un archivo con <command>vnconfig</command> &prompt.root; dd if=/dev/zero of=nuevaimagen bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; vnconfig -s labels -c vn0 nuevaimagen &prompt.root; disklabel -r -w vn0 auto &prompt.root; newfs vn0c Warning: 2048 sector(s) in last cylinder unallocated /dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors 5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g) super-block backups (for fsck -b #) at: 32 &prompt.root; mount /dev/vn0c /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/vn0c 4927 1 4532 0% /mnt Sistemas de ficheros basados en fichero en FreeBSD 5.X discos file-backed (5.X) &man.mdconfig.8; se usa para configurar y habilitar discos habilitar discos de memoria, &man.md.4;, en FreeBSD 5.X. Para usar &man.mdconfig.8;, tendrá que cargar el módulo &man.md.4; o añadir soporte para el mismo el el fichero de configuración del kernel: device md &man.mdconfig.8; soporta tres tipos de discos virtuales en memoria: discos de memoria asignados mediante &man.malloc.9;, discos de memoria usando un fichero o espacio de swap como respaldo. Un uso posible es montar imágenes de disquetes o CD archivadas. Para montar una imagen de un sistema de ficheros: Uso de <command>mdconfig</command> para montar una imagen de un sistema de ficheros en &os; 5.X &prompt.root; mdconfig -a -t vnode -f imagendedisco -u 0 &prompt.root; mount /dev/md0 /mnt Para crear una imagen nueva de un sistema de ficheros con &man.mdconfig.8;: Creación de un disco respaldado en fichero con <command>mdconfig</command> &prompt.root; dd if=/dev/zero of=nuevaimagen bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdconfig -a -t vnode -f nuevaimagen -u 0 &prompt.root; disklabel -r -w md0 auto &prompt.root; newfs md0c /dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes. super-block backups (for fsck -b #) at: 32, 2624, 5216, 7808 &prompt.root; mount /dev/md0c /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0c 4846 2 4458 0% /mnt Si no especifica el número de unidad con la opción &man.mdconfig.8; usará la designación automática de &man.md.4; para seleccionar un dispositivo sin usar. El nombre de la unidad designada se enviará a la salida esándar como md4. Para más información sobre &man.mdconfig.8; consulte su página de manual. A partir de &os; 5.1-RELEASE &man.bsdlabel.8; reemplazó a &man.disklabel.8;. En &man.bsdlabel.8; se eliminaron muchas opciones y parámetros obsoletos. En el ejemplo de arriba ignore la opción . Para más información consulte la página de manual de &man.bsdlabel.8;. &man.mdconfig.8; es muy útil, aunque requiere muchas líneas de comando para crear un sistema de ficheros basado en un fichero. FreeBSD 5.0 incorpora &man.mdmfs.8;, que configura un disco &man.md.4; utilizando &man.mdconfig.8;, pone un sistema de ficheros UFS en él mediante &man.newfs.8; y lo monta usando &man.mount.8;. Por ejemplo, si desea crear y montar la misma imagen de sistema de ficheros de arriba, simplemente teclée lo siguiente: Configurar y montar un disco basado en un fichero con <command>mdmfs</command> &prompt.root; dd if=/dev/zero of=nuevaimagen bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdmfs -F newimage -s 5m md0 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4846 2 4458 0% /mnt Si utiliza la opción sin número de unidad, &man.mdmfs.8; usará la opción de auto unidad de &man.md.4; para selecionar automáticamente un dispositivo sin usar. Para más información sobre &man.mdmfs.8; diríjase a la página de manual. Sistemas de ficheros basados en memoria en FreeBSD 4.X discos sistemas de ficheros en memoria (4.X) El controlador &man.md.4; es un modo sencillo y eficiente de crear sistemas de ficheros basados en memoria en FreeBSD 4.X. &man.malloc.9; se usa para ubicar la memoria. Sencillamete toma un sistema de ficheros que usted ha preparado con, por ejemplo, &man.vnconfig.8;, y: Disco de memoria md en FreeBSD 4.X &prompt.root; dd if=nuevaimagen of=/dev/md0 5120+0 records in 5120+0 records out &prompt.root; mount /dev/md0c /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0c 4927 1 4532 0% /mnt Para más información por favor consulte la página de manual de &man.md.4;. sistemas de ficheros basados en memoria en FreeBSD 5.X discos sistemas de ficheros en memoria (5.X) Se usan las mismas herramientas para tratar con sistemas de ficheros basados en memoria o en ficheros: &man.mdconfig.8; o &man.mdmfs.8;. El almacenamiento de sistemas de ficheros basados en memoria requiere el uso de &man.malloc.9;. Creación de un nuevo disco basado en memoria con <command>mdconfig</command> &prompt.root; mdconfig -a -t malloc -s 5m -u 1 &prompt.root; newfs -U md1 /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes. with soft updates super-block backups (for fsck -b #) at: 32, 2624, 5216, 7808 &prompt.root; mount /dev/md1 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4846 2 4458 0% /mnt Creación de un nuevo disco basado en memoria con <command>mdmfs</command> &prompt.root; mdmfs -M -s 5m md2 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt En lugar de usar un sistema de ficheros respaldado en &man.malloc.9;, es posible utilizar swap; lo único que debe hacer es sustituir por en la línea de comando de &man.mdconfig.8;. &man.mdmfs.8; por defecto (sin ) crea un disco basado en swap). Para más información, consulte las páginas de manual de &man.mdconfig.8; y de &man.mdmfs.8;. Desconexión del sistema de un disco de memoria discos desconectar un disco de memoria Cuando un sistema de ficheros basado en memoria o basado en fichero no se usa puede liberar recursos del sistema. Lo primero es desmontar el sistema de ficheros: use &man.mdconfig.8; para desconectar el disco del sistema y liberar dichos recursos. Por ejemplo, para desconectar y liberar todos los recursos usados por /dev/md4: &prompt.root; mdconfig -d -u 4 Es posible listar información sobre dispositivos &man.md.4; configurados en el sistema mediante mdconfig -l. En FreeBSD 4.X se usa &man.vnconfig.8; para desconectar el dispositivo. Por ejemplo, para desconectar y liberar todos los recursos usados por /dev/vn4: &prompt.root; vnconfig -u vn4 Tom Rhodes Escrito por Instantáneas (<quote>snapshots</quote>) de sistemas de ficheros sistemas de ficheros snapshots FreeBSD 5.0 ofrece una característica relacionada con Soft Updates: las instantáneas del sistema de ficheros. Las instantáneas permiten a un usuario crear imágenes de uno o más sistemas de ficheros dados, y tratarlas como un fichero. Los ficheros de instantánea deben crearse en el sistema de ficheros en el que se realiza la acción, y un usuario puede crear hasta 20 (veinte) instantáneas por sistema de ficheros. Las instantáneas activas se graban en el superbloque, lo que hace que sigan ahí independientemente de montajes, remontajes y reinicios del sistema. Cuando ya no necesite una instantánea puede borrarla con &man.rm.1;. Las instantáneas pueden borrarse en cualquier orden pero puede que no pueda recuperar todo el espacio debido a que otra instantánea puede reclamar algunos bloques liberados. La bandera inalterable de fichero se activa con &man.mksnap.ffs.8; después de la creación inicial de un fichero de instantánea. &man.unlink.1; hace una excepción con los ficheros de instantánea, ya que permite que se les borre. Las instantáneas se crean con &man.mount.8;. Veamos un ejemplo. Vamos a colocar una instantánea de /var en /var/snapshot/snap: &prompt.root; mount -u -o snapshot /var/snapshot/snap /var También puede usar &man.mksnap.ffs.8; para crear una instantánea: &prompt.root; mksnap_ffs /var /var/snapshot/snap Si busca ficheros de instantánea en un sistema de de ficheros (por ejemplo /var) puede usar &man.find.1;: &prompt.root; find /var -flags snapshot Una instantánea tiene distintos usos: Algunos administradores usan un fichero de instantánea como respaldo, puesto que la instantánea puede guardarse en CD o cinta. Integridad de ficheros; &man.fsck.8; puede ejecutarse en una instantánea. Asumiendo que el sistema de ficheros estuviera limpio cuando se montó se debe obtener un resultado limpio (e intacto). En esencia el proceso &man.fsck.8; hace esto mismo en segundo plano. Ejecución de &man.dump.8; en la instantánea. Se obtendrá un dump consistente con el sistema de ficheros y los sellos de hora de la instantánea. &man.dump.8; también puede leer una instantánea, crear una imagen dump y eliminar la instantánea en un comando usando la opción . Ejecutar un &man.mount.8; contra la instantánea como una imagen congelada del sistema de ficheros. Para montar la instantánea /var/snapshot/snap ejecute: &prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4 &prompt.root; mount -r /dev/md4 /mnt Podrá recorrer la jerarquía de su sistema de ficheros /var congelado montado en /mnt. Todo estará en el mismo estado en el que estaba cuando creó la instantánea. La única excepción es que cualquier instantánea anterior aparecerá como un fichero de longitud cero. Cuando haya acabado de usar una instantánea puede desmontarla con: &prompt.root; umount /mnt &prompt.root; mdconfig -d -u 4 Para más información sobre e instantáneas de sistemas ficheros, incluyendo textos técnicos, visite el sitio web de Marshall Kirk McKusick: . Cuotas en sistemas de ficheros contabilidad espacio en disco cuotas de disco Las cuotas son una opción del sistema operativo que le permite limitar la cantidad de espacio en disco y/o el número de fichero que un usuario o miembros de un grupo pueden crear en el sistema, pudiendo además hacerlo de forma independiente en cada sistema de ficheros. Suele usarse principalmente en sistemas de tiempo compartido, donde se busca limitar la cantidad de recursos que cualquier usuario o grupo pueden utilizar. Esto evitará que un usuario o un grupo de usuarios consuma todos el espacio disponible en disco. Configuración del sistema para habilitar cuotas de disco Antes de intentar configurar el uso de cuotas de disco hay que asegurarse de que las cuotas están activadas en el kernel. La siguiente línea debe estar en el fichero de de configuración del kernel: options QUOTA El kernel GENERIC no lo tiene activado por defecto, así que tendrá que configurar, compilar e instalar un kernel personalizado para poder usar cuotas de disco. Por favor, consulte el para más información sobre la configuración del kernel. A continuación tendrá que habilitar las cuotas de disco en /etc/rc.conf. Añadale la siguiente línea: enable_quotas="YES" cuotas de disco revisión Hay una variable que le permitirá efectuar un control más exhaustivo sobre el arranque de cuotas. Normalmente se revisa la integridad de cuotas de cada sistema de ficheros en el arranque; el responsable es &man.quotacheck.8;. &man.quotacheck.8; se asegura de que los datos que hay en su base de datos de cuotas reflejen realmente los datos del sistema de ficheros. Es un proceso que lleva mucho tiempo y que afectará significativamente al tiempo que tardará su sistema en arrancar. Si desea saltarse ese paso puede usar una variable al efecto en /etc/rc.conf: check_quotas="NO" Para concluir tendrá que editar /etc/fstab para habilitar las cuotas de disco para cada sistema de ficheros. Es aquí donde podrá habilitar cuotas por usuario, por grupo, o ambos en todos sus sistemas de ficheros. Para habilitar cuotas por usuario en un sistema de ficheros añada la opción al campo de opciones en la entrada de /etc/fstab que corresponda al sistema de ficheros en el que quiere habilitar las cuotas. Veamos un ejemplo: /dev/da1s2g /home ufs rw,userquota 1 2 En el caso de las cuotas de grupo es muy similar. Use la opción en lugar de . Para habilitar cuotas por usuario y por grupo modifique la entrada de este modo: /dev/da1s2g /home ufs rw,userquota,groupquota 1 2 Por defecto los ficheros de cuota se guardan en el directorio raíz del sistema de ficheros con los nombres quota.user y quota.group para cuotas de usuario y grupo respectivamente. Consulte &man.fstab.5; para más información. Aunque la página de manual de &man.fstab.5; diga que puede especificar otra ubicación para los ficheros de cuota, no se recomienda hacerlo debido a que las diversas herramientas de gestió cuotas no parecen sobrellevar esto adecuadamente. Hecho todo esto puede reiniciar su sistema con el nuevo kernel. /etc/rc ejecutará automáticamente los comandos apropiados para crear los ficheros de cuota iniciales que requieran todas las entradas en en /etc/fstab, así que no hay necesidad de crear ficheros de cuota de longitud cero. En el curso normal de operaciones no se le debería pedir que ejecute &man.quotacheck.8;, &man.quotaon.8; o &man.quotaoff.8; manualmente. Sin embargo, tal vez quiera leer sus páginas de manual para familiarizarse con su funcionamiento. Configuración de límites de cuota cuotas de disco límites Una vez que tenga configurado su sistema para usar cuotas verifique que en realidad estén habilitadas. Una manera sencilla de hacer esto es ejecutar: &prompt.root; quota -v Debe ver un resumen de una sola línea de uso del disco y los límites de cuota actuales para cada sistema de ficheros donde estén habilitadas las cuotas. Ahora puede iniciar la asignación de límites de cuota con &man.edquota.8;. Tiene varias opciones para imponer límites en el espacio de disco que un usuario o grupo puede ocupar, y cuántos ficheros pueden crear. Puede limitar el uso de disco basándose en el espacio en disco (cuotas de bloque) o en el número de ficheros (cuotas de inodo) o una combinación de ambas. Cada uno de estos límites a su vez se divide en dos categorías: límites duros y suaves. límite duro Un límite duro no puede ser excedido. Una vez que un usuario alcanza su límite duro no puede realizar más ubicaciones en el sistema de ficheros en cuestión. Por ejemplo, si el usuario tiene un límite duro de 500 kbytes en un sistema de ficheros y está utilizando 490 kbytes, el usuario solo puede ocupar otros 10 kbytes. Un intento de ocupar 11 kbytes más fallará. límite suave Los límites suaves pueden excederse por un periodo Este periodo de tiempo recibe el nombre de periodo de gracia, que por defecto es una semana. Si un usuario sobrepasa su periodo de gracia el límite suave se convertirá en un límite duro y no se permitir´n usos de disco adicionales. Cuando el usuario devuelve su cuota de uso de recursos a un punto por debajo de su límite suave el periodo de gracia se reinicia. Veamos un ejemplo de uso de &man.edquota.8;. Si se usa &man.edquota.8; se entra en el el editor declarado en la variable de entorno EDITOR, o en el editor vi si no ha modificado el valor por defecto de la variable EDITOR, para que pueda editar los límites de cuota. &prompt.root; edquota -u test Quotas for user test: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60) Debería ver dos líneas por cada sistema de ficheros que tenga habilitadas las cuotas. Una línea para los límites de bloque y una línea para límites de inodo. Por ejemplo, para elevar los límites de este usuario de un límite suave de 50 y un límite duro de 75 a un límite suave de 500 y un límite duro de 600, cambie: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) por: /usr: kbytes in use: 65, limits (soft = 500, hard = 600) Los nuevos límites de cuota se aplicarán en cuanto salga del editor. Algunas veces se quieren activar límites de cuota en un rango de UIDs. Esto puede realizarse con la opción de &man.edquota.8;. Primero asigne el límite de cuota deseado a un usuario y luego ejecute edquota -p protouser startuid-enduid. Por ejemplo, si el usuario test tiene el límite de cuota deseado, el siguiente comando puede usarse para duplicar esos límites de cuota para los UIDs de 10,000 hasta 19,999: &prompt.root; edquota -p test 10000-19999 Para más información consulte la página de manual &man.edquota.8;. Revisión de los límites de cuota y uso de disco cuotas de disco revisando Puede usar &man.quota.1; o &man.repquota.8; para revisar los límites de cuota y uso del disco. El comando &man.quota.1; le permitirá revisar cuotas individuales de usuario o grupo y uso del disco. Un usuario puede sólamente examinar su propia cuota y la cuota de un grupo al que pertenezca. Sólamente el superusuario puede ver las cuotas de todos los usuarios y grupos. &man.repquota.8; permite obtener un resumen de todas las cuotas y uso del disco de todos los sistemas de ficheros con cuotas habilitadas. En el siguiente ejemplo vemos la salida de quota -v para un usuario que tiene límites de cuota en dos sistemas de ficheros. Disk quotas for user test (uid 1002): Filesystem usage quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60 periodo de gracia En el sistema de ficheros /usr del ejemplo este usuario está actualmente 15 kbytes sobre su límite suave de 50 kbytes y le quedan 5 días de su periodo de gracia. Observe el asterisco, * que indica que el usuario está actualmente por encima de su límite de cuota. Normalmente los sistemas de ficheros en los que el usuario no esté utilizando espacio en disco no se mostrarán en la salida del comando &man.quota.1;, incluso si tiene un límite de cuota asignado para esos sistemas de fichero. La opción desplegará esos sistemas de ficheros, en nuestro ejemplo el sistema de ficheros /usr/var. Cuotas en NFS NFS Las cuotas son impuestas por el subsistema de cuotas en el servidor NFS. El dæmon &man.rpc.rquotad.8; facilita la información a &man.quota.1; en los clientes NFS, permitiéndoles a los usuarios de esas máquinas ver sus estadísticas de cuota. Habilite rpc.rquotad en /etc/inetd.conf del siguiente modo: rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad Y reinicie inetd: &prompt.root; kill -HUP `cat /var/run/inetd.pid` Lucky Green Escrito por
shamrock@cypherpunks.to
Cifrado de particiones de disco discos cifrado &os; ofrece un alto grado de protección contra el acceso no autorizado a los datos. Los Permisos de fichero y MAC (Mandatory Access Control, controles de acceso obligatorio, consulte el ) ayudan a evitar que otros tengan acceso no autorizado a los datos mientras el sistema operativo está funcionando y la computadora está encendida. Sin embargo los permisos impuestos por el sistema operativo son irrelevantes si un atacante tiene acceso físico al sistema y puede simplemente mover el disco duro de la computadora a otro sistema para copiar y analizar datos sensibles. Independientemente de cómo un atacante pueda conseguir acceso a un disco duro a a un sistema apagado, el cifrado de disco basado en GEOM (GEOM Based Disk Encryption, gbde) puede proteger los datos de los sistemas de ficheros del sistema incluso contra atacantes muy decididos y con recursos adecuados a su disposición. A diferencia de otros métodos de cifrado más difíciles de usar, que cifran únicamente ficheos individuales, gbde cifra sistemas de ficheros completos de forma transparente. Ni un solo texto en limpio llega a tocar el disco duro. Habilitar gbde en el kernel Conviértase en <username>root</username> La configuración de gbde requiere privilegios de superusuario. &prompt.user; su - Password: Verifique la versión del sistema operativo &man.gbde.4; requiere FreeBSD 5.0 o posterior. &prompt.root; uname -r 5.0-RELEASE Añada soporte de &man.gbde.4; al fichero de configuración de su kernel Añada la siguiente línea al fichero de configuración de su kernel con el editor que prefiera: options GEOM_BDE Configure, recompile e instale el kernel de &os;. Este proceso se detalla en el . Reinicie con el nuevo kernel. Preparación del disco duro cifrado El siguiente ejemplo asume que añade a su sistema un disco duro nuevo que contendrá una sola partición cifrada. Esta partición se montará como /private. gbde puede usarse también para cifrar /home y /var/mail, pero esto requeriría instrucciones más complejas que las que se pretenden dar en esta introducción. Añada el nuevo disco Instale el nuevo disco en el sistema como se explicó en la . En nuestro ejemplo hemos añadido una nueva partición de disco como /dev/ad4s1c. Los dispositivos /dev/ad0s1* representan particiones &os; estándar que i existían previamente en el sistema. &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 Crée un directorio para los ficheros <quote>lock</quote> de gbde &prompt.root; mkdir /etc/gbde Los ficheros lock de gbde contienen información que gbde requiere para acceder a las particiones cifradas. Sin el acceso a los ficheros lock gbde no podrá descifrar los datos alojados en la partición cifrada sin una cantidad significativa de trabajo, tarea para la que además no le resultará de ayuda este software. Cada partición cifrada utiliza un fichero lock separado. Inicialice la partición gbde Una partición gbde debe inicializarse antes de que pueda utilizarse. Esta inicialización sólo debe hacerse una vez: &prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c &man.gbde.8; abrirá su editor para que pueda configurar las opciones de configuración que se le presentarán en una plantilla. Para utilizar UFS1 o UFS2, ponga el sector_size a 2048: $FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $ # # El tamaño de sector (sector size) es la unidad de datos más # pequeña que podrá leer o escribir. Si la elige demasiado # pequeña reducirá el rendimiento y la cantidad de espacio # útil. Si la elige demasiado grande puede hacer que los sistemas # de ficheros no funcionen. 512 es el tamaño mínimo y # siempre funciona. Si va a usar UFS utilice # sector_size = 2048 [...] &man.gbde.8; le pedirá dos veces que escriba la contraseña que debe usarse para asegurar los datos. La contraseña debe ser la misma las dos veces. La capacidad de gbde de proteger sus datos depende íntegramente de la calidad de la contraseña que elija. Si quiere ayuda para seleccionar una contraseña segura que además sea fácil de recordar visite el sitio web Diceware Passphrase. El fichero gbde init crea un fichero lock para su partición gbde, que en nuestro ejemplo está en /etc/gbde/ad4s1c. Es imprescindible que los ficheros lock de gbde deben respaldarse junto con el contenido de cualquier partición cifrada. Aunque la sola acció de borrar un fichero lock no puede evitar que un atacante motivado descifre una partición gbde sin el fichero lock, el propietario legítimo no podrá acceder a los datos en la partición cifrada sin una cantidad notable de trabajo, que es necesario señalar que no entra dentro de las funciones de &man.gbde.8; ni de su diseñador. Conecte al kernel la partición cifrada &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c Se le pedirá la contraseña que elijió al inicializar la partición cifrada. El nuevo dispositivo cifrado aparecerá en /dev como /dev/nombre_de_dispositivo.bde: &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde Crée un sistema de ficheros en el dispositivo cifrado Una vez el dispositivo cifrado está conectado al kernel puede crear un sistema de ficheros en el dispositivo con &man.newfs.8;. Dado que es más rápido inicializar un sistema de ficheros del nuevo UFS2 que un sistema de ficheros del tradicional UFS1, le recomendamos encarecidamente usar &man.newfs.8; con la opción . La opción es el valor por defecto en &os; 5.1-RELEASE y siguientes. &prompt.root; newfs -U -O2 /dev/ad4s1c.bde &man.newfs.8; debe ejecutarse en una partición gbde conectada, que podrá identificar por la extensión *.bde del nombre del dispositivo. Montar la partición cifrada Crée un punto de montaje para el sistema cifrado de ficheros. &prompt.root; mkdir /private Montar el sistema cifrado de ficheros. &prompt.root; mount /dev/ad4s1c.bde /private Verificar que el sistema cifrado de ficheros esté disponible el sistema cifrado de ficheros debería ser visible para &man.df.1; y estar listo para su uso. &prompt.user; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 1037M 72M 883M 8% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 8.1G 55K 7.5G 0% /home /dev/ad0s1e 1037M 1.1M 953M 0% /tmp /dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr /dev/ad4s1c.bde 150G 4.1K 138G 0% /private Montaje de sistemas cifrados de ficheros Todos los sistemas cifrados de ficheros deben reconectarse al kernel después de cada arranque. Además, antes de poder utilizarlo debe revisarlo por si contuviera errores y montarlo. Todo el proceso debe ser ejecutado por el usuario root. Conectar la partición gbde al kernel &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c Se le pedirá la contraseña que elijió en la inicialización de la partición cifrada gbde. Revisión de errores en el sistema de ficheros Como que los sistemas cifrados de ficheros no pueden aparecer en /etc/fstab (lo que haría que fueran montados automáticamente), los sistemas de ficheros deben revisarse manualmente mediante &man.fsck.8; antes de montarlos. &prompt.root; fsck -p -t ffs /dev/ad4s1c.bde Montar los sistemas cifrados de ficheros &prompt.root; mount /dev/ad4s1c.bde /private El sistema cifrado de ficheros está listo para su uso. Montar automáticamente particiones cifradas Es posible usar un script para automatizar la conexión, revisión y el montaje de una partición cifrada, pero por razones de seguridad el script no debe contener la contraseña de &man.gbde.8;. Se recomienda ejecutar esos scripts se ejecuten de forma manual proporcionando la contraseña vía consola o &man.ssh.1;. Protección criptográfica que usa gbde &man.gbde.8; cifra el XXX sector payload usando AES de 128 bits en modo CBC. Cada sector en el disco se cifra con una clave AES diferente. Para más información sobre el diseño criptográfico de gbde, incluyendo cómo se derivan las claves de sector a partir de la contraseña consulte &man.gbde.4;. Problemas de compatibilidad &man.sysinstall.8; es incompatible con dispositivos gbde cifrados. Todos los dispositivos *.bde deben desconectarse del kernel antes de iniciar &man.sysinstall.8; o se congelará durante la prueba inicial de dispositivos. Para desconectar el el dispositivo cifrado de nuestro ejemplo haga lo siguiente: &prompt.root; gbde detach /dev/ad4s1c Tenga en cuenta también que, como &man.vinum.4; no utiliza el subsistema &man.geom.4;, no es posible usar gbde en volúmenes vinum.
diff --git a/hu_HU.ISO8859-2/books/handbook/install/chapter.xml b/hu_HU.ISO8859-2/books/handbook/install/chapter.xml index 99694a019f..38b1fab9c7 100644 --- a/hu_HU.ISO8859-2/books/handbook/install/chapter.xml +++ b/hu_HU.ISO8859-2/books/handbook/install/chapter.xml @@ -1,7186 +1,7186 @@ Jim Mock Átszervezte, átrendezte és egyes részeit átdolgozta: Randy Pratt A sysinstall bemutatása, ábrái és bemásolása: A &os; telepítése Áttekintés telepítés A &os; telepítéséhez egy könnyen használható szöveges telepítõprogram, a sysinstall használható. Ez a &os; alapértelmezett telepítõprogramja, habár ezt a különféle gyártók kedvük szerint lecserélhetik. Ebben a fejezetben bemutatjuk a &os; sysinstall segítségével történõ telepítését. A fejezet elolvasása során megismerjük: hogyan készítsünk telepítõlemezeket a &os;-hez; a &os; miként hivatkozza és osztja fel a merevlemezeinket; hogyan indítsuk el a sysinstall programot; milyen kérdéseket tesz fel nekünk a sysinstall, mire gondol, hogyan is kell azokat megválaszolni. A fejezet elolvasásához ajánlott: a telepítendõ &os; verzióhoz tartozó támogatott hardvereket felsoroló lista átolvasása és benne a saját hardvereszközeink megkeresése. Általánosan elmondható, hogy a most következõ telepítési utasítások az &i386; (PC kompatibilis) architektúrájú számítógépekre vonatkoznak. Ahol erre szükség van, ott más platformokra vonatkozó utasítások is szerepelhetnek. Habár ezt a leírás igyekszünk a lehetõ legjobban naprakészen tartani, elképzelhetõ, hogy felfedezhetünk kisebb eltéréseket a telepítõben és az itt leírtak közt. Ezért ezt a fejezetet inkább egy általános útmutatónak javasoljuk, nem pedig egy szó szerint értelmezendõ kézikönyvként. Hardverkövetelmények Minimális konfiguráció A &os; telepítéséhez szükséges minimális konfiguráció &os; verziónként és architektúránként eltérõ. A minimális konfigurációt a &os; honlapján a kiadásokról szóló oldalon, az Installation Notes részben találhatjuk meg. Ezt a következõ szakaszokban foglaljuk össze. A &os; telepítésének módszerétõl függõen szükségünk lehet egy hajlékonylemezes (floppy) vagy CD-ROM meghajtóra, esetleg egy hálózati kártyára. Ezt a ban tárgyaljuk. &os;/&arch.i386; és &os;/&arch.pc98; A &os;/&arch.i386; és &os;/&arch.pc98; egyaránt egy 486 vagy jobb processzort és legalább 24 MB memóriát igényel. A legkisebb telepítéshez legalább 150 MB szabad lemezterület szükséges. Régebbi konfigurációk esetén nem egy gyorsabb processzor, hanem inkább több memória beszerzése, illetve több lemezterület felszabadítása a fontosabb. &os;/&arch.alpha; Alpha Az Alpha támogatás a &os; 7.0 beindulásával eltávolításra került. A &os; 6.X sorozat az utolsó, amely valamilyen támogatást ajánl ehhez az architektúrához. Ezzel kapcsolatban részletesebben a kiadásokkal kapcsolatos információkat tartalmazó oldalon olvashatunk a &os; honlapján. &os;/&arch.amd64; Két típusú processzor képes futtatni a &os;/&arch.amd64; verzióját. Az elsõ ezek közül az AMD64 processzorok, beleértve az &amd.athlon;64, &amd.athlon;64-FX, &amd.opteron; vagy újabb processzorokat. A &os;/&arch.amd64; verzióját kihasználni képes processzorok másik csoportja az &intel; EM64T architektúrájára épülõ processzorok. Ilyen processzor például az &intel; &core; 2 Duo, Quad és Extreme processzorcsaládok, valamint az &intel; &xeon; 3000, 5000 és 7000 sorozatszámú processzorai. Ha nVidia nForce3 Pro-150 alapú géppel rendelkezünk, ki kell kapcsolnunk a BIOS-ban az IO APIC használatát. Ha nem találnánk ilyen beállítást, akkor helyette magát az ACPI-t kell kikapcsolnunk. A Pro-150 chipsetnek vannak bizonyos hibái, amelyekre eddig még nem sikerült megfelelõ megoldást találnunk. &os;/&arch.sparc64; A &os;/&arch.sparc64; telepítéséhez egy támogatott platformra van szükségünk (lásd: ). A &os;/&arch.sparc64; telepítéséhez egy egész lemezre lesz szükségünk, mivel a rendszer jelenleg nem képes megosztani azt más operációs rendszerekkel. Támogatott hardverek A &os; minden kiadásához mellékelik a támogatott hardverek listáját &os; Hardware Notes címmel. Ez a dokumentum többnyire a HARDWARE.TXT nevû állomány, amelyet a rendszer CD-n vagy FTP-n keresztül elérhetõ változatának gyökerében vagy a sysinstall dokumentációkat tartalmazó menüjében találhatunk meg. A telepítés elõtt elvégzendõ feladatok Készítsünk leltárt a számítógépünkrõl A &os; telepítése elõtt érdemes összeszedni, pontosan mi minden is található a számítógépünkben. A &os; telepítõrutinjai mutatni fogják a különbözõ komponensek (merevlemezek, hálózati kártyák, CD-meghajtók és a többi) modelljét és gyártóját. A &os; ezenkívü megpróbálja kideríteni a megjelenõ eszközök pontos konfigurációját is, beleértve a használt IRQ és IO portok kiosztását. A PC-s hardverek különféle szeszélyei miatt azonban ez az iménti folyamat nem minden esetben megbízható, ezért elõfordulhat, hogy helyesbíteni kell a &os; által megállapított értékeket. Ha már van a gépünkön egy másik operációs rendszer, például &windows; vagy &linux;, akkor mindenképpen hasznos lehet az általa felkínált eszközökkel lekérdezni a hardvereink beállításait. Ha nem lennénk biztosak benne, hogy az adott bõvítõkártyákat pontosan milyen beállításokkal is használjuk, nézzük meg ezeket magán a kártyán. A népszerû IRQ értékek általában a 3, 5 és 7, valamint az IO portok számát általában tizenhatos számrendszerben szerepeltetik, például 0x330. Javasoljuk, hogy nyomtassuk ki vagy írjuk le ezeket a paramétereket a &os; telepítése elõtt. Ehhez rendezzük ezeket egy táblázatban, valahogy így: Példa egy eszközleltárra Eszköz neve IRQ IO portok Megjegyzés Elsõ merevlemez - - Mérete 40 GB, gyártmánya Seagate, elsõdleges IDE master CD-ROM meghajtó - - Elsõdleges IDE slave Második merevlemez - - Mérete 20 GB, gyártmánya IBM, másodlagos IDE master Elsõ IDE vezérlõ 14 0x1f0 Hálózati kártya - - &intel; 10/100 Modem - - &tm.3com; 56K-s faxmodem, COM1
Ahogy elkészítettük a számítógépünk alkatrészeit tartalmazó listát, vessük ezeket össze a telepítendõ &os; kiadás által megkövetelt eszközökkel.
Mentsük le az adatainkat Amennyiben a &os; telepítéséhez használt számítógép számunkra értékes adatokat tárol, igyekezzünk lementeni ezeket, és a &os; tényleges telepítése elõtt gyõzõdjünk is meg róla, hogy a mentés sikeres volt. A &os; telepítõrutinjai természetesen megerõsítést fognak kérni bármilyen adat lemezre írása elõtt, azonban ha egyszer már elindítottuk a folyamatot, már semmit sem tudunk visszafordítani. Döntsük el a &os; telepítésének helyét Ha a &os; telepítéséhez az egész merevlemezünket fel akarjuk használni, akkor még nincs miért izgatnunk magunkat — nyugodtan átléphetjük ezt a szakaszt. Amikor viszont a &os;-t más operációs rendszerek mellé szeretnénk telepíteni, ismernünk kell, miként is helyezkednek el az adatok a lemezeken, és hogy ez miként is érint bennünket. A lemezek kiosztása a &os;/&arch.i386; esetén A PC-k által használt lemezek különálló darabokra tagolhatóak. Ezeket a darabokat partícióknak nevezzük. Mivel azonban a &os; maga is tárol partíciókat, ezért ez az elnevezés pillanatok alatt megtévesztõvé válhat, ezért ezeket a lemezdarabokat a &os; lemezslice-oknak vagy egyszerûen csak slice-oknak hívja. Például a PC-s lemezpartíciókkal dolgozó, fdisk nevû &os;-s segédprogram partíciók helyett is slice-okra hivatkozik. A PC lemezenként alapvetõen csak négy partíciót enged meg. Ezeket a partíciókat nevezik elsõdleges partícióknak. Ettõl a korlátozástól egy új típus, a kiterjesztett partíció létrehozásával szabadultak meg, amivel így négynél több partíció is készíthetõ. Lemezenként egyetlen ilyen kiterjesztett partíció található, de ezen belül speciális, ún. logikai partíciók hozhatóak létre. Minden partíciónak van egy partíció-azonosítója, melyet a partíción található adatok típusának megállapítására használnak. A &os; partícióinak azonosítója a 165. Általánosságban véve minden operációs rendszer így azonosítja a partíciókat. Például a DOS és annak leszármazottai, mint például a &windows;, minden elsõdleges és logikai partícióhoz egy C:-tõl induló meghajtó-betûjelet társít. A &os;-t egy elsõdleges partícióra kell telepíteni. A &os; az összes adatát, beleértve minden általunk létrehozott állományt is, ezen az egyetlen partíción fogja elhelyezni. Ha viszont több lemezünk van, többen is, vagy akár mindegyiken létrehozhatunk &os;-s partíciókat. A &os; telepítésekor azonban legalább egy ilyen partíciónak használhatónak kell lennie. Ez lehet elõre megtisztított üres partíciói is, vagy akár egy olyan partíció, amelyen már nem használt adatok vannak. Ha már mindegyik partíciónk betelt, akkor a többi operációs rendszer által felkínált eszközök (például &ms-dos;-ban vagy &windows;-ban az fdisk) valamelyikével elõször fel kell közülük szabadítanunk egyet a &os; számára. Amennyiben akadna egy használható partíció, akkor használjuk azt. Ekkor azonban elõfordulhat, hogy ehhez elõször a meglévõk közül össze kell majd zsugorítanunk valamelyiket. A &os; legkisebb telepíthetõ változata nagyjából 100 MB lemezterületet igényel. Azonban ez egy nagyon kicsi változat és szinte semmi helyet nem hagy a saját állományainknak. Sokkal valósághûbb, ha grafikus felület nélkül nagyjából 250 MB-ot mondunk, és legalább 350 MB-ot a grafikus felület használata esetén. Ha ezeken felül további szoftvereket is telepíteni kívánunk, még több helyre lesz szükségünk. Amikor a &os; számára akarunk helyet csinálni, vagy partíciókat akarunk átméretezni, használjuk például a &partitionmagic; nevû kereskedelmi szoftvert, vagy esetleg egy olyan szabad szoftvert, mint például a GParted. Ismereteink szerint a &partitionmagic; és a GParted is használható az NTFS partíciókkal. A GParted számos live linuxos disztribúción megtalálható, ilyen többek közt a SystemRescueCD. Gondok lehetnek azonban a µsoft; Vista által használt partíciókkal. Ezért nem árt, ha az átméretezésekor a kezünk ügyében van a Vista telepítõ CD-je. Természetesen, mint minden lemezkarbantási mûvelet esetén, ilyenkor is határozottan ajánlott biztonsági mentéseket készíteni. Az említett eszközök helytelen használata megsemmisítheti a lemezeinken tárolt adatokat, ezért a használatuk elõtt gondoskodjunk friss, mûködõképes biztonsági mentésekrõl. Meglevõ partíció használata a méret megváltoztatása nélkül Tegyük fel, hogy a számítógépünkben egyetlen 4 GB méretû lemez van, amelyen megtalálható a &windows; valamelyik verziója, és ezt a lemezt korábban két, egyaránt 2 GB méretû meghajtóra osztottuk, a C:-re és D:-re. 1 GB adatunk van a C: meghajtón és fél GB a D:-n. Mindez tehát azt jelenti, hogy a lemezünkön két partíció található, betûjelenként egy. Ha átmásoljuk a D: meghajtón levõ adatainkat a C: meghajtóra, akkor ezzel felszabadíthatjuk a &os; számára a második partíciót. Meglevõ partíció zsugorítása Tegyük fel, hogy a számítógépünkben egyetlen 4 GB méretû lemez van, amelyet teljes egészében a &windows; valamelyik példánya foglal el. A &windows; telepítése során ezért minden bizonnyal egyetlen nagy partíciót hoztunk létre, amely a C: betûjelet kapta és a mérete 4 GB. Jelen pillanatban másfél GB helyet használunk a lemezen, és szeretnénk a &os; számára 2 GB helyet felszabadítani. A &os; telepítéséhez a következõk valamelyikét kell tennünk: Mentsük le a &windows;-os adatainkat, telepítsük újra a &windows;-t úgy, hogy egy 2 GB méretû partíciót választunk neki a telepítése során. A partíció összezsugorítására használjuk az elõbb említett alkalmazásokat, például a &partitionmagic;-et. Szedjük össze a hálózati beállításainkat Amennyiben a &os; telepítésének részeként hálózatra is szándékozunk csatlakozni (például egy FTP vagy NFS szerverrõl akarunk telepíteni), ismernünk kell a hálózatra vonatkozó beállításainkat is. A telepítõ rá fog kérdezni ezekre az információkra, amelyek megadása után a &os; a telepítés befejezéséhez csatlakozni tud majd a hálózatra. Csatlakozás Ethernet-hálózaton, kábel- vagy DSL-modemen keresztül Ha egy Ethernet-hálózathoz, vagy magához az internethez csatlakozunk egy DSL- vagy kábelmodemen keresztül, akkor az alábbi adatokra lesz szükségünk: IP-cím Az alapértelmezett átjáró IP-címe A gépünk neve DNS (névfeloldó) szerverek IP-címei Hálózati maszk Ha nem ismerjük ezeket, érdeklõdjünk a rendszergazdától vagy a szolgáltatónktól. Elképzelhetõ az is, hogy mindezen információkat DHCP segítségével, automatikusan kapjuk meg. Ezt is mindenképpen jegyezzük fel. Kapcsolódás modemmel Ha az internet-szolgáltatónkhoz hagyományos modemen keresztül csatlakozunk, akkor is tudjuk telepíteni a &os;-t interneten keresztül, azonban ez nagyon sokáig tarthat. Ehhez tudnunk kell: Az internet-szolgáltatónk behívószámát A soros (COM) port számát, amelyen keresztül a modem kapcsolódik a gépünkhöz Az internet-szolgáltatónktól kapott felhasználói nevet és jelszót Olvassuk el &os; hibajegyzékét Habár a &os; Projekt igyekszik a &os; minden egyes kiadását a lehetõ legmegbízhatóbban felkészíteni, hibák óhatatlanul is maradnak bennük. Nagyon ritka esetekben ezek a hibák magára a telepítés folyamatára is kihathatnak. Amint ezeket a problémákat sikerül felderíteni és javítani, rögvest megjelennek a &os; honlapján található hibajegyzékben (angolul). A telepítés elõtt ezért mindig ajánlott átolvasni ezt a dokumentumot, így megbizonyosodunk róla, hogy semmilyen utólag felmerült probléma nem akadályozza munkánkat. Az összes kiadáshoz tartozó információ, beleértve az egyes kiadások hibajegyzékeit is, a &os; honlapjáról a kiadásokra vonatkozó információkat tartalmazó részen érhetõ el (angolul). Szerezzük be a &os; telepítéséhez szükséges állományokat A &os; telepítése az alábbi helyek bármelyikén megtalálható állományok felhasználásával történik: Lokálisan: CD vagy DVD Ugyanazon a számítógépen levõ &ms-dos; partíció Pendrive (USB-flash-tároló) SCSI- vagy QIC-szalag Floppylemezek Hálózaton keresztül: FTP oldalról, tûzfalon keresztül vagy szükség szerint HTTP proxy használatával NFS szerverrõl Párhuzamos vagy soros vonali kapcsolaton keresztül Ha megvásároltuk a &os; telepítõ CD-jét vagy DVD-jét, akkor már mindennel rendelkezünk a telepítéshez. Lépjünk bátran tovább a következõ szakaszra ()! Ha eddig még nem szereztük volna be a &os; telepítéséhez szükséges állományokat, ugorjunk a hoz, ahol megtudhatjuk, hogyan készítsük elõ a &os; telepítését az imént felsorolt helyzetekben. A szakasz elolvasása után pedig jöjjünk vissza ide, majd folytassuk az olvasást a ban. Készítsünk egy rendszerindító lemezt A &os; telepítése úgy kezdõdik, hogy a számítógépünkkel a &os; telepítõjét indítjuk el — ez viszont nem egy olyan program, amit más operációs rendszerben el tudunk indítani. A számítógépünk általában a merevlemezünkre telepített operációs rendszert indítja el, azonban beállítható úgy is, hogy az indulásához egy ún. rendszerindító (bootolható) floppy lemezt használjon. Napjaink számítógépei azonban a CD-meghajtóban levõ CD-krõl vagy USB lemezrõl is el tudnak indulni. Ha CD-n vagy DVD-n megvan a &os; telepítõje (akár megvettük, akár éppen magunk készítettük) és a számítógépünk tud CD-rõl vagy DVD-rõl rendszert indítani (a BIOS-ban van egy Boot Order vagy hozzá hasonló nevû beállítás), akkor kihagyhatjuk ezt a szakaszt. A &os; CD- és DVD image-ek kiírásával egy rendszerindításra alkalmas lemezt kapunk, amirõl minden további elõkészület nélkül telepíthetünk. Rendszerindításra alkalmas pendrive-ot az alábbi lépések mentén tudunk készíteni: Az image állomány letöltése A pendrive-okhoz készült image állományok a ISO-IMAGES/ könyvtárból tölthetõek le, ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/architektúra/ISO-IMAGES/verzió/&os;-&rel.current;-RELEASE-architektúra-memstick.img néven. Az architektúra és verzió helyére a telepítendõ architektúrát és verziószámot helyettesítsük be. Ennek megfelelõen tehát például a &os;/&arch.i386; &rel.current;-RELEASE változata a címrõl érhetõ el. A pendrive image .img kiterjesztéssel rendelkezik. A ISO-IMAGES/ könyvtár általában több különféle állományt tartalmaz, ezek közül kell választanunk a &os; telepítendõ változatának, és sok esetben a telepítéshez rendelkezésre álló hardver típusának megfelelõen. A következõ lépés megkezdése elõtt készítsünk biztonsági mentést a pendrive tartalmáról, mivel minden rajta levõ adat törlõdni fog. A pendrive elõkészítése Az itt található példában a rendszerindításhoz és így a mûvelet végrehajtásához a /dev/da0 nevû eszközt fogjuk használni. Ezt ne felejtsük el helyettesíteni a rendszerünkön erre a célra használt eszköz nevével, máskülönben kárt tehetünk az adatainkban. A kern.geom.debugflags változó értékének megfelelõ beállításával engedélyezzük a céleszközön a Master Boot Record írását. &prompt.root; sysctl kern.geom.debugflags=16 Az image pendrive-ra írása Az .img kiterjesztésû állományt nem egyszerûen a pendrive-ra kell másolni, ez a lemez teljes tartalmát magában foglalja. Ennek megfelelõen nem egyszerûen állományokat kell másolnunk az egyik lemezrõl a másikra. Helyette a &man.dd.1; parancs segítségével írjuk az image állomány tartalmát közvetlenül a lemezre. &prompt.root; dd if=&os;-&rel.current;-RELEASE-&arch.i386;-memstick.img of=/dev/da0 bs=64k Rendszerindításra alkalmas floppy lemezt az alábbi lépések mentén tudunk készíteni: A rendszerindító lemezek image-einek beszerzése A &os; 8.0 kiadásától kezdõdõen megszûnik a floppy lemezek támogatása. Helyette telepítsünk pendrive-ról, amelyrõl fentebb olvashatunk, vagy egyszerûen használjunk CD-t vagy DVD-t. A rendszerindító lemezek a telepítõeszköz floppies/ könyvtárában találhatóak, illetve letölthetõek az ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/architektúra/változat-RELEASE/floppies/ helyrõl. Az architektúra és változat helyére természtesen írjuk be a telepíteni kívánt architektúrát és verziót. Így például a &os;/&arch.i386; &rel.current;-RELEASE rendszerindító lemezei az címrõl érhetõek el. A floppyk image-ei .flp kiterjesztésûek. A floppies/ könyvtár számos különféle image-et tartalmaz, ezek közül leginkább a telepítendõ &os; változat, valamint emellett olykor konkrétan a hardver határozza meg a használandót. Az esetek túlnyomó részében négy floppyra lesz szükségünk: boot.flp, kern1.flp, kern2.flp és kern3.flp. A lemezek image-eit illetõ legfrissebb információkat ugyanazon a könyvtáron belül szereplõ README.TXT állományban olvashatjuk (angolul). Az FTP-hez használt programunkat az image-ek letöltése során ne felejtsük el bináris (binary) átviteli módban használni. Egyes böngészõk hajlamosak ugyanis szöveges (text vagy ASCII) átviteli módot használni, ami viszont csak abból vehetõ észre, hogy nem tudjuk a lemezekrõl elindítani a rendszert. A floppyk elõkészítése Mindegyik letöltendõ image-hez elõ kell készíteni egy-egy hajlékonylemezt. Nagyon fontos, hogy ezek a lemezek teljesen hibátlanok legyenek. Errõl a legkönnyebben úgy gyõzõdhetünk meg, ha a lemezeket magunk formázzuk, és nem bízunk a különféle elõreformázott (preformatted) floppykban. A &windows;-ban található formázó segédprogram sem árul el nekünk semmit a lemezeken található hibás részekrõl, egyszerûen csak rossznak (bad) jelöli meg és figyelmen kívül hagyja ezeket. Határozottan ajánljuk, hogy amennyiben a telepítésnek ezt a módját választjuk, mindig használjunk teljesen új floppykat. Ha megpróbáljuk telepíteni a &os;-t, és a telepítõprogram összeomlik, lefagy vagy bármilyen furcsaságot mûvel, elsõként mindenképpen a floppykra gyanakodhatunk. Ilyenkor írjuk ki az image-eket új lemezekre és próbálkozzunk újra a telepítéssel. Az image állományok írása a floppykra Az .flp kiterjesztésû állományok nem a lemezre másolható hagyományos állományok, hanem a lemezek teljes tartalmának képei, ezért ezeket egyszerûen nem másolhatjuk egyik lemezrõl a másikra. Az image-ek közvetlen lemezreírásához ehelyett kifejezetten erre a célra alkalmas eszközöket kell használnunk. DOS Azok számára, akik a floppykat &ms-dos;/&windows; rendszerû számítógépeken kívánják elkészíteni, mellékeltünk egy fdimage nevû segédprogramot. Ha a CD-meghajtónk betûjele például E: és a telepítõ CD-n található image-eket szeretnénk kiírni vele, akkor ezt a parancsot kell kiadnunk: E:\> tools\fdimage floppies\boot.flp A: Ezután ismételten adjuk ki az iménti parancsot minden egyes használni kívánt .flp állományra, azonban elõtte mindig tegyünk be egy újabb floppyt, és a ráírt image-ek neveivel folyamatosan címkézzük fel a lemezeket. A megadott parancsot természetesen mindig írjuk át a konkrét .flp állományok tényleges elérési útvonalainak megfelelõen. Ha nincs CD-nk, akkor az fdimage programot az &os; FTP oldalán található tools könyvtárból is letölthetjük. Amikor a lemezeket egy &unix; rendszeren készítenénk el (például egy másik &os; rendszeren), akkor a &man.dd.1; parancs is használható az image állományok közvetlen lemezreírásához. &os; alatt így néz ki a paraméterezése: &prompt.root; dd if=boot.flp of=/dev/fd0 &os;-n a /dev/fd0 az elsõ hajlékonylemezes meghajtóra hivatkozik (tehát az A: betûjelû meghajtóra). Ennek megfelelõen a /dev/fd1 jelenti a B: meghajtót és így tovább. Más &unix; változatok esetleg más neveket használhatnak a hajlékonylemezes meghajtók megnevezésére, ezért errõl érdemes ilyenkor tájékozódni az adott rendszerhez tartozó dokumentációban. Most már készen állunk a &os; telepítésére!
A telepítés megkezdése Alapértelmezés szerint a telepítés egészen addig nem fog semmit sem írni a lemezekre, amíg a következõ üzenet fel nem bukkan: Last Chance: Are you SURE you want continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! A szöveg fordítása: Utolsó esély: BIZTOSAN folytatni kívánja a telepítést? Ha olyan lemezre szeretne telepíteni, amelyen fontos adatok találhatóak, HATÁROZOTTAN JAVASOLJUK, hogy a továbblépés elõtt KÉSZÍTSEN RÓLUK MEGBÍZHATÓ BIZTONSÁGI MÁSOLATOT! Nem vállalunk semmilyen felelõsséget az elveszett adatokért! A telepítõbõl tehát a fenti, végsõ figyelmeztetés elõtt bármikor ki lehet lépni anélkül, hogy a merevlemezünkön levõ adatokat veszélyeztetnénk. Ha úgy érezzük, hogy valamit véletlenül rosszul állítottunk volna be a telepítés során, ekkor még minden komolyabb kár okozása nélkül kikapcsolhatjuk a számítógépünket. A rendszer indítása Rendszerindítás &i386;-on Kezdjünk egy kikapcsolt számítógéppel. Kapcsoljuk be a számítógépet. Az indulása során látnunk kell egy olyan opciót, amivel be tudunk lépni a rendszer beállításait tartalmazó menübe, avagy a BIOS-ba. Ezt többnyire a F2, F10, Del vagy a AltS lenyomásával érhetjük el. Ezek közül használjuk a képernyõn megjelenõ billentyûket. Elõfordulhat, hogy induláskor a számítógépünk semmilyen szöveget, csak egy képet mutat. Ilyenkor általában a Esc billentyû megnyomására eltûnik a kép és láthatóvá válnak a számunkra fontos üzenetek. Miután beléptünk a menübe, keressük meg azt a beállítást, amely a rendszerindításhoz használt eszközt határozza meg. Ennek a neve sokszor Boot Order (rendszerindítási sorrend) vagy valami hozzá hasonló. Itt mindenféle eszköz felsorolását találjuk: Floppy, CDROM, First Hard Disk (elsõ merevlemezes meghajtó) és így tovább. Ha CD-rõl akarjuk a telepítést elindítani, akkor akkor a CDROM eszközt válasszuk. Ha bármilyen kétség merülne fel bennünk, keressük meg ezt a beállítást a számítógéphez és/vagy az alaplaphoz kapott kézikönyvben. Igényeink szerint végezzük el a beállítást, majd mentsük el és lépjünk ki. Most indítsuk újra a számítógépet. Ha a ban leírtak szerint rendszerindító pendrive-ot készítettünk, akkor bekapcsolás elõtt csatlakoztassuk a számítógéphez. Ha CD-rõl indítjuk a telepítést, akkor kapcsoljuk be a számítógépet és az elindulása után igyekezzünk minél hamarabb betenni a lemezt a meghajtóba. A &os; 7.3 és az azt megelõzõ változatokban a ban leírtak szerint elõkészített floppy-ról is el tudjuk kezdeni a telepítést. Ezek egyike lesz az elsõ rendszerindító lemez, a boot.flp. Helyezzük ezt a lemezt a meghajtóba, és indítsuk el vele a számítógépet. Ha minden próbálkozásunk ellenére a számítógépünk a megszokott módon indul és a meglevõ operációs rendszert tölti be, akkor a következõkkel lehet a gond: A lemezeket nem raktuk be eléggé korán. Hagyjuk benn ezeket és próbáljuk meg ismét újraindítani a számítógépet. Nem állítottuk be jól a BIOS-t. Próbáljuk meg egészen addig újra végrehajtani az elõzõ lépést, amíg a megfelelõ beállítást el nem találjuk. A BIOS nem támogatja a kiválasztott eszközrõl történõ rendszerindítást. A &os; megkezdi az indulását. Ha CD-rõl indítjuk, akkor valami ehhez hasonlót fogunk látni (a konkrét verzióra vonatkozó adatokat itt most kihagytuk): Booting from CD-Rom... 645MB medium detected CD Loader 1.2 Building the boot loader arguments Looking up /BOOT/LOADER... Found Relocating the loader and the BTX Starting the BTX loader BTX loader 1.00 BTX version is 1.02 Console: internal video/keyboard BIOS CD is cd0 BIOS drive C: is disk0 BIOS drive D: is disk1 BIOS 639kB/261056kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d] \ Amikor floppyról indítjuk a rendszert, ehhez hasonlóval találkozhatunk (itt sem szerepelnek most verzióadatok): Booting from Floppy... Uncompressing ... done BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /kernel text=0x277391 data=0x3268c+0x332a8 | Insert disk labelled "Kernel floppy 1" and press any key... Kövessük a képernyõn megjelenõ utasítást (Helyezze be a "Kernel floppy 1" címkéjû lemezt és nyomjon meg egy billentyût...), tehát vegyük ki a boot.flp image-hez tartozó lemezt és tegyük be helyette a kern1.flp image-hez tartozó lemezt, majd nyomjuk le az Enter billentyût. Várjuk meg amíg a rendszer megkezdi az indulást az elsõ lemezrõl, majd az utasításoknak megfelelõen folyamatosan tegyük be a soron következõ lemezeket. Miután elindítottuk a rendszert CD-rõl, pendrive-ról vagy floppy-ról, a rendszerindítási folyamat be fogja hozni a &os; rendszertöltõjének menüjét:
&os; rendszerbetöltõ menüje
Várjuk ki a tíz másodperces szünetet vagy egybõl nyomjuk le az Enter billentyût.
Rendszerindítás &sparc64;-en A legtöbb &sparc64; alapú rendszert úgy állították be, hogy automatikusan lemezrõl induljon. A &os; telepítéséhez azonban hálózaton keresztül vagy CD-rõl kell indítanunk a rendszert, ezért módosítanunk kell a PROM (az OpenFirmware) beállításait. Mindehhez indítsuk újra a rendszert és várjuk meg, amíg feltûnik a rendszerindító üzenet. A konkrét üzenet nagyban függ a számítógép típusától, azonban valami ilyesmi lesz: Sun Blade 100 (UltraSPARC-IIe), Keyboard Present Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.2, 128 MB memory installed, Serial #51090132. Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4. Amikor megpróbálja a rendszert elindítani a lemezrõl, a PROM parancssorának bekéréshez nyomjuk le a billentyûzeten az L1 A vagy a StopA billentyûket, esetleg a soros konzolon keresztül küldjünk egy BREAK parancsot (például a &man.tip.1; vagy &man.cu.1; man oldalakon szereplõ ~# parancs használatával). Körülbelül így néz ki: ok ok {0} Ez a fajta parancssor csak az egy processzorral rendelkezõ rendszereken jelenik meg. Ez a fajta parancssor többprocesszoros (SMP) rendszereken jelenik meg, ahol a szám az éppen aktív processzor sorszámát jelöli. Most helyezzük a CD-t a meghajtóba, és a PROM parancssorában pedig gépeljük be boot cdrom parancsot.
Az eszközkeresés eredményeinek vizsgálata A képernyõn megjelenõ utolsó pár száz sor mindig eltárolódik, késõbb tetszõlegesen átvizsgálhatóak. A puffer tartalmának átnézéséhez nyomjuk le a Scroll Lock billentyût, amivel bekapcsoljuk a korábban megjelent üzenetek közti visszalépést. Itt a nyílbillentyûk, vagy a PageUp és PageDown billentyûk használhatóak a kiírások átböngészéséhez. A Scroll Lock ismételt lenyomásával kiléphetünk ebbõl a módból. Tegyük most mi is ezt, és nézzük az összes olyan üzenetet, amely a rendszermag indulása során keletkezett. A ban látható szövegekhez hasonlóakat fogunk találni, habár ez a számítógépben található konkrét eszközöktõl függõen eltérõ lehet.
Példa az eszközkeresés eredményeire avail memory = 253050880 (247120K bytes) Preloaded elf kernel "kernel" at 0xc0817000. Preloaded mfs_root "/mfsroot" at 0xc0817084. md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4 md1: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <iSA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci 0 usb0: <VIA 83572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1 uhub0: 2 ports with 2 removable, self powered pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3 dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir q 11 at device 8.0 on pci0 dc0: Ethernet address: 00:04:5a:74:6b:b5 miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10. 0 on pci0 ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5” drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/@ mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold plip0: <PLIP network interface> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33 acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4 Mounting root from ufs:/dev/md0c /stand/sysinstall running as init on vty0
Figyelmesen olvassuk át az üzeneteket, és bizonyosodjuk meg róla, hogy a &os; minden számunkra fontos eszközt felismert. Ha nem látunk egy eszközt, akkor azt valószínûleg nem találta meg. Egy saját rendszermag létrehozásával azonban fel tudunk ismertetni olyan eszközöket is, amelyek támogatása eredetileg nem szerepel a GENERIC rendszermagban. Ilyenek például a hangkártyák. A &os; 6.2 vagy késõbbi változataiban az eszközök felkutatása után a ban láthatóak következnek. Itt a nyílbillentyûk segítségével választhatjuk ki az országot (country), térséget (region) vagy csoportot (group). Az Enter lenyomása után pillanatok alatt beállítódik az országunk. Ha meg akarjuk ismételni az iménti beállítást, pillanatok alatt ki tudunk lépni a sysinstall programból.
Az ország kiválasztása
Ha országként United States (Egyesült Államok) került beállításra, akkor a szabványos amerikai billentyûzet-kiosztás állítódik be. A többi ország esetében az alábbi menü jelenik meg. A kurzormozgató billentyûk segítségével ekkor keressük meg ki a számunkra megfelelõ kiosztást, és az Enter billentyû lenyomásával válasszuk ki.
A billentyûzet típusának kiválasztása
Kilépés a <application>sysinstall</application> programból
A telepítõprogram fõképernyõjén válasszuk ki a nyílbillentyûkkel az Exit Install (Kilépés a telepítésbõl) menüpontot. Erre a következõ üzenet fog megjelenni: User Confirmation Requested Are you sure you wish to exit? The system will reboot [ Yes ] No Az üzenet fordítása: Felhasználói megerõsítés szükséges Valóban ki akar lépni? A rendszer ezt követõen újra fog indulni [ Igen ] Nem Ha a &gui.yes; választ adjuk és a CD-t az újraindításkor is a meghajtóban hagyjuk, akkor a telepítõprogram még egyszer el fog indulni. Ha floppyról indítottuk volna a rendszert, az újraindítás elõtt vegyük ki a boot.flp image-et tartalmazó lemezt.
A <application>sysinstall</application> bemutatása A sysinstall a &os; Projekt által fejlesztett telepítõprogram. Konzol alapú, menükre és képernyõkre oszlik, amelyeken a beállításokat és a telepítési folyamat irányítását tudjuk elvégezni. A sysinstall menürendszerét több más billentyû mellett legfõképpen a nyílbillentyûkkel, az Enter, Tab és a Szóköz billentyûkkel kezelhetjük. Ezek és az általuk elvégezhetõ feladatok részletes leírása a sysinstall használatáról szóló információk között található. Ennek megtekintéséhez elõször gyõzõdjünk meg róla, hogy a által illusztrált helyzetnek megfelelõen kiválasztottuk a Usage (Használat) menüpontot és a [Select] (Kiválaszt) feliratú gombon állunk, majd nyomjuk le az Enter billentyût. Ezt követõen megjelenik a menürendszer használatát bemutató leírás. Miután végigolvastuk, a fõmenübe az Enter billentyû lenyomásával tudunk visszajutni.
A <quote>Usage</quote> kiválasztása a <application>sysinstall</application> fõmenüjében
A dokumentációs menü kiválasztása A fõmenüben a nyílbillentyûkkel válasszuk a Doc feliratú menüpontot és nyomjuk meg az Enter billentyût.
A dokumentációs menü kiválasztása
Ezzel megjelenik a dokumentációs menü.
A <application>sysinstall</application> dokumentációs menüje
Feltétlenül olvassuk el az itt található leírásokat. A dokumentumok elolvasásához elõször válasszunk közülük a nyílbillentyûkkel, majd nyomjuk meg az Enter billentyût. A dokumentum elolvasása után az Enter lenyomásával tudunk visszatérni a dokumentációs menübe. A dokumentációs menübõl a fõmenübe úgy tudunk kilépni, ha a nyílbillentyûkkel kiválasztjuk az Exit (Kilépés) menüpontot és megnyomjuk az Enter billentyût.
A billentyûkiosztás menüjének kiválasztása A billentyûzetkiosztás megváltoztatásához válasszuk ki a nyílbillentyûk segítségével a Keymap menüpontot a menübõl és nyomjuk meg az Enter billentyût. Erre természetesen csak akkor lesz szükségünk, ha nem szabványos vagy nem angol billentyûzetet használunk.
A <application>sysinstall</application> fõmenüje
A különbözõ billentyûkiosztásoknak megfelelõ menüpontok a fel/le nyílak és a Szóköz billentyû segítségével választhatóak ki. A Szóköz ismételt lenyomásával töröljük a választásunkat. A befejezéshez válasszuk ki a nyilakkal a &gui.ok; gombot és nyomjuk le az Enter billentyût. A mellékelt képen a lista egy része látható csupán. Ha a Tab billentyûvel a &gui.cancel; gombot választjuk, akkor az alapértelmezett billentyûkiosztást kapjuk és visszakerülünk a fõmenübe.
A <application>sysinstall</application> billentyûkiosztást beállító menüje
A telepítés beállításai tartalmazó képernyõ Válasszuk az Options (Beállítások) menüpontot, majd nyomjuk le az Enter billentyût.
A <application>sysinstall</application> fõmenüje
A <application>sysinstall</application> beállításai
Az itt szereplõ alapértelmezett értékek a legtöbb felhasználó számára minden további nélkül megfelelnek, nem szükséges a megváltoztatásuk. A kiadás neve (release name) mezõ értéke a telepítendõ verziótól függõen változhat. A kiválasztott mezõ rövid leírása a képernyõ alján, kékkel kiemelten jelenik meg. A Use Defaults (Az alapértelmezések használata) beállítás az alapértelmezésére állítja vissza az összes értéket. Az F1 lenyomásával elolvashatjuk a különbözõ beállításokhoz tartozó súgót. A Q billentyûvel visszatérhetünk a fõmenübe.
Egy szabványos telepítés megkezdése A Standard (Szabványos) elnevezésû menüpont által felkínált telepítési módszer ajánlott a &unix;-szal vagy a &os;-vel most ismerkedõk számára. A telepítés megkezdéséhez a nyilakkal válasszuk ki a Standard menüpontot, majd nyomjuk meg az Enter billentyût.
Egy szabványos telepítés megkezdése
Lemezterület lefoglalása Elsõ feladatunk lemezterületet foglalni a &os; számára, majd megcímkézni azt, hogy a sysinstall elõ tudja készíteni. Ehhez tisztában kell lennünk azzal, hogy a &os; milyen formában is keresi az adatokat a lemezünkön. A BIOS meghajtószámozása Egy témára különösen tekintettel kell lennünk mielõtt telepítenénk és beállítanánk a &os;-t a rendszerünkön, fõleg abban az esetben, ha több merevlemezünk is van. DOS Microsoft Windows Egy BIOS-függõ operációs rendszert, például &ms-dos;-t vagy &windows;-t futattó PC esetén a BIOS az operációs rendszer beleegyezésével képes elvonatkoztatni a lemezek megszokott sorrendjétõl. Ennek köszönhetõen a felhasználó nem csak az ún. primary master (elsõdleges master) merevlemezes meghajtótól tudja elindítani a rendszert. Ez kifejezetten kényelmes megoldás az olyan felhasználók számára, akik az elsõvel teljesen megegyezõ második merevlemez megvásárlásával kialakították a rendszerük egyszerû és egyben a legolcsóbb biztonsági mentését, amire a Ghost vagy XCOPY programokkal tudnak rendszeres másolatokat készíteni. Így, ha az elsõdleges meghajtó tönkremegy vagy vírus támadja meg, esetleg az operációs rendszer egy hiba miatt használhatatlanná teszi, akkor a BIOS-t utasíthatjuk a meghajtók logikai cseréjére és ezzel könnyen helyre tudjuk állítani. Olyan, mintha a ház felnyitása nélkül felcseréltük volna a lemezeket bekötõ kábeleket. SCSI BIOS A SCSI-vezérlõkkel szerelt drágább rendszerek gyakran tartalmaznak olyan BIOS-bõvítéseket, amelyeken keresztül a SCSI-lemezek ugyanígy tetszõlegesen átrendezhetõek, egészen hét meghajtóig. Az ilyen lehetõségek használatához szokott felhasználókat azonban könnyen csalódás érheti, amikor a &os; nem az elvárásaiknak megfelelõen cselekszik. A &os; ugyanis nem használja a BIOS-t és nem ismeri a BIOS logikai meghajtókiosztását. Ez meghökkentõ eredményekre vezethet, fõleg akkor, amikor paramétereiket tekintve a meghajtók fizikailag teljesen megegyeznek és ráadásul egymás másolatait tartalmazzák. A &os; telepítése elõtt mindig állítsuk vissza a BIOS-ban a meghajtók eredeti sorrendjét, és a használatához hagyjuk is így ezt a beállítást. Ha valamiért mégis meg kellene cserélnünk a meghajtókat, akkor ezentúl válasszuk a nehezebb utat: nyissuk ki a gépházat és kössük át a kábeleket, tegyük át a jumpereket mi magunk. Részlet Frédi és Vili különleges kalandjaiból: Vili fogott egy öreg Winteles számítógépet, hogy készítsen belõle egy &os;-s rendszert Frédinek. Vili ehhez beszerel egy SCSI-meghajtót, ami így nullás SCSI-egység lesz, majd telepíti rá a &os;-t. Frédi nekilát használni a rendszert, azonban pár nap elteltével tapasztalja, hogy az öregecske SCSI-meghajtó számos apróbb hibát jelez, és ezért szól Vilinek. Néhány nappal késõbb Vili eldönti, ideje pontot tenni az ügy végére, ezért a raktárban levõ SCSI-lemezek köztül elhoz az eredetivel egy teljesen megegyezõt. Az elõzetes felületellenõrzés eredményei szerint a meghajtó tökéletesen mûködik, ezért Vili beszerelni ezt a meghajtót a négyes SCSI-egységként, majd lemásolja a nullás meghajtó tartalmát a négyesre. Miután beszerelte a tökéletesen üzemelõ új meghajtót, Vili úgy határoz, ideje megkezdeni a használatát, ezért beállítja a SCSI BIOS-át, hogy a rendszer a nullás helyett ezentúl a négyes egységrõl induljon. A &os; elindul és mindenki örül. Frédi ezután folytatja megszokott munkáját, majd Vili és Frédi úgy gondolják, itt az ideje az újabb izgalmaknak — frissítsünk a &os; egy újabb változatára. Vili ekkor eltávolítja a nullás SCSI-egységet, mivel már egyébként is kezdett tönkremenni, és kicseréli egy másik teljesen azonos lemezes meghajtóra. Vili ezt követõen Frédi internetrõl letöltött varázslatos floppyjainak segítségével feltelepíti a &os; új verzióját az új nullás SCSI-egységre. A telepítés minden gond nélkül lezajlik. Frédi próbálgatja is a &os; új változatát néhány napig, és számára ez elegendõ bizonyíték ahhoz, hogy a munkahelyén is használja. Ideje hát átmásolni a régi munkáit, ezért Frédi csatlakoztatja a (korábbi &os; változat legfrissebb változatát tartalmazó) négyes SCSI-egységet. Frédin azonban hirtelen aggodalom tör ki, hiszen a négyes SCSI-egységen sehol sem találja munkája féltett eredményeit. Hova tûntek azok a komisz adatok? Amikor Vili másolatot készített az eredeti nullás SCSI-egységrõl a négyes SCSI-egységre, a négyes egység egy új klón lett. Amikor a rendszerindításhoz Vili átrendezte a meghajtókat a SCSI BIOS-ban, azzal csak magát csapta be, ugyanis a &os; továbbra is a nullás SCSI-egységrõl indult el! A BIOS által kiválasztott meghajtóról az effajta beállítások hatására ugyan behozható a rendszerindító és -betöltõ programok egy része, de amikor a &os; rendszermagja átveszi a vezérlést, a BIOS által meghatározott sorrendiség figyelmen kívül marad és a &os; visszatér a meghajtók eredeti rendezéséhez. Tehát ebben az esetben a rendszer továbbra is az eredeti nullás SCSI-egységrõl folytatja a mûködést, és Frédi összes adata itt található, nem pedig a négyes SCSI-egységen. A négyes SCSI-egységrõl futó rendszer illuziója így mindössze az emberi elvárások szüleménye. Örömmel említjük meg, hogy egyetlen byte-nyi adat sem sérült meg vagy pusztult el a jelenség felfedezése során. A korábbi nullás SCSI-egységet még sikerült megmenteni a szemétdombról és Frédi összes munkája visszakerült (és Vili most már el tud számolni nulláig). Habár a tanmesénkben SCSI-meghajtókról esett szó, ugyanez fennáll az IDE-meghajtókra is. Slice-ok létrehozása az FDisk használatával Itt még semmilyen változtatás nem kerül lemezre. Ha úgy érezzük, hogy valamit rosszul csináltunk és újra el akarjuk kezdeni a telepítést, a menük segítségével büntetlenül távozhatunk a sysinstallból és újra próbálkozhatunk, vagy az U billentyû lenyomásával aktiválhatjuk az Undo (Visszacsinál) funkciót. Ha véletlenül összezavarodtunk volna és nem találunk kilépési lehetõséget, akkor bármikor ki tudjuk kapcsolni a számítógépet. A sysinstallban a szabványos telepítés megkezdésekor az alábbi üzenet jelenik meg: Message In the next menu, you will need to set up a DOS-style ("fdisk") partitioning scheme for your hard disk. If you simply wish to devote all disk space to FreeBSD (overwriting anything else that might be on the disk(s) selected) then use the (A)ll command to select the default partitioning scheme followed by a (Q)uit. If you wish to allocate only free space to FreeBSD, move to a partition marked "unused" and use the (C)reate command. [ OK ] [ Press enter or space ] Az üzenet fordítása: Üzenet A most következõ menüben össze kell állítanunk a merevlemezünk DOS-szerû ("fdiskes") partícióit. Amennyiben egyszerûen csak át akarjuk adni az összes lemezterületet a FreeBSD számára (ezzel felülírva mindent, ami a kiválasztott lemezeken található), akkor az alapértelmezett partíció-kiosztás kiválasztásához használjuk az (A)ll (Mind), majd utána a (Q)uit (Kilépés) parancsokat. Ha viszont csak az éppen szabad területet szánjuk a FreeBSD-nek, lépjünk egy "unused" ("üres") feliratú partícióra és használjuk a (C)reate (Létrehozás) parancsot. [ OK ] [ Nyomja le az Enter vagy a Szóköz billentyût ] Az utasításnak megfelelõen nyomjuk le az Enter billentyût. Ezután a rendszermag által az eszközök felkutatása során megtalált összes merevlemezes meghajtót láthatjuk. A egy két IDE-lemezzel rendelkezõ rendszert mutat be, amelyeknek nevei rendre ad0 és ad2.
A meghajtó kiválasztása az FDisk számára
Feltûnhet, hogy itt nem szerepel az ad1. Vajon miért maradt ki? Képzeljük el, mi történne, ha két IDE-csatolós merevlemezünk lenne: az egyik az elsõ IDE-vezérlõn, a másik pedig a második IDE-vezérlõn lenne master. Ha a &os; a megtalálásuk szerint ad0 és ad1 nevekkel számozná ezeket, attól még minden remekül mûködhetne. Ha azonban beszerelnénk egy harmadik lemezt, például egy slave eszközt kapcsolnánk az elsõ IDE-vezérlõre, akkor már ez lenne a ad1, és ennek megfelelõen a korábban ad1 megnevezésû meghajtó pedig az ad2. Mivel az állományrendszerek felkutatására általában az eszközneveket (mint amilyen a ad1s1a) használják, ezért ilyenkor azt tapasztalhatnánk, hogy bizonyos állományrendszerek helytelenül jelennek meg, ezért meg kell változtatnunk a &os; ezeket érintõ beállításait. A probléma megoldására a rendszermag beállítható úgy, hogy az IDE-lemezeket a kapcsolódásuk szerint azonosítsa, ne pedig a megtalálásuk sorrendje szerint. Ezzel a kialakítással a második IDE-vezérlõn található master lemez mindig az ad2 eszköz lesz, tehát még olyankor is, amikor egyáltalán nincs a rendszerünkben ad0 vagy ad1 eszköz. Ez a beállítás alapértelmezés a &os; rendszermagjában, és ez magyarázza, hogy az iménti ábra miért csak ad0 és ad2 eszközöket mutat. Tehát a képen szereplõ számítógép mind a két IDE-vezérlõjének master csatornáján található egy-egy IDE-lemez, a slave csatornákon pedig nincs egy sem. Itt válasszuk ki azt a lemezt, amelyre a &os;-t telepíteni kívánjuk, majd nyomjuk meg a &gui.ok; gombot. Erre az által bemutatott képernyõvel elindul az FDisk. Az FDisk képernyõje három részre osztható. Az elsõ részben, amely a képernyõ felsõ két sorát foglalja össze, láthatjuk az éppen kiválasztott lemez adatait: a &os; szerinti nevét, a paramétereit és az összméretét. A második részben láthatjuk a lemezen megtalálható slice-okat: hol kezdõdnek (Offset) és hol érnek véget (End); mekkorák (Size); a &os; milyen névvel hivatkozik rájuk (Name); milyen leírás (Description) és altípus (Subtype) tartozik hozzájuk. A példában két kicsi üres slice-ot láthatunk, ami a PC-k lemezkiosztására jellemzõ. Ezenkívül felfedezhetünk egy nagyobb méretû FAT típusú slice-ot is, amely az &ms-dos; / &windows; világban szinte minden bizonnyal a C: betûjelet viseli, valamint egy kiterjesztett slice-ot is, amely az &ms-dos; / &windows; számára további meghajtókat is tartalmazhat. A harmadik részben az FDisk mûködtetésére használható parancsok láthatóak.
Átlagos Fdisk partíciók szerkesztés elõtt
A most következõ teendõink attól függenek, hogy miként is akarjuk felosztani a lemezünket. Ha az egész lemezt a &os; használatára áldozzuk (és amikor majd megerõsítjük a sysinstall számára a továbblépést, a lemezen így minden más adat törlõdni fog), akkor nyomjuk le az A billentyût, amely megfelel a Use Entire Disk (Az egész lemez használata) menüpontnak. A létezõ slice-ok eltávolításra kerülnek és helyettük megjelenik egy unused (üres) jelzésû kis méretû terület (elvégre PC-rõl beszélünk), valamint egy nagyobb slice a &os; számára. Ha így jártunk el, akkor válasszuk ki nyilakkal a frissen létrejött &os; slice-ot és az S billentyû lenyomásával jelöljük be indíthatónak (bootable). A képernyõ ekkor a által mutatotthoz fog erõsen hasonlítani. A Flags (Beállítások) oszlopban láthatjuk az A jelzést, amelybõl kiderül, hogy az adott slice aktív, tehát róla tud indulni a rendszer. Ha a &os; számára egy meglevõ slice törlésével szeretnénk helyet csinálni, akkor ehhez válasszuk ki nyílbillentyûkkel a használni kivánt slice-ot és nyomjuk le a D billentyût. Ezután nyomjuk le a C billentyût is, amire felbukkan a létrehozandó slice méretét kérdezõ ablak. Adjuk meg a számunkra megfelelõ méretet a számunkra megfelelõ formában, majd zárjuk le az Enter lenyomásával. Az ablakban szereplõ alapértelmezett érték a létrehozható lehetõ legnagyobb méretû slice-ot adja meg, ami vagy a legnagyobb összefüggõ üres terület, vagy pedig az egész merevlemez összterülete lehet. Ha már korábban készítettünk elõ helyet a &os;-nek (például egy &partitionmagic; vagy egy hozzá hasonló alkalmazás segítségével), akkor csak elegendõ az új slice létrehozásához megnyomnunk a C billentyût. Ekkor szintén megkérdezésre kerül a létrehozandó slice mérete.
Particionálás az Fdisk <quote>Using Entire Disk</quote> funkciójával
Amikor befejeztük, nyomjuk le a Q billentyût. Ekkor a sysinstall elmenti a beállított értékeket, azonban a lemezre ekkor még nem kerülnek ki.
A rendszerválasztó telepítése Mindezek után lehetõségünk nyílik telepíteni egy rendszerválasztót (boot manager). Általában véve akkor van szükségünk a &os; rendszerválasztójának telepítésére, ha: Egynél több meghajtónk van, és közülük nem az elsõ meghajtóra telepítjük a &os;-t. A &os;-t ugyanazon a lemezen más operációs rendszerek mellé telepítjük, és szeretnénk választhatóvá tenni, hogy a számítógép indításakor a &os; vagy a többi operációs rendszer induljon-e el. Amennyiben a &os; lesz az egyetlen operációs rendszer a gépünkön és az elsõ merevlemezes meghajtóra telepítjük, akkor a Standard (Szabványos) rendszerválasztó tökéletesen megteszi. Ha viszont a &os; indításához egy másik rendszerválasztót szeretnénk használni, válasszuk a None (Nincs) opciót. Válasszunk, majd nyomjuk le az Enter billentyût!
A <application>sysinstall</application> rendszerválasztókat tartalmazó menüje
Az F1 billentyû lenyomásán keresztül elérhetõ súgóképernyõn olvashatunk az egy merevlemezen több operációs rendszer használatával kapcsolatos problémákról.
Slice-ok létrehozása egy másik meghajtón Ha egynél több meghajtónk van, a program a rendszerválasztó képernyõje után ismét visszatér a meghajtók kiválasztásához. Amennyiben a &os;-t egy másik meghajtóra is telepíteni szeretnénk, itt válasszuk ki azt és ismételjük meg vele az imént az FDisk programmal végzett felosztási folyamatot. Amikor a &os;-t nem az elsõ meghajtóra telepítjük, akkor a &os; rendszerválasztóját mind a két meghajtóra telepíteni kell.
Kilépés a meghajtóválasztó menübõl
A Tab billentyûvel tudunk váltani a legutoljára kiválasztott meghajtó, a &gui.ok; és a &gui.cancel; gombok között. Az &gui.ok; gombra álláshoz nyomjuk le egyszer a Tabot, majd a telepítés folytatásához nyomjuk le az Enter billentyût.
Partíciók létrehozása a <application>Disklabel</application> segítségével A következõ lépésként létre kell hoznunk partíciókat a frissen létrehozott slice-okban. Ne felejtsük el, hogy minden partíció rendelkezik egy a-tól h-ig terjedõ betûjellel, amelyek közül a b, c és d jelzésûeknek külön szerepe van, amire tekintettel kell lennünk. Bizonyos alkalmazások kedvelnek egyes partíciókiosztási sémákat, különösen az egynél több lemezen elhelyezkedõ partíciókat. Azonban az elsõ &os; telepítésünk során még nem annyira fontos koncentrálnunk a lemezünk hatékony felosztására. Sokkal inkább fontosabb, hogy elõször egyszerûen csak telepítsük a &os;-t és tanuljuk meg a használatát. Amikor már jobban ismerni fogjuk az operációs rendszert, a partíciók kiosztásának megváltoztatásához mindig újra tudjuk telepíteni a &os;-t. Ebben a sémában négy partíció szerepel — egy a lapozóállománynak és három az állományrendszereknek. Az elsõ lemez partícióinak kiosztása Partíció Állományrendszer Méret Leírás a / 1 GB Ez a rendszerindításhoz használt, más néven a gyökér állományrendszer (root filesystem). Minden további állományrendszer ehhez csatlakozik valahol. Ennek az állományrendszernek 1 GB méret elfogadható, mivel nem fogunk túlságosan sok adatot tárolni rajta, a &os; telepítõje is csak nagyjából 128 MB adatot fog ide tenni. Az így fennmaradó lemezterület felhasználható átmeneti adatok tárolására, illetve a / könyvtárban helyet ad a &os; késõbbi változatainak terjeszkedéséhez is. b - RAM mérete x 2-3 - + A rendszer lapozóállománya a b partíción tárolódik. Itt a megfelelõ méret megválasztása egyfajta mûvészet, azonban minden esetben hasznosnak bizonyulhat, ha tudjuk, hogy méretnek mindig érdemes a fizikai avagy központi memória (RAM) méretének két, esetleg háromszorosát választani. Legyen mindig legalább 64 MB-nyi méretû lapozóállományunk, és ha 32 MB RAM-nál kevesebb van a számítógépünkben, akkor is legalább 64 MB-ra állítsuk be. Ha egynél több lemezünk van, mindegyikre rakhatunk lapozóállományt, ezzel a &os; mindegyikõjüket fel tudja használni lapozásra, amivel pedig gyakorlatilag felgyorsítja a folyamatot. Ilyenkor számoljunk úgy, hogy elõször meghatározzuk a teljes lapozóállomány méretét (például 128 MB), majd ezt elosztjuk a rendelkezésünkre álló lemezek számával (például kettõ). Ebbõl kiszámítható az egyes lemezeken elhelyezendõ lapozóállomány mérete, ami most a példánk szerint 64 MB lesz. - + e /var 512 MB-tl 4096 MB-ig A /var könyvtár foglalja magában az állandó változó naplóállományokat, valamint a többi, adminisztrációhoz használt állományt. Ezek többsége a &os; mindennapos mûködése közben folyamatosan íródnak vagy olvasódnak. Ha ezeket az állományokat egy külön állományrendszerre rakjuk, akkor ezzel segítünk a &os;-nek optimalizálni az ilyen állományok elérését anélkül, hogy ez hatással lenne a többi, más hozzáférési gyakorisággal bíró állományra. f /usr A lemez többi része (legalább 8 GB) Az összes többi állomány többnyire a /usr könyvtárban és annak alkönyvtáraiban helyezkedik el.
Az imént megadott értékeket csak példaként adtuk meg és csak a tapasztalt felhasználók számára ajánljuk. A többi felhasználónak inkább a partíciók automatikus kiosztását javasoljuk a &os; partíciószerkesztõjében található Auto Defaults opció használatával. Ha a &os;-t egynél több lemezre telepítjük, akkor a korábban megadott többi slice-ban is létre kell hoznunk partíciókat. Ezt legegyszerûbben úgy tehetjük meg, ha minden lemezen létrehozunk két partíciót: egyet a lapozóállománynak, egyet pedig az állományrendszernek. Több lemez partícióinak kiosztása Partíció Állományrendszer Méret Leírás b - Lásd a leírást Ahogy már korábban is említettük, szét tudjuk osztani a lapozóállományt a lemezek között. Habár az a partíció szabad, a hagyományok mégis azt diktálják, hogy a lapozáshoz használt terület maradjon a b partíción. e /diskn A lemez többi része A lemez fennmaradó része egyetlen nagy partícióval fedhetõ le. Ez az e partíció helyett lehetne minden további nélkül az a partíció, azonban a hagyományok szerint az a partíciónak a rendszer gyökér állományrendszerét (/) kell tartalmaznia. Nekünk ugyan nem kellene ezt a megszokást követnünk, azonban a sysinstall viszont így tesz, ezért ezzel a választással csak magunkkal teszünk jót. Az állományrendszer bárhová csatlakoztatható — ebben a példában a lemezeket rendre a /diskn könyvtárakhoz csatoltuk, ahol az n az adott lemez sorszáma. De itt természetesen más rendszert is követhetünk.
A partíciók elrendezésének kigondolása után most már létre is hozathatjuk ezeket a sysinstall segítségével. Ekkor a következõ üzenetet fogjuk látni: Message Now, you need to create BSD partitions inside of the fdisk partition(s) just created. If you have a reasonable amount of disk space (1GMB or more) and don't have any special requirements, simply use the (A)uto command to allocate space automatically. If you have more specific needs or just don't care for the layout chosen by (A)uto, press F1 for more information on manual layout. [ OK ] [ Press enter or space ] Az üzenet fordítása: Üzenet Most létre kell hoznunk az fdiskkel nemrég elkészített partíciókban a BSD-s partíciókat. Ha van hozzá elegendõ helyünk (1G vagy több) és nincs semmilyen különleges elvárásunk, akkor egyszerûen csak osszuk fel automatikusan az (A)uto paranccsal. Amennyiben azonban ennél többre lenne szükségünk, vagy csak nincs szükségünk az (A)uto által felkínált sémára, az F1 lenyomására bõvebb információkat is kaphatunk a kézi kiosztás lehetõségeirõl. [ OK ] [ Nyomja le az Enter vagy a Szóköz billentyût ] Nyomjuk le a Enter billentyût a &os; partíciószerkesztõjének, avagy a Disklabel elindításához. A mutatja a Disklabel elsõ elindulásakor megjelenõ képet. A képernyõ három részre tagolható. A felsõ pár sorban a jelenleg használt lemez nevét láthatjuk, valamint azt a slice-ot, ami az általunk létrehozott partíciókat tartalmazza (itt a Disklabel a Partition name megnevezéssel hivatkozik a slice-ra). A képernyõn továbbá láthatjuk a slice-ban levõ szabad helyet is, vagyis azt a helyet, amely ugyan a slice-hoz tartozik, viszont még nem rendeltünk hozzá partíciót. A képernyõ közepén találhatóak az eddig már létrehozott partíciók, az általuk tartalmazott állományrendszerek, azok mérete és az állományrendszerek létrehozására vonatkozó különbözõ beállítások. A képernyõ alsó harmadában a Disklabel programban használható billentyûk felsorolása szerepel.
A <application>sysinstall</application> Disklabel partíciószerkesztõje
A Disklabel képes magától partíciókat készíteni a nekik megfelelõ alapértelmezett méretekkel. A partíciók automatikus méretét egy belsõ partícióméretezõ algoritmus számítja ki a lemez összmérete alapján. Próbáljuk most mi is ezt ki, és nyomjuk le az A billentyût. Ekkor a szerint illusztráltaknak megfelelõ képernyõt tapasztalhatunk. A használt lemez méretétõl függõen az alapértelmezett értékek megfelelõek lesznek vagy sem. Ez igazából nem számít, hiszen nem kell feltétlenül elfogadnunk az alapértelmezetten megállapított értékeket. Az alapértelmezett partícionálási sémában a /tmp könyvtár nem a / könyvtár része lesz, hanem saját partíciót kapott. Ezzel igyekszünk elkerülni, hogy a / partíció átmenetileg tárolt állományokkal teljen be.
A <application>sysinstall</application> Disklabel partíciószerkesztõje, alapértelmezett értékekkel
Ha nem az alapértelmezett partíciókat szeretnénk használni, és le akarjuk váltani ezeket a saját magunk által megadottakra, akkor a nyílbillentyûkkel válasszuk ki az elsõ partíciót és a törléséhez nyomjuk meg a D billentyût. Hasonlóan járjunk el az összes többi javasolt partíció törléséhez. Az elsõ (a, vagyis a / könyvtárként, azaz a gyökérként csatolt) partíció elkészítéséhez elõször gyõzõdjünk arról, hogy a felsõ sorban a megfelelõ slice van kiválasztva, majd nyomjuk meg a C billentyût. Ekkor az új partíció méretét kérdezõ párbeszédablak jelenik meg (lásd: ). Itt a méret a lemez blokkjainak számában adható meg, amit viszont M-mel lezárva megabyte-ban, G-vel gigabyte-ban vagy C-vel cilinderben is kifejezhetünk.
Szabad hely a gyökérpartíción
Az alapértelmezés szerint felkínált méret az egész slice-ot lefoglaló partíciót hoz létre. Amennyiben a korábbi példában tárgyalt partícióméreteket kívánjuk használni, akkor a Backspace billentyû használatával töröljük ki az így megadott értéket, és helyette gépeljük be, hogy 512M, ahogy ez a segítségével is látható. A bevitelt zárjuk a &gui.ok; gomb lenyomásával.
A gyökérpartíció méretének szerkesztése
Miután meghatároztuk a partíció méretét, a telepítõ megkérdezi, hogy a létrehozandó partícióban állományrendszer vagy lapozóállomány foglaljon-e helyet. Ennek a párbeszédablakját a mutatja. Mivel az elsõ partíciónk állományrendszert fog tartalmazni, ezért mindenképpen az FS paramétert válasszuk ki, majd nyomjuk meg az Enter billentyût.
A gyökérpartíció típusának kiválasztása
Végezetül, mivel egy állományrendszert hoztunk létre, meg kell mondanunk a Disklabelnek, hova csatlakoztassa. A hozzá tartozó párbeszédablak a n látható. A gyökér állományrendszer csatlakozási pontja a /, ezért itt csak annyit adjunk meg, hogy / és zárjuk az Enter billentyû lenyomásával.
A gyökér csatlakozási pontjának megadása
A képernyõn látható lista ezután az újonnan létrehozott partíciónak megfelelõen frissül. A többi partícióra ugyanígy meg kell ismételnünk ezt a mûveletsort. Arra azonban figyeljünk, hogy a lapozásra használt partíciót létrehozásánál a szerkesztõ nem fogja megkérdezni a csatlakozási pontot, hiszen az ilyen típusú partíciókat sosem csatlakoztatjuk. A /usr, vagyis az utolsó partíció készítése során a slice fennmaradó részének lefoglalásához már nyugodtan meghagyhatjuk a felajánlott értéket. A &os; partíciószerkesztõjének utolsó képernyõje a n hasonlóhoz, habár az általunk választott értékek minden bizonnyal eltérnek. A mûvelet befejezéséhez nyomjuk le a Q billentyût.
A Disklabel partíciószerkesztõ
A telepítendõ összetevõk kiválasztása A terjesztések típusának kiválasztása A telepítendõ terjesztések típusa nagyban függ attól, hogy a rendszerünket mire szándékozzuk majd használni és mennyi szabad hely áll rendelkezésünkre. Az elõre megadott beállítások a lehetõ legkisebb konfiguráció telepítésétõl egészen a komplett rendszer telepítéséig terjednek. A &unix; és/vagy &os; világában még az új felhasználók számára szinte tökéletesen megfelelõnek bizonyulhat az egyik ilyen elõkészített beállítás kiválasztása. A terjesztések kiválogatása pedig általában a tapasztaltabb felhasználók számára lehet hasznos. Az F1 billentyûvel többet is megtudhatunk a terjesztések különbözõ típusairól és bennük található összetevõkrõl. Miután befejeztük a súgó áttanulmányozását, nyomjuk le az Enter billentyût, és ezzel visszatérünk a terjesztések kiválasztását tartalmazó menübe. Ha grafikus felületet szeretnénk használni, akkor az X szerver beállítását az alapértelmezett munkakörnyezet beállítását a &os; telepítése után kell megtenni. Az X szerver beállításáról részletesebben a ban olvashatunk. Ha egy saját rendszermag építését is fontolgatjuk, akkor olyan terjesztést válasszuk, amiben a forráskód (kernel source) is megtalálható. A saját rendszermag építésének hátterérõl és mikéntjérõl lásd a et. Értelemszerûen a legsokoldalúbb rendszer az, amiben minden megtalálató. Így aztán, ha a lemezünk is megengedi, a nyilak és az Enter használatával válasszuk a All (Minden) opciót, ahogy azt az is mutatja. Ha viszont úgy érezzük, hogy ehhez nem eléggé nagy a lemezünk, akkor válasszuk az igényeinkhez jobban illeszkedõ típust. Sokat azonban ne üljünk a tökéletes megoldás kiötlésén, hiszen ezek a terjesztések még a telepítés befejezése után is hozzáadhatóak a rendszerünkhöz.
A terjesztések kiválasztása
A Portgyûjtemény telepítése Miután kiválasztottuk a nekünk megfelelõ terjesztést, a telepítõprogram felajánlja a &os; Portgyûjteményének (Ports Collection) telepítésének lehetõségét. A portok gyûjteménye a szoftverek telepítésének egyszerû és kényelmes módja. A Portgyûjtemény önmaga nem tartalmazza a szoftverek lefordításához szükséges forráskódot, hanem helyette csupán azokat az állományokat, amelyek a különbözõ külsõs programok letöltéséhez, fordításához és telepítéséhez kellenek. A ben megtalálhatjuk, miként is kell használni ezt a gyûjteményt. A telepítõprogram nem fogja ellenõrizni a kibontásához szükséges helyet, ezért csak abban az esetben válasszuk ezt a lehetõséget, ha mindenképpen elfér a merevlemezünkön. A &os; jelenlegi, &rel.current; változatában a Portgyûjtemény nagyjából &ports.size; helyet foglal el a lemezen. A &os; frissebb verzióiban nyugodtan feltételezhetünk ennél valamivel nagyobb értéket is. User Confirmation Requested Would you like to install the FreeBSD ports collection? This will give you ready access to over &os.numports; ported software packages, at a cost of around &ports.size; of disk space when "clean" and possibly much more than that if a lot of the distribution tarballs are loaded (unless you have the extra CDs from a FreeBSD CD/DVD distribution available and can mount it on /cdrom, in which case this is far less of a problem). The Ports Collection is a very valuable resource and well worth having on your /usr partition, so it is advisable to say Yes to this option. For more information on the Ports Collection & the latest ports, visit: http://www.FreeBSD.org/ports [ Yes ] No Az üzenet fordítása: Felhasználói megerõsítés szükséges Szeretné telepíteni a FreeBSD portjainak gyûjteményét? Ezen keresztül közel &os.numports; portolt szoftvercsomaghoz tudunk könnyedén hozzáférni, amelyek "tiszta" állapotukban nagyjából &ports.size; lemezterületünkbe kerülnek, ami a késõbbiekben valószínûleg majd növekedni fog, ahogy letöltjük a különbözõ szoftverekhez tartozó állományokat (hacsak nincs meg a FreeBSD valamelyik CD- vagy DVD alapú terjesztésének az összes lemeze, amelyeket a /cdrom könyvtárba csatlakoztatva el tudjuk ezeket érni, mert ekkor kevesebb gondunk lesz vele). A Portgyûjtemény egy nagyon értékes erõforrás, amelynek megéri helyet szentelni a /usr partíciónkon, ezért javasoljuk, hogy válassza az "Igen" opciót. A Portgyûjteményrõl és annak legújabb portjairól a http://www.FreeBSD.org/ports oldalon olvashat részletesebben. [ Igen ] Nem A Portgyûjtemény telepítéséhez a &gui.yes; gombot, ennek kihagyásához pedig a &gui.no; gombot válasszuk ki a nyilakkal, majd az Enter lenyomásával mehetünk tovább. Ekkor a kiválasztott terjesztések menüje fog újra megjelenni.
A terjesztések telepítésének megerõsítése
Ha elégedettek vagyunk a beállításokkal, válasszuk ki a nyilakkal az Exit menüpontot, gyõzõdjünk meg róla, hogy a &gui.ok; gombon állunk, majd nyomjuk le az Enter billentyût a folytatáshoz.
A telepítés eszközének kiválasztása Ha CD-rõl vagy DVD-rõl telepítünk, akkor a következõ képernyõn a nyílbillentyûkkel válasszuk ki a Install from a CDROM or DVD (Telepítés CD-rõl vagy DVD-rõl) menüpontot. Ügyeljünk a &gui.ok; gomb kiválasztására is, majd a telepítés megkezdéséhez nyomjuk meg az Enter billenyût. A telepítés másfajta módszereinek alkalmazásához válasszuk ki a menüpontok közül a nekünk megfelelõt és kövessük a megjelenõ utasításokat. Az F1 billentyû lenyomására megjelenik az adott telepítõeszközhöz tartozó súgó. Innen az Enter lenyomása után térhetünk vissza a menühöz.
A telepítési eszköz kiválasztása
Telepítés FTP szerverrõl telepítés hálózat FTP Három FTP-s telepítési mód közül választhatunk: aktív, passzív vagy HTTP proxyn keresztül. Aktív FTP: Install from an FTP server (Telepítés FTP szerverrõl) Ezzel a beállítással az összes FTP-n keresztüli átvitel aktív módban történik. Ez tûzfalak esetén nem mûködik, de gyakran alkalmazható olyan régebbi FTP szerverek esetén, amelyek nem ismerik az passzív adatátvitelt. Ha (az alapértelmezett) passzív módban megakadna a kapcsolat, próbáljunk meg helyette az aktívat. Passzív FTP: Install from an FTP server through a firewall (Telepítés tûzfalon keresztül FTP szerverrõl) FTP passzív mód Ezzel a beállítással a sysinstall programot az FTP mûvelet végrehajtásakor a passzív mód használatára utasítjuk. Így át tudunk menni olyan tûzfalakon is, amelyek nem engedik a véletlenszerû TCP portokon érkezõ kapcsolatokat. FTP HTTP proxyn keresztül: Install from an FTP server through a http proxy (Telepítés HTTP proxyn keresztül FTP szerverrõl) FTP HTTP proxyn keresztül Ezzel a beállítással megmondhatjuk a sysinstall programnak, hogy (egy böngészõhöz hasonlóan) a HTTP protokollon keresztül használja az FTP mûveletek elvégzéséhez használt proxyt. Ennek a proxynak lesz a feladata az átadott kérések lefordítása és elküldése az FTP szervernek. Ennek köszönhetõen át tudunk menni olyan tûzfalakon is, amelyek egyáltalán nem engednek semmilyen FTP mûveletet, azonban tartozik hozzájuk egy HTTP proxy. Ilyenkor az FTP szerver beállításai mellett meg kell adnunk ezt a HTTP proxyt is. Az FTP szervert proxyn keresztül általában úgy érjük el, hogy a felhasználói név részeként egy @ jellel elválasztva megadjuk a ténylegesen elérni kívánt szerver nevét. A proxy szerver ezután helyettesíti a valódi szervert. Például tegyük fel, hogy a ftp.FreeBSD.org szerverrõl akarunk telepíteni az 1234 porton várakozó ize.minta.com proxy használatával. Ehhez lépjünk be a beállításokat tartalmazó menübe, állítsuk az FTP kapcsolathoz használt felhasználói nevet az ftp@ftp.FreeBSD.org értékre, majd jelszónak adjuk meg az e-mail címünket. Telepítési eszközként adjuk meg az FTP-t (vagy a passzív FTP-t, amennyiben a proxy ismeri) és a ftp://ize.minta.com:1234/pub/FreeBSD címet. Mivel az ftp.FreeBSD.org címrõl származó /pub/FreeBSD könyvtár a ize.minta.com szerveren keresztül érhetõ el számunkra, ezért lényegében arról a géprõl fogunk telepíteni (amely pedig a telepítõ kéréseire elhozza a ftp.FreeBSD.org szervertõl az állományokat).
A telepítés véglegesítése Ezután ha óhajtjuk, megkezdhetjük a telepítést. Ez egyben az utolsó lehetõségünk a telepítés megszakítására és merevlemezünket érintõ változtatások érvénytelenítésére. User Confirmation Requested Last Chance! Are you SURE you want to continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! [ Yes ] No Az üzenet fordítása: Felhasználói megerõsítés szükséges Utolsó esély: BIZTOSAN folytatni kívánja a telepítést? Ha olyan lemezre szeretne telepíteni, amelyen fontos adatok találhatóak, HATÁROZOTTAN JAVASOLJUK, hogy a továbblépés elõtt KÉSZÍTSEN RÓLUK MEGBÍZHATÓ BIZTONSÁGI MÁSOLATOT! Nem vállalunk semmilyen felelõsséget az elvesztett adatokért! [ Igen ] Nem A továbblépéshez válasszuk a &gui.yes; gombot és nyomjuk meg az Enter billentyût. A telepítés idõtartama a kiválasztott terjesztéstõl, a telepítésre használt eszköztõl és számítógépünk sebességétõl függ. A folyamat elõrehaladásáról üzenetek sorozata tájékoztat minket. A telepítés befejezése után a következõ üzenet jelenik meg: Message Congratulations! You now have FreeBSD installed on your system. We will now move on to the final configuration questions. For any option you do not wish to configure, simply select No. If you wish to re-enter this utility after the system is up, you may do so by typing: /usr/sbin/sysinstall. [ OK ] [ Press enter or space ] A szöveg fordítása: Üzenet Gratulálunk, sikeresen telepítette a FreeBSD rendszert a számítógépére! Most rátérünk az utolsó néhány kérdésre. A "Nem" választásával egyszerûen átugorhatjuk mindazt, amit nem szeretnénk beállítani. Ezt a segédprogramot a rendszer újbóli elindítása után a "/usr/sbin/sysinstall" parancs begépelésével tudjuk elérni. [ OK ] [ Nyomja le az Enter vagy a Szóköz billentyût ] Az Enter billentyû lenyomásával megkezdhetjük a telepítés utáni beállításokat. A &gui.no; gomb kiválasztásával és az Enter lenyomásával megszakíthatjuk a telepítést, így a rendszerünkön semmilyen változtatás nem történik. Ilyenkor a következõ üzenet jelenik meg: Message Installation complete with some errors. You may wish to scroll through the debugging messages on VTY1 with the scroll-lock feature. You can also choose "No" at the next prompt and go back into the installation menus to retry whichever operations have failed. [ OK ] Az üzenet fordítása: Üzenet A telepítés során hiba történt. A Scroll Lock használatával érdemes átnézni a VTY1 terminál megjelenõ üzeneteket. A következõ ablakban a "Nem" választásával vissza tudunk menni a telepítõmenühöz és megpróbálkozhatunk ismét a sikertelen mûveletek végrehajtásával. [ OK ] Ez az üzenet azért jelent meg, mert semmit sem sikerült telepíteni. Innen az Enter megnyomásával térhetünk vissza a fõmenübe, majd onnan tudunk kilépni a telepítõbõl. A telepítés után A sikeres telepítést különféle beállítások követik. Közülük az új &os; rendszer indítása elõtt bármelyik megismételhetõ a beállítások opcióit tartalmazó menü újbóli használatával, vagy pedig a telepítés után a sysinstall parancs kiadásával, majd a Configure (Beállítások) menüpont kiválasztásával. A hálózati eszközök beállítása A következõ képernyõ már nem jelenik meg, ha az FTP szerveren keresztüli telepítéshez korábban már beállítottuk a PPP kapcsolatot. Ez a korábbiakban említettek szerint állítható be. Ha többet szeretnénk megtudni a helyi hálózatokról (LAN), vagy a &os;-t átjáróként, illetve útválasztóként kívánjuk beállítani, olvassuk el az Egyéb haladó hálózati témák címû fejezetet. User Confirmation Requested Would you like to configure any Ethernet or PPP network devices? [ Yes ] No Fordítása: Felhasználói megerõsítés szükséges Szeretnénk beállítani valamilyen Ethernet- vagy PPP hálózati eszközt? [ Igen ] Nem A hálózati eszközeink beállításához válasszuk a &gui.yes; gombot, majd nyomjuk meg az Enter billentyût. Ellenkezõ esetben a &gui.no; gombbal mehetünk tovább.
Az Ethernet-eszköz kiválasztása
A beállítandó csatoló kiválasztásához használjuk a nyílbillentyûket és utána nyomjuk meg az Enter billentyût. User Confirmation Requested Do you want to try IPv6 configuration of the interface? Yes [ No ] Fordítás: Felhasználói megerõsítés szükséges Megpróbálkozik az IPv6 beállításával a csatolón? Igen [ Nem ] A példánkban szereplõ helyi hálózatban az aktuális internetes protokoll (IPv4) egyelõre megfelelõ, ezért válasszuk a &gui.no; gombot és nyomjuk meg az Enter billentyût. Amennyiben RA-szerveren keresztül egy már létezõ IPv6 hálózathoz csatlakozunk, akkor válasszuk a &gui.yes; gombot és nyomjuk meg az Enter billentyût. Ezt követõen az RA-szerverek felderítése kezdõdik meg, ami néhány másodpercig eltarthat. User Confirmation Requested Do you want to try DHCP configuration of the interface? Yes [ No ] Az üzenet fordítása: Felhasználói megerõsítés szükséges Megpróbálkozik a DHCP használatával a csatolón? Igen [ Nem ] Ha nincs szükségünk a DHCP (Dynamic Host Configuration Protocol, azaz a Dinamikus állomáskonfigurációs protokoll) használatára, akkor a &gui.no; gomb kiválasztásával majd az Enter lenyomásával továbbléphetünk. A &gui.yes; gomb kiválasztására elindul a dhclient nevû program, és amennyiben sikerrel jár, magától kitölti a hálózati beállításokra vonatkozó adatokat. Ennek részleteit a ben találhatjuk meg. Az alábbi hálózati beállító képernyõ mutatja a helyi hálózat átjárójaként használni kívánt Ethernet-eszköz konfigurációját.
Az ed0 hálózati beállítása
A Tab billentyûvel tudunk navigálni az adatlap mezõi között és kitölteni ezeket a megfelelõ információkkal: Host (Számítógépnév) A számítógépünk teljes neve, amely a példában most k6-2.example.com. Domain (Tartomány) Annak a tartománynak a neve, amelyben a számítógépünk a található. Ez itt konkrétan a example.com. IPv4 Gateway (IPv4-átjáró) A helyben nem elérhetõ célok megközelítésére használt gép IP-címe. Ezt a mezõt mindenképpen töltsük ki akkor, ha a számítógépünk valamilyen hálózatba van kötve. Azonban hagyjuk üresen, ha a számítógép a hálózat átjárója az internet felé. Az IPv4 átjárót más néven default gateway-nek (alapértelmezett átjárónak) vagy default route-nak (alapértelmezett útvonalnak) is nevezik. Name server (Névszerver) A helyi DNS (névfeloldó) szerverünk IP-címe. Ha nem található ilyen a helyi hálózatunkon, akkor az internet-szolgáltató DNS szerverének címét (a példában ez a 208.163.10.2) adjuk meg. IPv4 address (IPv4-cím) A csatoló IP-címe, amely az ábrán a 192.168.0.1. Netmask (Hálózati maszk) A helyi hálózatban használt címtartomány a 192.168.0.0 - 192.168.0.255, amihez a 255.255.255.0 hálózati maszk tartozik. Extra options to ifconfig (Az ifconfig további beállításai) Az ifconfig parancs adott csatolóra vonatkozó egyéb beállításai. Jelen esetünkben itt semmi sem szerepel. Miután végeztünk, a Tab billentyû lenyomásával válasszuk ki a &gui.ok; gombot és nyomjuk le az Enter billentyût. User Confirmation Requested Would you like to bring the ed0 interface up right now? [ Yes ] No A fordítás: Felhasználói megerõsítés szükséges Aktiválja most az ed0 csatolót? [ Igen ] Nem A &gui.yes; gomb kiválasztásával, majd az Enter lenyomásával csatlakoztatjuk a számítógépet a hálózathoz, ami ezután használhatóvá válik. Ez azonban a telepítés számára nem jelent túlságosan sokat, hiszen ettõl függetlenül a számítógépet egyébként is újra kell majd indítanunk.
Az átjáró beállítása User Confirmation Requested Do you want this machine to function as a network gateway? [ Yes ] No A fordítás: Felhasználói megerõsítés szükséges Ezt a számítógépet hálózati átjáróként is használni akarja? [ Igen ] Nem Ha a számítógépet a helyi hálózat átjárójaként használni akarjuk gépek közti csomagok továbbítására, akkor válasszuk a &gui.yes; gombot és nyomjuk meg hozzá az Enter billentyût. Ha viszont ez a gép csupán a hálózat egy tagja, akkor válasszuk a &gui.no; gombot és a folytatáshoz nyomjuk meg az Enter billentyût. A hálózati szolgáltatások beállítása User Confirmation Requested Do you want to configure inetd and the network services that it provides? Yes [ No ] Fordítás: Felhasználói megerõsítés szükséges Beállítja az inetd démont és az általa felkínált hálózati szolgáltatásokat? Igen [ Nem ] Ha itt a &gui.no; gombot választjuk, akkor ezzel kikapcsoljuk a különbözõ szolgáltatásokat, például a telnetd démont. Ez azt jelenti, hogy a távoli felhasználók nem lesznek képesek a telnet program használatával belépni erre a számítógépre. A helyi felhasználók viszont továbbra is képesek lesznek távoli számítógépeket elérni a telnet segítségével. Az /etc/inetd.conf átírásával azonban ezek a szolgáltatások késõbb természetesen engedélyezhetõek. A foglalkozik a téma részleteivel. A &gui.yes; gomb választásával már a telepítés során beállíthatjuk a szolgáltatásokat. Ekkor egy további párbeszédablak is felbukkan: User Confirmation Requested The Internet Super Server (inetd) allows a number of simple Internet services to be enabled, including finger, ftp and telnetd. Enabling these services may increase risk of security problems by increasing the exposure of your system. With this in mind, do you wish to enable inetd? [ Yes ] No Fordítása: Felhasználói megerõsítés szükséges A fõ internetes kiszolgáló (az inetd) számos egyszerû internetes szolgáltatás, többek közt a finger, ftp és telnet elérését teszi lehetõvé. Ezen szolgáltatások engedélyezése azonban a felmerülõ biztonsági problémák kockázatát, mivel ezzel rendszerünket jobban kitesszük támadásoknak. Mindezek tudatában használni kívánja az inetd démont? [ Igen ] Nem A folytatáshoz válasszuk a &gui.yes; gombot. User Confirmation Requested inetd(8) relies on its configuration file, /etc/inetd.conf, to determine which of its Internet services will be available. The default FreeBSD inetd.conf(5) leaves all services disabled by default, so they must be specifically enabled in the configuration file before they will function, even once inetd(8) is enabled. Note that services for IPv6 must be separately enabled from IPv4 services. Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to use the current settings. [ Yes ] No Fordítás: Felhasználói megerõsítés szükséges Az inetd(8) démonnak az elérhetõ internetes szolgáltatások megállapításához szüksége van a beállításait tartalmazó /etc/inetd.conf állományra. A FreeBSD-hez tartozó inetd.conf(5) állomány alapértelmezés szerint az összes szolgáltatást letiltja, ezért a mûködéséhez minden egyes szolgáltatást külön kell engedélyezni az említett állományban, még abban az esetben is, ha az inetd(8) démont korábban már engedélyeztük. Az IPv6 szolgáltatások az IPv4 szolgáltatásoktól külön engedélyezendõek. Az [ Igen ] választásával behívjuk az /etc/inetd.conf szerkesztését, míg a [ Nem ] választásával pedig az imént felvázolt beállításokat fogadjuk el. [ Igen ] Nem A &gui.yes; gomb kiválasztásával lehetõségünk nyílik szolgáltatásokat engedélyezni a sorok elején található # jel törlésével.
Az <filename>inetd.conf</filename> módosítása
Miután felvettük az összes használni kívánt szolgáltatást, az Esc billentyû lenyomásával elõhozhatjuk azt a menüt, ahol elmenthetjük a módosításainkat és kiléphetünk.
Az SSH-n keresztüli bejelentkezés engedélyezése SSH sshd User Confirmation Requested Would you like to enable SSH login? Yes [ No ] Fordítás: Felhasználói megerõsítés szükséges Engedélyezi az SSH-n keresztüli bejelentkezést? Igen [ Nem ] A &gui.yes; gomb kiválasztása engedélyezi az OpenSSH-hoz tartozó &man.sshd.8; démont, aminek segítségével a számítógépünkre biztonságosan be tudunk jelentkezni távolról. Az OpenSSH részleteirõl lásd a t. Anonim FTP FTP anonim User Confirmation Requested Do you want to have anonymous FTP access to this machine? Yes [ No ] Fordítás: Felhasználói megerõsítés szükséges Hozzáférhetõ legyen ez a számítógép anonim FTP használatán keresztül? Igen [ Nem ] Az anonim FTP tiltása Az alapértelmezett &gui.no; gomb kiválasztásával és az Enter billentyû lenyomásával a jelszóval védett FTP hozzáféréssel rendelkezõ felhasználók továbbra is elérhetik a számítógépünket. Az anonim FTP engedélyezése Ha ezt választjuk, akkor anonim FTP kapcsolaton keresztül bárki hozzáférhet a számítógépünkhöz. Ebben az esetben azonban alaposan meg kell fontolnunk néhány biztonsági következményt. A beállítással járó kockázatokról az ben olvashatunk többet. Az anonim FTP bekapcsolásához a nyílbillentyûkkel válasszuk ki a &gui.yes; feliratú gombot és nyomjuk meg az Enter billentyût. Ekkor egy további párbeszédablak is megjelenik: User Confirmation Requested Anonymous FTP permits un-authenticated users to connect to the system FTP server, if FTP service is enabled. Anonymous users are restricted to a specific subset of the file system, and the default configuration provides a drop-box incoming directory to which uploads are permitted. You must separately enable both inetd(8), and enable ftpd(8) in inetd.conf(5) for FTP services to be available. If you did not do so earlier, you will have the opportunity to enable inetd(8) again later. If you want the server to be read-only you should leave the upload directory option empty and add the -r command-line option to ftpd(8) in inetd.conf(5) Do you wish to continue configuring anonymous FTP? [ Yes ] No Az üzenet fordítása: Felhasználói megerõsítés szükséges Az anonim FTP használatával a rendszer FTP szolgáltatásához hitelesítetlen felhasználók is hozzáférhetnek, amennyiben az aktív. A névtelen felhasználók az állományrendszernek csak egy részét érhetik el, valamint az alapbeállítások szerint a feltöltést egy külön erre a célra fenntartott könyvtárba végezhetik el. Az FTP szolgáltatás használatát külön engedélyeznünk kell az inetd(8) démon részérõl és az inetd.conf(5) állományban található ftpd(8) démon aktiválásával. Ha eddig még nem tettük volna meg, akkor az inetd(8) használatát késõbb még újra engedélyezhetjük. Ha csak letöltést kívánunk engedni, akkor hagyjuk a feltöltési könyvtárra vonatkozó paramétert üresen és az inetd.conf(5) állományban az ftpd(8) parancssorához adjuk hozzá az -r kapcsolót. Folytatja az anonim FTP beállítását? [ Igen ] Nem Az üzenet értesít minket arról, hogy az anonim FTP kapcsolatok engedélyezéséhez az FTP szolgáltatást az /etc/inetd.conf állományban is be kell majd kapcsolni, lásd . Válasszuk a &gui.yes; gombot és a folytatáshoz nyomjuk meg az Enter billentyût. Ekkor a következõ képernyõ jön elõ:
Az anonim FTP alapbeállításai
A beállítások kitöltése során a Tab billentyûvel mozoghatunk az adatmezõk között: UID (felhasználói azonosító) A névtelen FTP felhasználókhoz társított felhasználói azonosító. A feltöltött állomány tulajdonosa ez az azonosító lesz. Group (csoport) A névtelen FTP felhasználók csoportja. Comment (megjegyzés) Ez a szöveg szerepel a felhasználónál az /etc/passwd állományban. FTP Root Directory (az FTP gyökere) Itt találhatóak az anonim FTP-n keresztül elérhetõ állományok. Upload Subdirectory (feltöltési könyvtár) A névtelen FTP felhasználók által feltöltött állományok ide kerülnek. Az FTP gyökere alapból a /var könyvtár lesz. Ha a becsült FTP-forgalom lebonyolításához itt nem rendelkezünk elegendõ hellyel, akkor az /usr könyvtárban található /usr/ftp alkönyvtár is beállítható az FTP gyökerének. Ha elfogadhatónak találjuk az értékeket, nyomjuk le az Enter billentyût a folytatáshoz. User Confirmation Requested Create a welcome message file for anonymous FTP users? [ Yes ] No Fordítás: Felhasználói megerõsítés szükséges Létre kíván hozni egy köszöntõ üzenetet tartalmazó állományt az anonim FTP felhasználók számára? [ Igen ] Nem A &gui.yes; választásával és az Enter megnyomásával az üzenet szerkesztéséhez egy szövegszerkesztõ fog elindulni.
Az FTP köszöntõ üzenetének szerkesztése
Ez az ee szövegszerkesztõ. Az üzenet átírásához használjuk a megadott utasításokat, de akár késõbb is módosíthatjuk ezt a kedvenc szövegszerkesztõnkkel. Ehhez a módosítandó állomány neve és helye a szerkesztõ képernyõjének alján olvasható. A kilépéshez az Esc lenyomására felbukkanó menüben alapból az a) leave editor (kilépés a szerkesztõbõl) menüpont érhetõ el, ezért itt az Enter lenyomásával léphetünk tovább. Az Enter ismételt lenyomásával elmenthetjük a módosításainkat.
A hálózati állományrendszer beállítása A hálózati állományrendszer (Network File System, NFS) állományok közzétételét teszi lehetõvé hálózaton keresztül. Használata során egy számítógép beállítható szervernek, kliensnek vagy akár mindkettõnek. Ezzel kapcsolatban a ajánlott elolvasásra. Az NFS szerver User Confirmation Requested Do you want to configure this machine as an NFS server? Yes [ No ] A fordítása: Felhasználói megerõsítés szükséges Be akarja állítani NFS szervernek ezt a számítógépet? Igen [ Nem ] Ha nincs szükségünk a hálózati állományrendszer szerver részére, akkor válasszuk a &gui.no; gombot és nyomjuk le az Enter billentyût. Amennyiben a &gui.yes; gombot választjuk, egy üzenet fogja közölni velünk, hogy létre kell hoznunk az exports állományt. Message Operating as an NFS server means that you must first configure an /etc/exports file to indicate which hosts are allowed certain kinds of access to your local filesystems. Press [Enter] now to invoke an editor on /etc/exports [ OK ] Az üzenet fordítása: Üzenet Az NFS szerver mûködtetéséhez elõször az /etc/exports állomány összeállításán keresztül meg kell adnunk, hogy milyen gépek milyen típusú hozzáféréssel rendelkezzenek a helyi állományrendszereinken. Az [Enter] lenyomására megkezdõdik az /etc/exports állomány szerkesztése. [ OK ] Az Enter billentyû lenyomásával továbbléphetünk. Ekkor az exports állomány létrehozására és szerkesztésére egy szövegszerkesztõ indul el.
Az <filename>exports</filename> szerkesztése
A exportálni kívánt állományrendszerek felsorolásához használjuk képernyõn a megadott utasításokat, vagy tegyük meg ezt késõbb az általunk választott szövegszerkesztõ segítségével. Ilyenkor ne felejtsük el megjegyezni az állomány képernyõ alján látható nevét és helyét. Amikor végeztünk, az Esc billentyûvel felhozható menüben alapból az a) leave editor (kilépés a szövegszerkesztõbõl) menüpont aktív, ezért itt a folytatáshoz egyszerûen nyomjuk le az Enter billentyût.
Az NFS kliens Az NFS kliens beállításával NFS szerverekhez tudunk hozzáférni. User Confirmation Requested Do you want to configure this machine as an NFS client? Yes [ No ] Fordítás: Felhasználói megerõsítés szükséges Beállítja NFS kliensnek ezt a számítógépet? Igen [ Nem ] A nyílbillentyûkkel igényeinknek megfelelõen válasszuk a &gui.yes; vagy &gui.no; gombokat és utána nyomjuk meg az Enter billentyût.
A rendszerkonzol beállításai Számos beállítás kapcsolódik a rendszerben található konzolok testreszabásához. User Confirmation Requested Would you like to customize your system console settings? [ Yes ] No Fordítás: Felhasználói megerõsítés szükséges Testreszabja a rendszerkonzol beállításait? [ Igen ] Nem A beállítások megtekintéséhez és megváltoztatásához válasszuk a &gui.yes; gombot és nyomjuk le az Enter billentyût.
A rendszerkonzol beállításai
A képernyõkímélõ beállítása egy gyakori opció. A nyilak használatával álljunk a Saver menüpontra, majd nyomjuk le az Enter billentyût.
A képernyõkímélõ beállításai
A nyilakkal válasszuk ki a használni kívánt képernyõkímélõt és nyomjuk meg hozzá az Enter billentyût. Ekkor a rendszerkonzol beállításait tartalmazó menü jelenik meg ismét. Az aktivizálódás ideje alapbeállítás szerint 300 másodperc. Ennek megváltoztatásához válasszuk ismét a Saver menüpontot. A képernyõkímélõ beállításait tartalmazó menüben a nyílbillentyûkkel válasszuk a Timeout (Idõkorlát) menüpontot és nyomjuk meg az Enter billentyût. Ekkor egy párbeszédablak jelenik meg:
A képernyõkímélõhöz tartozó idõkorlát beállítása
Miután megváltoztattuk az értéket, a rendszerkonzol beállításához a &gui.ok; gomb kiválasztásával, majd az Enter billentyû lenyomásával térhetünk vissza.
Kilépés a rendszerkonzol beállító menüjébõl
A Exit (Kilépés) választásával és az Enter lenyomásával folytathatjuk tovább a telepítés utólagos beállításait.
Az idõzóna beállítása Ha kiválasztjuk számítógépünk számára a megfelelõ idõzónát, akkor lehetõvé tesszük, hogy magától elvégezze a helyi idõhöz kapcsolódó összes szükséges korrekciót és helyesen kezelje az idõzónákhoz kapcsolódó többi funkciót. A példában az Egyesült Államok keleti idõzónájában elhelyezkedõ számítógépet láthatunk. A mi beállításaink természetesen a saját földrajzi helyzetünktõl függenek. User Confirmation Requested Would you like to set this machine's time zone now? [ Yes ] No Fordítás: Felhasználói megerõsítés szükséges Beállítja most a számítógép idõzónáját? [ Igen ] Nem A &gui.yes; gomb és az Enter billentyû segítségével kiválaszthatjuk az idõzóna beállítását. User Confirmation Requested Is this machine's CMOS clock set to UTC? If it is set to local time or you don't know, please choose NO here! Yes [ No ] Fordítás: Felhasználói megerõsítés szükséges A számítógép órája az egységes világidõhöz (UTC) van beállítva? Ha a helyi idõhöz vagy nem tudjuk, akkor itt válasszuk a NEM gombot! Igen [ Nem ] A számítógépünk órájának beállításának megfelelõen válasszuk a &gui.yes; vagy &gui.no; gombot, és nyomjuk meg az Enter billentyût.
A térség kiválasztása
A nyilakkal kiválasztható a megfelelõ térség, amit aztán az Enter billentyûvel tudunk lezárni.
Az ország kiválasztása
A megfelelõ ország a nyílbillentyûkkel, valamint az Enter billentyûvel választható ki.
Az idõzóna kiválasztása
A nekünk megfelelõ idõzóna a nyilakkal választható meg, amit ezután az Enter billentyûvel tudunk jóváhagyni. Confirmation Does the abbreviation 'EDT' look reasonable? [ Yes ] No Az üzenet fordítása: Megerõsítés Ezek szerint az 'EDT' elfogadható? [ Igen ] Nem Erõsítsük meg, hogy az idõzóna helyes-e. Ha rendbenlevõnek látszik, nyomjuk meg az Enter billentyût a folytatáshoz.
Linux binárisok használata Ez a rész csak a &os; 7.X telepítésére vonatkozik, &os; 8.X esetén ez a képernyõ nem jelenik meg. User Confirmation Requested Would you like to enable Linux binary compatibility? [ Yes ] No A fordítás: Felhasználói megerõsítés szükséges Engedélyezi a Linux binárisok futtatását? [ Igen ] Nem A &gui.yes; gomb kiválasztásával és az Enter lenyomásával megengedjük, hogy a Linuxra készült szoftvereket futtassunk &os;-n. A telepítõ ennek biztosításához még további csomagokat is fel fog rakni. Ha FTP-n keresztül telepítünk, akkor a számítógépnek csatlakoznia kell az internetre. Ilyenkor elõfordulhat, hogy az FTP szerveren nem találhatóak meg a &linux; kompatibilitással kapcsolatos csomagok. Ezeket azonban késõbb is telepíthetjük. Az egér beállításai Ezen beállítás használatával egy háromgombos egérrel lehetõségünk adódik a konzol és a felhasználói programok között kivágni és bemásolni szövegeket. Kétgombos egér használata esetén nézzük meg a &man.moused.8; man oldalán, miként tudjuk emulálni a háromgombos mûködést. A következõ példa egy nem USB-s (tehát PS/2-es vagy soros portra csatlakozó) egér beállítását illusztrálja: User Confirmation Requested Does this system have a PS/2, serial, or bus mouse? [ Yes ] No Fordítás: Felhasználói megerõsítés szükséges Csatlakozik a rendszeréhez PS/2-es, soros vagy buszos egér? [ Igen ] Nem A PS/2, soros vagy buszos egér használatához válasszuk a &gui.yes; gombot, illetve az USB-s egérhez pedig a &gui.no; gombot, majd nyomjuk meg az Enter billentyût.
Az egér által használt protokoll típusának beállítása
A nyílbillentyûk használatával keressük ki a Type (Típus) menüpontot és nyomjuk le az Enter billentyût.
Az egér protokolljának beállítása
A példában használt egér típusa PS/2, ezért itt a alapértelmezés szerint felkínált Auto megfelelõ. A protokoll megváltoztatásához a nyilakkal válasszunk ki egy másikat. Ezután gondoskodjunk róla, hogy az &gui.ok; gombot választottuk ki és a kilépéshez nyomjuk meg az Enter billentyût.
Az egér portjának beállítása
A nyílbillentyûkkel válasszuk ki a Port menüpontot és nyomjuk meg az Enter billentyût.
Az egér portjának kiválasztása
Mivel a példában szereplõ rendszerhez egy PS/2 egér csatlakozik, ezért az alapértelmezett PS/2 menüpont megfelelõnek tûnik. A port megváltoztatásához használjuk a nyilakat, majd nyomjuk le az Enter billentyût.
Az egérdémon engedélyezése
Befejezésül a egérhez tartozó démon aktiválásához és kipróbálásához válasszuk ki a nyilakkal az Enable (Engedélyezés) menüpontot.
Az egérdémon kipróbálása
Próbáljuk mozgatni a képernyõn megjelenõ egérkurzort, és ellenõrizzük, hogy a kurzor a mozdulatainknak megfelelõen reagál-e. Ha mindent rendben találunk, akkor válasszuk a &gui.yes; gombot és nyomjuk le az Enter billentyût. Ellenkezõ esetben az egeret nem jól állítottuk be — válasszuk a &gui.no; gombot és kísérletezzünk tovább más beállításokkal. Az utólagos beállítások folytatásához válasszuk elõször az Exit (Kilépés) menüpontot, majd nyomjuk meg az Enter billentyût.
Csomagok telepítése A csomagok elõre lefordított binárisokat tartalmaznak, és használatukkal igen kényelmesen tudunk szoftvereket telepíteni. Szemléltetés céljából most bemutatjuk az egyik ilyen csomag telepítését. Természetesen igény szerint más csomagokat is hozzávehetünk. A telepítés után a sysinstall parancs használható további csomagok telepítésére. User Confirmation Requested The FreeBSD package collection is a collection of hundreds of ready-to-run applications, from text editors to games to WEB servers and more. Would you like to browse the collection now? [ Yes ] No Az üzenet fordítása: Felhasználói megerõsítés szükséges A FreeBSD csomaggyûjteménye többezernyi azonnal használható alkalmazást tartalmaz, a szövegszerkesztõktõl a játékokon keresztül a WEBszervereken át szinte mindent. Át kívánja lapozni most ezt a gyûjteményt? [ Igen ] Nem A &gui.yes; kiválasztása és az Enter lenyomása után a csomagválasztó képernyõ következik:
A csomagok kategóriájának kiválasztása
Ekkor csak az adott telepítõeszközön elérhetõ csomagok fognak megjelenni. Az összes csomagot az All (Mind) menüpont kiválasztásával láthatjuk, vagy leszûkíthetjük ezt egy adott kategóriára is. Álljunk a kiválasztott kategóriához tartozó menüpontra és nyomjuk meg az Enter billentyût. Ezután egy menü fogja felsorolni az adott kategórián belül telepíthetõ csomagokat:
Csomag kiválasztása
A példában a bash parancsértelmezõt választottuk ki. Válogassunk kedvünkre a csomagok között, és álljunk a telepíteni kívántakra, majd a Szóköz billentyû lenyomásával jelöljük be ezeket. Minden egyes csomag rövid leírása a képernyõ bal alsó sarkában olvasható. A Tab billentyû segítségével mozoghatunk az utoljára kiválasztott csomag, az &gui.ok; és &gui.cancel; gombok között. Miután bejelöltük az összes telepítésre szánt csomagot, a csomagválasztó menübe úgy tudunk visszatérni, ha a Tab billentyûvel átváltunk az &gui.ok; gombra és nyomjuk meg az Enter billentyût. Ezeken felül a bal és jobb nyilak használhatóak az &gui.ok; és &gui.cancel; gombok közti váltásra. Ugyanezzel a módszerrel választható ki az &gui.ok; gomb is, ami után az Enter billentyû megnyomásával visszajutunk a csomagválasztó menübe.
Csomagok telepítése
A nyilakkal és a Tab billentyûvel válasszuk ki az [ Install ] (Telepítés) gombot és nyomjuk meg az Enter billentyût. Ekkor meg kell erõsítenünk a csomagok telepítését:
Csomagok telepítésének megerõsítése
Az &gui.ok; kiválasztása majd az Enter billentyû lenyomása indítja el a csomagok telepítését. A telepítés befejezéséig különbözõ üzenetek fognak megjelenni. Figyeljünk az ilyenkor felbukkanó hibaüzenetekre! A beállítások véglegesítése a csomagok telepítése után folytatódik. Amennyiben egyetlen csomagot sem választottunk és szeretnénk továbblépni, akkor is az Install (Telepítés) gombot válasszuk.
Felhasználók és csoportok felvétele A telepítés során legalább egy felhasználót érdemes hozzáadnunk a rendszerhez, mivel a rendszer használatához így nem kell root felhasználóként bejelentkezni. Általánosságban véve ahhoz egyébként is kicsi a gyökérpartíció, hogy root felhasználóként (rendszeradminisztrátorként) futtassunk rajta programokat, és gyorsan be is telik. A nagyobb veszélyt azonban itt olvashatjuk: User Confirmation Requested Would you like to add any initial user accounts to the system? Adding at least one account for yourself at this stage is suggested since working as the "root" user is dangerous (it is easy to do things which adversely affect the entire system). [ Yes ] No Felhasználói megerõsítés szükséges Szeretnénk mosta rendszerbe felvenni felhasználói fiókokat? Ebben a lépésben legalább egy felhasználó felvétele javasolt, hiszen "root" felhasználóként veszélyes dolgozni (mivel így könnyen tehetünk olyan dolgokat, amelyek káros hatással lehetnek rendszerünkre). [ Igen ] Nem Ezért válasszuk a &gui.yes; gombot és az Enter billentyû lenyomásával lépjünk tovább a felhasználók felvételéhez.
Felhasználók kiválasztása
A nyílbillentyûkkel válasszuk ki a User (Felhasználó) menüpontot és nyomjuk meg az Enter billentyût.
A felhasználó adatainak megadása
Amikor a Tab billentyûvel lépkedünk a kitöltendõ mezõk között, a képernyõ alsó részén az alábbi leírások magyarázzák az egyes mezõk tartalmát: Login ID (Bejelentkezési azonosító) Az új felhasználó bejelentkezési neve (kötelezõ). UID (Felhasználói azonosító) A felhasználó számszerû azonosítója (automatikusan létrejön, ha üresen hagyjuk). Group (Csoport) A felhasználó bejelentkezési csoportjának neve (automatikusan létrejön, ha üresen hagyjuk). Password (Jelszó) A felhasználó jelszava (óvatosan bánjunk ezzel a mezõvel!) Full name (Teljes név) A felhasználó teljes neve (megjegyzés). Member groups (További csoportok) A felhasználó ezen csoportoknak is tagja (tehát rendelkezik az engedélyeikkel). Home directory (Felhasználói könyvtár) A felhasználó saját könyvtára (ha üresen hagyjuk, az alapértelmezés szerint töltõdik ki). Login shell (Parancsértelmezõl) A felhasználó által használt parancsértelmezõ (ha üresen hagyjuk, az alapértelmezés szerint töltõdik, mint például /bin/sh). Az ábrán a bejelentkezés után használt parancsértelmezõt a /bin/sh parancsértelmezõrõl a /usr/local/bin/bash parancsértelmezõre változtattuk, így most a korábban telepített bash parancsértelmezõt fogjuk használni. Itt ne is próbáljunk nem létezõ parancsértelmezõt kiválasztani, hiszen ekkor nem tudunk majd bejelentkezni. A BSD világban egyébként a C shell a leggyakrabban használt, amelyet a /bin/tcsh megadásával választhatjuk ki. Az ábrán szereplõ felhasználót ezenkívül még a wheel csoportba is felvettük, aminek köszönhetõen képes lesz a rendszerünkben a root felhasználói jogaival rendelkezõ rendszeradminisztrátorrá válni. Amikor mindent megfelelõnek találunk, nyomjunk az &gui.ok; gombra és ekkor ismét a felhasználók és csoportok karbantartását tartalmazó menü jelenik meg:
Kilépés a felhasználók és csoportok menüjébõl
Csoportokat is létre tudunk hozni, amennyiben erre szükségünk lenne. Ez a rész a telepítés befejezése után továbbra is elérhetõ a sysinstall parancs segítségével. Amikor befejeztük a felhasználók hozzáadását, a nyilakkal válasszuk ki az Exit (Kilépés) menüpontot és a telepítés folytatásához nyomjuk meg az Enter billentyût.
A <username>root</username> felhasználó jelszavának megadása Message Now you must set the system manager's password. This is the password you'll use to log in as "root". [ OK ] [ Press enter or space ] Fordítása: Üzenet Most meg kell adnia a rendszergazda jelszavát. Ezt a jelszót kell a "root" felhasználó bejelentkezésekor használni. [ OK ] [ Nyomja le az Enter vagy a Szóköz billentyût ] A root felhasználó jelszavának beállításához nyomjuk meg az Enter billentyût. A jelszót kétszer kell megadnunk. Felesleges megemlíteni, hogy gondoskodjunk arról az esetrõl is, ha véletlenül elfelejtenénk ezt a jelszót. Megemlítjük, hogy az itt begépelt jelszó nem lesz látható és a betûk helyett sem jelennek meg csillagok. New password: Retype new password : A jelszó sikeres megadása után a telepítés folytatódik. Kilépés a telepítõbõl Ha be szeretnénk még állítani egyéb hálózati szolgáltatást vagy valamilyen más konfigurációs lépést kívánunk még elvégezni, ezen a ponton megtehetjük vagy a telepítés után a sysinstall parancs kiadásával. User Confirmation Requested Visit the general configuration menu for a chance to set any last options? Yes [ No ] Fordítás: Felhasználói megerõsítés szükséges Végignézi még utoljára a beállításokat arra az esetre, ha véletlenül kihagytunk volna valamit? Igen [ Nem ] Ha a nyilakkal a &gui.no; gombot választjuk, majd megnyomjuk rajta az Enter billentyût, akkor visszatérünk a telepítõ fõmenüjébe.
Kilépés a telepítõbõl
Válasszuk ki a nyílbillentyûkkel a [X Exit Install] (Kilépés a telepítõbõl) gombot és nyomjuk meg az Enter billentyût. Ezután meg kell erõsítenünk kilépési szándékunkat: User Confirmation Requested Are you sure you wish to exit? The system will reboot. [ Yes ] No Fordítás: Felhasználói megerõsítés szükséges Valóban ki akar lépni? A rendszer ezt követõen újra fog indulni! [ Igen ] Nem Válasszuk a &gui.yes; gombot. Ha CD-meghajtóról indítottuk a telepítést, akkor a következõ üzenet fog figyelmeztetni minket a lemez kivételére: Message Be sure to remove the media from the drive. [ OK ] [ Press enter or space ] Fordítás: Üzenet Ne felejtsük el kivenni a CD-lemezt a meghajtóból. [ OK ] [ Nyomjunk Entert vagy szóközt ] A CD-meghajtó egészen az újraindítás megkezdéséig zárolt lesz, ezért csak ekkor tudjuk (gyorsan) kivenni a meghajtóból a lemezt. Nyomjuk meg az &gui.ok; gombot az újraindításhoz. A rendszer újraindul, legyünk résen és figyeljük a megjelenõ hibaüzeneteket, errõl bõvebben lásd a ban.
Tom Rhodes Írta: További hálózati szolgálatások beállítása A hálózati szolgáltatások terén csekély tapasztalattal rendelkezõ kezdõ felhasználók számára ijesztõ lehet ezek beállítása. A hálózatok és többek közt az internet kezelése napjaink modern operációs rendszereink, így a &os;-nek is az egyik fontos területe. Ezért nagyon hasznos ismernünk valamennyire a &os; által felkínált hálózati lehetõségeket. A telepítés közben ezért a felhasználónak tisztában kell lennie a rendelkezésére álló szolgáltatásokkal. A hálózati szolgáltatások olyan programok, amelyek a hálózat minden részérõl fogadnak adatokat. Mindent el kell követnünk annak érdekében, hogy ezek a programok ne tehessenek semmilyen kárt. Sajnos a programozók sem tökéletesek, és az idõk során már elõfordult párszor, hogy a hálózati szolgáltatásokban maradtak hibák, amelyek kihasználásával a támadók rossz dolgokat tudtak csinálni. Ezért fontos, hogy csak is azokat a szolgáltatásokat engedélyezzük, amelyekre ténylegesen szükségünk van. Ha nem tudjuk eldönteni, akkor az a legjobb, ha egészen addig egyiket sem engedélyezzük, amíg valóban szükségünk nem lesz rájuk. A sysinstall újbóli elindításával vagy az /etc/rc.conf megfelelõ beállításával mindig tudunk új szolgáltatásokat aktiválni. A Networking (Hálózatok) menüpont kiválasztása után valami ilyesmit láthatunk:
A hálózati beállítások menüjének felsõ szintje
Ezek közül a Interfaces (Csatolók), vagyis az elsõ menüpontról korábban már szó esett a ban, ezért ez most nyugodtan kihagyható. Az AMD menüpont kiválasztásával engedélyezzük a BSD automatikus csatlakoztatásokért felelõs segédeszközét (AMD, az AutoMounter Daemon). Ezt általában az NFS protokollal (lásd lentebb) együtt szokás használni a távoli állományrendszerek automatikus csatlakoztatásához. Itt nincs szükség semmilyen különleges beállításra. A következõ sorban az AMD Flags (Az AMD beállításai) menüpont szerepel. Kiválasztása után az AMD beállításait bekérõ ablak fog felbukkani. Ez már számos alapértelmezett beállítást tartalmaz: -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map A kapcsolóval adjuk meg a csatlakozási pontok alapértelmezett helyét, amely ebben az esetben az /.amd_mnt. A kapcsolóval adjuk meg az alapértelmezett log (napló) állományt, habár a syslogd használata során az összes naplózási tevékenység a rendszer naplózó démonján fut majd keresztül. A /host könyvtárba fognak csatlakozni a távoli gépek exportált állományrendszerei, míg a /net könyvtárba a különbözõ IP-címekrõl exportált állományrendszerek kerülnek csatlakoztatásra. Az /etc/amd.map állomány tartalmazza az AMD exportjainak alapértelmezett beállításait. FTP anonim Az Anon FTP menüponton keresztül engedélyezhetjük az anonim FTP kapcsolatokat. A menüpont kiválasztásával számítógépünket egy anonim FTP szerverré tehetjük, azonban legyünk tekintettel a beállításhoz tartozó biztonsági veszélyekre! A kiválasztásakor egy ablak tájékoztat minket a beállítás részleteirõl és felmerülõ biztonsági kockázatokról. A Gateway (Átjáró) menüpont használatával a korábbiakban tárgyaltak szerint állíthatjuk be számítógépünket hálózati átjárónak. Ugyanekkor a Gateway menüben nyílik lehetõségük kikapcsolni ezt a beállítást, amennyiben a telepítési folyamat korábbi lépései során véletlenül engedélyeztük volna. Az Inetd menüpont segítségével beállíthatjuk, vagy akár teljesen ki is kapcsolhatjuk a korábban tárgyalt &man.inetd.8; démont. A Mail (Levelezés) menüpontban beállíthatjuk a rendszer alapértelmezett MTA avagy levéltovábbító ügynökét (Mail Transfer Agent). Ennek hatására a következõ menü jelenik meg:
Az alapértelmezett MTA kiválasztása
Itt válaszhatunk, hogy a különbözõ levélküldõ rendszerek közül melyiket telepítsük alapértelmezettként. Egy ilyen alkalmazás lényegében nem több, mint egy levélküldésre használt szerver, amely továbbítja a rendszerben vagy az interneten található felhasználók számára a leveleket. A Sendmail választásával a &os; alapból felkínált megoldását, a népszerû sendmail szervert telepíthetjük. A Sendmail local (Helyi Sendmail) menüpont kiválasztásával szintén a sendmail lesz a telepítendõ levélküldõ szerver, azonban nem lesz képes az internetrõl érkezõ leveleket fogadni. Az itt felsorolt többi beállítás, tehát a Postfix és Exim, a Sendmail beállításához hasonlóan zajlik. Mind a kettõ elektronikus levelek kézbesítésére használható, azonban bizonyos felhasználók a sendmail helyett inkább ezek valamelyikét használják. Valamelyik vagy éppen semelyik levéltovábbító szerver kiválasztása után az NFS client (NFS kliens) beállítására vonatkozó menü jelentkezik. Az NFS client beállításával a rendszerünk NFS szerverekkel lesz képes kapcsolatba lépni. Egy ilyen NFS szerver az NFS protokoll segítségével a hálózaton keresztül elérhetõvé tesz állományrendszereket. Ha gépünk független, akkor nem fontos kiválasztanunk ezt a menüpontot. A rendszernek késõbb további beállításokra is szüksége lehet, amelyekrõl az ban olvashatunk részletesebben. Az NFS server (NFS szerver) menüpont kiválasztásával hozzájárulunk, hogy rendszerünk NFS szerverként üzemeljen. Ehhez meg kell adnunk az RPC, vagyis a távoli eljáráshívások kiszolgálásának elindításához szükséges adatokat is. Az RPC használatával a különbözõ kiszolgálók és programok között tudjuk vezérelni a kapcsolatot. A sorban az Ntpdate beállítása következik, ahol az idõszinkronizációhoz kapcsolódó opciókat találjuk. Kiválasztásakor az ábrán szereplõhöz hasonló menü fog megjelenni:
Az Ntpdate beállítása
Ebbõl a menübõl válasszuk ki a hozzánk legközelebb levõ szevert. Egy közeli szerver megadásával az idõszinkronizáció sokkalta pontosabbá válik, mivel a tõlünk távolabbi szerverek kapcsolatának késleltetése nagyobb lehet. A következõ beállítás az PCNFSD. Ennek kiválasztása során a Portgyûjteménybõl telepítésre kerül a net/pcnfsd csomag. Ez lényegében egy hasznos segédprogram, amellyel olyan operációs rendszerek számára tudunk hitelesítést szolgáltatni az NFS használata során, amelyek maguktól erre nem képesek, mint például a µsoft; &ms-dos; rendszere. A többi beállítás megtekintéséhez egy kicsit lejjebb kell haladnunk a listában:
A hálózati beállítások menüjének alsó szintje
Az &man.rpcbind.8; és &man.rpc.statd.8;, valamint az &man.rpc.lockd.8; segédprogramok mind a távoli eljáráshívásokhoz (Remote Procedure Call, RPC) használhatóak. Az rpcbind segédprogram az NFS szerverei és kliensei között felügyeli a kapcsolatot, ezért a használata az NFS szerverek és kliensek mûködéséhez elengedhetetlen. Az állapot figyeléséhez az rpc.statd démon felveszi a kapcsolatot a többi gépen futó rpc.statd démonokkal. A jelentett állapotok általában a /var/db/statd.status állományban találhatóak. Itt a következõként felsorolt elem az rpc.lockd, amelynek kiválasztásával állományzárolási szolgáltatásokat érhetünk el. Ezt többnyire az rpc.statd démonnal együtt alkalmazzák a zárolásokat kérõ gépek és a kérések gyakoriságának nyilvántartására. Míg ezekkel a beállításokkal gyönyörûen nyomon lehet követni a mûködést, az NFS szerverek és kliensek megfelelõ mûködéséhez nem kötelezõ a használatuk. Ahogy haladunk tovább a listában, a következõ elem a Routed, vagyis az útválasztásért felelõs démon lesz. A &man.routed.8; segédprogram a hálózati útválasztó táblázatokat tartja karban, felderíti az elérhetõ útválasztókat és kérésre bármelyik hozzá fizikailag csatlakozó gép számára átadja az általa nyilvántartott útválasztási adatokat. Ezt leginkább a helyi hálózat átjárójaként mûködõ számítógépek használják. Kiválasztásakor egy ablak fog rákérdezni a segédprogram helyére. Az itt alapból felkínált érték általában megfelelõ, ezért nyugtázhatjuk az Enter billentyû lenyomásával. Ezt követõen egy másik menü jelenik meg, ahol a routed beállításait adhatjuk meg. Itt alapértelmezés szerint a kapcsoló szerepel. A következõ sor az Rwhod beállításé, aminek kiválasztásával el tudjuk indíttatni az &man.rwhod.8; démont a rendszer elindítása során. Az rwhod segédprogram a rendszerüzeneteket a hálózaton idõközönként szétküldi vagy figyelõ (consumer) módban összegyûjti ezeket. Ennek pontosabb részleteit az &man.ruptime.1; és &man.rwho.1; man oldalakon találhatjuk meg. Az &man.sshd.8; démoné az utolsó elõtti beállítás. Ez az OpenSSH biztonságos shell szervere, melyet a szabványos telnet és FTP szerverek helyett ajánlanak. Az sshd szerver tehát két gép közti biztonságos, titkosított kapcsolatok létrehozására használható. A lista végén a TCP Extensions (TCP kiterjesztések) menüpontot találhatjuk. Segítségével a TCP RFC 1323 és RFC 1644 dokumentumokban leírt kiterjesztéseinek használatát engedélyezhetjük. Ezzel egyes gépek esetén felgyorsulhat a kapcsolat, azonban más esetekben pedig eldobódhat. Ez szerverek használatánál nem ajánlott, viszont független gépeknél kifizetõdõ lehet. Most, miután beállítottuk a hálózati szolgáltatásokat, lépjünk vissza a lista elején található X Exit (Kilépés) menüpontra és folytassuk a beállítást a következõ opcióval, vagy egyszerûen az X Exit kétszeri kiválasztásával, majd a [X Exit Install] (Kilépés a telepítõbõl) gomb lenyomásával lépjünk ki a sysinstall programból.
A &os; indulása A &os;/&arch.i386; indulása Ha minden remekült ment, a képernyõn lentrõl felfelé gördülõ üzeneteket fogunk látni, majd a rendszer várni fog tõlünk egy bejelentkezési nevet. A kiírt üzeneteket között a Scroll Lock lenyomása után a PgUp és PgDn billentyûk használatával tudunk lapozni. A Scroll Lock ismételt lenyomásával visszatérünk a bejelentkezéshez. Nem minden esetben lesz látható az összes üzenet (a puffer végessége miatt), de miután bejelentkeztünk, ezeket a dmesg parancs kiadásával is megnézhetjük. Bejelentkezni a telepítéskor megadott felhasználói név/jelszó párossal tudunk (a példában ez most rpratt). Lehetõleg ne jelentkezzünk be root felhasználóként! A rendszer indításakor jellemzõen elõforduló üzenetek (a verzióra vonatkozó adatokat kihagytuk): Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. Timecounter "i8254" frequency 1193182 Hz CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping = 0 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> AMD Features=0x80000800<SYSCALL,3DNow!> real memory = 268435456 (262144K bytes) config> di sn0 config> di lnc0 config> di le0 config> di ie0 config> di fe0 config> di cs0 config> di bt0 config> di aic0 config> di aha0 config> di adv0 config> q avail memory = 256311296 (250304K bytes) Preloaded elf kernel "kernel" at 0xc0491000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c. md0: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0 usb0: <VIA 83C572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0 ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at device 10.0 on pci0 ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x1 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold ppbus0: IEEE1284 device found /NIBBLE Probing for PnP devices on ppbus0: plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33 ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33 acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4 Mounting root from ufs:/dev/ad0s1a swapon: adding /dev/ad0s1b as swap device Automatic boot in progress... /dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation) /dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation) /dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation) /dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS /dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation) Doing initial network setup: hostname. ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1 ether 52:54:05:de:73:1b lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 Additional routing options: IP gateway=YES TCP keepalive=YES routing daemons:. additional daemons: syslogd. Doing additional network setup:. Starting final network daemons: creating ssh RSA host key Generating public/private rsa1 key pair. Your identification has been saved in /etc/ssh/ssh_host_key. Your public key has been saved in /etc/ssh/ssh_host_key.pub. The key fingerprint is: cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com creating ssh DSA host key Generating public/private dsa key pair. Your identification has been saved in /etc/ssh/ssh_host_dsa_key. Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. The key fingerprint is: f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com. setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout starting standard daemons: inetd cron sshd usbd sendmail. Initial rc.i386 initialization:. rc.i386 configuring syscons: blank_time screensaver moused. Additional ABI support: linux. Local package initialization:. Additional TCP options:. FreeBSD/i386 (k6-2.example.com) (ttyv0) login: rpratt Password: Az RSA és DSA kulcsok generálása a lassabb gépeken sokág is eltarthat, habár ez mindig csak a friss telepítések utáni elsõ indításkor történik meg. A rendszer késõbbi indulásai ettõl már gyorsabbak lesznek. Ha X szervert is beállítottunk és választottunk hozzá egy alapértelmezett munkakörnyezetet, akkor ezt a parancssorból a startx kiadásával elindíthatjuk el. A &os; leállítása Fontos, hogy mindig szabályosan állítsuk le az operációs rendszert, ne kapcsoljuk ki csak úgy egyszerûen a számítógépünket! A leállításhoz elõször a su parancs kiadásával, majd itt a root jelszavának megadásával vegyük fel az ehhez szükséges rendszeradminisztrátori jogosultságokat. Ez viszont csak abban az esetben fog mûködni, ha a felhasználónk tagja a wheel csoportnak. Minden más esetben egyszerûen jelentkezzünk be root felhasználóként és használjuk a shutdown -h now parancsot. The operating system has halted. Please press any key to reboot. A fenti üzenet jelzi, hogy a leállító parancs kiadása után már kikapcsolhatjuk a számítógépet, vagy ha ehelyett egy billentyût nyomunk le, akkor a gép újraindul. A Ctrl Alt Del billentyûkombináció használatával is újra tudjuk indítani a rendszert, azonban ez normál mûködés közben nem ajánlott.
Hibakeresés telepítés hibakeresés A most következõ szakaszban azokra a telepítés során felmerülõ problémákra próbálunk meg megoldásokat adni, amelyeket eddig már sokan jeleztek nekünk. Ezek mellett szerepel néhány kérdés és válasz is a &os; és az &ms-dos; vagy &windows; közös használatáról. Mit tegyünk ha valami nem mûködik A PC architektúra különféle korlátozásai miatt szinte lehetetlen 100%-ban megbízhatóvá tenni az eszközök felderítését, azonban ennek hibája kapcsán néhány dolgot még tenni tudunk. Ellenõrizzük a Hardware Notes (Hardverjegyzék) címû dokumentumban, hogy az adott hardvert a &os; valóban ismeri. Amennyiben a hardvereszközünket a rendszer ismeri, azonban még mindig jelentkeznek fagyások vagy egyéb gondok, készítenünk kell egy saját rendszermagot. Ezzel olyan eszközök támogatását is beépíthetjük a rendszermagba, amelyek eredetileg nem szerepelnek a GENERIC rendszermagban. A telepítéshez készített rendszerindító lemezeken található rendszermag a legtöbb eszközt a gyári IRQ, IO-cím és DMA csatorna beállításaik mentén próbálja felkutatni. Ha viszont a hardverünket átállítottuk, ennek megfelelõen módosítanunk kell a rendszermag beállításait és újra kell fordítanunk, hogy a &os; tudja, hol is keresse az eszközt. Olyan is adódhat, hogy egy nem létezõ eszköz keresése egy utána keresendõ másik, jelenlevõ eszköz felkutatását akadályozza meg. Ilyenkor az ütközõ meghajtókat le kell tiltani. Egyes problémák elkerülhetõek vagy csillapíthatóak a különbözõ hardverösszetevõk, különösen az alaplapi firmware frissítésével. Az alaplap firmware-jére sokszor csak BIOS-ként hivatkoznak, és a legtöbb alaplap- vagy számítógépgyártó honlapján találhatjuk meg ezeket, valamint a rájuk vonatkozó utasításokat. A legtöbb gyártó azonban erõsen tiltakozik az alaplapi BIOS-frissítések ellen, és csak indokolt esetekben, például kritikus javításoknál javasolják. A frissítés kimenetele lehet rossz is, aminek következménye a BIOS tartós károsodása. Az &ms-dos; és &windows; állományrendszereinek használata A &os; jelenleg nem támogatja a Double Space™ alkalmazással tömörített állományrendszereket, ezért a &os; csak úgy tud az adataihoz hozzáférni, ha elõtte kitömörítjük ezeket. Ezt a Start menü Programs (Programok) > System Tools (Rendszereszközök) menüjében található Compression Agent (Lemeztömörítés) elindításával tehetjük meg. A &os; támogatja az &ms-dos; alapú (gyakran csak FAT típusúnak nevezett) állományrendszereket. A &man.mount.msdosfs.8; parancs segítségével az ilyen rendszerek könnyedén becsatlakoztathatók a már létezõ könyvtárszerkezetbe, amivel így el tudjuk érni a tartalmát. A &man.mount.msdosfs.8; programot általában nem közvetlenül hívjuk meg, hanem az /etc/fstab vagy a &man.mount.8; segédprogram megfelelõ paraméterezésével. Az /etc/fstab állományban általában így néz ki egy ilyen sor: /dev/ad0sN /dos msdosfs rw 0 0 A mûvelet végrehajtásához a /dos könyvtárnak már léteznie kell. Az /etc/fstab pontos formátumával kapcsolatban a &man.fstab.5; man oldalt olvassuk el. Az &ms-dos; állományrendszerek esetében a &man.mount.8; parancsot többnyire így adjuk ki: &prompt.root; mount -t msdosfs /dev/ad0s1 /mnt Ebben a példában a &ms-dos; állományrendszer az elsõdleges merevlemez elsõ partícióján helyezkedik el. A mi helyzetünk ettõl eltérõ lehet, ezért ehhez vizsgáljuk meg a dmesg és mount parancsok kimeneteit. Segítségükkel elegendõ információt tudunk összeszedni a gépünkön található partíciók kiosztásáról. Elõfordulhat, hogy a &os; a többi operációs rendszertõl eltérõ módon számozza a slice-okat (vagyis az &ms-dos; partíciókat). Konkrétan: a kiterjesztett &ms-dos; partíciók általában nagyobb sorszámot kapnak, mint az elsõdleges &ms-dos; partíciók. Az &man.fdisk.8; segédprogram segíthet megállapítani, hogy mely slice-ok tartoznak a &os;-hez és melyek más operációs rendszerekhez. A &man.mount.ntfs.8; parancs használatával az NTFS partíciók hasonló módon csatlakoztathatóak. Kérdések és válaszok A rendszerem teljesen leáll amikor az indítás során eszközöket próbál megtalálni, vagy furcsán viselkedik a telepítés során, esetleg a floppy meghajtót nem is keresi. A &os; az i386, amd64 és ia64 platformokon az indítás közben az eszközök felderítésében erõsen építkeznek a rendszeren elérhetõ ACPI szolgáltatásra. Sajnos még mindig vannak hibák az ACPI meghajtóban, az alaplapokban és a BIOS-okban. A rendszerbetöltõ harmadik fokozatában viszont az hint.acpi.0.disabled megadásával kikapcsolható az ACPI használata: set hint.acpi.0.disabled="1" Ez a beállítás a rendszer minden egyes indításakor törlõdik, ezért a hint.acpi.0.disabled="1" bejegyzést fel kell vennünk a /boot/loader.conf állományba. A rendszerbetöltõ mûködésérõl részletesebben a ban olvashatunk. A &os; telepítése után elõször indítom el a merevlemezrõl a rendszert, a rendszermag betöltõdik és nekilát felkutatni a hardvereszközöket, azonban megáll a következõ üzenettel: changing root device to ad1s1a panic: cannot mount root Mi lehet a gond? Mit tegyek? Mit jelent a bios_drive:interface(unit,partition)kernel_name a rendszerindítás során megjelenõ súgóban? Ez egy régóta fennálló probléma olyan rendszerek esetén, ahol a rendszerindításhoz használt lemez nem az elsõ. A BIOS a &os;-tõl eltérõ sorszámozást használ, és az általa alkalmazott megfeleltetések megfejtése nehézkes. Amikor a rendszer indítására használt lemez nem az elsõ lemez a rendszerünkben, segítenünk kell a &os;-nek a megtalálásában. Két gyakori helyzet alakulhat ki, és mind a kettõben el kell árulnunk a &os;-nek, hogy hol található a rendszer indításához használható gyökér állományrendszer. Ezt a lemez BIOS-ban nyilvántartott sorszámának, típusának és a neki megfelelõ &os; szerinti lemezszám megadásával tehetjük meg. Az elsõ szituációban két IDE-lemezünk van, mind a kettõt masterként állítottuk be a hozzájuk tartozó IDE-buszokon, és a közülük a másodikról akarjuk indítani a &os;-t. A BIOS ezeket 0. és 1. lemezként látja, miközben a &os; pedig ad0 és ad2 eszközként. A &os; 1. BIOS-számozású lemezen van, amelynek a típusa ad és a &os; szerinti a 2 sorszámot viseli. Ezért ezt kell használnunk: 1:ad(2,a)kernel Ha az elsõdleges buszon van egy slave meghajtónk, akkor mindez nem szükséges (és valószínûleg rossz is). A második szituációban egy SCSI-lemezrõl akarjuk indítani a rendszert, miközben egy vagy több IDE-lemez is található a gépünkben. Ebben az esetben a &os; szerinti sorszám kisebb lesz, mint a BIOS szerinti. Ha tehát a két IDE-lemezünk mellett van még egy SCSI-lemez is, akkor annak a BIOS szerinti sorszáma 2, a típusa da és a &os; szerinti sorszáma pedig 0. Ennek megfelelõen a 2:da(0,a)kernel sorral tudjuk elárulni a &os;-nek, hogy a BIOS szerint 2. lemezrõl akarjuk indítani, amely a rendszerben található elsõ SCSI-lemeznek felel meg. Ha csak egy IDE-lemezünk van, akkor a sort kezdjük az 1: beírásával. Miután megtaláltuk a megfelelõ értékeket, a hozzá tartozó sort egy szövegszerkesztõ segítségével tegyük közvetlenül a /boot.config állományba. A &os; ezen állomány tartalmát fogja alapból felhasználni a boot: bekérésénél, hacsak másképpen nem utasítjuk. A telepítés után elõször próbálom meg elindítani a merevlemezrõl a &os;-t, azonban a rendszerválasztó mindig csak F? opciókat kínál fel, és a rendszer indítása sem halad tovább. A &os; telepítése során rosszul adtunk meg a partíciószerkesztõben a merevlemezhez tartozó geometriát. Menjünk vissza a partíciószerkesztõhöz és adjuk meg újra a merevlemezünk helyes geometriáját. Ennek használatához pedig a &os;-t is újra kell telepítenünk. Ha egyáltalán képtelenek vagyunk megállapítani a merevlemezhez tartozó geometriát, akkor próbáljuk meg ezt: a lemez elején hozzunk létre egy kis méretû DOS partíciót és rakjuk utána a &os;-t. Amikor a telepítõprogram észreveszi a DOS partíciót, megpróbálja magától kikövetkeztetni belõle a helyes geometriát, ami általában mûködik is. Ez a tanács ugyan már nem érvényes, de álljon itt felvilágosításként:
Ha teljesen egy &os; alapú szerver vagy munkaállomás kialakítására szánjuk a számítógépünket, és nem törõdünk a DOS-szal, Linuxszal és a többi operációs rendszerrel történõ (jövõbeli) kompatibilitással, használhatjuk akár az egész lemezt is (a partíciószerkesztõben ez az A opció). Ezzel egy olyan nem szabványos beállítást engedélyezünk, amivel a &os; elfoglalja a lemezt annak legelsõ szektorától a legutolsó szektoráig. Ilyenkor ugyan el tudunk tekinteni a geometriával kapcsolatos beállításoktól, azonban így a &os;-n kívül semmilyen más operációs rendszert nem tudunk majd futtatni a gépen.
A rendszer megtalálja a &man.ed.4; hálózati kártyámat, azonban folyamatosan hibát ad idõtúllépésre hivatkozva. Az említett kártya valószínûleg a /boot/device.hints állományban beállítottaktól eltérõ IRQ-t használ. A &man.ed.4; meghajtó alapértelmezés szerint nem használ szoftveres beállításokat (amiket DOS-ban az EZSETUP használatával adunk meg), viszont engedélyezhetjük, ha a kártyánál megadjuk az -l beállítást. Hardveresen ezt a kártyán levõ jumperek segítségével állíthatjuk be (ehhez változtassuk meg a rendszermag beállításait is, amennyiben szükséges), vagy a -l kapcsolón keresztül a hint.ed.0.irq="-l" megadásával utasíthatjuk a rendszermagot az IRQ szoftveres beállítására. Másik lehetõség, amikor a kártyánk a 9-es IRQ-t használja, amelyet általában megosztanak a 2-es IRQ-val, ami gyakori problémák forrása (különösen abban az esetben, amikor a VGA kártya a 2-es IRQ-t használja!) lehet. Lehetõleg ne használjuk a 2-es és 9-es IRQ-kat. színek kontraszt Amikor a sysinstall programot egy X11 terminálban futtatom, a sárga színû betûket viszonylag nehéz olvasni a világosszürke háttérrel. Esetleg lehet valahogy növelni a kontrasztot az alkalmazás használatakor? Ha az X11 telepítése után a sysinstall által választott színekkel nem olvasható a szöveg &man.xterm.1; vagy &man.rxvt.1; terminálokban, akkor vegyük fel a következõ sort a felhasználói könyvtárunkban levõ .Xdefaults konfigurációs állományunkba: XTerm*color7:#c0c0c0. Ezzel majd egy sötétebb szürke hátteret kapunk.
Valentino Vaschetto Írta: Marc Fonvieille Frissítette: Telepítési útmutató haladóknak Ebben a szakaszban megtudhatjuk, hogyan telepítsük a &os;-t speciális esetekben. A &os; telepítése billentyûzet vagy monitor nélkül telepítés fej nélküli (soros konzol) soros konzol A telepítés ezen fajtáját fej nélküli telepítésnek (headless install) hívják, mivel a gép, amire a &os;-t telepíteni akarjuk, nem rendelkezik monitorral vagy éppen még VGA kimenettel sem. Felmerülhet a kérdés: hogyan lehetséges mindez? A soros vonali konzol használatával! A soros konzol segítségével lényegében egy másik számítógép monitorját és billentyûzetét használjuk. Ennek megvalósításához elsõként kövessük a rendszerindító pendrive készítésének ban leírt lépéseit, vagy töltsük le a megfelelõ ISO image-et a telepítéshez, lásd . A következõ lépésekkel tehetjük képessé a soros konzolon keresztüli rendszerindításra: (CD-lemez használata esetén az elsõ lépésre nincs szükség) A rendszerindító pendrive átállítása soros konzolra mount Ha a korábban elõkészített pendrive-val most csak egyszerûen elindítanánk a &os;-t, akkor a megszokott telepítési módban indulna el. Mi viszont azt akarjuk, hogy a telepítéshez a &os; a soros konzolon keresztül induljon el. Ehhez csatlakoztassuk az eszközt a számítógéphez, valamint a &man.mount.8; paranccsal &os; rendszerünkhöz pedig a hozzátartozó állományrendszert. &prompt.root; mount /dev/da0a /mnt A konkrét eszköznevet és csatlakozási pontot módosítsuk a saját környezetünknek megfelelõen. Most, miután már fizikailag és logikailag is csatlakoztattuk a pendrive-ot, be kell állítanunk a soros konzol használatára rendszerindítás közben. Ehhez egy loader.conf nevû állományt kell elhelyeznünk a pendrive állományrendszerén a soros konzolra (mint rendszerkonzolra) vonatkozó beállítással: &prompt.root; echo 'console="comconsole"' >> /mnt//boot/loader.conf Miután a pendrive-on sikeresen elvégeztük a szükséges beállítást, válasszuk le a &man.umount.8; parancs kiadásával: &prompt.root; umount /mnt Most már leválaszthatjuk a pendrive-ot, és ugorjunk közvetlenül a harmadik lépésre. A null-modem kábel csatlakoztatása null-modem kábel Össze kell kötnünk a két számítógépet egy null-modem kábellel. Nincs más teendõnk, mit összekapcsolni a két gép soros portjait. Itt a szokásos soros kábel nem mûködik, konkrétan null-modem kábelre van szükség, mivel benne néhány vezetéket máshogy kötöttek be. A telepítõ CD beállítása soros konzolra mount Ha a telepítésre szánt ISO image-bõl készített lemezzel (lásd ) a &os; normál módban indul el. A soros konzol használatához viszont kibontani, módosítani és újragenerálni kell az adott image-et mielõtt lemezre írnánk. A korábban, például a &os;-8.1-RELEASE-i386-disc1.iso néven letöltött image-bõl a &man.tar.1; segédprogrammal tudjuk kinyerni a benne tárolt összes állományt: &prompt.root; mkdir /a/hasznalt/iso/helye &prompt.root; tar -C /a/hasznalt/iso/helye -pxvf &os;-8.1-RELEASE-i386-disc1.iso Ezt követõen módosítanunk kell a telepítõlemezt a soros konzol használatára. Ehhez egy loader.conf állományt kell hozzáadnunk a kibontott ISO image tartalmához. Ebben állítjuk be a soros konzolt rendszerkonzolnak: &prompt.root; echo 'console="comconsole"' >> /a/hasznalt/iso/helye/boot/loader.conf Ezután készítsünk egy új ISO image-et a módosított tartalom alapján. Ehhez a sysutils/cdrtools port részeként elérhetõ &man.mkisofs.8; segédprogramot használjuk: &prompt.root; mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "soroskonzolos" -o soroskonzolos-&os;-8.1-RELEASE-i386-disc1.iso /a/hasznalt/iso/helye Most már van egy megfelelõen összeállított ISO image-ünk, amelyet CD-lemezre tudunk írni a kedvenc CD-író alkalmazásunkkal. A telepítés indítása Most már ideje elkezdeni a telepítést. Tegyük a boot.flp image-et tartalmazó lemezt a fej nélkül telepítendõ gép meghajtójába és kapcsoljuk be. Kapcsolódás a fej nélküli gépre cu Ezután a &man.cu.1; parancs felhasználásával kapcsolódjunk rá a gépre: &prompt.root; cu -l /dev/cuau0 Ezt &os; 7.X esetén így kell használnunk: &prompt.root; cu -l /dev/cuad0 Ezzel készen is vagyunk! Innentõl a cu által megnyitott kapcsolaton keresztül tudjuk vezérelni a fej nélküli számítógépet. Hamarosan betölti a rendszermagot, majd megkérdezi a használt terminál típusát. Itt válasszuk ki a színes &os; konzolt (&os; color console) és folytassuk a telepítést a megszokott módon. Saját telepítõeszköz elkészítése Az ismétlések elkerülése végett a továbbiakban a &os; lemez a megvásárolható vagy a magunk által készített &os; CD-re vagy DVD-re vonatkozik. Adódhatnak olyan esetek, amikor létre kell hoznunk a &os; telepítésére használt saját eszközünket és/vagy forrásunkat. Ez lehet egy tetszõleges fizikai eszköz, például szalag, vagy bármilyen olyan forrás, ahonnan a sysinstall képes állományokat elérni, például egy FTP oldal vagy egy &ms-dos; partíció. Például: Egy &os; lemezünk van és több hálózaton kapcsolódó számítógépünk. Készíteni akarunk egy helyi FTP oldalt a &os; lemez felhasználásával, és így a hálózaton levõ gépre az internet helyett innen telepítjük a rendszert. Van egy &os; lemezünk, azonban a &os;-nek nem sikerült felismernie a CD/DVD-meghajtónkat, viszont az &ms-dos;/&windows;-nak igen. Felmásoljuk a &os; telepítéséhez használt állományokat ugyanazon a számítógépen található egyik DOS partícióra, majd a &os;-t ezekkel telepítjük. A gépben, amelyre telepíteni akarunk, nincs CD/DVD-meghajtó vagy hálózati kártya, viszont Laplink stílusú soros vagy párhuzamos kábellel hozzá tudunk kapcsolódni egy olyan számítógéprõl, amelyben viszont van. Készíteni akarunk a &os; telepítésére használható szalagot. Telepítõ CD készítése A &os; Projekt minden kiadás részeként architektúránként elérhetõvé tesz legalább két CD image-et (ISO image-et). Ha rendelkezünk CD-íróval, ezeket az image-eket fel-, illetve ki tudjuk írni (égetni) CD-re, és a &os; telepítésére tudjuk használni. Tehát ha van a kezünk ügyében CD-író és olcsón jutunk nagyobb sebességû interneteléréshez, akkor a &os; telepítésének ez a legkönnyebb módja. A megfelelõ ISO image-ek letöltése Az egyes kiadások ISO image-ei letölthetõek a ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-architektúra/változat címrõl vagy annak legközelebbi tükrözésérõl. Az architektúra és változat részeket igényeinknek megfelelõen helyettesítsük. Az említett könyvtár általában a következõ lemezek image-eit tartalmazza: FreeBSD 7.<replaceable>X</replaceable> és 8.<replaceable>X</replaceable> ISO image-ek nevei és jelentései Állománynév Tartalom &os;-változat-RELEASE-architektúra-bootonly.iso Ezzel a CD image-dzsel tudjuk a &os; CD-meghajtóról indításával elkezdeni a telepítést. Fontos tudnunk azonban, hogy ez az image nem tartalmazza a &os; telepítéséhez szükséges komponenseket. Ezt a rendszer indítása után hálózaton keresztül (például egy FTP szerver segítségével) tudjuk megtenni. &os;-változat-RELEASE-architektúra-dvd1.iso.gz Ez a DVD image minden, az alap &os; rendszer telepítéséhez szükséges komponenst tartalmaz, bináris csomagokkal és dokumentációval együtt. Ezenkívül még élõ rendszert is tudunk indítani vele, közvetlenül a lemezrõl. &os;-változat-RELEASE-architektúra-memstick.img Ez az image egy USB pendrive-ra írható, és minden olyan számítógépen használható, amely képes ilyen eszközrõl elindulni. Támogatja az élõ módot is, amellyel rendszerünket állíthatjuk helyre. Ez az image nem érhetõ el &os; 7.3 vagy korábbi rendszerek esetén. &os;-változat-RELEASE-architektúra-disc1.iso Ez az image tartalmazza az alap &os; operációs rendszert és a hozzá tartozó dokumentációt, de semmilyen más további csomagot nem. &os;-változat-RELEASE-architektúra-disc2.iso Ezen az image-en bináris csomagok találhatóak. Ilyen a &os; 8.0 és az utána következõ változatoknál már nincs. &os;-változat-RELEASE-architektúra-disc3.iso Ez egy másik image, amelyen szintén bináris csomagok találhatóak. Ilyen a &os; 8.0 és az utána következõ változatoknál már nincs. &os;-változat-RELEASE-architektúra-docs.iso A &os; dokumentációja. &os;-változat-RELEASE-architektúra-livefs.iso Ez az image a rendszerhelyreállításhoz használt élõ indítási módot támogatja, telepítést alapvetõen nem lehet vele végezni.
A &os; 7.3 és a &os; 8.1 elõtti 7.X, illetve 8.X kiadások egy ettõl eltérõ elnevezési sémát követnek: a hozzájuk tartozó ISO image-ek neveiben nem szerepel a &os;- elõtag. Le kell töltenünk az elsõ lemez vagy (ha elérhetõ) a bootonly lemez ISO image-einek egyikét. A kettõt egyszerre viszont ne töltsük le, mivel a disc1 image tartalmaz mindent, ami a bootonly image-en megtalálható. Akkor használjuk a bootonly jelzésû image-et, ha szélessávú interneteléréssel rendelkezünk. Segítségével el tudjuk kezdeni a &os; telepítését, és szükség szerint a port/csomagrendszer (lásd ) használatával csomagokat tudunk letölteni és telepíteni. A DVD image-ét (dvd1) akkor érdemes használni, ha a &os; adott kiadásának telepítése mellett igényt tartunk valamennyi csomagra is. A további lemezek image-ei is hasznosak lehetnek, de nem feltétlenül kellenek a telepítéshez, fõleg abban az esetben, amikor gyors interneteléréssel rendelkezünk.
A CD-k írása Ezután lemezekre kell írnunk a letöltött image-eket. Amennyiben ezt egy másik &os; rendszeren végezzük, ennek részleteirõl a számol be (különösen a és a leírása). Ha másik platformon végezzük ezt a mûveletet, akkor az adott platformon felkínált CD-író szoftverekkel kell dolgoznunk. Az image-ek szabványos ISO formátumúak, amelyet szinte az összes CD-író alkalmazás ismer.
Ha kíváncsiak vagyunk egy saját &os; kiadás elkészítésére, olvassuk el a kiadások szervezésérõl szóló cikket (angolul).
Helyi FTP oldal létrehozása &os; lemezzel telepítés hálózat FTP A &os; lemezeken az FTP oldalakéhoz hasonló elrendezést találunk. Ez megkönnyíti a hálózatunkban található számítógépekhez a &os; telepítésére használható helyi FTP oldal létrehozását. Az FTP oldalnak otthont adó &os; számítógépen tegyük a CD-t a meghajtóba, majd csatlakoztassuk a /cdrom könyvtárba. &prompt.root; mount /cdrom Hozzunk létre egy anonim FTP hozzáférést az /etc/passwd állományban. A &man.vipw.8; segítségével tehát illesszük be a következõ sort az /etc/passwd állományba: ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent Gondoskodjuk róla, hogy az FTP szolgáltatás engedélyezve legyen az /etc/inetd.conf állományban. Most már bárki, aki képes csatlakozni ehhez a számítógéphez, a telepítés típusának ki tudja választani az FTP-t. Az FTP oldalak menüjében válassza az Other (Egyéb) pontot, majd adja meg az ftp://gépnév címet. Ha az FTP-n csatlakozó kliensek rendszerindításhoz használt eszköze (általában a floppy) verziója nem egyezik meg tökéletesen a helyi FTP oldalon találhatóval, akkor a sysinstall nem engedi a telepítést. Ha a változatok nem hasonlóak és ezt felül akarjuk bírálni, akkor be kell lépnünk az Options (Beállítások) menübe, ahol át kell állítanunk a terjesztés nevét (distribution name) any (bármelyik)-re. A fenti megközelítés kizárólag csak egy tûzfallal védett helyi hálózaton javasolt. FTP szolgáltatás létrehozása az interneten (és nem a helyi hálózatunkban) levõ számítógépek számára különbözõ támadásoknak és egyéb kellemetlenségeknek teszi ki a számítógépünket. Határozottan javasoljuk, hogy ebben az esetben különösen ügyeljünk a biztonságra. Telepítõfloppyk létrehozása telepítés floppy Ha floppylemezrõl kellene telepítenünk (amit viszont semmiképpen sem ajánlanánk) egy nem támogatott hardvereszköz miatt, vagy mert egyszerûen szeretjük a dolgok nehezebbik oldalát megfogni, akkor ehhez elõször elõ kell készítenünk pár lemezt. Legalább annyi 1,44 MB-os lemezre van szükségünk, mint amennyire ráférnek a base (alapterjesztés) könyvtárban található állományok. Ha DOS-ban hozzuk létre ezeket a lemezeket, akkor a használatukhoz meg kell formázni ezeket az &ms-dos; FORMAT parancsával. &windows; használata esetén az Windows Explorerben (Intézõben) tudjuk megformázni a lemezeket (kattintsunk a jobb gombbal az A: meghajtóra, majd válasszuk a Format (Formázás) menüpontot). Ne bízzunk a gyárilag formázott (pre-formatted jelzésû) lemezekben! Menjünk biztosra és formázzuk meg mi magunk is lemezeket. A felhasználóinktól régebben számtalan olyan panasz érkezett, amely a helytelenül megformázott lemezbõl fakadt, ezért erre most kiemelten felhívjuk a figyelmet. A formázás abban az esetben sem bizonyul rossz ötletnek, ha egy másik &os; gépen gyártjuk le a lemezeket, habár nem kell mindegyik lemezre DOS állományrendszert tennünk. Helyette a bsdlabel és newfs parancsok használatával UFS állományrendszert is tehetünk rájuk, ahogy (1,44 MB méretû lemezek esetén) ezt az alábbi parancsok mutatják: &prompt.root; fdformat -f 1440 fd0.1440 &prompt.root; bsdlabel -w fd0.1440 floppy3 &prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0 Ezután a többi állományrendszerhez hasonlóan a lemezeket tudjuk csatlakoztatni és írni. Miután megformáztuk a lemezeket, rájuk kell másolnunk az állományokat. A terjesztésekhez tartozó állományokat adott méretû darabokra szeleteltük, így kényelmesen ráférnek egy hagyományos 1,44 MB méretû floppyra. Menjünk végig az összes floppyn és mindegyikre pakoljuk fel a lehetõ legtöbb állományt egészen addig, amíg így az összes szükséges terjesztést össze nem szedtük. A floppykon minden terjesztés kerüljön egy hozzá tartozó alkönyvtárba, például: a:\base\base.aa, a:\base\base.ab és így tovább. Az elsõ lemezre rá kell másolnunk a base.inf nevû állományt is, mivel ennek beolvasásával lesz képes kitalálni a telepítõ, hogy a terjesztések összeszedése és összefûzése során mennyi darabot keressen. Ahogy elérkezünk a telepítõeszköz kiválasztásához a telepítés folyamatában, ott válasszuk a Floppy menüpontot, majd utána kövessük a felbukkanó üzeneteket. Telepítés &ms-dos; partícióról telepítés MS-DOS partícióról Amikor egy &ms-dos; partícióról akarunk telepíteni, elõkészítés gyanánt másoljuk a terjesztésekhez tartozó állományokat a partícióra egy freebsd könyvtárba. Ez lesz például a c:\freebsd. Ebben a könyvtárban igyekezzük minél jobban megtartani a CD vagy az FTP oldal könyvtárszerkezetét, ezért erre a CD-rõl történõ átmásolásra a DOS xcopy parancsát javasoljuk. Például így tudjuk elõkészíteni a &os; legegyszerûbb változatának telepítését: C:\> md c:\freebsd C:\> xcopy e:\bin c:\freebsd\bin\ /s C:\> xcopy e:\manpages c:\freebsd\manpages\ /s A fentiekben feltételeztük, hogy ehhez a C: meghajtón elég szabad helyünk van, valamint az E: meghajtón érjük el a CD-t. Ha nincs CD-meghajtónk, az ftp.FreeBSD.org címrõl letölthetjük a terjesztésket. Minden egyes terjesztés külön könyvtárban található, tehát például a base (alap) terjesztés az &rel.current;/base/ könyvtárban található. Mindegyik telepítendõ terjesztést (ami még elfér) másoljuk át az &ms-dos; partíció c:\freebsd könyvtárába — a telepítéshez egyébként egyedül a BIN terjesztés szükséges. Telepítõszalag létrehozása telepítés QIC/SCSI-szalagról Valószínûleg a szalagos módszer a legegyszerûbb, egyfajta élõ FTP-s vagy CD-s telepítés. A telepítõprogram arra számít, hogy a szalagon az állományok egymás után helyezkednek el. Tehát miután beszereztük a nekünk kellõ terjesztésekhez tartozó összes állományt, egyszerûen vegyük fel ezeket a szalagra: &prompt.root; cd /freebsd/distdir &prompt.root; tar cvf /dev/rwt0 dist1 ... dist2 Mielõtt telepítenénk, ellenõrizzük, hogy legyen elég helyünk valamelyik (a telepítés során majd kiválasztható átmeneti) könyvtárban ahhoz, hogy az itt létrehozott szalag teljes tartalma elférjen benne. Mivel a szalagok csak szekvenciálisan érhetõek el, ezért ennél a módszernél jó sok ideiglenes tárhelyre lesz szükségünk. A telepítés megkezdése után a szalagnak már azelõtt a meghajtóban kell lennie, hogy rendszerindító floppyról elindítanánk a rendszert, máskülönben nem találja meg. Mielõtt hálózatról telepítenénk telepítés hálózat soros (PPP) telepítés hálózat párhuzamos (PLIP) telepítés hálózat Ethernet Háromféle hálózati telepítési mód létezik: Ethernet (szabványos Ethernet-vezérlõvel), soros port (PPP) vagy párhuzamos port (PLIP (laplink kábel)). Valószínûleg az Ethernet-csatlakozó választásával érjük el a leggyorsabb hálózati telepítést. A &os; ismeri a legtöbb PC-s Ethernet kártyát. Az ismert kártyák (és a hozzájuk tartozó beállítások) a &os; egyes kiadásának hardverjegyzékében (Hardware Notes) találhatóak meg. Amennyiben egy támogatott PCMCIA Ethernet kártyát használunk, mindig a laptop bekapcsolása elõtt helyezzük be! A &os; telepítés közben sajnos nem támogatja a PCMCIA kártyák menetközbeni behelyezését. Ezenkívül még ismernünk kell a hálózaton kapott IP-címünket, az általa használt címosztály hálózati maszkját, a gépünk nevét. Ha PPP kapcsolaton keresztül telepítünk és nincs statikus IP-címünk, akkor minden bizonnyal az internet-szolgáltatónktól kaptunk egyet dinamikusan. A konkrét hálózati beállításokat a hálózatunk rendszergazdájától is érdemes megkérdezni. Ha a hálózaton levõ többi gépre névvel és nem IP-címmel hivatkozunk, akkor szükségünk lesz még egy név(feloldó) szerverre és az internet eléréséhez egy átjáró címére is (ha PPP-t használunk, ez a szolgáltatónk IP-címe lesz). Ha FTP-rõl HTTP proxy használatával telepítünk, akkor a proxy címe is kelleni fog. Ha magunktól nem vagyunk képesek ezekre a kérdésekre válaszolni, akkor az ilyen típusú telepítés megkezdése elõtt tényleg segítséget kell kérnünk egy rendszergazdától vagy az internet-szolgáltatónktól. Ha modemet használunk, akkor a PPP szinte biztosan megfelel nekünk. Gondoskodjunk róla, hogy már a telepítés korai szakaszában rendelkezésünkre áll az internet-szolgáltatónkkal kapcsolatosan minden hasznos információ. Ha PAP vagy CHAP használatával kapcsolódunk a szolgáltatónkhoz (másképp szólva &windows;-ban így tudunk szkriptek nélkül csatlakozni), mindössze a dial parancsot kell kiadnunk a ppp parancssorában. Minden más esetben tudnunk kell a modemünk saját AT parancsaival tárcsázni az internet-szolgáltatónkat, hiszen ehhez a PPP tárcsázó csak egy nagyon kezdetleges terminálemulációt nyújt. Ezzel kapcsolatban olvassuk el a kézikönyv és a GYIK idevágó részeit. Ha gondjaink akadnának, a naplózás a set log local ... parancs kiadásával átirányítható közvetlenül a képernyõre. Ha kötött módon tudunk csatlakozni egy másik (2.0-R vagy késõbbi verziójú) &os; géphez, akkor megpróbálkozhatunk a párhuzamos laplink kábellel. A párhuzamos porton keresztüli adatátvitel sebessége a soros vonalénál jóval nagyobb (egészen 50 kbyte/mp), ezért vele a telepítés is gyorsabb. Mielõtt NFS-rõl telepítenénk telepítés hálózat NFS A telepítés NFS-en keresztül szinte magától értetõdik. Egyszerûen csak másoljuk a &os; terjesztéseihez tartozó állományokat az NFS szerverre és állítsuk be rá az NFS telepítõeszközt. Ha a szerver csak privilegizált portokat ismer (ami általában alapértelmezett a Sun munkaállomásoknál), a telepítés megkezdése elõtt az Options (Beállítások) menüben be kell állítani az NFS Secure (Biztonságos NFS) opciót. Ha egy gyenge minõségû és kis adatátviteli sebességû Ethernet kártyánk van, akkor emellett még hasznos lehet beállítani az NFS Slow (Lassú NFS) opciót is. Az NFS-en keresztüli telepítés mûködéséhez a szervernek támogatnia kell az alkönyvtárak csatlakoztatását is, tehát például ha a &os; &rel.current; terjesztésünk a ziggy:/usr/archive/stuff/FreeBSD könyvtárban található, akkor ziggy nevû gépnek lehetõvé kell tennie a /usr/archive/stuff/FreeBSD könyvtár közvetlen csatlakoztatását is, nem csak a /usr vagy /usr/archive/stuff könyvtárakét. A &os; /etc/exports állományában ezt az beállítással vezérelhetjük. Más NFS szervereken esetleg más megszokásokat kell követnünk. Amennyiben a szervertõl permission denied (hozzáférés megtagadva) üzeneteket kapjuk, valószínû, hogy ezt nem állítottuk be megfelelõen.
diff --git a/it_IT.ISO8859-15/books/handbook/install/chapter.xml b/it_IT.ISO8859-15/books/handbook/install/chapter.xml index 3fdb9b38d6..634d056073 100644 --- a/it_IT.ISO8859-15/books/handbook/install/chapter.xml +++ b/it_IT.ISO8859-15/books/handbook/install/chapter.xml @@ -1,5519 +1,5513 @@ Jim Mock Ristrutturato, riorganizzato, ed in parte riscritto da Randy Pratt Il tour guidato su sysinstall, e gli screenshot sono di Installazione di FreeBSD Sinossi installazione FreeBSD è fornito di un programma di installazione basato su testo, facile da usare, chiamato sysinstall. Questo è il programma di installazione di default di FreeBSD, sebbene i fornitori siano liberi di usare la loro suite di installazione se preferiscono. Questo capitolo descrive come usare sysinstall per installare FreeBSD. Dopo aver letto questo capitolo, saprai: Come creare i dischi di installazione di FreeBSD. Come FreeBSD fa riferimento, e suddivide i tuoi hard disk. Come far partire sysinstall. Le domande che sysinstall ti farà, cosa vogliono dire, e come rispondere. Prima di leggere capitolo, dovresti: Leggere la lista dell'hardware supportato inclusa nella versione di FreeBSD che stai installando, e verificare che il tuo hardware sia supportato. In generale, queste istruzioni di installazione sono scritte per computer con architettura &i386; (PC compatibile). Dove richiesto, saranno fornite istruzioni specifiche per altre piattaforme (ad esempio, Alpha). Sebbene questa guida sia aggiornata il più possibile, potresti trovare piccole differenze tra la procedura di installazione e quello che viene mostrato qui. È consigliato usare questo capitolo come una guida generale piuttosto che un manuale di installazione vero e proprio. Compiti Prima dell'Installazione Inventario del Tuo Computer Prima di installare FreeBSD dovresti fare un inventario dei componenti del tuo computer. Durante l'installazione di FreeBSD ti verranno mostrati tutti i componenti (hard disk, schede di rete, CDROM, e così via), il loro modello e chi li fabbrica. FreeBSD tenterá di determinare la configurazione corretta per i vari dispositivi, incluse le informazioni riguardo la corretta configurazione sia dell'IRQ che delle porte I/O da usare. A causa della varietà di hardware dei PC non è detto che il processo venga completato con successo, quindi potrai avere bisogno di modificare la tua configurazione. Se hai già un altro sistema operativo installato, ad esempio &windows; o Linux, potrebbe essere una buona idea vedere come è configurato l'hardware su quei sistemi operativi. Se non sei sicuro della configurazione usata da una certa scheda di espansione, potresti trovare la configurazione stampata sulla scheda stessa. I numeri IRQ più comuni sono 3, 5 e 7,e le porte di indirizzo I/O sono di norma scritte in numeri esadecimali, come 0x330. Raccomandiamo di scrivere o di stampare queste informazioni prima di installare FreeBSD. Può essere d'aiuto usare una tabella, come questa: Esempio di Inventario dei Dispositivi Nome Dispositivo IRQ porte di I/O Note Primo hard disk N/A N/A 40 GB, fabbricato da Seagate, primo IDE master CDROM N/A N/A Primo IDE slave Secondo hard disk N/A N/A 20 GB, fabbricato da IBM, secondo IDE master Primo controller IDE 14 0x1f0 Scheda di rete N/A N/A &intel; 10/100 Modem N/A N/A &tm.3com; 56K faxmodem, su COM1
Backup Dei Tuoi Dati Se il computer dove installerai FreeBSD contiene dati importanti, fai un backup dei dati, quindi verifica il backup prima di iniziare un'installazione di FreeBSD. La procedura di installazione di FreeBSD ti avviserà prima di scrivere dati sul tuo disco, ma una volta confermato il processo questo non può più essere annullato. Decidere Dove Installare FreeBSD Se vuoi usare l'intero disco per installare FreeBSD, puoi saltare tranquillamente questa sezione. Altrimenti, se vuoi che FreeBSD coesista con altri sistemi operativi allora hai bisogno di una conoscenza basilare di come i dati sono organizzati sul disco. Disposizione Del Disco per &i386; Un disco di un PC può essere suddiviso in diverse parti. Queste parti vengono chiamate partizioni. Per sua natura, un PC supporta solo quattro partizioni per disco. Queste partizioni sono chiamate partizioni primarie. Per aggirare questa limitazione e avere più di quattro partizioni, è stata progettata un nuovo tipo di partizione, la partizione estesa. Un disco può contenere una sola partizione estesa. All'interno di questa partizione estesa possono essere create partizioni speciali, chiamate partizioni logiche. Ogni partizione ha un'ID di partizione, che è un numero usato per identificare il tipo di dati nella partizione. L'ID di partizione di FreeBSD è 165. In generale, ogni sistema operativo che usi identificherà le sue partizioni in un modo particolare. Per esempio, il DOS, e i suoi discendenti, come &windows;, assegnano ad ogni partizione primaria e logica una lettera di dispositivo, cominciando con C:. FreeBSD deve essere installato su una partizione primaria. I dati di FreeBSD, inclusi i tuoi file, possono risiedere tutti su questa unica partizione. Comunque, se hai più dischi, puoi creare una partizione FreeBSD su tutti i dischi (o su parte di essi). Quando installi FreeBSD, devi avere una partizione disponibile. Questa potrebbe essere una nuova partizione che hai preparato, o potrebbe essere una partizione esistente che contiene dati che non ti interessano più. Se già usi tutte le partizioni di ogni tuo disco, dovrai liberare una partizione per FreeBSD utilizzando i programmi forniti dagli altri sistemi operativi che usi (es., fdisk su DOS o &windows;). Se hai una partizione libera puoi usare quella. Comunque, potresti avere la necessità di restringere una o più delle tue partizioni. Un'installazione minima di FreeBSD richiede un piccolo spazio di 100 MB sull'hard disk. Comunque, questa è proprio un'installazione minima, che non lascia molto spazio per altri tuoi file. Una partizione minima più realistica è di 250 MB, senza ambiente grafico, e di 350 MB o anche di più se vuoi un'interfaccia grafica. Se hai intenzione di installare diverso software di terze parti, avrai bisogno di molto più spazio. Puoi usare programmi commerciali come ad esempio &partitionmagic; o programmi free come GParted per ridimensionare le tue partizioni e creare spazio per FreeBSD. La directory tools sul CDROM contiene due software gratuiti che possono eseguire questo compito, FIPS e PResizer. La documentazione per entrambi questi strumenti è disponibile nella stessa directory. FIPS, PResizer, e &partitionmagic; possono ridimensionare partizioni FAT16 e FAT32 — usate da &ms-dos; fino a &windows; ME. Sia &partitionmagic; che GParted sono noti per maneggiare anche partizioni NTFS. L'uso scorretto di questi programmi può causare la perdita di dati nel tuo hard disk. Assicurati di avere un backup recente e funzionante prima di usare questi strumenti. Usare una Partizione Esistente Supponiamo che tu abbia un computer con un singolo disco di 4 GB con già installato una versione di &windows;, e che tu abbia suddiviso il disco in due lettere di dispositivo, C: e D:, ognuno dei quali ha dimensioni pari a 2 GB. Hai 1 GB di dati su C:, e 0.5 GB di dati su D:. Questo significa che il tuo disco ha due partizioni, una per lettera. Puoi copiare tutti i tuoi dati da D: a C:, in modo da liberare la seconda partizione, pronta per FreeBSD. Restringere una Partizione Esistente Supponiamo che tu abbia un computer con un singolo disco da 4 GB dove è già installata una versione di &windows;. Quando hai installato &windows; hai creato un'unica grande partizione, il dispositivo C: con capacità pari a 4 GB. Hai usato 1.5 GB di spazio, e vorresti usarne 2 GB per FreeBSD. Per installare FreeBSD hai due differenti possibilità: Fare il backup dei tuoi dati in &windows;, e installarlo di nuovo, occupando solamente 2 GB. Utilizzare uno strumento come &partitionmagic;, come descritto in precedenza, per restringere la partizione di &windows;. Disposizione del Disco per Alpha Alpha Dovrai dedicare un intero disco per FreeBSD su Alpha. Attualmente non è possibile condividere un disco con altri sistemi operativi. A seconda della macchina Alpha che possiedi, il disco può essere sia SCSI che IDE, sempre che la tua macchina sia capace di fare il boot da essi. Seguendo la convenzione dei manuali della Digital / Compaq tutti gli input SRM sono maiuscoli. SRM è case insensitive. Per determinare i nomi e i tipi dei dischi nella tua macchina, usa il comando SHOW DEVICE dal prompt della console SRM: >>>SHOW DEVICE dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476 dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658 dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015 dva0.0.0.0.1 DVA0 ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01 pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27 pqa0.0.0.4.0 PQA0 PCI EIDE pqb0.0.1.4.0 PQB0 PCI EIDE Questo esempio è stato preso da una Digital Personal Workstation 433au e mostra tre dischi collegati alla macchina. Il primo è un lettore CDROM chiamato DKA0, mentre gli altri due dischi sono chiamati rispettivamente DKC0 e DKC100. I nomi dei dischi del tipo DKx , sono dischi SCSI. Per esempio DKA100 è riferito al disco SCSI con ID 1 sul primo bus SCSI (A), mentre DKC300 si riferisce al disco SCSI con ID 3 sul terzo bus SCSI (C). Il nome del dispositivo PKx si riferisce all'adattatore SCSI. Come visto nell'output di SHOW DEVICE i CDROM SCSI sono trattati come dischi SCSI. I dischi IDE hanno un nome del tipo DQx, mentre ai nomi PQx sono associati i controller IDE. Raccogli i Dettagli di Configurazione della tua Rete Se intendi installare FreeBSD tramite una connessione di rete (per esempio, un'installazione tramite FTP, oppure un server NFS), allora dovrai conoscere la tua configurazione di rete. Ti verranno richieste queste informazioni durante l'installazione in modo che FreeBSD possa connettersi alla rete e completare l'installazione. Connessione a una Rete Ethernet o tramite un Modem Cable/DSL Se hai la possibilità di connetterti a una rete Ethernet, o se hai una connessione a Internet tramite un adattatore Ethernet via cavo o DSL, allora avrai bisogno delle seguenti informazioni: Indirizzo IP Indirizzo IP del gateway di default Il nome host (hostname) Indirizzi IP dei server DNS Maschera di Rete Se non conosci queste informazioni, puoi chiederle al tuo amministratore di sistema oppure al tuo provider. Potrebbero dirti che queste informazioni sono assegnate automaticamente, usando DHCP. Se così fosse, prendi nota. Connessione Tramite Modem Se ti connetti al tuo ISP usando un modem puoi installare FreeBSD da Internet, e questo richiederà molto tempo. In questo caso dovrai sapere: Il numero di telefono per la connessione del tuo ISP La porta COM: sulla quale il tuo modem è connesso Il nome utente e relativa password del tuo account dell'ISP Controllare i Possibili Errori di FreeBSD Post-Release Sebbene il progetto di FreeBSD si impegna per assicurare che ogni release di FreeBSD sia stabile il più possibile, può capitare che ogni tanto qualche bug sfugga durante il processo di costruzione della release. In rare occasioni questi bug interessano il processo di installazione. Non appena questi problemi sono scoperti e fixati, gli stessi sono segnalati nella FreeBSD Errata, che è possibile trovare sul sito web di FreeBSD. Dovresti verificare questo documento prima di iniziare l'installazione in modo tale da essere a conoscenza dei bug esistenti. Le informazioni sulle varie release, inclusi i vari errata per ogni release, possono essere trovati nella sezione informazioni di release sul sito web di FreeBSD. Ottenere i File di Installazione di FreeBSD Il processo di installazione di FreeBSD può installare FreeBSD prendendo file da una delle seguenti fonti: Media Locale Un CDROM o DVD Una partizione DOS sullo stesso computer Un nastro magnetico SCSI o QIC Floppy disk Rete Un sito FTP, passando attraverso un firewall, o usando un proxy HTTP, a seconda della necessità Un server NFS Una connessione parallela o seriale dedicata Se hai comprato il CD o il DVD di FreeBSD allora hai già tutto ciò che necessiti, e dovresti passare alla prossima sezione (). Se non ti sei procurato i file di installazione di FreeBSD dovresti saltare alla che spiega come prepararsi all'installazione di FreeBSD. Dopo aver letto quella sezione, puoi tornare indietro e leggere la . Preparare i Media per il Boot Il processo di installazione di FreeBSD ha inizio avviando il tuo computer nel programma di installazione di FreeBSD—non è un programma che puoi avviare da un altro sistema operativo. Normalmente il tuo computer fa il boot usando il sistema operativo installato sul tuo hard disk, ma puoi configurare il tuo computer affinchè faccia il boot da floppy disk avviabili. Inoltre la maggior parte dei computer odierni possono fare il boot da CDROM. Se possiedi FreeBSD su CDROM o su DVD (sia che l'hai comprato o preparato per conto tuo), ed il tuo computer consente di fare il boot da CDROM o DVD (solitamente tramite un'opzione del BIOS chiamata Boot Order o simili), allora puoi saltare questa sezione. Le immagini CDROM o DVD di FreeBSD sono avviabili e possono essere utilizzate per installare FreeBSD senza altre preparazioni particolari. Per creare un'immagine floppy avviabile, segui i seguenti passi : Ottenere l'Immagine Floppy Avviabile I dischi avviabili sono disponibili nel tuo media di installazione nella directory floppies/, inoltre possono essere scaricate dalla directory floppies/, ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/. Sostituisci <arch> e <version> rispettivamente con l'architettura e il numero di versione che vuoi installare. Per esempio, le immagini floppy avviabili per &os; &rel.current;-RELEASE per &i386; sono disponibili in . Le immagini floppy hanno l'estensione .flp. La directory floppies/ contiene diverse immagini, a seconda della versione di FreeBSD che vuoi installare, e in alcuni casi, a seconda dell'hardware che possiedi. Nella maggior parte dei casi avrai bisogno di tre floppy, boot.flp, kern1.flp, e kern2.flp. Consulta il file README.TXT che puoi trovare nella stessa directory al fine di avere maggiori informazioni riguardanti le immagine floppy. Possono essere necessari driver di dispositivi aggiuntivi per sistemi 5.X più vecchi di &os; 5.3. Queste driver sono forniti dall'immagine drivers.flp. Il tuo programma FTP deve usare la modalità binaria per poter scaricare queste immagini floppy. Alcuni browser web usano la modalità testo (chiamata anche ASCII), e ti accorgerai di questo se non riuscirai ad avviare da floppy. Preparare i Dischetti Floppy Devi preparare un disco floppy per ogni immagine che hai scaricato. Questi dischetti non devono avere difetti. Il metodo più semplice per verificare ciò è formattare i dischi. Non avere fiducia dei dischetti pre-formattati. Lo strumento di formattazione in &windows; non segnala l'eventuale presenza di blocchi danneggiati, semplicemente li segna come difettosi e li ignora. È consigliabile usare dei nuovi dischetti floppy se hai in mente di procedere con questo tipo di installazione. Se stai tentando di installare FreeBSD ed il programma di installazione crasha, freeza, o non procede come dovrebbe, la prima cosa da sospettare sono proprio i floppy. Prova a scrivere i file di immagine floppy su nuovi dischi e riprova. Scrivere i File Immagine sui Floppy Disk I file .flp non sono dei file regolari da copiare sul dischetto. Sono immagini di un contenuto completo di un dischetto. Questo significa che non puoi copiare semplicemente i file da un dischetto ad un altro. Invece, devi usare uno strumento specifico per scrivere le immagini direttamente sul dischetto. DOS Se stai creando i floppy su un computer con in esecuzione &ms-dos;/&windows;, allora puoi usare l'utility chiamata fdimage. Se vuoi usare le immagini che stanno nel CDROM, ed il CDROM è sul dispositivo E:, puoi impartire questo comando: E:\> tools\fdimage floppies\kern.flp A: Ripeti questo comando per ogni file .flp, sostituendo ogni volta il disco floppy, e poi assicurati di etichettare ogni floppy con il nome del file che hai copiato. Aggiusta il comando come necessario, a seconda di dove hai collocato i file .flp. Se non hai il CDROM, puoi scaricare fdimage dalla directory tools sul sito FTP di FreeBSD. Se stai creando i floppy su sistema &unix; (come un altro sistema FreeBSD) puoi usare il comando &man.dd.1; per scrivere i file immagine direttamente sul disco. Su FreeBSD, dovresti eseguire: &prompt.root; dd if=kern.flp of=/dev/fd0 Su FreeBSD, /dev/fd0 è riferito al primo floppy disk (il dispositivo A:). /dev/fd1 sarebbe il dispositivo B:, e cosi via. Altre varianti &unix; potrebbero avere nomi differenti per i dispositivi floppy disk, e se necessario consulta la documentazione del sistema che stai usando. Adesso sei pronto per iniziare ad installare FreeBSD.
Iniziare l'Installazione Per default, l'installazione non apporterà nessun cambiamento sul tuo disco (o dischi) fino a quando non vedi questo messaggio: Last Chance: Are you SURE you want continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! Il processo di installazione può essere sospeso in qualunque momento prima dell'avvertimento finale senza cancellare dati sul tuo hard disk. Se ti sei accorto di aver configurato qualcosa di sbagliato puoi ancora spegnere il computer prima di quel avvertimento, senza che venga creato alcun danno. Avvio Avvio per &i386; Iniziamo con il computer spento. Accendi il computer. Appena acceso dovrebbe visualizzare un'opzione per entrare nel menù di sistema, chiamato anche BIOS, solitamente tramite tasti come F2, F10, Del, o Alt S . Usa la combinazione di tasti indicata sullo schermo. In alcuni casi il tuo computer può visualizzare un'immagine durante la fase di avvio. In genere, premendo Esc l'immagine sparirà e sarai in grado di vedere i messaggi di avvio. Trova il settaggio che controlla da quali dispositivi il sistema tenta l'avvio. Di solito questo settaggio viene identificato con Boot Order e in genere mostra una lista di dispositivi, come Floppy, CDROM, First Hard Disk, e così via. Se vuoi partire con il boot da floppy, assicurati di avere selezionato il floppy disk come primo dispositivo di avvio. Se invece vuoi partire con il boot da CDROM allora seleziona questo come primo dispositivo di avvio. In caso di dubbio, puoi consultare il manuale che ti hanno dato assieme al computer, e/o con la scheda madre. Una volta apportato la modifica, salva ed esci dal BIOS. Il computer dovrebbe fare un riavvio. Se hai bisogno di preparare i floppy di boot, come descritto nella , allora uno di questi sarà il primo dischetto di boot, probabilmente quello contenente l'immagine kern.flp. Metti questo disco nel tuo floppy. Se vuoi fare il boot da CDROM, allora dovrai accendere il computer, e inserire il CDROM prima che puoi. Se il computer parte normalmente e carica il sistema operativo già esistente, allora: I dischi non sono stati inseriti prima dell'inizio della fase di avvio. Lasciali inseriti, e riavvia il computer. I recenti cambiamenti apportati nel BIOS non sono corretti. Dovresti rifare i passaggi fino a quando avrai successo. Il tuo BIOS non supporta il boot dal tuo media desiderato. FreeBSD si avvierà. Se hai scelto di partire da CDROM probabilmente vedrai schermate come queste (le informazioni sulla versione sono state omesse): Verifying DMI Pool Data ........ Boot from ATAPI CD-ROM : 1. FD 2.88MB System Type-(00) Uncompressing ... done BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive B: is disk1 BIOS drive C: is disk2 BIOS drive D: is disk3 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 0.8 /kernel text=0x277391 data=0x3268c+0x332a8 | | Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _ Se hai fatto il boot da floppy, vedrai simili informazioni sul tuo schermo (le informazioni sulla versione sono state omesse): Verifying DMI Pool Data ........ BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 0.8 /kernel text=0x277391 data=0x3268c+0x332a8 | Please insert MFS root floppy and press enter: Segui queste istruzioni, rimuovi il disco kern.flp, inserisci il disco mfsroot.flp, e premi Invio. &os; 5.3 e superiori hanno ulteriori dischi, come descritto nella sezione precedente. Avvia dal primo floppy; quando indicato, inserisci gli altri dischi. Indipendentemente se hai fatto il boot da floppy o da CDROM, il processo di avvio arriverà a questo punto: Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _ Aspetta dieci secondi o premi Invio Avvio per Alpha Alpha Iniziamo con il computer spento. Accendi il computer e attendi che arrivi al prompt di avvio. Se hai la necessità di preparare i floppy di avvio, come descritto nella allora uno di questi sarà il primo disco di avvio, probabilmente quello che contiene kern.flp. Inserisci questo disco nel tuo floppy e digita il seguente comando per avviare da dischetto (sostituisci il nome del tuo floppy se necessario): >>>BOOT DVA0 -FLAGS '' -FILE '' Se stai avviando da CDROM, inserisci il CDROM nel lettore e digita il seguente comando per avviare l'installazione (sostituisci il nome del lettore CDROM se necessario): >>>BOOT DKA0 -FLAGS '' -FILE '' In fase di avvio partirà FreeBSD. Se hai fatto il boot tramite floppy, ad un certo punto vedrai questo messaggio: Please insert MFS root floppy and press enter: Segui queste istruzioni e rimuovi il disco kern.flp, inserisci il disco mfsroot.flp, poi premi Invio. Indipendentemente se hai fatto il boot da floppy o da CDROM, il processo di avvio arriverà a questo punto: Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _ Puoi sia aspettate dieci secondi, oppure premere Invio. In questo modo verrà caricato il menù di configurazione del kernel. Rivedere i Risultati del Probe dei Dispositivi Le ultime cento righe che sono state visualizzate sullo schermo sono memorizzate e possono essere riviste. Per rivedere il buffer, premi Scroll Lock. Ti permetterà di scorrere nel video. Puoi usare i tasti freccia, oppure PageUp e PageDown per vedere i risultati. Premi di nuovo Scroll Lock per fermare lo scrolling. Usa questa tecnica per rivedere i messaggi che sono stati visualizzati quando il kernel ha effettuato il probe dei dispositivi. Vedrai del testo simile alla , anche se questo potrebbe essere diverso a seconda dei dispositivi che hai nel tuo computer.
Risultati Tipo del Probe dei Dispositivi avail memory = 253050880 (247120K bytes) Preloaded elf kernel "kernel" at 0xc0817000. Preloaded mfs_root "/mfsroot" at 0xc0817084. md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4 md1: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <iSA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci 0 usb0: <VIA 83572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1 uhub0: 2 ports with 2 removable, self powered pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3 dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir q 11 at device 8.0 on pci0 dc0: Ethernet address: 00:04:5a:74:6b:b5 miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10. 0 on pci0 ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/@ mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold plip0: <PLIP network interface> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33 acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4 Mounting root from ufs:/dev/md0c /stand/sysinstall running as init on vty0
Analizza attentamente i risultati del probe per assicurarti che FreeBSD ha trovato tutti i dispositivi che ti aspetti. Se non è stato trovato un dispositivo, allora questo non sarà in elenco. Se il driver del dispositivo richiede la configurazione di IRQ e indirizzi di porta allora assicurati di averli inseriti correttamente. Se hai la necessità di modificare dei settaggi per il probe dei dispositivi indicati nell'UserConfig, esci dal programma sysinstall e ricomincia da capo. Questo è anche un modo per prendere confidenza con il processo.
Selezionare l'Uscita di Sysinstall
Usa i tasti freccia per selezionare Exit Install dal menù principale di installazione. Ti apparirà il seguente messaggio: User Confirmation Requested Are you sure you wish to exit? The system will reboot (be sure to remove any floppies from the drives). [ Yes ] No Il programma d'installazione partirà nuovamente se il CDROM è ancora nel driver ed è selezionata &gui.yes;. Se hai avviato da floppy sarà necessario rimuovere il floppy mfsroot.flp e mettere kern.flp prima di riavviare.
Introduzione a Sysinstall L'utility sysinstall è l'applicazione di installazione fornita dal FreeBSD Project. È basata sulla console ed è suddivisa in diversi menù e schermate che puoi usare per configurare e controllare il processo di installazione. Il sistema a menù di sysinstall è governabile tramite i tasti freccia, Invio, Spazio, e altri tasti. Una descrizione dettagliata di questi tasti e ciò che essi fanno sono contenuti nel documento sull'uso di sysinstall. Per vedere queste informazioni, assicurati che sia evidenziata l'entry Usage e che sia selezionato il bottone [Select], come mostrato in , quindi premi Invio. In questo modo verranno visualizzate le istruzioni per usare il sistema a menù. Premi Invio per ritornare al menù principale.
Come Selezionare Usage dal Menù Principale di Sysinstall
Come Selezionare il Menù della Documentazione Dal menù principale, seleziona con i tasti freccia Doc e premi Invio.
Come Selezionare il Menù della Documentazione
Verrà mostrato il menù della documentazione.
Menù della Documentazione di Sysinstall
È importante leggere la documentazione. Per visualizzare un documento, selezionalo con i tasti freccia e premi Invio. Quando hai finito di leggere il documento, premi Invio per ritornare al menù della documentazione. Per ritornare al Menù di Installazione Principale, seleziona Exit con i tasti freccia e premi Invio.
Come Selezionare il Menù Tastiera Per cambiare la mappatura della tastiera, usa i tasti freccia per selezionare Keymap dal menù e premi Invio. Questo è richiesto solo se stati usando una tastiera non-standard o una tastiera non americana.
Menù Principale di Sysinstall
Una diversa mappatura della tastiera può essere selezionata nel menù usando i tasti freccia e premendo Spazio. Premi di nuovo Spazio per deselezionare la tua scelta. Quando hai finito, scegli &gui.ok; usando i tasti freccia e premi Invio. Nel successivo screen-shot ne viene mostrata una lista parziale. Se selezioni &gui.cancel; premendo Tab userai la mappatura di default e ritornerai al Menù dell'Installazione Principale.
Menù della Mappatura della Tastiera di Sysinstall
Schermata delle Opzioni di Installazione Seleziona Options e premi Invio.
Menù Principale di Sysinstall
Opzioni di Sysinstall
I valori di default sono adeguati per la maggior parte degli utenti e solitamente non necessitano modifiche. Il nome della release varierà a seconda della versione che si sta installando. La descrizione dell'elemento selezionato apparirà illuminato in blu in fondo alla schermata. Nota che una di queste opzioni è Use Defaults per resettare tutti i valori ai rispettivi valori di default. Premi F1 per leggere la schermata di aiuto delle varie opzioni. Premendo Q ritornerai al Menù di Installazione Principale.
Iniziare una Installazione Standard L'installazione Standard è raccomandata per i novizi &unix; o di FreeBSD. Usa i tasti freccia per selezionare Standard quindi premi Invio per cominciare l'installazione.
Iniziare l'Installazione Standard
Allocazione dello Spazio su Disco Prima di tutto devi allocare dello spazio su disco per FreeBSD, ed etichettare quello spazio in modo tale che sysinstall possa utilizzarlo. Per fare questo devi conoscere come FreeBSD si aspetta di trovare le informazioni sul disco. Numerazione dei Dispositivi nel BIOS Prima di installare e configurare FreeBSD sul tuo sistema, c'è una cosa importante che devi sapere, specialmente se hai più dischi. DOS Microsoft Windows In un PC con un sistema operativo dipendente dal BIOS come &ms-dos; o µsoft.windows;, il BIOS è in grado di ricavare il corretto ordine dei dischi, e il sistema operativo concorda con un eventuale cambiamento. Questo consente all'utente di effettuare il boot da un disco diverso dal master primario. Questo è conveniente soprattutto per alcuni utenti che hanno convenuto che il modo più semplice e conveniente per mantenere un sistema di backup è di comperare un secondo disco identico al primo, e effettuare consuete copie del primo disco sul secondo usando Ghost o XCOPY. Quindi, se il primo disco fa fiasco, è sotto le minacce di un virus, o è scarabocchiato da un'imperfezione del sistema operativo stesso, può essere facilmente recuperato istruendo il BIOS a swappare logicamente i due dischi. È come cambiare i cavi sui dischi, ma senza dover aprire il case. SCSI BIOS I sistemi più costosi con controller SCSI spesso includono delle estensioni del BIOS che consentono di riordinare i dischi SCSI in modo simile a quanto sopra esposto per un massimo di sette dispositivi. Un utente che è abituato ad usare queste caratteristiche può rimanere sorpreso quando vede che i risultati con FreeBSD non sono quelli che si aspettava. FreeBSD non usa il BIOS, e non sa nulla riguardo alla mappatura logica dei dispositivi del BIOS. Questo può portare a delle situazioni che lasciano perplessi, in particolar modo quando i dischi hanno un'identica geometria fisica, e sono dei clone di un altro disco. Quando si ha a che fare con FreeBSD, ripristinare sempre il BIOS alla numerazione naturale prima di installare FreeBSD, e lasciarla in quel modo. Se hai bisogno di scambiare i dispositivi, fallo, ma fallo fisicamente, aprendo il case e cambiando i cavi e jumper in modo opportuno. Un esempio di un'avventura insolita riguardo i File di Bill e Fred: Bill distrugge una vecchia box Wintel per fare una box FreeBSD per Fred. Bill installa un solo disco SCSI come l'unità zero SCSI ed installa FreeBSD su di esso. Fred inizia ad usare il sistema, ma dopo alcuni giorni nota che il vecchio disco SCSI riporta numerosi errori e riferisce questo fatto a Bill. Dopo un pò, Bill decide di risolvere la situazione, così prende un disco SCSI identico nella stanza dell'archivio di dischi. Una scansione iniziale indica che il disco funziona bene, dunque Bill installa questo disco come la quarta unità SCSI e crea una copia dell'immagine del disco zero nel disco quattro. Ora che il nuovo disco è installato e funziona bene, Bill decide che è una buona idea iniziare ad usarlo, quindi usa le funzionalità nel BIOS SCSI per riordinare i dischi in modo tale che il sistema effettui il boot dal disco quattro. FreeBSD viene avviato e funziona in modo corretto. Fred continua il suo lavoro per parecchi giorni, quando Bill e Fred decidono che è ora di una nuova avventura — tempo di aggiornare ad una nuova versione di FreeBSD. Bill rimuove l'unità SCSI zero perchè era un pò fiacca e la sostituisce con un'altra unità disco identica prendendola dall'archivio. Bill quindi installa la nuova versione di FreeBSD nella nuova unità SCSI zero usando i floppy FTP di Internet di Fred. L'installazione ha successo. Fred usa la nuova versione di FreeBSD per alcuni giorni, e si convince che è sufficientemente buona per usarla nel dipartimento di ingegneria. È ora di copiare tutto il suo lavoro della vecchia versione. Fred monta la quarta unità SCSI (l'ultima copia della vecchia versione di FreeBSD). Fred è costernato dal fatto che nulla del suo precedente lavoro è presente nella quarta unità SCSI. Dove sono andati i dati? Quando Bill ha fatto una copia dell'immagine dell'unità SCSI zero di origine sulla quarta unità SCSI, la quarta unità divenne un clone. Quando Bill ha riordinato il BIOS SCSI affinchè si poteva effettuare il boot dalla quarta unità SCSI, ha solo ingannato se stesso. FreeBSD stava ancora girando sull'unità SCSI zero. Questo tipo di modifica al BIOS farà in modo che tutto il codice di boot e del loader sia prelevato dal dispositivo indicato nel BIOS, ma quando i driver del kernel di FreeBSD prendono il controllo, la numerazione dei dispositivi del BIOS sarà ignorata, e FreeBSD considererà la numerazione standard dei dispositivi. Nel nostro esempio, il sistema ha continuato ad operare sull'unità SCSI zero originale, e tutti i dati di Fred erano lì, e non sulla quarta unità SCSI. Il fatto che il sistema sembrava in esecuzione sulla quarta unità SCSI era semplicemente un artificio delle aspettative umane. Siamo contenti di dire che nessun dato è stato cancellato o artefatto dalla scoperta di questo fenomeno. L'unità zero SCSI utilizzata in precedenza è stata recuperata dalla pila di hard disk, ed è stato recuperato tutto il lavoro di Fred, (e ora Bill sa che puè contare anche sull'unità zero). Sebbene siano stati utilizzati dispositivi SCSI in questo esempio, lo stesso concetto si applica ai dispositivi IDE. Come Creare le Slice con FDisk Tutte le modifiche che fai ora non saranno scritte su disco. Se pensi di aver fatto un errore e vuoi ricominciare dall'inizio puoi usare il menù di sysinstall per uscire e tentare un'altra volta o premere il tasto U per usare l'opzione Undo. Se sei confuso e non riesci a capire come uscire dall'applicazione puoi sempre riavviare il computer. Dopo aver scelto un'installazione standard in sysinstall ti verrà mostrato questo messaggio: Message In the next menu, you will need to set up a DOS-style ("fdisk") partitioning scheme for your hard disk. If you simply wish to devote all disk space to FreeBSD (overwriting anything else that might be on the disk(s) selected) then use the (A)ll command to select the default partitioning scheme followed by a (Q)uit. If you wish to allocate only free space to FreeBSD, move to a partition marked "unused" and use the (C)reate command. [ OK ] [ Press enter or space ] Premi Invio come segnalato. Ti verrà mostrato un elenco di tutti gli hard disk che il kernel ha trovato quando ha effettuato il probe dei dispositivi. La mostra un esempio con un sistema con due dischi IDE. Questi sono chiamati ad0 e ad2.
Come Selezionare il Dispositivo per FDisk
Ti potresti chiedere perchè ad1 non è elencato nella lista. Perchè è stato omesso? Considera ciò che succederebbe se hai due hard disk IDE, uno come master sul primo controller IDE, ed uno come master sul secondo controller IDE. Se FreeBSD li enumera come li trova, allora saranno ad0 e ad1. Ma se vuoi aggiungere un terzo hard disk, come dispositivo slave sul primo controller IDE, allora questo sarà ad1, ed il precedente ad1 diventerà ad2. Poichè i nome dei dispositivi (come ad1s1a) sono usati per determinare i filesystem, potresti improvvisamente scoprire che alcuni dei tuoi filesystem non appaiono più correttamente, e avrai necesità di modificare la tua configurazione di FreeBSD. Per aggirare questo problema, il kernel può essere configurato per denominare i dischi IDE in base alla loro posizione, e non in base all'ordine di rilevamento degli stessi. Con questo schema il disco master sul secondo controller IDE sarà sempre ad2, anche se non sono presenti i dispositivi ad0 e ad1. Questa configurazione è di default per il kernel di FreeBSD, ed è per questo che il display visualizza ad0 e ad2. La macchina sulla quale è stato preso questo screenshot aveva dischi IDE su entrambi i canali master dei controller IDE, e nessun disco sui canali slave. Dovresti selezionare il disco sul quale vuoi installare FreeBSD, poi premi &gui.ok;. Verrà avviato FDisk, con una schermata simile a quella nella . La schermata di FDisk è divisa in tre sezioni. La prima sezione, comprendente le prime due linee della schermata, mostra i dettagli dell'hard disk selezionato, includendo il nome di FreeBSD, la geometria del disco, e la sua capacità. La seconda sezione mostra le slice che sono attualmente sul disco, dove esse cominciano e dove finiscono, quanto sono grandi, il nome assegnato da FreeBSD, la loro descrizione ed il loro tipo. Questo esempio mostra due piccole slice inutilizzate, che sono uno degli artefatti degli schemi di progetto del PC. Mostra anche una grande slice FAT, che apparirà quasi certamente come C: in &ms-dos; / &windows;, ed una slice estesa, che può contenere altre lettere dei dispositivi per &ms-dos; / &windows;. La terza sezione mostra i comandi che sono disponibili in FDisk.
Partizioni Tipiche in Fdisk prima delle Modifiche
Cosa farai ora dipende da come vuoi splittare il tuo disco. Se vuoi usare FreeBSD su tutto il tuo disco (cancellerai tutti gli altri dati su questo disco quando confermerai in sysinstall che vuoi continuare il processo di installazione) allora premi A, che corrisponde all'opzione Use Entire Disk. Le slice esistenti saranno rimosse, e sostituite con una piccola area etichettata come unused (ancora, un artefatto della progettazione del disco del PC), e una grande slice per FreeBSD. Fatto questo, dovresti selezionare la slice di FreeBSD che hai appena creato usando i tasti freccia, e quindi premere S affinchè la slice sia avviabile. La schermata avrà un aspetto del tutto simile alla . Nota la A nella colonna dei Flag, che indica che la slice è active, e verrà avviata al boot. Se vuoi cancellare una slice esistente per fare spazio a FreeBSD allora devi selezionare la slice con i tasti freccia, e quindi premere D. Quindi premi C, e ti verrà chiesto la dimensione della slice che vuoi creare. Scegli la dimensione appropriata e premi Invio. Il valore predefinito in questo riquadro rappresenta la dimensione massima che la tua slice può avere, che potrebbe essere il blocco contiguo più lungo di spazio non ancora allocato oppure l'intero disco. Se hai già creato lo spazio per FreeBSD (magari usando un tool come &partitionmagic;) allora puoi premere C per creare una nuova slice. Di nuovo, ti verrà chiesta la dimensione della slice che vorresti creare.
Partizionare con Fdisk Usando l'Intero Disco
Quando hai finito, premi Q. Le tue modifiche saranno salvate da sysinstall, ma non saranno ancora applicate al disco.
Installare il Boot Manager Ora hai due scelte per installare il boot manager. In generale, potresti installare il boot manager di FreeBSD se: Hai più di un disco, ed hai installato FreeBSD su un disco diverso dal primo. Hai installato FreeBSD accanto ad un altro sistema operativo sullo stesso disco, e vorresti scegliere se avviare FreeBSD o l'altro sistema operativo quando accendi il computer. Se FreeBSD è il solo sistema operativo sulla macchina, installato sul primo hard disk, allora il boot manager Standard sarà sufficiente. Scegli None se stai usando un boot manager di terze parti capace di avviare FreeBSD. Fai la tua scelta e premi Invio.
Il Menù di Sysinstall del Boot Manager
Per l'aiuto in linea, puoi premere F1, dove troverai informazioni sui problemi che potresti incontrare quando tenti di condividere un hard disk tra più sistemi operativi.
Creare una Slice per un Altro Dispositivo Se hai più di un dispositivo, ritornerai alla schermata di Selezione dei Dispositivi dopo la scelta del boot manager. Se desideri installare FreeBSD su più di un disco, a questo punto puoi selezionare un altro disco e ripetere la fase di partizionamento usando FDisk. Se non stai installando FreeBSD sul primo dispositivo, allora il boot manager di FreeBSD deve essere installato su entrambi i dispositivi.
Uscire dalla Selezione dei Dischi
Con Tab puoi saltare tra l'ultimo disco selezionato, &gui.ok;, e &gui.cancel;. Premi Tab una volta per selezionare &gui.ok;, quindi premi Invio per continuare l'installazione.
Creare una Partizione Usando <application>Disklabel</application> Ora devi creare alcune partizioni all'interno di ogni slice che hai appena creato. Ricorda che ogni partizione è etichettata da lettere, dalla a fino alla h, e le partizioni b, c, e d hanno dei significati formali ai quali dovresti attenerti. Certe applicazioni possono trarre beneficio da alcuni schemi di partizioni particolari, soprattutto se le puoi collocare su più dischi. Comunque, per la tua prima installazione di FreeBSD, non hai bisogno di dare troppo peso a come partizionare il disco. È più importante che installi FreeBSD ed impari ad usarlo. Puoi sempre reinstallare FreeBSD per cambiare il tuo schema delle partizioni quando avrai più familiarità con il sistema operativo. Questo schema caratterizza quattro partizioni —una per lo swap, e le altre tre per i filesystem. Schema di Partizionamento per il Primo Disco Partizione filesystem Dimensione Descrizione a / 100 MB Questo è il filesystem root. Ogni altro filesystem sarà montato da qualche parte sotto di esso. 100 MB è una dimensione ragionevole per questo filesystem. Non memorizzerai troppi dati su di esso, per un'installazione regolare di FreeBSD ci saranno circa 40 MB di dati. Lo spazio rimanente è per i dati temporanei, e lascia anche una spazio di scorta nel caso in cui le versioni future di FreeBSD dovessero richiedere più spazio in /. b N/A 2-3 x RAM Lo spazio di swap del sistema è su questa partizione. Scegliere la giusta quantità di swap può non essere così semplice. Una buona regola è che il tuo spazio di swap dovrebbe essere due o tre volte maggiore della tua memoria fisica (RAM). Dovresti avere almeno 64 MB di swap, quindi se nel tuo computer hai meno di 32 MB di RAM allora setta lo swap a 64 MB. Se hai più di un disco puoi mettere lo spazio swap su ogni disco. FreeBSD userà ogni disco per lo swap, velocizzando le azioni di swapping. In questo caso, calcola l'ammontare totale di swap di cui necessiti (per esempio, 128 MB), e quindi dividi questo numero per il numero di dischi che hai (per esempio, due dischi) per ottenere l'ammontare di spazio che dovresti settare su ogni disco, in questo esempio, 64 MB di swap per ogni disco. e /var 50 MB La directory /var contiene dei file che variano costantemente; i file di log, e gli altri file di amministrazione. Molti di questi file sono letti o scritti frequentemente durante l'esecuzione giornaliera di FreeBSD. Mettere questi file su un altro filesystem consente a FreeBSD di ottimizzare l'accesso a questi file senza coinvolgere altri file in altre directory che non hanno lo stesso tipo di accesso. f /usr Il Resto del disco Tutti gli altri file saranno tipicamente memorizzati in /usr e sotto le sue sotto directory.
Se installi FreeBSD su più dischi devi creare anche delle partizioni nelle altre slice che configuri. La maniera più facile di fare questo è creare due partizioni su ogni disco, una per lo spazio di swap, ed una per il filesystem. Schema di Partizionamento per Dischi Successivi Partizione Filesystem Dimensione Descrizione b N/A Guarda la descrizione Come già discusso, puoi dividere lo swap su ogni disco. Anche se la partizione a è libera, per convenzione lo spazio swap sta nella partizione b. e /diskn Il resto del disco Il resto del disco è messo in una grande partizione. Questo potrebbe essere facilmente messo sulla partizione a, invece della partizione e. Comunque, la convenzione dice che la partizione a su una slice è riservata per il filesystem root (/). Non devi necessariamente seguire questa convenzione, ma sysinstall lo fa, e quindi se segui la convenzione avrai una installazione alla regola. Puoi scegliere di montare questo filesystem dove vuoi; in questo esempio si propone di montare i filesystem sotto le directory /diskn, dove n è un numero che cambia per ogni disco. Ma puoi usare un altro schema se preferisci.
Avendo scelto il tuo schema di partizionamento lo puoi creare con sysinstall. Vedrai questo messaggio: Message Now, you need to create BSD partitions inside of the fdisk partition(s) just created. If you have a reasonable amount of disk space (200MB or more) and don't have any special requirements, simply use the (A)uto command to allocate space automatically. If you have more specific needs or just don't care for the layout chosen by (A)uto, press F1 for more information on manual layout. [ OK ] [ Press enter or space ] Premi Invio per avviare l'editor delle partizioni di FreeBSD, chiamato Disklabel. La mostra la schermata quando avvii Disklabel. Il display è diviso in tre sezioni. Le prime linee mostrano il nome del disco sul quale stai lavorando attualmente, e la slice che contiene le partizioni che stai creando (a questo punto Disklabel usa il termine Nome della Partizione piuttosto che nome della slice). Questa schermata mostra anche la quantità di spazio libero nella slice; cioè lo spazio che è stato allocato per la slice, anche se ancora non è stato assegnato ad una partizione. Al centro della schermata sono mostrate le partizioni che sono state create, il nome del filesystem che ogni partizione contiene, la loro dimensione, ed alcune opzioni attinenti alla creazione del filesystem. La parte bassa dello schermo mostra le combinazioni di tasti valide in Disklabel.
Editor di Disklabel in Sysinstall
Disklabel può creare automaticamente le partizioni ed assegnare loro una dimensione di default. Prova questa funzione premendo A. Vedrai una schermata simile a quella mostrata in . A seconda della dimensione del disco che stai usando, i valori di default potrebbero essere differenti. Questo non è fatale, poichè puoi anche non accettare i valori di default . Il partizionamento di default predispone alla directory /tmp una propria partizione al posto di essere inclusa nella partizione /. Questo evita il possibile riempimento della partizione / con i file temporanei.
L'Editor Disklabel di Sysinstall con i Valori di Default
Se scegli di non usare le partizioni di default e desideri sostituirle con quelle che vuoi tu, usa i tasti freccia per selezionare la prima partizione, e premi D per cancellarla. Ripeti questa operazione per cancellare tutte le partizioni che ritieni opportune. Per creare la prima partizione (a, montata come / — root), assicurati che sia selezionata in cima allo schermo la slice corretta e premi C. Apparirà una finestra di dialogo per inserire la dimensione della nuova partizione (come mostrato nella ). Puoi immettere la dimensione come il numero di blocchi del disco che vuoi usare, o come un numero seguito da M per megabyte, da G per gigabyte, da C per cilindri. A partire da FreeBSD 5.X, gli utenti possono: selezionare UFS2 (che è di default per &os; 5.1 e superiori) usando l'opzione Custom Newfs (Z), creare le etichette con Auto Defaults e modificarle con l'opzione Custom Newfs oppure aggiungendo durante la normale fase di creazione. Non dimenticare di aggiungere per SoftUpDate se vuoi usare l'opzione Custom Newfs
Spazio per la Partizione Root
La grandezza di default mostrata creerà una partizione che prende il resto della slice. Se stai usando le dimensioni di partizioni usate nell'esempio precedente, allora cancella la figura esistente usando Backspace, e poi digita 64M, come è mostrato in . Poi premi &gui.ok;.
Modifica della Dimensione della Partizione di Root
Dopo aver scelto la dimensione della partizione ti verrà chiesto se la partizione conterrà una filesystem o uno spazio di swap. La finestra di dialogo è mostrata nella . La prima partizione conterrà un filesystem, quindi assicurati che sia selezionato FS e premi Invio.
Scelta del Tipo della Partizione Root
Alla fine, poichè stai creando un filesystem, devi dire a Disklabel dove sarà montato il filesystem. La finestra di dialogo è mostrata nella . Il punto di mount del filesystem root è /, dunque digita /, e poi premi Invio.
Scelta del Punto di Mount della Root
Lo schermo sarà aggiornato e ti mostrerà la partizione appena creata. Devi ripete questa procedura per le altre partizioni. Quando crei la partizione di swap, non ti verrà richiesto di inserire il punto di mount del filesystem, poichè le partizioni di swap non sono mai montate. Quando crei l'ultima partizione, /usr, puoi lasciare la dimensione suggerita, per usare il rimanente spazio della slice. La schermata finale dell'Editor DiskLabel di FreeBSD sarà simile alla , sebbene i valori scelti potrebbero essere differenti. Premi Q per finire.
L'Editor Disklabel di Sysinstall
Scegliere Cosa Installare Scegliere il Tipo di Distribuzione Scegliere quale tipo di distribuzione installare dipenderà in maggior parte dall'uso del sistema e di quanto spazio hai disponibile. Le opzioni predefinite spaziano da installare la configurazione più leggera possibile fino ad arrivare ad installare ogni cosa. Quelli che sono nuovi di &unix; e/o di FreeBSD dovrebbero quasi certamente selezionare una di queste opzioni inscatolate. La personalizzazione di un tipo di distribuzione è roba da utenti un pò più esperti. Premi F1 per avere più informazioni sulle opzioni del tipo di distribuzione e ciò che contengono. Quando hai finito con l'help, premendo Invio ritornerai al Menu di Selezione della Distribuzione. Se desideri un'interfaccia grafica allora dovresti scegliere un tipo di distribuzione preceduto da una X. La configurazione del server X e la selezione di un desktop di default deve essere fatta dopo l'installazione di &os;. Maggiori informazioni riguardo la configurazione di un server X possono essere trovate nel . La versione di default di X11 che viene installata dipende dalla versione di FreeBSD che stai installando. Per le versioni di FreeBSD precedenti alla 5.3, viene installato &xfree86; 4.X. Per &os; 5.3 e successive, viene installato di default &xorg;. Se pensi di compilare un kernel custom, seleziona un'opzione che include il codice sorgente. Per altre informazioni sul perchè dovrebbe essere costruito un kernel custom o su come costruirlo, guarda il . Ovviamente, il sistema più versatile è quello che include tutto. Se c'è abbastanza spazio su disco, seleziona All come mostrato nella usando i tasti freccia e premi Invio. Se hai qualche preoccupazione per lo spazio di disco usa un'opzione che ti è più conveniente per la tua situazione. Non cercare la scelta perfetta, poichè potrai aggiungere altre distribuzioni anche dopo l'installazione.
Scegliere le Distribuzioni
Installare la Collezione dei Port Dopo aver selezionato la distribuzione desiderata, ti viene data l'opportunità di installare la FreeBSD Port Collection. La collezione dei port è un modo semplice e conveniente di installare software. La collezione dei port non contiene il codice sorgente necessario per compilare il software. Invece, è una collezione di file che automatizza il download, la compilazione e l'installazione delle applicazioni di terze-parti. Il discute su come usare la collezione dei port. Il programma di installazione non verifica se hai lo spazio adeguato. Scegli questa opzione soltanto se hai uno spazio sul disco rigido sufficiente. Per FreeBSD &rel.current;, la FreeBSD Ports Collection occupa circa &ports.size; di spazio su disco. Puoi assumere un valore più grande per le versioni di FreeBSD più recenti. User Confirmation Requested Would you like to install the FreeBSD ports collection? This will give you ready access to over &os.numports; ported software packages, at a cost of around &ports.size; of disk space when "clean" and possibly much more than that if a lot of the distribution tarballs are loaded (unless you have the extra CDs from a FreeBSD CD/DVD distribution available and can mount it on /cdrom, in which case this is far less of a problem). The ports collection is a very valuable resource and well worth having on your /usr partition, so it is advisable to say Yes to this option. For more information on the ports collection & the latest ports, visit: http://www.FreeBSD.org/ports [ Yes ] No Seleziona &gui.yes; con i tasti freccia per installare la collezione dei port, oppure &gui.no; per saltare questa opzione. Premi Invio per continuare. Verrà visualizzato il menu della scelta della distribuzione.
Conferma della Distribuzione
Se sei soddisfatto delle opzioni, seleziona Exit con i tasti freccia, assicurati che &gui.ok; sia selezionato, quindi premi Invio per continuare.
Scegli il Tuo Media di Installazione Se vuoi installare da CDROM o da DVD, usa i tasti freccia per evidenziare Install from a FreeBSD CD/DVD. Assicurati che &gui.ok; sia evidenziato, e poi premi Invio per procedere con l'installazione. Per gli altri metodi di installazione, scegli l'opzione appropriata e segui le istruzioni. Premi F1 per visualizzare l'help in linea sui media di installazione. Premi Invio per tornare al menù di selezione dei media.
Scelta del Media di Installazione
Modi di Installazione via FTP installazione network FTP Ci sono tre modi di installazione via FTP che puoi scegliere: FTP attivo, FTP passivo, o via un proxy HTTP. FTP Attivo: Install from an FTP server Questa opzione farà tutti i trasferimenti FTP usando la modalità Attiva. Questa modalità non funzionerà attraverso i firewall, ma funzionerà con server FTP vecchi che non supportano la modalità passiva. Se la tua connessione ha problemi con la modalità passiva (il default), prova quella attiva! FTP Passivo: Install from an FTP server through a firewall FTP modalità passivo Questa opzione istruisce sysinstall ad usare la modalità Passiva per tutte le operazioni FTP. Questo consente all'utente di passare attraverso firewall che non permettono connessioni in entrate su porte TCP random. FTP tramite un proxy HTTP: Install from an FTP server through a http proxy FTP tramite proxy HTTP Questa opzione istruisce sysinstall a usare il protocollo HTTP (come un browser web) per connettersi a un proxy per tutte le operazioni FTP. Il proxy tradurrà le richieste e invierà loro al server FTP. Questo permette all'utente di passare attraverso i firewall che non permettono FTP del tutto, ma offrono un proxy HTTP. In questo caso, devi specificare il proxy oltre al server FTP. Per un proxy FTP server, dovresti di solito dare il nome del server che realmente vuoi come parte del nome utente, seguito dal carattere @. Il server proxy quindi raggira il server reale. Per esempio, assumiamo che vuoi installare da ftp.FreeBSD.org, usando il server proxy FTP foo.example.com, in ascolto sulla porta 1024. In questo caso, vai alle opzioni del menù, setta il nome utente FTP come ftp@ftp.FreeBSD.org, e il tuo indirizzo email come password. Come media di installazione, specifica FTP (o FTP passivo, se il proxy lo supporta), e l'URL ftp://foo.example.com:1234/pub/FreeBSD. Poichè /pub/FreeBSD da ftp.FreeBSD.org è proxato sotto foo.example.com, sei in grado di installare da questa macchina (che prenderà i file da ftp.FreeBSD.org richiesti dall'installazione).
Procedere con l'Installazione Se lo desideri l'installazione può ora procedere. Questa è anche l'ultima opportunità per interrompere l'installazione per impedire cambiamenti al disco. User Confirmation Requested Last Chance! Are you SURE you want to continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! [ Yes ] No Seleziona &gui.yes; e premi Invio per procedere. Il tempo di installazione varierà a seconda della distribuzione che hai scelto, dei media di installazione, e della velocità del computer. Verranno visualizzati una serie di messaggi indicanti lo stato. L'installazione è completa quando viene visualizzato il seguente messaggio: Message Congratulations! You now have FreeBSD installed on your system. We will now move on to the final configuration questions. For any option you do not wish to configure, simply select No. If you wish to re-enter this utility after the system is up, you may do so by typing: /stand/sysinstall . [ OK ] [ Press enter to continue ] Premi Invio per procedere con la configurazione post-installazione. Seleziona &gui.no; e premi Invio per interrompere l'installazione in modo tale che nessuna modifica venga effettuata sul tuo sistema. Apparirà il seguente messaggio Message Installation complete with some errors. You may wish to scroll through the debugging messages on VTY1 with the scroll-lock feature. You can also choose "No" at the next prompt and go back into the installation menus to retry whichever operations have failed. [ OK ] Questo messaggio viene visualizzato quando non installi nulla. Premi Invio per ritornare al menù di installazione principale per uscire dall'installazione. Post-installazione Dopo una corretta installazione segue la configurazione di varie opzioni. Un'opzione può essere configurata rientrando nelle opzioni di configurazione prima dell'avvio del nuovo sistema FreeBSD o dopo l'installazione usando sysinstall (/stand/sysinstall nelle versioni di &os; prima della 5.2) e selezionando Configure. Configurazione del Dispositivo di Rete Se hai configurato precedentemente PPP per l'installazione FTP, questa schermata non sarà visualizzata ora ma puoi configurarlo più avanti come descritto sotto. Per informazioni dettagliate riguardo alla LAN e alla configurazione di FreeBSD come gateway/router fai riferimento al capitolo Networking Avanzato. User Confirmation Requested Would you like to configure any Ethernet or SLIP/PPP network devices? [ Yes ] No Per configurare un dispositivo di rete, seleziona &gui.yes; e premi Invio. Altrimenti, seleziona &gui.no; per continuare.
Selezione del Dispositivo Ethernet
Seleziona con i tasti freccia l'interfaccia che deve essere configurata e premi Invio. User Confirmation Requested Do you want to try IPv6 configuration of the interface? Yes [ No ] In questa LAN privata, il corrente protocollo di Internet (IPv4) era già sufficiente e è stato selezionato &gui.no; con i tasti freccia ed è stato premuto Invio. Se sei connesso ad una rete IPv6 già esistente con un server RA, puoi selezionare &gui.yes; e premere Invio. Lo scan dei server RA impiegherà un pò di secondi. User Confirmation Requested Do you want to try DHCP configuration of the interface? Yes [ No ] Se il DHCP (Dynamic Host Configuration Protocol) non è usato seleziona &gui.no; con i tasti freccia e premi Invio. Selezionando &gui.yes; si avvierà dhclient, e se tutto va bene, setterà in automatico le informazioni sulla configurazione della rete. Fai riferimento alla per altre informazioni. La seguente schermata di configurazione della rete mostra la configurazione di un dispositivo Ethernet per un sistema che funzionerà da gateway per una LAN.
Settare la Configurazione di Rete per ed0
Usa il Tab per selezionare i campi e riempili con le giuste informazioni: Host Il nome host assoluto, come k6-2.example.com in questo caso. Domain Il nome del dominio nel quale si trova la tua macchina, come example.com in questo caso. IPv4 Gateway L'indirizzo IP dell'host che inoltra i pacchetti verso destinazioni non locali. Devi settarlo se la tua macchina è un nodo di una rete. Lascia questo campo vuoto se la macchina è il gateway di Internet per la rete. Il gateway IPv4 è anche conosciuto come il gateway di default o l'instradamento di default. Name server L'indirizzo IP del tuo server DNS locale. Su questa lan privata non c'è un server DNS locale quindi è stato usato l'indirizzo IP del server DNS del provider (208.163.10.2). IPv4 address L'indirizzo IP in uso su questa interfaccia è 192.168.0.1 Netmask Il blocco di indirizzi in uso per questa lan è un blocco di classe C (192.168.0.0 - 192.168.255.255). La netmask di default per una rete di classe C è (255.255.255.0). Extra options to ifconfig Altre opzioni di ifconfig per l'interfaccia di rete che potresti voler aggiungere. In questo caso nessuna. Usa il Tab per selezionare &gui.ok; quando hai finito e poi premi Invio. User Confirmation Requested Would you like to Bring Up the ed0 interface right now? [ Yes ] No Selezionando &gui.yes; e premendo Invio si porterà la macchina all'interno della rete pronta per l'uso. Comunque, questo non è fondamentale durante l'installazione, poichè la macchina deve essere riavviata.
Configurare Il Gateway User Confirmation Requested Do you want this machine to function as a network gateway? [ Yes ] No Se la macchina dovrà essere utilizzata come gateway per una LAN inoltrando pacchetti tra altre macchine allora seleziona &gui.yes; e premi Invio. Se la macchina è un nodo di una rete allora seleziona &gui.no; e premi Invio per continuare. Configurare I Servizi di Internet User Confirmation Requested Do you want to configure inetd and the network services that it provides? Yes [ No ] Se selezioni &gui.no;, diversi servizi tipo telnetd non saranno avviati. Questo significa che gli utenti remoti non saranno in grado di fare una sessione telnet su questa macchina. Gli utenti locali saranno tuttavia in grado di accedere alla macchina con telnet. Questi servizi possono essere avviati dopo l'installazione editando /etc/inetd.conf con l'editor di testo che preferisci. Leggi la per più informazioni. Seleziona &gui.yes; se desideri configurare questi servizi durante l'installazione. Ti verrà proposta un'ulteriore conferma: User Confirmation Requested The Internet Super Server (inetd) allows a number of simple Internet services to be enabled, including finger, ftp and telnetd. Enabling these services may increase risk of security problems by increasing the exposure of your system. With this in mind, do you wish to enable inetd? [ Yes ] No Seleziona &gui.yes; per continuare. User Confirmation Requested inetd(8) relies on its configuration file, /etc/inetd.conf, to determine which of its Internet services will be available. The default FreeBSD inetd.conf(5) leaves all services disabled by default, so they must be specifically enabled in the configuration file before they will function, even once inetd(8) is enabled. Note that services for IPv6 must be separately enabled from IPv4 services. Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to use the current settings. [ Yes ] No Scegliendo &gui.yes; ti sarà consentito aggiungere servizi eliminando # all'inizio delle relative linee.
Editare <filename>inetd.conf</filename>
Dopo che hai aggiunto i servizi desiderati, premendo Esc ti verrà mostrato un menù che ti consente di uscire salvando i cambiamenti che hai apportato.
FTP Anonimo FTP anonimo User Confirmation Requested Do you want to have anonymous FTP access to this machine? Yes [ No ] Negare l'FTP Anonimo Selezionando &gui.no; e premendo Invio consentirai a chi ha un account con password di usare l'FTP per accedere alla macchina. Consentire l'FTP anonimo Chiunque può accedere alla tua macchina se permetti connessioni FTP anonime. Dovrebbero essere considerate alcune implicazioni di sicurezza prima di abilitare questa opzione. Per altre informazioni sulla sicurezza guarda il . Per consentire l'FTP anonimo, usa i tasti freccia e seleziona &gui.yes; e premi Invio. Ti verrà visualizzato il seguente messaggio:
Configurazione FTP Anonima di default
Premendo F1 visualizzerai l'help in linea: This screen allows you to configure the anonymous FTP user. The following configuration values are editable: UID: The user ID you wish to assign to the anonymous FTP user. All files uploaded will be owned by this ID. Group: Which group you wish the anonymous FTP user to be in. Comment: String describing this user in /etc/passwd FTP Root Directory: Where files available for anonymous FTP will be kept. Upload subdirectory: Where files uploaded by anonymous FTP users will go. Di default la directory root dell'ftp sarà /var. Se prevedi che lo spazio FTP non sia sufficiente, potresti usare la directory /usr settando la directory root dell'FTP a /usr/ftp. Quando sei soddisfatto delle modifiche, premi Invio per continuare. User Confirmation Requested Create a welcome message file for anonymous FTP users? [ Yes ] No Se selezioni &gui.yes; e premi Invio, verrà avviato un editor che ti permetterà di modificare il messaggio di benvenuto.
Editare il Messaggio di Benvenuto dell'FTP
L'editor è ee. Usa le istruzioni per cambiare il messaggio oppure cambia il messaggio più tardi usando un editor di testo a tua scelta. Nota il nome/locazione del file in fondo alla schermata dell'editor. Premendo Esc un menù pop-up ti sceglierà di default a) leave editor. Premi Invio per uscire e continuare. Premi di nuovo Invio per salvare gli eventuali cambiamenti.
Configurare NFS (Network File System) NFS (Network File System) consente la condivisione di file attraverso una rete. Una macchina può essere configurata come server, client, o entrambi. Fai riferimento alla per altre informazioni. Server NFS User Confirmation Requested Do you want to configure this machine as an NFS server? Yes [ No ] Se non c'è bisogno di un server NFS, seleziona &gui.no; e premi Invio. Se scegli &gui.yes;, ti apparirà un messaggio che dice che il file exports deve essere creato. Message Operating as an NFS server means that you must first configure an /etc/exports file to indicate which hosts are allowed certain kinds of access to your local filesystems. Press [Enter] now to invoke an editor on /etc/exports [ OK ] Premi Invio per continuare. Verrà avviato un editor di testo al fine di creare ed editare il file exports.
Editare <filename>exports</filename>
Usa le istruzione per aggiungere i filesystem che desideri esportare oppure fallo dopo l'installazione con il tuo editor preferito. Nota il nome/locazione del file in fondo alla schermata dell'editor. Premi Invio e ti verrà mostrato un menù con selezionato a) leave editor. Premi Invio per uscire e continuare.
Client NFS Il client NFS consente alla tua macchina di accedere ai server NFS. User Confirmation Requested Do you want to configure this machine as an NFS client? Yes [ No ] Con i tasti freccia, seleziona &gui.yes; o &gui.no; come desiderato e premi Invio.
Profilo della Sicurezza Un profilo della sicurezza è un insieme di opzioni di configurazione che tentano di raggiungere il desiderato rapporto sicurezza/convenienza abilitando o disabilitando certi programmi e settaggi. Con il profilo di sicurezza più severo, pochi programmi saranno abilitati di default. Questo è uno dei principi basi per la sicurezza: non mandare in esecuzione nulla se non quello che usi. Per cortesia nota che il profilo di sicurezza è giusto una configurazione di default. Tutti i programmi possono essere abilitati o disabilitati dopo che hai installato FreeBSD modificando o aggiungendo le appropriate linee in /etc/rc.conf. Per altre informazioni, consulta la magina man &man.rc.conf.5;. La seguente tabella descrive la configurazione di ogni profilo di sicurezza. Le colonne sono i profili di sicurezza che puoi scegliere, e le righe sono i programmi o le caratteristiche che il rispettivo profilo abilita o disabilita. Profili di sicurezza disponibili Extreme Moderate &man.sendmail.8; NO SI &man.sshd.8; NO SI &man.portmap.8; NO - FORSE - - Il portmapper è abilitato se la macchina è + FORSE (Il portmapper è abilitato se la macchina è stata configurata in precedenza come un client o server - NFS. - + NFS.) NFS server NO SI &man.securelevel.8; - YES - - Se hai scelto un profilo di sicurezza che regola + YES (Se hai scelto un profilo di sicurezza che regola il securelevel a Extreme o High, devi essere consapevole delle implicazioni. Per favore leggi prima la pagina man &man.init.8; e poni particolare attenzione al significato dei livelli di sicurezza, o potresti incontrare grossi - problemi in seguito! - + problemi in seguito!) NO
User Confirmation Requested Do you want to select a default security profile for this host (select No for "medium" security)? [ Yes ] No Selezionando &gui.no; e premendo Invio setterai il profilo di sicurezza su medio. Selezionando &gui.yes; e premendo Invio ti sarà consentito selezionare un diverso profilo di sicurezza.
Opzioni del Profilo di Sicurezza
Premi F1 per visualizzare l'help in linea. Premi Invio per ritornare al menù di selezione. Usa i tasti freccia per scegliere Medium a meno di essere sicuro che necessiti di un altro livello di sicurezza. Con &gui.ok; selezionato, premi Invio. Verrà visualizzato un messaggio di conferma a seconda del settaggio di sicurezza che hai scelto. Message Moderate security settings have been selected. Sendmail and SSHd have been enabled, securelevels are disabled, and NFS server setting have been left intact. PLEASE NOTE that this still does not save you from having to properly secure your system in other ways or exercise due diligence in your administration, this simply picks a standard set of out-of-box defaults to start with. To change any of these settings later, edit /etc/rc.conf [OK] Message Extreme security settings have been selected. Sendmail, SSHd, and NFS services have been disabled, and securelevels have been enabled. PLEASE NOTE that this still does not save you from having to properly secure your system in other ways or exercise due diligence in your administration, this simply picks a more secure set of out-of-box defaults to start with. To change any of these settings later, edit /etc/rc.conf [OK] Premi Invio per continuare con la post-installazione. Il profilo di sicurezza non è una soluzione miracolosa! Anche se usi il settaggio estremo, devi stare al passo con i problemi di sicurezza leggendo la mailing lista appropriata (), usando ottime password e frasi-password, e attenendosi alle comuni prassi di sicurezza. Qui semplicemente setti il desiderato rapporto sicurezza/convenienza della macchina.
Settaggio della Console di Sistema Ci sono parecchie opzioni disponibili per personalizzare la console di sistema. User Confirmation Requested Would you like to customize your system console settings? [ Yes ] No Per vedere e configurare le opzioni, seleziona &gui.yes; e premi Invio.
Opzioni di Configurazione della Console di Sistema
Un'opzione comunemente usata è lo screen saver. Usa i tasti freccia per selezionare Saver e premi Invio.
Opzioni dello Screen Saver
Scegli lo screen saver che desideri usando i tasti freccia e quindi premi Invio. Verrà mostrato il menù di Configurazione della Console di Sistema. Il tempo di inattesa di default è di 300 secondi. Per modificare l'intervallo di tempo, seleziona Saver di nuovo. Nel menù delle opzioni dello Screen Saver, seleziona Timeout usando i tasti freccia e premi Invio. Verrà mostrato un menù:
Timeout dello Screen Saver
Puoi cambiare il valore, quindi seleziona &gui.ok; e premi Invio per ritornare al menù di Configurazione della Console di Sistema.
Uscire dalla Configurazione della Console di Sistema
Selezionando Exit e premendo Invio continuerai con le configurazioni post-installazione.
Regolazione della Zona di Fuso Orario Il settaggio della zona di fuso orario per la tua macchina ti consentirà di correggere automaticamente i cambiamenti di tempo regionali e di realizzare altre funzioni relative al fuso orario. L'esempio mostrato è per una macchina situata nella zona di fuso orario orientale degli stati Uniti. La tua selezione dipenderà dalla tua locazione geografica. User Confirmation Requested Would you like to set this machine's time zone now? [ Yes ] No Seleziona &gui.yes; e premi Invio per settare la zona di fuso orario. User Confirmation Requested Is this machine's CMOS clock set to UTC? If it is set to local time or you don't know, please choose NO here! Yes [ No ] Seleziona &gui.yes; o &gui.no; a seconda di come è configurato l'orologio della macchina e poi premi Invio.
Selezione della tua Regione
La regione appropriata viene selezionata usando i tasti freccia e quindi premendo Invio.
Selezione della tua Nazione
Scegli la nazione appropriata usando i tasti freccia e premi Invio.
Selezione della Tua Zona di Fuso Orario
La zona di fuso orario appropriata viene selezionata usando i tasti freccia e premendo Invio. Confirmation Does the abbreviation 'EDT' look reasonable? [ Yes ] No Viene richiesta una conferma per l'abbreviazione per la zona di fuso orario. Se va bene, premi Invio per continuare con la configurazione post-installazione.
Compatibilità Linux User Confirmation Requested Would you like to enable Linux binary compatibility? [ Yes ] No Selezionando &gui.yes; e premendo Invio, potrai eseguire applicazioni Linux su FreeBSD. Verranno installati i package per la compatibilità Linux. Se stai facendo l'installazione via FTP, la macchina necessiterà di collegarsi a Internet. A volte il sito remoto non ha tutte le distribuzioni così come la compatibilità Linux binaria. Puoi sempre installarlo più tardi. Configurazione del Mouse Questa opzione ti consentirà di tagliare ed incollare il testo nella console e nei programmi utenti con un mouse a 3 pulsanti. Se usi un mouse a 2 pulsanti, fai riferimento alla pagina man, &man.moused.8;, dopo l'installazione per i dettagli sull'emulazione del terzo pulsante. Questo esempio descrive una configurazione di un mouse non USB (come un mouse PS/2 o via porta COM): User Confirmation Requested Does this system have a non-USB mouse attached to it? [ Yes ] No Seleziona &gui.yes; per un mouse non-USB o &gui.no; per un mouse USB e poi premi Invio.
Selezione del Tipo di Protocollo del Mouse
Usa i tasti freccia per selezionare Type e premi Invio.
Settare il Protocollo del Mouse
Il mouse usato in questo esempio è di tipo PS/2, quindi l'opzione di default Auto era appropriata. Per cambiare il protocollo, usa i tasti freccia e seleziona un'altra opzione. Assicurati che &gui.ok; sia selezionato e premi Invio per uscire da questo menù.
Configurare la Porta del Mouse
Usa i tasti freccia per selezionare Port e premi Invio.
Settare la Porta del Mouse
Questo sistema aveva un mouse PS/2, dunque l'opzione di default PS/2 andava bene. Per cambiare la porta, usa i tasti freccia e premi Invio.
Abilitare il Demone del Mouse
Per ultimo, usa i tasti freccia per selezionare Enable, e premi Invio per abilitare e testare il demone del mouse.
Test del Demone del Mouse
Muovi il cursore sullo schermo e verifica che il cursore risponda in modo appropriato. Se lo fa, seleziona &gui.yes; e premi Invio. Se non lo fa, allora il mouse non è stato configurato correttamente — seleziona &gui.no; e prova ad usare delle differenti opzioni di configurazione. Seleziona Exit con i tasti freccia e premi Invio per continuare con la configurazione di post-installazione.
Tom Rhodes Contributo di Configurare I Servizi Addizionali di Rete La configurazione dei servizi di rete può spaventare i nuovi utenti se questi non hanno alle spalle una conoscenza in quest'area. La rete, Internet incluso, è cruciale per tutti i moderni sistemi operativi &os; incluso; detto ciò, è del tutto utile conoscere le grandi capacità di rete di &os;. Fare questo durante l'installazione permetterà agli utenti di avere alcune conoscenze dei vari servizi che sono disponibili. I servizi di rete sono programmi che accettano input da qualunque posto sulla rete. Sono stati fatti molti sforzi per assicurare che questi programmi non fanno nulla di dannoso. Sfortunatamente, i programmatori non sono perfetti e in passato ci sono stati casi dove alcuni bug nei servizi di rete sono stati sfruttati da aggressori per fare cose maligne. È importante che abiliti sono i servizi di rete che sai di aver bisogno. Se sei nel dubbio è meglio non abilitare un servizio di rete fino a quando scopri di averlo bisogno. Lo puoi sempre abilitare successivamente ri-avviando sysinstall o usando le funzionalità fornite dal file /etc/rc.conf. Selezionando l'opzione Networking verrà visualizzato un menù simile a questo:
Configurazione di Alto-Livello della Rete
La prima opzione, Interfaces, è stata trattata precedentemente durante la , e quindi questa opzione può essere tranquillamente ignorata. Selezionando l'opzione AMD verrà aggiunto il supporto per l'utility di mount automatica di BSD. Di solito questo viene usato in combinazione con il protocollo NFS (vedi sotto) per montare automaticamente i filesystem remoti. Non è richiesta alcuna configurazione speciale. La linea successiva è l'opzione AMD Flags. Quando selezionata, viene visualizzato un menù per settare delle flag specifiche di AMD. Il menù contiene già una serie di opzioni di default: -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map L'opzione -a setta la locazione di mount di default che è qui specificata come /.amd_mnt. L'opzione -l specifica il file di log; di default; comunque, quando viene usato syslogd tutte le attività di log saranno inviate al demone di log del sistema. La directory /host è usata per montare un filesystem esportato da un host remoto, mentre la directory /net è usata per montare un filesystem esportato da un indirizzo IP. Il file /etc/amd.map definisce le opzioni di default per le esportazioni AMD. FTP anonimo L'opzione Anon FTP permette connessioni FTP anonime. Seleziona questa opzione per rendere questa macchina un server FTP anonimo. Sii consapevole dei rischi di sicurezza che questa opzione comporta. Verrà visualizzato un altro menù nel quale vengono spiegati più nel dettaglio i rischi di sicurezza e la configurazione. Il menù di configurazione Gateway configurerà la macchina per essere un gateway come spiegato in precedenza. Lo puoi usare per deselezionare l'opzione Gateway se l'hai selezionata sbadatamente nel processo di installazione. L'opzione Inetd può essere usata per configurare o disabilitare completamente il demone &man.inetd.8; come discusso sopra. L'opzione Mail è usata per configurare l'MTA (Mail Transfer Agent) di default per il sistema. Selezionando questa opzione apparirà il seguente menù:
Selezione dell'MTA di default
Ti viene data una scelta per quale MTA di default installare e configurare. Un MTA non è altro che un server di posta che consegna email agli utenti sul sistema o via Internet. Selezionando Sendmail verrà installato il famoso server sendmail, di default per FreeBSD. L'opzione Sendmail local imposterà sendmail per essere l'MTA di default, ma disabilita la sua funzionalità di ricevere email in ingresso provenienti da Internet. Le alternative, Postfix e Exim si comportano in modo simile a Sendmail. Sono entrambi distributori di email; ad ogni modo, alcuni utenti preferiscono queste alternative all'MTA sendmail. Dopo aver scelto o meno un MTA, apparirà il menù di configurazione della rete con la prossima opzione NFS client. L'opzione NFS client configurerà il sistema per comunicare con un server tramite NFS. Un server NFS rende i filesystem disponibili a altre macchine sulla rete tramite il protocollo NFS. Se questa è una macchina a se stante, questa opzione può non essere selezionata. Il sistema può richiedere un'ulteriore configurazione in seguito; consulta la per maggiori informazioni sulla configurazione riguardo client e server. Sotto all'opzione precedente c'è l'opzione NFS server, che ti permette di configurare il sistema come un server NFS. Questo aggiunge le informazioni richieste per avviare RPC, servizi di chiamata a procedura remota. RPC è usato per coordinare le connessioni tra host e i programmi. La prossima linea è l'opzione Ntpdate, che tratta la sincronizzazione del tempo. Quando selezionato, viene mostrato un menù come questo:
Configurazione di Ntpdate
Da questo menù, seleziona il server più vicino alla tua posizione. Selezionando il più vicino renderai la sincronizzazione del tempo più accurata poichè un server lontano dalla tua posizione potrebbe avere una latenza di connessione maggiore. La prossima opzione è PCNFSD. Questa opzione installerà il package net/pcnfsd dalla collezione dei port. Questa è un'utilità che fornisce servizi di autenticazione NFS per i sistemi che sono incapaci di fornirne dei propri, come il sistema operativo &ms-dos; della Microsoft. Adesso scorri in giù per vedere le altre opzioni:
Configurazione della Rete di Basso-Livello
Le utility &man.rpcbind.8;, &man.rpc.statd.8;, e &man.rpc.lockd.8; sono tutte usate per RPC (Chiamate a Procedura Remote). L'utility rpcbind gestisce la comunicazione con server e client NFS, ed è richiesta per i server NFS per operare correttamente. Il demone rpc.statd interagisce con il demone rpc.statd su altri host per fornire un controllo sullo stato. Lo stato riportato è solitamente tenuto nel file /var/db/statd.status. La prossima opzione qui elencata è l'opzione rpc.lockd, che, quando selezionata, fornisce servizi di locking dei file. Viene solitamente usato con rpc.statd per controllare quali host stanno richiedendo lock e con quale frequenza. Mentre queste ultime due opzioni sono meravigliose per il debugging, non sono richieste per i client e server NFS per operare correttamente. Come puoi vedere avanzando nella lista il prossimo elemento è Routed, che è il demone di instradamento. L'utility &man.routed.8; gestisce le tabelle di instradamento di rete, trova router multicast, e fornisce una copia della tabella di instradamento ad ogni host fisicamente connesso previa richiesta via rete. Questo è principalmente usato per le macchine che fungono da gateway per una lan. Quando selezionato, verrà visualizzato un menù che richiede la locazione di default dell'utility. La locazione di default è già definita e può essere selezionata con il tasto Invio. Poi ti sarà presentato un altro menù, questa volta per impostare le flag che desideri passare a routed. Sullo schermo dovrebbe apparire la flag di default -q. La prossima linea è l'opzione Rwhod che, quando selezionata, avvierà il demone &man.rwhod.8; durante l'inizializzazione del sistema. L'utility rwhod invia periodicamente via rete messaggi di sistema broadcast, o in modalità consumatore li colleziona. Altre informazioni possono essere trovate nella pagine man &man.ruptime.1; e &man.rwho.1;. L'ultima opzione della lista è per il demone &man.sshd.8;. Questo è il server di shell sicuro di OpenSSH ed è altamente raccomandato al posto dei server telnet e FTP. Il server sshd è usato per creare una connessione sicura da un host ad un altro usando connessioni cifrate. In fine c'è l'opzione TCP Extensions. Questo abilita le estensioni TCP definite nelle RFC 1323 e RFC 1644. Mentre su molti host questo può velocizzare le connessioni, potrebbe anche causare la perdita di alcune connessioni. Non è raccomandato per server, ma può essere un beneficio per macchine a se stanti. Ora che hai configurato i servizi di rete, puoi scorrere in alto fino all'opzione Exit e continuare con la prossima sezione di configurazione.
Configurare il Server X A partire da &os; 5.3-RELEASE, la configurazione del server X è stata rimossa da sysinstall, devi installare e configurare il server X dopo l'installazione di &os;. Maggiori informazioni riguardo all'installazione e alla configurazione del server X possono essere trovate nel . Puoi saltare questa sezione se non stai installando una versione di &os; antecedente la 5.3-RELEASE. Per usare un'interfaccia utente grafica come ad esempio KDE, GNOME, o altri, hai bisogno di configurare il server X. Per far girare &xfree86; come utente non root avrai bisogno di avere x11/wrapper installato. Questo è installato di default a partire da FreeBSD 4.7. Per le versioni precedenti questo può essere installato dal menù di selezione dei package. Per vedere se la tua scheda video è supportata, vai sul sito di &xfree86;. User Confirmation Requested Would you like to configure your X server at this time? [ Yes ] No È necessario conoscere le specifiche del tuo monitor e alcune informazioni della scheda video. Settaggi non corretti potrebbero creare danni all'attrezzatura. Se non hai queste informazioni, seleziona &gui.no; e quando hai le informazioni esegui la configurazione dopo l'installazione usando sysinstall (/stand/sysinstall nelle versioni di &os; dopo la 5.2), selezionando Configure e poi XFree86. Una configurazione errata del server X a questo punto può lasciare la macchina in uno stato di blocco. È consigliato configurare il server X una volta che l'installazione è stata completata. Se hai le informazioni della scheda grafica e del monitor, seleziona &gui.yes; e premi Invio per procedere alla configurazione del server X.
Selezione del Menù del Metodo di Configurazione
Ci sono diversi modi per configurare il server X. Usa i tasti freccia per selezionarne uno e premi Invio. Assicurati di leggere tutte le istruzioni attentamente. I metodi xf86cfg e xf86cfg -textmode potrebbero richiedere alcuni secondi all'avvio con uno schermo nero. Abbiate pazienza. Di seguito verrà illustrato l'uso del tool di configurazione xf86config. Le scelte di configurazione che farai dipenderanno dall'hardware nel sistema e quindi le tue scelte saranno probabilmente diverse da quelle qui mostrate: Message You have configured and been running the mouse daemon. Choose "/dev/sysmouse" as the mouse port and "SysMouse" or "MouseSystems" as the mouse protocol in the X configuration utility. [ OK ] [ Press enter to continue ] Questo indica che è stato rilevato il demone del mouse precedentemente configurato. Premi Invio per continuare. Avviando xf86config verrà visualizzata una breve introduzione: This program will create a basic XF86Config file, based on menu selections you make. The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample XF86Config file is supplied with XFree86; it is configured for a standard VGA card and monitor with 640x480 resolution. This program will ask for a pathname when it is ready to write the file. You can either take the sample XF86Config as a base and edit it for your configuration, or let this program produce a base XF86Config file for your configuration and fine-tune it. Before continuing with this program, make sure you know what video card you have, and preferably also the chipset it uses and the amount of video memory on your video card. SuperProbe may be able to help with this. Press enter to continue, or ctrl-c to abort. Premendo Invio comincerà la configurazione del mouse. Assicurati di seguire le istruzioni e usa Mouse Systems come protocollo e /dev/sysmouse come porta del mouse; l'uso di un mouse PS/2 è mostrato a titolo illustrativo. First specify a mouse protocol type. Choose one from the following list: 1. Microsoft compatible (2-button protocol) 2. Mouse Systems (3-button protocol) & FreeBSD moused protocol 3. Bus Mouse 4. PS/2 Mouse 5. Logitech Mouse (serial, old type, Logitech protocol) 6. Logitech MouseMan (Microsoft compatible) 7. MM Series 8. MM HitTablet 9. Microsoft IntelliMouse If you have a two-button mouse, it is most likely of type 1, and if you have a three-button mouse, it can probably support both protocol 1 and 2. There are two main varieties of the latter type: mice with a switch to select the protocol, and mice that default to 1 and require a button to be held at boot-time to select protocol 2. Some mice can be convinced to do 2 by sending a special sequence to the serial port (see the ClearDTR/ClearRTS options). Enter a protocol number: 2 You have selected a Mouse Systems protocol mouse. If your mouse is normally in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options may cause it to switch to Mouse Systems mode when the server starts. Please answer the following question with either 'y' or 'n'. Do you want to enable ClearDTR and ClearRTS? n You have selected a three-button mouse protocol. It is recommended that you do not enable Emulate3Buttons, unless the third button doesn't work. Please answer the following question with either 'y' or 'n'. Do you want to enable Emulate3Buttons? y Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse. On FreeBSD, the default is /dev/sysmouse. Mouse device: /dev/sysmouse Il prossimo oggetto da configurare è la tastiera. Un modello generico a 101 tasti è mostrato a titolo di esempio. Si possono usare diversi nomi per le varianti o semplicemente premi Invio per accettare il valore di default. Please select one of the following keyboard types that is the better description of your keyboard. If nothing really matches, choose 1 (Generic 101-key PC) 1 Generic 101-key PC 2 Generic 102-key (Intl) PC 3 Generic 104-key PC 4 Generic 105-key (Intl) PC 5 Dell 101-key PC 6 Everex STEPnote 7 Keytronic FlexPro 8 Microsoft Natural 9 Northgate OmniKey 101 10 Winbook Model XP5 11 Japanese 106-key 12 PC-98xx Series 13 Brazilian ABNT2 14 HP Internet 15 Logitech iTouch 16 Logitech Cordless Desktop Pro 17 Logitech Internet Keyboard 18 Logitech Internet Navigator Keyboard 19 Compaq Internet 20 Microsoft Natural Pro 21 Genius Comfy KB-16M 22 IBM Rapid Access 23 IBM Rapid Access II 24 Chicony Internet Keyboard 25 Dell Internet Keyboard Enter a number to choose the keyboard. 1 Please select the layout corresponding to your keyboard 1 U.S. English 2 U.S. English w/ ISO9995-3 3 U.S. English w/ deadkeys 4 Albanian 5 Arabic 6 Armenian 7 Azerbaidjani 8 Belarusian 9 Belgian 10 Bengali 11 Brazilian 12 Bulgarian 13 Burmese 14 Canadian 15 Croatian 16 Czech 17 Czech (qwerty) 18 Danish Enter a number to choose the country. Press enter for the next page 1 Please enter a variant name for 'us' layout. Or just press enter for default variant us Please answer the following question with either 'y' or 'n'. Do you want to select additional XKB options (group switcher, group indicator, etc.)? n Ora, procediamo alla configurazione del monitor. Non eccedere alla potenza del tuo monitor. Potrebbero accadere dei danni. Se hai alcuni dubbi, fai la configurazione quando hai le informazioni. Now we want to set the specifications of the monitor. The two critical parameters are the vertical refresh rate, which is the rate at which the whole screen is refreshed, and most importantly the horizontal sync rate, which is the rate at which scanlines are displayed. The valid range for horizontal sync and vertical sync should be documented in the manual of your monitor. If in doubt, check the monitor database /usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there. Press enter to continue, or ctrl-c to abort. You must indicate the horizontal sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry- standard monitor types, or give a specific range. It is VERY IMPORTANT that you do not specify a monitor type with a horizontal sync range that is beyond the capabilities of your monitor. If in doubt, choose a conservative setting. hsync in kHz; monitor type with characteristic modes 1 31.5; Standard VGA, 640x480 @ 60 Hz 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600) 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz 10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz 11 Enter your own horizontal sync range Enter your choice (1-11): 6 You must indicate the vertical sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry- standard monitor types, or give a specific range. For interlaced modes, the number that counts is the high one (e.g. 87 Hz rather than 43 Hz). 1 50-70 2 50-90 3 50-100 4 40-150 5 Enter your own vertical sync range Enter your choice: 2 You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names. The strings are free-form, spaces are allowed. Enter an identifier for your monitor definition: Hitachi Ora tocca alla selezione della scheda video da una lista. Se passi la tua scheda dalla lista, continua a premere Invio e la lista ricomincerà da capo. Viene mostrato solo uno stralcio della lista. Now we must configure video card specific settings. At this point you can choose to make a selection out of a database of video card definitions. Because there can be variation in Ramdacs and clock generators even between cards of the same model, it is not sensible to blindly copy the settings (e.g. a Device section). For this reason, after you make a selection, you will still be asked about the components of the card, with the settings from the chosen database entry presented as a strong hint. The database entries include information about the chipset, what driver to run, the Ramdac and ClockChip, and comments that will be included in the Device section. However, a lot of definitions only hint about what driver to run (based on the chipset the card uses) and are untested. If you can't find your card in the database, there's nothing to worry about. You should only choose a database entry that is exactly the same model as your card; choosing one that looks similar is just a bad idea (e.g. a GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of hardware as can be). Do you want to look at the card database? y 288 Matrox Millennium G200 8MB mgag200 289 Matrox Millennium G200 SD 16MB mgag200 290 Matrox Millennium G200 SD 4MB mgag200 291 Matrox Millennium G200 SD 8MB mgag200 292 Matrox Millennium G400 mgag400 293 Matrox Millennium II 16MB mga2164w 294 Matrox Millennium II 4MB mga2164w 295 Matrox Millennium II 8MB mga2164w 296 Matrox Mystique mga1064sg 297 Matrox Mystique G200 16MB mgag200 298 Matrox Mystique G200 4MB mgag200 299 Matrox Mystique G200 8MB mgag200 300 Matrox Productiva G100 4MB mgag100 301 Matrox Productiva G100 8MB mgag100 302 MediaGX mediagx 303 MediaVision Proaxcel 128 ET6000 304 Mirage Z-128 ET6000 305 Miro CRYSTAL VRX Verite 1000 Enter a number to choose the corresponding card definition. Press enter for the next page, q to continue configuration. 288 Your selected card definition: Identifier: Matrox Millennium G200 8MB Chipset: mgag200 Driver: mga Do NOT probe clocks or use any Clocks line. Press enter to continue, or ctrl-c to abort. Now you must give information about your video card. This will be used for the "Device" section of your video card in XF86Config. You must indicate how much video memory you have. It is probably a good idea to use the same approximate amount as that detected by the server you intend to use. If you encounter problems that are due to the used server not supporting the amount memory you have (e.g. ATI Mach64 is limited to 1024K with the SVGA server), specify the maximum amount supported by the server. How much video memory do you have on your video card: 1 256K 2 512K 3 1024K 4 2048K 5 4096K 6 Other Enter your choice: 6 Amount of video memory in Kbytes: 8192 You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names (possibly from a card definition). Your card definition is Matrox Millennium G200 8MB. The strings are free-form, spaces are allowed. Enter an identifier for your video card definition: Andando ancora avanti, sono settate le modalità video per la risoluzione desiderata. Tipicamente, utili range sono 640x480, 800x600 e 1024x768, ma questi sono in funzione delle capacità della scheda video, della dimensione del monitor, e del comfort degli occhi. Quando selezioni una profondità di colore, seleziona la più alta che la tua scheda supporta. For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start-up with will be the first listed mode that can be supported by the monitor and card. Currently it is set to: "640x480" "800x600" "1024x768" "1280x1024" for 8-bit "640x480" "800x600" "1024x768" "1280x1024" for 16-bit "640x480" "800x600" "1024x768" "1280x1024" for 24-bit Modes that cannot be supported due to monitor or clock constraints will be automatically skipped by the server. 1 Change the modes for 8-bit (256 colors) 2 Change the modes for 16-bit (32K/64K colors) 3 Change the modes for 24-bit (24-bit color) 4 The modes are OK, continue. Enter your choice: 2 Select modes from the following list: 1 "640x400" 2 "640x480" 3 "800x600" 4 "1024x768" 5 "1280x1024" 6 "320x200" 7 "320x240" 8 "400x300" 9 "1152x864" a "1600x1200" b "1800x1400" c "512x384" Please type the digits corresponding to the modes that you want to select. For example, 432 selects "1024x768" "800x600" "640x480", with a default mode of 1024x768. Which modes? 432 You can have a virtual screen (desktop), which is screen area that is larger than the physical screen and which is panned by moving the mouse to the edge of the screen. If you don't want virtual desktop at a certain resolution, you cannot have modes listed that are larger. Each color depth can have a differently-sized virtual screen Please answer the following question with either 'y' or 'n'. Do you want a virtual screen that is larger than the physical screen? n For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start-up with will be the first listed mode that can be supported by the monitor and card. Currently it is set to: "640x480" "800x600" "1024x768" "1280x1024" for 8-bit "1024x768" "800x600" "640x480" for 16-bit "640x480" "800x600" "1024x768" "1280x1024" for 24-bit Modes that cannot be supported due to monitor or clock constraints will be automatically skipped by the server. 1 Change the modes for 8-bit (256 colors) 2 Change the modes for 16-bit (32K/64K colors) 3 Change the modes for 24-bit (24-bit color) 4 The modes are OK, continue. Enter your choice: 4 Please specify which color depth you want to use by default: 1 1 bit (monochrome) 2 4 bits (16 colors) 3 8 bits (256 colors) 4 16 bits (65536 colors) 5 24 bits (16 million colors) Enter a number to choose the default depth. 4 In fine, devi salvare la configurazione. Assicurati di digitare /etc/X11/XF86Config come la locazione per salvare la configurazione. I am going to write the XF86Config file now. Make sure you don't accidently overwrite a previously configured one. Shall I write it to /etc/X11/XF86Config? y Se la configurazione fallisce, puoi provare a rifarla selezionando &gui.yes; quando appare il seguente messaggio: User Confirmation Requested The XFree86 configuration process seems to have failed. Would you like to try again? [ Yes ] No Se hai difficoltà a configurare &xfree86;, seleziona &gui.no; e premi Invio e prosegui con il processo di installazione. Dopo l'installazione puoi usare xf86cfg -textmode oppure xf86config come root per accedere alle utility di configurazione a linea di comando. C'è un altro metodo per configurare &xfree86;, descritto nel . Se hai deciso di non configurare &xfree86; il prossimo menù sarà per la selezione dei package. Il settaggio di default che permette di killare il server è la sequenza di tasti CtrlAlt Backspace. Puoi usarla se qualcosa nel settaggio del server è sbagliato prevenendo danni all'hardware. Il settaggio di default che permette di saltare da una modalità video all'altra mentre X è in esecuzione è la sequenza di tasti CtrlAlt + o CtrlAlt -. Dopo che hai &xfree86; in esecuzione, puoi aggiustare la schermata in altezza, larghezza o centrarla usando xvidtune. Ci sono avvisi che segnalano che settaggi impropri possono danneggiare il tuo equipaggiamento. Considerali. Se sei in dubbio, non farlo. Invece, usa i controlli del monitor per aggiustare la schermata per X Window. Così facendo ci potrebbero essere delle incongruenze di visualizzazione quando passi alla modalità testo, ma questo è meglio rispetto al danneggiamento dell'equipaggiamento. Leggi la pagina man di &man.xvidtune.1; prima di fare qualsiasi regolazione. Al seguito di una configurazione di &xfree86; andata a buon fine, si procederà alla selezione di un desktop di default.
Selezionare il Desktop X di Default A partire da &os; 5.3-RELEASE, la possibilità di selezione del desktop X è stata rimossa da sysinstall, devi configurare il desktop X dopo l'installazione di &os;. Maggiori informazioni riguardo all'installazione e configurazione di un desktop X possono essere trovate nel . Puoi saltare questa sezione se non stai installando una versione di &os; precedente a 5.3-RELEASE. Sono disponibili diversi gestori di finestre. Essi spaziano da ambienti veramente basilari fino a ambienti con desktop completi che includono diverse applicazioni. Alcuni richiedono uno spazio di disco minimo e poca memoria mentre altri con maggiori funzionalità richiedono più risorse. Il miglior modo per determinare quale gestore di finestre utilizzare è provarne alcuni. Sono disponibili dalla collezione dei port o come package e possono essere aggiunti dopo l'installazione. Puoi selezionare uno dei desktop più popolari e sarà installato ed configurato come il desktop di default. Ciò ti permetterà di avviarlo appena dopo l'installazione.
Selezione del Desktop di Default
Usa i tasti freccia per selezionare un desktop e premi Invio. Verrà avviata l'installazione del desktop selezionato.
Installazione dei Package I package sono binari pre-compilati e risultano essere un modo conveniente per installare applicazioni. A scopo illustrativo viene mostrata l'installazione di un package. Puoi installare ulteriori package se lo desideri. Dopo l'installazione puoi usare sysinstall (/stand/sysinstall nelle versioni di &os; dopo la 5.2) per aggiungere ulteriori package. User Confirmation Requested The FreeBSD Package collection is a collection of hundreds of ready-to-run applications, from text editors to games to WEB servers and more. Would you like to browse the collection now? [ Yes ] No Selezionando &gui.yes; e premendo Invio verranno visualizzate le seguenti schermate per la selezione dei package:
Selezione della Categoria dei Package
Soltanto i package che risiedono sul media di installazione corrente sono disponibili per l'installazione in un dato istante. Se si seleziona All saranno visualizzati tutti i package disponibili oppure puoi selezionare una categoria particolare. Evidenzia la tua selezione con i tasti freccia e premi Invio. Verrà visualizzato un menù con i package disponibili in base alla selezione effettuata:
Selezione dei Package
È stata selezionata la shell bash. Puoi selezionare altre cose portandoti sul package e premendo il tasto Spazio. Apparirà una breve descrizione di ogni package nell'angolo in basso a sinistra dello schermo. Premendo il tasto Tab passerai ciclicamente dall'ultimo package selezionato, da &gui.ok;, e da &gui.cancel;. Quando hai finito di selezionare i package che vuoi installare, premi Tab una volta per andare a &gui.ok; e premi Invio per tornare al menù della selezione dei package. Con i tasti freccia sinistra e destra puoi passare tra &gui.ok; e &gui.cancel;. Questo metodo può essere anche usato per selezionare &gui.ok; e premere Invio per tornare al menù di selezione dei package.
Installazione dei Package
Usa Tab e con i tasti freccia seleziona [ Install ] e premi Invio. Dovrai confermare l'installazione dei package:
Conferma dell'Installazione dei Package
Selezionando &gui.ok; e premendo Invio inizierà l'installazione dei package. Appariranno dei messaggi di installazione fino al completamento della stessa. Prendi nota se c'è qualche messaggio di errore. La configurazione finale continua dopo che i package sono stati installati. Se decidi di non selezionare alcun package, e vuoi ritornare alla configurazione finale, seleziona comunque Install.
Aggiungere Utenti/Gruppi Dovresti aggiungere almeno un utente durante l'installazione in modo che puoi usare il sistema senza doverti loggare come root. La partizione root è generalmente di dimensioni ridotte ed eseguire applicazione da root può riempirla facilmente. Viene segnalato un pericolo: User Confirmation Requested Would you like to add any initial user accounts to the system? Adding at least one account for yourself at this stage is suggested since working as the "root" user is dangerous (it is easy to do things which adversely affect the entire system). [ Yes ] No Seleziona &gui.yes; e premi Invio per continuare nell'aggiunta di un utente.
Selezione di un Utente
Seleziona User con i tasti freccia e premi Invio.
Aggiungere Informazioni dell'Utente
Le seguenti descrizioni appariranno nella parte bassa dello schermo ogni qual volta gli elementi sono selezionati con Tab per assistere all'immissione delle informazioni richieste: Login ID Il nome di login del nuovo utente (obbligatorio). UID L'ID numerico per questo utente (lasciare bianco per una scelta automatica). Group Il nome del gruppo di login per questo utente (lasciate bianco per una scelta automatica). Password La password per questo utente (inserisci questo campo con cura!). Full name Il nome completo dell'utente (commento). Member groups I gruppi a cui questo utente appartiene (cioè i diritti di accesso concessi). Home directory La directory home dell'utente (lasciare in bianco per il default). Login shell La shell di login dell'utente (lasciare in bianco per il default, per esempio /bin/sh). La shell di login è stata modificata da /bin/sh a /usr/local/bin/bash per usare la shell bash che è stata in precedenza installata come package. Non tentare di usare una shell che non esiste o non sarai in grado di effettuare il login. La shell più comune usata nel mondo-BSD è la schell C, che può essere indicata come /bin/tcsh. L'utente è stata aggiunto al gruppo wheel al fine di poter diventare un superutente con privilegi di root. Quando sei soddisfatto, premi &gui.ok; e ti verrà visualizzato il menù di gestione degli utenti e dei gruppi:
Uscire dal menù di Gestione degli Utenti e dei Gruppi
I gruppi possono essere aggiunti anche adesso se necessario. Altrimenti, puoi farlo usando sysinstall (/stand/sysinstall nelle versioni di &os; dopo la 5.2) dopo che hai completato l'installazione. Quando hai terminato di aggiungere gli utenti, seleziona Exit con i tasti freccia e premi Invio per continuare l'installazione.
Settare la Password di <username>root</username> Message Now you must set the system manager's password. This is the password you'll use to log in as "root". [ OK ] [ Press enter to continue ] Premi Invio per settare la password di root. La password dovrà essere battuta correttamente per due volte. Inutile a dirsi, assicurati di avere un modo di trovare la password nel caso dovessi dimenticarla. Nota che la password che digiti non è mostrata, e non vengono visualizzati neppure gli asterischi. Changing local password for root. New password : Retype new password : L'installazione continuerà dopo che la password è stata inserita correttamente. Uscire dall'Installazione Se hai bisogno di configurare altri dispositivi di rete o altre configurazioni, lo puoi fare a questo punto o dopo con sysinstall (/stand/sysinstall nelle versioni di &os; dopo la 5.2). User Confirmation Requested Visit the general configuration menu for a chance to set any last options? Yes [ No ] Seleziona &gui.no; con i tasti freccia e premi Invio per tornare al menù di Installazione Principale.
Uscire dall'Installazione
Seleziona con i tasti freccia [X Exit Install] e premi Invio. Ti sarà chiesto di confermare l'uscita dall'installazione: User Confirmation Requested Are you sure you wish to exit? The system will reboot (be sure to remove any floppies from the drives). [ Yes ] No Seleziona &gui.yes; e rimuovi il floppy se hai avviato tramite floppy. Il CDROM è bloccato fino a quando la macchina non verrà riavviata. Il CDROM verrà quindi sbloccato e il disco può essere rimosso dal dispositivo (velocemente). Il sistema verrà riavviato, guarda eventuali messaggi di errore che potrebbero apparire.
Avvio di FreeBSD Avvio di FreeBSD su &i386; Se tutto è andato bene, vedrai alcuni messaggi scorrere sullo schermo a arriverai al prompt di login. Puoi controllare il contenuto dei messaggi premendo Scroll-Lock e usando PgUp e PgDn. Premendo Scroll-Lock un'altra volta ritornerai al prompt. Il messaggio completo non può essere visualizzato (per limitazioni del buffer) ma può essere visto dalla linea di comando dopo aver effettuato il login digitando al prompt dmesg. Accedi usando il nome utente e la password che hai settato durante l'installazione (rpratt, in questo esempio). Evita di loggarti come root se non ne hai bisogno. Tipici messaggi di avvio (le informazioni sulla versione sono state omesse): Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. Timecounter "i8254" frequency 1193182 Hz CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping = 0 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> AMD Features=0x80000800<SYSCALL,3DNow!> real memory = 268435456 (262144K bytes) config> di sn0 config> di lnc0 config> di le0 config> di ie0 config> di fe0 config> di cs0 config> di bt0 config> di aic0 config> di aha0 config> di adv0 config> q avail memory = 256311296 (250304K bytes) Preloaded elf kernel "kernel" at 0xc0491000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c. md0: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0 usb0: <VIA 83C572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0 ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at device 10.0 on pci0 ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x1 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold ppbus0: IEEE1284 device found /NIBBLE Probing for PnP devices on ppbus0: plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33 ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33 acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4 Mounting root from ufs:/dev/ad0s1a swapon: adding /dev/ad0s1b as swap device Automatic boot in progress... /dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation) /dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation) /dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation) /dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS /dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation) Doing initial network setup: hostname. ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1 ether 52:54:05:de:73:1b lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 Additional routing options: IP gateway=YES TCP keepalive=YES routing daemons:. additional daemons: syslogd. Doing additional network setup:. Starting final network daemons: creating ssh RSA host key Generating public/private rsa1 key pair. Your identification has been saved in /etc/ssh/ssh_host_key. Your public key has been saved in /etc/ssh/ssh_host_key.pub. The key fingerprint is: cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com creating ssh DSA host key Generating public/private dsa key pair. Your identification has been saved in /etc/ssh/ssh_host_dsa_key. Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. The key fingerprint is: f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com. setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout starting standard daemons: inetd cron sshd usbd sendmail. Initial rc.i386 initialization:. rc.i386 configuring syscons: blank_time screensaver moused. Additional ABI support: linux. Local package initialization:. Additional TCP options:. FreeBSD/i386 (k6-2.example.com) (ttyv0) login: rpratt Password: La generazione delle chiavi RSA e DSA può richiedere un pò di tempo sulle macchine lente. Questo succede solo al primo avvio di una nuova installazione. I successivi avvii saranno più veloci. Se è stato configurato il server X ed è stato scelto un Desktop di default, questo può essere avviato digitando sulla linea di comando startx. Avvio di FreeBSD su Alpha Alpha Una volta finita la procedura di installazione, sarai in grado di avviare FreeBSD scrivendo qualcosa di simile a questo nel prompt SRM: >>>BOOT DKC0 Questo istruisce il firmware ad avviare il disco specificato. Per avviare FreeBSD in automatico in futuro, usa questi comandi: >>> SET BOOT_OSFLAGS A >>> SET BOOT_FILE '' >>> SET BOOTDEF_DEV DKC0 >>> SET AUTO_ACTION BOOT I messaggi di avvio saranno simili (ma non identici) a quelli prodotti dall'avvio di FreeBSD su &i386;. Lo Shutdown di FreeBSD È importante spegnere (effettuare lo shutdown) in modo adeguato il sistema operativo. Non farlo rimuovendo l'alimentazione. Innanzitutto, diventa superuser digitando su dalla linea di comando ed inserendo la password di root. Questo funziona solo se l'utente è un membro del gruppo wheel. Altrimenti, loggati come root e usa shutdown -h now. The operating system has halted. Please press any key to reboot. Quando appare il messaggio Please press any key to reboot puoi togliere con sicurezza l'alimentazione. Se premi qualunque tasto invece di premere il bottone per togliere l'alimentazione, il sistema verrà riavviato. Potresti anche usare la combinazione di tasti Ctrl Alt Del per riavviare il sistema, comunque questo non è raccomandato durante un normale funzionamento.
Hardware Supportato hardware FreeBSD attualmente gira su una varietà di PC con bus ISA, VLB, EISA, e PCI con processori Intel, AMD, Cyrix, o processori NexGen x86, così come su diverse macchine basate sul processore Compaq Alpha. Supporta configurazioni generiche di dispositivi IDE o ESDI, svariati controller SCSI, schede PCMCIA, dispositivi USB, e schede seriale e di rete. FreeBSD supporta anche il bus microchannel (MCA) di IBM. Un elenco di hardware supportato da FreeBSD è fornito con ogni release di FreeBSD nell'Hardware Note di FreeBSD. Questo documento può essere trovato nel file HARDWARE.TXT, nella directory root di una distribuzione CDROM o FTP o nel menù di documentazione di sysinstall. Per ogni architettura, vengono elencati i dispositivi hardware che sono noti essere supportati dalla release di FreeBSD. Copie della lista dell'hardware supportato per diverse release ed architetture possono essere trovate nella pagina del sito Web di FreeBSD Informazioni di Release. Localizzazione dei guasti installazione localizzazione dei guasti Questa sezione copre la localizzazione di alcuni problemi riguardo all'installazione, come problemi comuni che sono stati segnalati dagli utenti. Ci sono anche alcune domande e risposte per le persone che desiderano avere FreeBSD e &ms-dos; sulla stessa macchina. Che Cosa Fare se Qualche Cosa va Storto A causa di varie limitazioni dell'architettura del PC, è impossibile che la fase di probe sia accurata al 100%, comunque ci sono alcune cose che puoi fare se il probe fallisce. Controlla il documento Hardware Note per la tua versione di FreeBSD per assicurarti che il tuo hardware sia supportato. Se il tuo hardware è supportato e continui ad avere esperienze di blocco o altri problemi, resetta il computer, e quando ti viene data la possibilità entra nella configurazione visuale del kernel. Il kernel sui dischetti di avvio è configurato assumendo che la maggior parte dei dispositivi hardware sono nella loro configurazioni di fabbrica in termini di IRQ, indirizzi di IO, e canali DMA. Se il tuo hardware è stato riconfigurato, probabilmente hai bisogno di usare l'editor di configurazione per dire a FreeBSD dove trovare le cose. È anche possibile che un probe di un dispositivo non presente porti a un fallimento di un successivo probe per un dispositivo presente. In questo caso, i probe per i driver che vanno in conflitto dovrebbero essere disabilitati. Alcuni problemi di installazione possono essere evitati o alleviati con un aggiornamento del firmware dei vari componenti hardware, scheda madre in primis. Il firmware della scheda madre può anche essere chiamato BIOS e la maggior parte dei produttori di schede madri o di computer hanno un sito web dove poter localizzare gli aggiornamenti e le relative informazioni. La maggior parte dei produttori non consiglia l'aggiornamento del BIOS della scheda madre a meno che ci sia una buona ragione per farlo, che potrebbe essere una sorta di aggiornamento critico. Il processo di aggiornamento può non andare per il verso giusto, causando danni permanenti al chip del BIOS. Non disabilitare alcuni driver di cui avrai bisogno durante l'installazione, come quello per lo schermo (sc0). Se l'installazione si ferma o fallisce misteriosamente dopo aver lasciato l'editor di configurazione, probabilmente hai rimosso o modificato qualcosa che non dovevi. Riavvia e prova di nuovo. Nella modalità di configurazione, puoi: Elencare i driver dei dispositivi installati nel kernel. Disabilitare i driver dei dispositivi per l'hardware che non è presente nel tuo sistema. Cambiare IRQ, DRQ, e gli indirizzi delle porte di IO usati da un driver di dispositivo. Dopo che hai sistemato il kernel in base alla tua configurazione hardware, premi Q per avviare con i nuovi settaggi. Una volta completata l'installazione, ogni modifica che hai fatto nella modalità di configurazione sarà permanente in modo tale che non devi riconfigurare ogni volta che avvii. Tuttavia è molto probabile che tu voglia costruirti un kernel su misura. Questioni su Partizioni &ms-dos; DOS Molti utenti desiderano installare &os; su un PC popolato da sistemi operativi µsoft;. Per queste situazioni, &os; ha un utility di nome FIPS. Questa utility può essere trovata nella directory tools su CD-ROM di installazione, o può essere scaricata da uno dei vari mirror di &os;. L'utility FIPS ti consente di suddividere una partizione &ms-dos; esistente in due pezzi, preservando la partizione originale e permettendo di installare &os; nella seconda parte libera. Prima devi deframmentare la tua partizione &ms-dos; usando l'utility di &windows; Deframmentazione dei Dischi (vai in Explorer, clicca con il destro sull'hard disk, e scegli di deframmentarlo), oppure usando Norton Disk Tools. Adesso puoi eseguire l'utility FIPS. Ti verranno mostrate delle informazioni di supporto, segui le informazioni a video. Fatto ciò, puoi riavviare ed installare &os; sulla nuova slice libera. Guarda il menù Distributions per una stima di quanto spazio libero necessiti per il tipo di installazione voluto. Esiste anche un prodotto molto utile della PowerQuest (http://www.powerquest.com) chiamato &partitionmagic;. Questa applicazione ha più funzionalità di FIPS, ed è altamente raccomandato se hai intenzione di aggiungere/rimuovere spesso sistemi operativi. È a pagamento, quindi se hai intenzione di installare in modo permanente &os;, FIPS probabilmente fa al caso tuo. Usare filesystem &ms-dos; e &windows; A tutt'oggi, &os; non supporta filesystem compressi con l'utility Double Space™. Quindi il filesystem dovrà essere decompresso prima che &os; possa accedere ai dati. Questo può essere fatto eseguendo l'Agente di Compressione raggiungibile da start > Programs > System Tools. &os; supporta filesystem basati su &ms-dos;. Questo richiede di usare il comando &man.mount.msdosfs.8; con i parametri opportuni. L'uso più comune è: &prompt.root; mount_msdosfs /dev/ad0s1 /mnt In questo esempio, il filesystems &ms-dos; è localizzato sulla prima partizione dell'hard disk primario. La tua situazione potrebbe essere differente, verifica l'output dei comandi dmesg, e mount. Questi, dovrebbero produrre abbastanza informazioni per darti un'idea del layout della partizione. I filesystem &ms-dos; estesi in genere sono mappati dopo le partizioni di &os;. In altre parole, il numero della slice potrebbe essere più alto di quello usato da &os;. Per esempio, la prima partizione &ms-dos; potrebbe essere /dev/ad0s1, la partizione di &os; potrebbe essere /dev/ad0s2, con la partizione &ms-dos; estesa in /dev/ad0s3. Per alcuni, tutto ciò potrebbe causare della confusione all'inizio. Le partizioni NTFS possono essere montate in modo simile usando il comando &man.mount.ntfs.8;. Domande e Risposte degli Utenti di Alpha Alpha Questa sezione risponde ad alcune questioni comuni relative all'installazione di FreeBSD su sistemi Alpha. Posso avviare dalla console ARC o da quella del BIOS Alpha? ARC Alpha BIOS SRM No. &os;, come Compaq Tru64 e VMS, non si avviano dalla console SRM. Aiuto, non ho spazio! Devo cancellare tutto prima? Sfortunatamente, si. Posso montare il mio Compaq True64 o il filesystem VMS? No, non in questo caso. Valentino Vaschetto Contributo di Guida per un'Installazione Avanzata Questa sezione descrive come installare FreeBSD in casi speciali. Installare FreeBSD su un Sistema senza Monitor e Tastiera installazione headless (console seriale) console seriale Questo tipo di installazione è chiamata installazione headless, poichè la macchina sulla quale stai cercando di installare FreeBSD non ha un monitor, o non ha neanche un output VGA. Come è possibile ti chiederai? Usando una console seriale. Una console seriale sostanzialmente usa un'altra macchina per fungere da monitor e tastiera primari per un sistema. Per fare questo, segui le fasi per creare i floppy di installazione, come spiegato nella . Per modificare questi floppy per avviare in una console seriale, segui questi passi: Abilitare i Floppy di Avvio per Avviare in una Console Seriale mount Se hai avviato con i floppy che hai appena creato, FreeBSD dovrebbe avviare la sua modalità di installazione standard. Noi vogliamo che FreeBSD avvii un console seriale per la nostra installazione. Per fare questo, devi montare il floppy kern.flp nel tuo sistema FreeBSD usando il comando &man.mount.8;. &prompt.root; mount /dev/fd0 /mnt Adesso che hai il tuo floppy montato, portati nella directory /mnt: &prompt.root; cd /mnt È qui che devi configurare il floppy per avviare una console seriale. Devi creare un file di nome boot.config contenente /boot/loader -h. Tutto quello che fa è passare un flag al bootloader per avviare una console seriale. &prompt.root; echo "/boot/loader -h" > boot.config Adesso che hai il tuo floppy configurato correttamente, devi smontare il floppy usando il comando &man.umount.8;: &prompt.root; cd / &prompt.root; umount /mnt Adesso puoi rimuovere il floppy. Connettere il Cavo Null-Modem cavo null modem Devi connettere un cavo null-modem tra le due macchine. Connetti il cavo alla porta seriale delle due macchine. Un cavo seriale normale non funzionerà, hai bisogno di un cavo null-modem perchè ha alcuni segnali incrociati. Avviare per l'Installazione È tempo di andare avanti e cominciare con l'installazione. Inserisci il floppy kern.flp nella macchina sulla quale vuoi fare l'installazione headless, e accendila. Connettersi alla Macchina Headless cu Adesso devi connetterti alla macchina con &man.cu.1;: &prompt.root; cu -l /dev/cuaa0 Ci siamo! Dovresti essere in grado di controllare la macchina headless attraverso la tua sessione cu. Ti verrà chiesto di inserire mfsroot.flp, e poi dovrai scegliere il tipo di terminale da usare. Seleziona la console a colori di FreeBSD e procedi con la tua installazione! Preparare i Propri Media di Installazione Per evitare ripetizioni, il disco di FreeBSD in questo contesto significa il CDROM o DVD che ti sei procurato. Ci possono essere delle situazioni in cui hai bisogno di creare dei media di installazione di FreeBSD e/o delle fonti per l'installazione. Potrebbe essere un media fisico, come un nastro, o una fonte che sysinstall può usare per recuperare i file, come un sito FTP locale, o una partizione &ms-dos;. Per esempio: Hai molte macchine connesse alla tua rete locale, e un disco di FreeBSD. Vuoi creare un sito FTP locale usando il contenuto del disco di FreeBSD, e quindi dare la possibilità alle tue macchine di usare questo sito FTP locale senza la necessità di doversi collegare a Internet. Hai un disco di FreeBSD, e FreeBSD non riconosce il tuo lettore CD/DVD, ma &ms-dos;/&windows; lo riconosce. Vuoi copiare i file di installazione di FreeBSD su una partizione DOS posta sul medesimo computer, e quindi installare FreeBSD usando quei file. Il computer sul quale vuoi installare FreeBSD non ha un lettore CD/DVD ne una scheda di rete, ma puoi connettere un cavo Laplink-style seriale o parallelo ad un altro computer fornito di quei supporti. Vuoi creare un nastro che può essere usato per installare FreeBSD. Creare un CDROM di Installazione Come parte di ogni release, il progetto FreeBSD mette a disposizione due immagini CDROM (immagini ISO). Queste immagini possono essere scritte (burnate) su CD se hai un masterizzatore, e quindi possono essere usate per installare FreeBSD. Se hai un masterizzatore, e la banda di rete è conveniente, allora questo è il modo più semplice per installare FreeBSD. Scaricare le Immagini ISO Corrette Le immagini ISO per ogni release possono essere scaricate da ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version o dal mirror più vicino. Sostituisci arch e versione in modo appropriato. Quella directory normalmente contiene le seguenti immagini: Nomi e Significati delle Immagini ISO di FreeBSD 4.<replaceable>X</replaceable> Nome del File Contenuto version-RELEASE-arch-miniinst.iso Tutto quello di cui hai bisogno per installare FreeBSD. version-RELEASE-arch-disc1.iso Tutto quello di cui hai bisogno per installare FreeBSD, e anche molti package addizionali di terze parti che potresti provare. version-RELEASE-arch-disc2.iso Un filesystem live, usato in congiunzione con l'utility Repair di sysinstall. Una copia dell'albero CVS di FreeBSD. Sul disco anche altri package addizionali di terze parti.
Nomi e Significati delle Immagini ISO di FreeBSD 5.<replaceable>X</replaceable> Nome del File Contenuto version-RELEASE-arch-bootonly.iso Tutto ciò di cui hai bisogno per avviare il kernel di FreeBSD e partire con l'interfaccia di installazione. I file di installazione devono essere messi su FTP o su altre fonti di supporto. version-RELEASE-arch-miniinst.iso Tutto ciò di cui hai bisogno per installare FreeBSD. version-RELEASE-arch-disc1.iso Tutto ciò di cui hai bisogno per installare &os; e un live filesystem, che è usato in congiunzione con l'utility Repair in sysinstall. version-RELEASE-arch-disc2.iso La documentazione di &os; e molte applicazioni di terze parti.
Devi scaricare o l'immagine ISO miniinst, o l'immagine del disco uno. Non le scaricare entrambe, poichè l'immagine del disco uno contiene tutto ciò che contiene l'immagine ISO miniinst. L'immagine ISO miniinst è solo disponibile per le release antecedenti la 5.4-RELEASE. Usa la miniinst ISO se l'accesso ad Internet è costoso per te. Ti permetterà di installare FreeBSD, e puoi sempre installare i package di terze parti scaricandoli usando il sistema dei port/package (guarda il ) se necessario. Usa l'immagine del disco uno se vuoi installare una release di &os; e se vuoi anche un modesto assortimento di package di terze parti. Le altre immagini sono utili, ma non essenziali, soprattutto se hai un accesso ad Internet ad alta velocità.
Scrivere i CD Devi scrivere le immagini dei CD sul disco. Se hai intenzione di farlo da un'altra macchina FreeBSD allora guarda la per maggiori informazioni (in particolare, la e la ). Se lo fai su un'altra piattaforma allora devi usare qualche utility per controllare il tuo masterizzatore di CD esistente su tale piattaforma. Le immagini fornite sono nel formato standard ISO, supportato da molte applicazioni di masterizzazione dei CD.
Se sei interessato a costruirti una release di FreeBSD personalizzata, guarda l'Articolo di Progettazione delle Release.
Creare un Sito FTP Locale con un Disco di FreeBSD installazione rete FTP I dischi di FreeBSD sono strutturati alla stessa maniera di un sito FTP. Questo rende semplice la creazione di un sito FTP locale che può essere usato da altre macchine sulla tua rete per installare FreeBSD. Sul computer FreeBSD che ospiterà il sito FTP, assicurati che il CDROM è nel lettore, e montato su /cdrom. &prompt.root; mount /cdrom Crea un account per FTP anonimo in /etc/passwd. Fallo editando /etc/passwd usando &man.vipw.8; aggiungendo questa linea: ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent Assicurati che il servizio FTP sia abilitato in /etc/inetd.conf. Chiunque che possa connettersi via rete alla tua macchina può ora scegliere il tipo di media FTP digitando ftp://tua macchina dopo aver selezionato Altro nel menù dei siti FTP durante l'installazione. Se il media di avvio (di solito dischetti floppy) usato dai tuoi client FTP non è della stessa versione fornita dal sito FTP locale, allora sysinstall non ti lascierà completare l'installazione. Se le versioni non sono simili e vuoi comunque procedere, devi andare nel menù Options e modificare il nome della distribuzione in any. Questo approccio è OK per una macchina sulla tua rete locale, che è protetta dal tuo firewall. Offrire servizi FTP ad altre macchine su Internet (non sulla tua lan) espone il tuo computer all'attenzione dei cracker e di altri maligni. Raccomandiamo fortemente di seguire buone norme di sicurezza. Creare i Floppy di Installazione installazione floppy Se devi installare da floppy disk (che suggeriamo di non fare), a causa di hardware non supportato o semplicemente perchè insisti nel fare le cose tenacemente, devi prima preparare un pò di floppy per l'installazione. Come minimo, avrai bisogno di molti floppy da 1.44 MB o da 1.2 MB per contenere tutti i file della directory bin (distribuzione binaria). Se stai preparando i floppy da DOS, allora questi devono essere formattati usando il comando FORMAT di &ms-dos;. Se stai usando &windows; usa Explorer per formattare i dischi (clicca con il tasto destro sul dispositivo A:, e scegli Format). Non fidarti dei floppy pre-formattati di fabbrica. Formattali di nuovo, per essere sicuro. In passato molti problemi riportati dai nostri utenti si sono poi rilevati causati dall'uso di media non correttamente formattati, ecco perchè stiamo mettendo in evidenzia questo fatto. Se crei i floppy su un'altra macchina FreeBSD, un format è ancora una buona idea, benchè non devi necessariamente mettere un filesystem DOS su ogni floppy. Puoi usare i comandi bsdlabel e newfs per mettere un filesystem UFS su ogni flopply, come mostra la seguente sequenza di comandi (per un floppy da 3.5" 1.44 MB): &prompt.root; fdformat -f 1440 fd0.1440 &prompt.root; bsdlabel -w -r fd0.1440 floppy3 &prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0 Usa fd0.1200 e floppy5 per i dischetti da 5.25" 1.2 MB. Puoi montarli e scriverci come qualsiasi altro tipo di file ystem. Dopo che hai formattato i flopply, dovrai copiarvi i file necessari. I files della distribuzione sono splittati in pezzi di dimensioni tali che cinque di essi possono stare su un singolo floppy convenzionale da 1.44 MB. Crea tutti i tuoi floppy, fino a quando avrai tutte le distribuzioni disponibili in questo formato. Ogni distribuzione dovrebbe andare in una sotto directory del floppy, esempio: a:\bin\bin.aa, a:\bin\bin.ab, e così via. Una volta che arrivi alla schermata dei Media durante il processo di installazione, seleziona Floppy e segui le indicazioni che ti saranno fornite. Installazione da una Partizione &ms-dos; installazione da MS-DOS Per preparare un'installazione da una partizione &ms-dos;, devi copiare i file dalla distribuzione in una directory chiamata freebsd nella directory root della partizione. Per esempio, c:\freebsd. La struttura della directory del CDROM o del sito FTP deve essere parzialmente riprodotta in questa directory, dunque consigliamo di usare il comando xcopy del DOS se stai copiando da un CD. Per esempio, per preparare un'installazione minima di FreeBSD: C:\> md c:\freebsd C:\> xcopy e:\bin c:\freebsd\bin\ /s C:\> xcopy e:\manpages c:\freebsd\manpages\ /s Assumendo che C: è dove hai spazio libero e E: è il CDROM. Se non hai un lettore CDROM, puoi scaricare la distribuzione da ftp.FreeBSD.org. Ogni distribuzione è nella propria directory; per esempio, la distribuzione base può essere trovata nella directory &rel.current;/base/. Se desideri installare diverse distribuzioni da una partizione &ms-dos; (ed hai lo spazio per farlo), installa ciascuna distribuzione in c:\freebsd — la distribuzione BIN è la sola richiesta per un'installazione minima. Creare un'Installazione su Nastro installazione da Nastro QIC/SCSI Installare da un nastro magnetico è probabilmente un metodo più facile e breve rispetto a un'installazione da FTP o da CDROM. Il programma di installazione si aspetta che i file siano semplicemente magnetizzati su nastro. Dopo che hai ottenuto tutti i file della distribuzione a cui sei interessato, semplicemente fai un tar su nastro: &prompt.root; cd /freebsd/distdir &prompt.root; tar cvf /dev/rwt0 dist1 ... dist2 Quando fai l'installazione, assicurati di lasciare abbastanza spazio in qualche directory temporanea (che ti sarà consentito scegliere) per disporre il contenuto completo del nastro che hai creato. A causa di un accesso non-random dei nastri, questo metodo di installazione richiede un pò di tempo per la memorizzazione temporanea. Quando comincia l'installazione, il nastro deve essere nel lettore prima dell'avvio da floppy. Altrimenti il probe dell'installazione potrebbe fallire nel tentativo di cercarlo. Prima di Installare via Rete installazione rete seriale (SLIP o PPP) installazione rete parallelo (PLIP) installazione rete Ethernet Sono disponibili tre tipi di installazioni di rete. Via porta seriale (SLIP o PPP), via porta parallela (PLIP (cavo laplink)), o via Ethernet (un controller Ethernet standard (inclusi alcuni PCMCIA)). Il supporto SLIP è piuttosto vecchio, e limitato principalmente a link connessi fisicamente, come con un cavo seriale cablato tra un computer portatile e un altro computer. Il collegamento dovrebbe essere fisico poichè SLIP a tutt'oggi non offre una capacità di chiamata remota; questa caratteristica è fornita dall'utility PPP, che dovrebbe essere usata al posto di SLIP quando possibile. Se userai un modem, allora PPP è quasi certamente la tua unica scelta. Assicurati di avere le informazioni del tuo provider a portata di mano che ti saranno richieste nel processo di installazione. Se usi PAP o CHAP per la connessione al tuo ISP (in altre parole, se puoi connetterti all'ISP in &windows; senza usare uno script), allora tutto quello che dovrai fare è digitare dial nel prompt di ppp. Altrimenti, avrai bisogno di sapere come chiamare il tuo ISP usando comandi AT specifici del tuo modem, poichè PPP fornisce solo un semplice emulatore di terminale. Per cortesia fai riferimento al manuale per il ppp-utente e alle FAQ. Se hai problemi, puoi mandare i log a video usando il comando set log local .... Se è disponibile una connessione fisica ad un altro FreeBSD (2.0-R o successivi), potresti considerare l'installazione via cavo parallelo laplink. La velocità di trasferimento di dati via porta parallela è molto più alta rispetto a quella realizzabile via seriale (fino a 50 kbyte/sec), ottenendo quindi un'installazione rapida. Alla fine, per un'installazione più veloce possibile via rete, un adattatore Ethernet è sempre una buona scelta! FreeBSD supporta le più comuni schede di rete Ethernet per PC; una tabella di schede supportate (e i rispettivi settaggi richiesti) viene fornita nell'Hardware Note per ogni release di FreeBSD. Se usi una delle scheda PCMCIA Ethernet supportate, assicurati di inserirla prima di accendere il portatile! FreeBSD, sfortunatamente, non supporta ancora l'inserimento a caldo di una scheda PCMCIA durante l'installazione. Inoltre dovrai sapere il tuo indirizzo IP della rete, il valore della netmask per la tua classe di indirizzi, e il nome della tua macchina. Se stai installando tramite una connessione PPP e non hai un IP statico, non temere, l'indirizzo IP può essere dinamicamente assegnato dal tuo ISP. Il tuo amministratore di sistema ti dirà quali valori usare per il tuo setup di rete. Se farai riferimento ad altri host tramite nomi piuttosto che tramite indirizzi IP, avrai bisogno di conoscere anche il server dns e forse anche l'indirizzo di un gateway (se stai usando PPP, è l'indirizzo IP del tuo provider) per poter comunicare con il server dns. Se vuoi installare via FTP passando per un proxy HTTP, avrai bisogno anche dell'indirizzo del proxy. Se non conosci tutte o in parte queste informazioni, dovrai parlare con il tuo amministratore di sistema o con l'ISP prima di tentare questo tipo di installazione. Prima di Installare via NFS installazione rete NFS L'installazione tramite NFS è abbastanza semplice. Devi copiare semplicemente i file della distribuzione interessata in un server NFS e quindi puntare il media al server NFS. Se questo server supporta solo porte privilegiate (come in genere succede nelle workstation di Sun), dovrai settare l'opzione NFS Secure nel menì Options prima di procedere con l'installazione. Se hai una scheda Ethernet di scarsa qualità con dei trasferimenti di rete molto lenti, potresti anche selezionare il flag NFS Slow. Affinchè l'installazione NFS abbia successo, il server deve supportare il mount di sotto directory, per esempio, se la directory della distribuzione di FreeBSD &rel.current; è in: ziggy:/usr/archive/stuff/FreeBSD, allora ziggy dovrà permettere il mount diretto di /usr/archive/stuff/FreeBSD, e non solo di /usr o di /usr/archive/stuff. Nel file /etc/exports di FreeBSD, questo comportamento è controllato dalle opzioni . Altri server NFS potrebbero avere diverse regole. Se ottieni il messaggio permesso negato dal server, allora è probabile che non hai abilitato queste opzioni.
diff --git a/ja_JP.eucJP/books/faq/book.xml b/ja_JP.eucJP/books/faq/book.xml index e73c949b6d..5c0273a63f 100644 --- a/ja_JP.eucJP/books/faq/book.xml +++ b/ja_JP.eucJP/books/faq/book.xml @@ -1,15137 +1,15133 @@ FreeBSD 2.X¡¢3.X¡¢4.X ¤Ë¤Ä¤¤¤Æ¤Î FAQ (¤è¤¯¤¢¤ë¼ÁÌä¤È¤½¤ÎÅú¤¨) FreeBSD ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È 1995 1996 1997 1998 1999 2000 2001 FreeBSD ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È &legalnotice; $FreeBSD$ ¤³¤Îʸ½ñ¤Ï FreeBSD ¥·¥¹¥Æ¥à¡¦¥Ð¡¼¥¸¥ç¥ó 2.X¡¢3.X¡¢4.X ¤Ë¤Ä¤¤¤Æ¤Î FAQ ¤Ç¤¹¡£ ÆÃ¤ËÃǤï¤ê¤¬¤Ê¤¤¸Â¤ê¡¢¤É¤Î¹àÌܤâ FreeBSD 2.0.5 °Ê¹ß¤Î¤â¤Î¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£ <XXX> ¤Î¤Ä¤¤¤Æ¤¤¤ë¹àÌܤϤޤÀºî¶ÈÃæ¤Î¤â¤Î¤Ç¤¹¡£ ¤³¤Î FreeBSD ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤Ë¶¨ÎϤ·¤¿¤¤¤È»×¤ï¤ì¤ëÊý¤Ï¡¢ &a.doc; ¤Þ¤Ç (±Ñ¸ì¤Ç) ÅŻҥ᡼¥ë¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Îʸ½ñ¤ÎºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢¤¤¤Ä¤Ç¤â ÆüËܹñÆâÈÇ FreeBSD World Wide Web ¥µ¡¼¥Ð¤ä FreeBSD World Wide Web ¥µ¡¼¥Ð¤Ç ¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢¤Ò¤È¤Ä¤ÎµðÂç¤Ê HTML ¥Õ¥¡¥¤¥ë¤È¤·¤Æ HTTP ¤Ç¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¡¢PostScript¡¢PDF¡¢¤ª¤è¤Ó¤½¤Î¾¤Î·Á¼°¤Î¤â¤Î¤Ï FreeBSD FTP ¥µ¡¼¥Ð¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¤Þ¤¿¡¢FAQ ¤Î¸¡º÷¤â²Äǽ¤Ç¤¹¡£ 2005 ǯ 6 ·î¸½ºß¡¢HTML Èǰʳ°¤ÎÆüËܸì FAQ ¤ÏÍѰդµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ÆüËܸìÈǤκîÀ®¤Ï FreeBSD ÆüËܸì¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤¬ ¥ª¥ê¥¸¥Ê¥ë¤Î±Ñ¸ìÈǤò¤â¤È¤Ë¤·¤Æ¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ FreeBSD FAQ ÆüËܸìÌõ¤ª¤è¤Ó¡¢ FreeBSD FAQ ÆüËܸìÈǤΤߤ˴ØÏ¢¤¹¤ë¤³¤È¤Ï¡¢ &a.jp.doc-jp; ¤Ë¤ª¤¤¤ÆÆüËܸì¤ÇµÄÏÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ɬÍפ˱þ¤¸¤ÆÆüËܸì¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤«¤é¡¢ FreeBSD Documentation Project ¤ËÂФ·¤Æ¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤ò¹Ô¤Ê¤¤¤Þ¤¹¤Î¤Ç¡¢ ±Ñ¸ì¤¬ÆÀ°Õ¤Ç¤Ê¤¤Êý¤Ï &a.jp.doc-jp; ¤Þ¤ÇÆüËܸì¤Ç¥³¥á¥ó¥È¤ò¤ª´ó¤»¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢¤³¤Î FreeBSD FAQ ¤È¤ÏÊ̤ˡ¢ÆüËܤΠFreeBSD ¥æ¡¼¥¶Í­»Ö¤Ë¤è¤Ã¤Æ &a.jp.users-jp; ¤ä¥Ë¥å¡¼¥¹¥°¥ë¡¼¥× fj.os.bsd.freebsd ¤Ê¤É¤Ø¤ÎÅê¹Æ¤ò¤â¤È¤ËºîÀ®¤µ¤ì¤¿ QandA ¤¬¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ÆÃ¤ËÆüËܸì´Ä¶­¤Ê¤ÉÆüËܸÇÍ­¤ÎÏÃÂ꤬½¼¼Â¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ ¤³¤Á¤é¤â¹ç¤ï¤»¤Æ¤´Í÷¤¯¤À¤µ¤¤¡£ ¤Þ¤¨¤¬¤­ Ìõ: &a.kuriyama;¡¢ &a.hanai;¡¢ &a.jp.nakai;¡¢ &a.motoyuki;¡¢ &a.jp.sugimura;¡¢ 1997 ǯ 11 ·î 5 Æü FreeBSD 2.X-4.X FAQ ¤Ø¤è¤¦¤³¤½! Usenet ¤Î FAQ ¤¬¤½¤¦¤Ç¤¢¤ë¤è¤¦¤Ë¡¢ ¤³¤Îʸ½ñ¤â FreeBSD ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë´Ø¤·¤Æ ÉÑÈˤ˿Ҥͤé¤ì¤ë¼ÁÌä¤òÌÖÍ夹¤ë¤³¤È¤òÌÜŪ¤È¤·¤Æ¤¤¤Þ¤¹ (¤â¤Á¤í¤ó¤½¤ì¤ËÂФ¹¤ëÅú¤¨¤â!)¡£ FAQ ¤ÏËÜÍè¥Ð¥ó¥ÉÉý¤ò¸º¤é¤·¡¢ Ʊ¤¸¼ÁÌ䤬²¿Å٤ⷫ¤êÊÖ¤µ¤ì¤ë¤Î¤òÈò¤±¤ë¤¿¤á¤Ëºî¤é¤ì¤¿¤â¤Î¤Ç¤¹¤¬¡¢ ºÇ¶á¤ÏÍ­ÍѤʾðÊ󸻤ȸ«¤Ê¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤­¤Þ¤·¤¿¡£ ¤³¤Î FAQ ¤ò¤Ç¤­¤ë¸Â¤êÍ­ÍѤʤâ¤Î¤Ë¤·¤è¤¦¤È¡¢ ¤¢¤é¤æ¤ëÅØÎϤ¬¤Ï¤é¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ ¤â¤·²¿¤«¤·¤é¤Î²þÁ±°Æ¤¬É⤫¤ó¤À¤é¡¢¤¼¤Ò &a.faq; ¤Þ¤Ç¥á¡¼¥ë¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD ¤Ã¤Æ²¿? FreeBSD ¤È¤Ï°ì¸À¤Ç¸À¤¨¤Ð¡¢¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¥Ð¡¼¥¯¥ì¥¤¹»¤«¤é ¥ê¥ê¡¼¥¹¤µ¤ì¤¿ 4.4BSD-Lite ¤È 4.4BSD-Lite2 ¤Ë¤è¤ë ¶¯²½¤Î°ìÉô¤ËͳÍ褹¤ë¡¢ i386 ¤ª¤è¤Ó Alpha/AXP ·Ï¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸þ¤±¤Î UN*X ¥é¥¤¥¯¤Ê¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤¹¡£ ´ÖÀÜŪ¤Ë¤ÏƱ¤¸¥Ð¡¼¥¯¥ì¥¤¹»¤Î Net/2 ¤ò William Jolitz ¤¬ i386 ·Ï¤Ë°Ü¿¢¤·¤¿ 386BSD ¤â´ð¤Ë¤·¤Æ¤¤¤Þ¤¹¤¬¡¢ 386BSD ¤Î¥³¡¼¥É¤Ï¤Û¤È¤ó¤É»Ä¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ FreeBSD ¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤È¡¢²¿¤¬¤Ç¤­¤ë¤«¤Ë¤Ä¤¤¤Æ¤Ï FreeBSD ¤Î¥Û¡¼¥à¥Ú¡¼¥¸ ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD ¤Ï´ë¶È¤ä¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¡¢¸¦µæ¼Ô¡¢ ¥³¥ó¥Ô¥å¡¼¥¿ÀìÌç²È¡¢³ØÀ¸¡¢²ÈÄí¤Î¥æ¡¼¥¶¤Ê¤É¤Ë¤è¤ê¡¢¶È̳¤ä¶µ°é¡¢ ¸ä³Ú¤ËÍѤ¤¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ë´Ø¤·¤Æ¤Ï FreeBSD ¥®¥ã¥é¥ê¡¼¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ FreeBSD ¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD ¤¬Ìܻؤ·¤Æ¤¤¤ë¤â¤Î FreeBSD ¥×¥í¥¸¥§¥¯¥È¤ÎÌÜŪ¤Ï¡¢ ¤¤¤«¤Ê¤ëÍÑÅӤˤâ»ÈÍѤǤ­¡¢ ²¿¤éÀ©¸Â¤Î¤Ê¤¤¥½¥Õ¥È¥¦¥§¥¢¤ò¶¡µë¤¹¤ë¤³¤È¤Ç¤¹¡£ »ä¤¿¤Á¤Î¿¤¯¤Ï¡¢ ¥³¡¼¥É (¤½¤·¤Æ¥×¥í¥¸¥§¥¯¥È) ¤ËÂФ·¤Æ¤«¤Ê¤ê¤ÎÅê»ñ¤ò¤·¤Æ¤­¤Æ¤ª¤ê¡¢ ¤³¤ì¤«¤é¤â¿¾¯¤ÎÂå½þ¤Ï¤¢¤Ã¤Æ¤âÅê»ñ¤ò³¤±¤Æ¹Ô¤¯¤Ä¤â¤ê¤Ç¤¹¡£ ¤¿¤À¡¢Â¾¤Î¿Íã¤Ë¤âƱ¤¸¤è¤¦¤ÊÉéô¤ò¤¹¤ë¤è¤¦¤Ë¼çÄ¥¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ FreeBSD ¤Ë¶½Ì£¤ò»ý¤Ã¤Æ¤¤¤ë°ì¿Í»Ä¤é¤º¤¹¤Ù¤Æ¤Î¿Í¡¹¤Ë¡¢ ÌÜŪ¤ò¸ÂÄꤷ¤Ê¤¤¤Ç¥³¡¼¥É¤òÄ󶡤¹¤ë¤³¤È¡£ ¤³¤ì¤¬¡¢ »ä¤¿¤Á¤ÎºÇ½é¤Î¤½¤·¤ÆºÇÂç¤Î¡ÖǤ̳¡×¤Ç¤¢¤ë¤È¿®¤¸¤Æ¤¤¤Þ¤¹¡£ ¤½¤¦¤¹¤ì¤Ð¡¢¥³¡¼¥É¤Ï²Äǽ¤Ê¸Â¤ê¹­¤¯»È¤ï¤ì¡¢ ºÇÂç¤Î²¸·Ã¤ò¤â¤¿¤é¤¹¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ ¤³¤ì¤¬¡¢»ä¤¿¤Á¤¬Ç®Îõ¤Ë»Ù»ý¤·¤Æ¤¤¤ë¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤ÎºÇ¤â´ðËÜŪ¤ÊÌÜŪ¤Ç¤¢¤ë¤È¡¢ »ä¤Ï¿®¤¸¤Æ¤¤¤Þ¤¹¡£ »ä¤¿¤Á¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤Ë´Þ¤Þ¤ì¤ë¥½¡¼¥¹¤Î¤¦¤Á¡¢GNU °ìÈ̸øÍ­»ÈÍѵöÂú (GPL) ¤Þ¤¿¤Ï GNU ¥é¥¤¥Ö¥é¥ê °ìÈ̸øÍ­»ÈÍѵöÂú (LGPL) ¤Ë½¾¤Ã¤Æ¤¤¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¡¢ ¿¾¯À©¸Â¤¬²Ê¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢ ¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥¢¥¯¥»¥¹¤ÎÊݾڤȤ¤¤¦¡¢ °ìÈ̤ÎÀ©¸Â¤È¤Ï¤¤¤ï¤ÐµÕ¤ÎÀ©¸Â¤Ç¤¹¡£ ¤¿¤À¤· GPL ¥½¥Õ¥È¥¦¥§¥¢¤ò¾¦ÍѤÇÍøÍѤ¹¤ë¾ì¹ç¡¢ ¤µ¤é¤ËÊ£»¨¤Ë¤Ê¤ë¤Î¤ÏÈò¤±¤é¤ì¤Þ¤»¤ó¡£ ¤½¤Î¤¿¤á¡¢¤½¤ì¤é¤Î¥½¥Õ¥È¥¦¥§¥¢¤ò¡¢¤è¤êÀ©¸Â¤Î¾¯¤Ê¤¤ BSD Ãøºî¸¢¤Ë½¾¤Ã¤¿¥½¥Õ¥È¥¦¥§¥¢¤ÇÃÖ¤­´¹¤¨¤ëÅØÎϤò¡¢ ²Äǽ¤Ê¸Â¤êÆü¡¹Â³¤±¤Æ¤¤¤Þ¤¹¡£ ÌõÃí GPL ¤Ç¤Ï¡¢¡Ö¥½¡¼¥¹¥³¡¼¥É¤ò¼ÂºÝ¤Ë¼õ¤±¼è¤ë¤«¡¢ ¤¢¤ë¤¤¤Ï´õ˾¤·¤µ¤¨¤¹¤ì¤Ð¤½¤ì¤òÆþ¼ê¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤³¤È¡×¤òµá¤á¤Æ¤¤¤Þ¤¹¡£ ¤É¤¦¤·¤Æ FreeBSD ¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¤«? ̵ÎÁ (free) ¤Ç»È¤¦¤³¤È¤¬¤Ç¤­¤ë (¾¦ÍøÍѤâ´Þ¤à)¡£ ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î´°Á´¤Ê¥½¡¼¥¹¥³¡¼¥É¤¬¼«Í³ (freely) ¤Ë¼ê¤ËÆþ¤ê¡¢ ¾¦ÍøÍÑ¡¦Èó¾¦ÍøÍѤˤ«¤«¤ï¤é¤º¡¢ºÇÄã¸Â¤ÎÀ©¸Â¤Ç¾¤Î»Å»ö¤Ø¤ÎÍøÍÑ¡¢ÇÛÉÛ¡¢Æ³Æþ¤¬²Äǽ¡£ ²þÎɤä¥Ð¥°¥Õ¥£¥Ã¥¯¥¹¤¬¤¢¤ë¾ì¹ç¡¢ ï¤Ç¤â (free) ¤½¤Î¥³¡¼¥É¤òÄó½Ð¤Ç¤­¡¢ ¥½¡¼¥¹¥Ä¥ê¡¼¤Ë²Ã¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹ (¤¤¤¯¤Ä¤«¤Î´Êñ¤Ê¾ò·ï¤Ë¤Ï½¾¤Ã¤Æ¤â¤é¤¤¤Þ¤¹)¡£ Êì¹ñ¸ì¤¬±Ñ¸ì¤Ç¤Ê¤¤ÆÉ¼Ô¤Î¤¿¤á¤Ë¡¢¤³¤³¤Ç¤Ï free ¤È¤¤¤¦Ã±¸ì¤¬Æó¤Ä¤Î°ÕÌ£¤ÇÍѤ¤¤é¤ì¤Æ¤¤¤ë¤³¤È¤ò»ØÅ¦¤·¤Æ¤ª¤¯¤Èʬ¤«¤ê¤ä¤¹¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£ ¤Ò¤È¤Ä¤Ï¡Ö̵ÎÁ¤Ç¤¢¤ë¡×¤È¤¤¤¦¤³¤È¡¢ ¤â¤¦¤Ò¤È¤Ä¤Ï¡Ö¼«Ê¬¤Î¤ä¤ê¤¿¤¤¤è¤¦¤Ë¤Ç¤­¤ë¡×¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ FreeBSD ¤Î¥³¡¼¥É¤Ç¤Ç¤­¤Ê¤¤¤¤¤¯¤Ä¤«¤Î¤³¤È (¼«Ê¬¤¬½ñ¤¤¤¿¤â¤Î¤À¤Èµ¶¤ë¤Ê¤É) ¤ò½ü¤±¤Ð¡¢ ¤¢¤Ê¤¿¤Ï¼«Ê¬¤Î¤ä¤ê¤¿¤¤¤³¤È¤ò¤ä¤ë¤³¤È¤¬²Äǽ¤Ê¤Î¤Ç¤¹¡£ FreeBSD ¤ÎºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤Ï? 4.3 ¤¬ºÇ¿·¤Î STABLE ¥Ð¡¼¥¸¥ç¥ó¤Ç¡¢ 2001 ǯ 4 ·î¤Ë¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤·¤¿¡£ ¤Þ¤¿¡¢¤³¤ì¤ÏºÇ¿·¤Î RELEASE ¥Ð¡¼¥¸¥ç¥ó¤Ç¤â¤¢¤ê¤Þ¤¹¡£ ´Êñ¤Ë¸À¤Ã¤Æ¤·¤Þ¤¦¤È¡¢-STABLE ¤ÏºÇ¿·¤Î -CURRENT ¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Î¤¹¤Ð¤é¤·¤¤¿·µ¡Ç½¤Î¿ô¡¹¤è¤ê¤â¡¢ °ÂÄêÀ­¤ÈÊѹ¹²ó¿ô¤Î¾¯¤Ê¤µ¤ò¹¥¤à ISP ¤ä¡¢ ¾¤Î´ë¶È¤Î¥æ¡¼¥¶¤ò¥¿¡¼¥²¥Ã¥È¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ ¥ê¥ê¡¼¥¹¤Ï¤³¤ÎÆó¼ïÎà¤Î¥Ö¥é¥ó¥Á¤Ç¹Ô¤Ê¤ï¤ì¤Þ¤¹¤¬¡¢ (-STABLE ¤ÈÈæ³Ó¤¹¤ë¤È¿¾¯) ÉÔ°ÂÄê¤Êưºî¤¬¤¢¤ë¤È¤¤¤¦¤³¤È¤òµöÍÆ¤Ç¤­¤ë¤Ê¤é¡¢ ɬÍפȤʤë¤Î¤Ï -CURRENT ¤ÎÊý¤À¤±¤Ç¤·¤ç¤¦¡£ ³Æ¥ê¥ê¡¼¥¹¤Ï ¿ô¥«·îËè¤Ë¤·¤«¹Ô¤Ê¤ï¤ì¤Þ¤»¤ó¡£ ¿¤¯¤Î¿Í¡¹¤¬ FreeBSD ¤Î¥½¡¼¥¹¤ò¤½¤Î¥ê¥ê¡¼¥¹¤è¤ê¤â ºÇ¿·¤Î¾õÂ֤˰ݻý¤·¤Æ¤¤¤ë (FreeBSD-current ¤È FreeBSD-stable ¤Ë´Ø¤¹¤ë¼ÁÌä¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤) ¤Î¤Ç¤¹¤¬¡¢ ¥½¡¼¥¹¤È¤¤¤¦¤Î¤Ï¾ï¤Ë²þÊѤµ¤ì³¤±¤Æ¤¤¤ë¤¿¤á¡¢ ¤½¤¦¤¹¤ë¤³¤È¤Ï°ì¼ï¤Î´·Îã¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ FreeBSD-CURRENT¤Ã¤Æ²¿? FreeBSD-CURRENT ¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î³«È¯¥Ð¡¼¥¸¥ç¥ó¤Ç¡¢ ¤ä¤¬¤Æ 5.0-RELEASE ¤È¤Ê¤ê¤Þ¤¹¡£¤è¤Ã¤Æ¤³¤ì¤Ï¡¢¤½¤³¤Ë·È¤ï¤Ã¤Æ¤¤¤ë³«È¯¼Ô¤ä¡¢ ¤É¤ó¤Ê¾ã³²¤ò¤â¾è¤ê±Û¤¨¤Æ¤¤¤±¤ë¥¿¥Õ¤Ê°¦¹¥²È¤¿¤Á¤Ë¤È¤Ã¤Æ¤Î¤ß¶½Ì£¤ÎÂоݤȤʤë¤â¤Î¤Ç¤¹¡£ -CURRENT ¤Î»ÈÍѤ˺ݤ·¤Æ¤Î¾ÜºÙ¤Ï FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯ ¤Î ´ØÏ¢¤¹¤ë¥»¥¯¥·¥ç¥ó ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ËÆëÀ÷¤ß¤¬¤Ê¤¤¾ì¹ç¤ä¡¢ ¤½¤ì¤¬°ì»þŪ¤ËȯÀ¸¤·¤Æ¤¤¤ëÌäÂê¤Ê¤Î¤«¡¢ ¤½¤ì¤È¤âËܼÁŪ¤ÊÌäÂ꤫¤ò¸«¶Ë¤á¤ëǽÎϤ¬¤Ê¤¤¾ì¹ç¤Ï¡¢ FreeBSD-CURRENT ¤ò»È¤¦¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤³¤Î¥Ö¥é¥ó¥Á¤Ï»þ¡¹µÞ·ã¤Ë³ÈÄ¥¤µ¤ì¤¿¤ê¡¢ ¥·¥¹¥Æ¥à¤¬¹½ÃۤǤ­¤Ê¤¤¾õÂ֤ˤʤ뤳¤È¤â¤·¤ç¤Ã¤Á¤å¤¦¤¢¤ê¤Þ¤¹¡£ FreeBSD-CURRENT ¤ò»È¤¦¿Í¤ÏÌäÂê¤òʬÀϤ·¡¢ ¡Ö¾®¤µ¤Ê·ç´Ù¡×¤Ç¤Ï¤Ê¤¯¡¢ ÌÀ¤é¤«¤Ë´Ö°ã¤¤¤Ç¤¢¤ë¤È»×¤ï¤ì¤ë¤â¤Î¤À¤±¤òÊó¹ð¤Ç¤­¤ë¤â¤Î¤ÈÁÛÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ ¡Ömake world ¤·¤¿¤é group ´Ø·¸¤Ç¥¨¥é¡¼¤¬¤Ç¤Þ¤·¤¿¡×¤Î¤è¤¦¤Ê¼ÁÌä¤Ï¡¢ -CURRENT ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç¤Ï·ÚÊΤδ㺹¤·¤Ç¤¢¤·¤é¤ï¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ ËèÆü¡¢¤½¤Î»þÅÀ¤Î -CURRENT ¤È -STABLE ¤Î¥³¡¼¥É¤ò¸µ¤Ë snapshot ¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¸½ºß¤Ï¡¢¤½¤Î snapshot ¤ÎÇÛÉÛ¤âÍøÍѲÄǽ¤Ç¤¹¡£ ¤½¤ì¤¾¤ì¤Î snapshot ¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤ÊÌÜŪ¤¬¤¢¤ê¤Þ¤¹¡£ ¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤ÎºÇ¿·ÈǤΥƥ¹¥È¡£ »î¤·¤Æ¤ß¤¿¤¤¤±¤ì¤É¡¢ ´ðÁÃŪ¤Ê½ê¤«¤éËèÆüÊѤï¤ë¤è¤¦¤Ê¤â¤Î¤òÄɤ¤¤«¤±¤ë»þ´Ö¤â¥Ð¥ó¥ÉÉý¤â̵¤¤¡¢ ¤È¤¤¤¦¿Í¤Ë¤â -CURRENT ¤ä -STABLE ¤ò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¡£ ¤Þ¤¿¡¢¤½¤Î¤è¤¦¤Ê¿Í¤¿¤Á¤Î¥·¥¹¥Æ¥à°Ü¹Ô¤Î¤¿¤á¤Î¼ê¤Ã¼è¤êÁᤤÊýË¡¤òÄ󶡤¹¤ë¡£ ¤¢¤È¤Ç¤È¤ó¤Ç¤â¤Ê¤¤¤³¤È¤ò¤·¤Æ¤·¤Þ¤Ã¤¿»þ¤Î¤¿¤á¤Ë¡¢ ÌäÂê¤È¤Ê¤ë¥³¡¼¥É¤ÎÆÃÄê¤Î»²¾È´ð½àÅÀ¤òÊݸ¤·¤Æ¤ª¤¯¡£ (Ä̾ï¤Ï CVS ¤¬¤³¤¦¤¤¤¦¥Ï¥×¥Ë¥ó¥°¤Î¤è¤¦¤Ê¶²¤í¤·¤¤»öÂÖ¤òËɻߤ·¤Æ ¤¤¤ë¤ó¤Ç¤¹¤±¤É¤Í :) ¥Æ¥¹¥È¤¬É¬Íפʿ·¤·¤¤µ¡Ç½¤ò¡¢ ¤Ç¤­¤ë¸Â¤ê¿¤¯¤Î±£¤ì¥Æ¥¹¥¿¡¼¤Ë»î¤·¤Æ¤â¤é¤¦¡£ ¤É¤ó¤ÊÌÜŪ¤Ç¤¢¤ì¡¢-CURRENT snapshot ¤¬ À½ÉÊ¥ì¥Ù¥ë¤ÎÉʼÁ ¤Ç¤¢¤ë¤È¤Î¹Í¤¨¤Ë´ð¤Å¤¯Í×µá¤Ï¹Ô¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ °ÂÄêÀ­¤ä¥Æ¥¹¥È½½Ê¬À­¤Ë¤³¤À¤ï¤ë¿Í¤Ï¡¢ ´°Á´¤Ê¥ê¥ê¡¼¥¹¡¢¤¢¤ë¤¤¤Ï -STABLE snapshot ¤«¤éÎ¥¤ì¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥ê¥ê¡¼¥¹¤Ï¡¢5.0-CURRENT ¤¬ ftp://current.FreeBSD.org/pub/FreeBSD/ ¤«¤é¡¢4-STABLE ¤¬ releng4.FreeBSD.org ¤«¤éľÀÜÆþ¼ê²Äǽ¤Ç¤¹¡£ ¤Þ¤¿¡¢3-STABLE ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ï¡¢ ¤³¤Îʸ¾Ï¤Î¼¹É®»þÅÀ (2000 ǯ 5 ·î) ¤ÇºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥ê¥ê¡¼¥¹¤Ï¡¢ ¸½ºß¡¢³«È¯¤äÊݼéºî¶È¤¬¹Ô¤Ê¤ï¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥Ö¥é¥ó¥Á¤Ë¤ª¤¤¤Æ¡¢ Ê¿¶Ñ¤·¤Æ°ìÆü°ì²óºîÀ®¤µ¤ì¤Þ¤¹¡£ FreeBSD-STABLE ¤Î¥³¥ó¥»¥×¥È¤Ï²¿¤Ç¤¹¤«? FreeBSD 2.0.5 ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤¿¸å¡¢»ä¤¿¤Á¤Ï FreeBSD ¤Î³«È¯¤ò 2 ·ÏÅý¤Ëʬ³ä¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£ °ì¤Ä¤Ï -STABLE ¤È¤¤¤¦¥Ö¥é¥ó¥Á¤Ç¡¢¥Ð¥°¤Î½¤Àµ¤Ï¤·¤Ã¤«¤ê¥Æ¥¹¥È¤µ¤ì¡¢ µ¡Ç½¤Î¶¯²½¤Ï¾¯¤·¤º¤Ä¤·¤«¹Ô¤ï¤ì¤Þ¤»¤ó (µÞ¤ÊÊѹ¹¤ä¼Â¸³Åªµ¡Ç½¤ò˾¤Þ¤Ê¤¤¡¢ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤ä±ÄÍø´ë¶È¸þ¤±)¡£ ¤â¤¦°ìÊý¤Î¥Ö¥é¥ó¥Á¤Ï -CURRENT ¤Ç¡¢2.0 ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Æ°ÊÍè 5.0-RELEASE (¤½¤·¤Æ¤½¤Î¸å¤â) ¤Ø¸þ¤±¤ÆÌ®¡¹¤È³¤¤¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£ ASCII ¤ÇÉÁ¤¤¤¿´Êñ¤Ê¿Þ¤¬¤ï¤«¤ê¤ä¤¹¤¤¤«¤Ï¼«¿®¤¬¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ¤³¤ó¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ 2.0 | | | [2.1-STABLE] *BRANCH* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-STABLE ½ªÎ»] | (1997/03) | | | [2.2-STABLE] *BRANCH* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [½ªÎ»] | (1997/03) (1997/10) (1998/04) (1998/07) (1998/12) | | 3.0-SNAPs (1997 ǯÂè°ì»ÍȾ´ü³«»Ï) | | 3.0-RELEASE (1998/10) | | [3.0-STABLE] *BRANCH* 3.1-RELEASE (1999/02) -> 3.2 -> 3.3 -> 3.4 -> 3.5 -> 3.5.1 | (1999/05) (1999/09) (1999/12) (2000/06) (2000/07) | [4.0-STABLE] *BRANCH* 4.0 (2000/03) ->4.1 -> 4.1.1 -> 4.2 -> 4.3 -> ... ¾­Íè¤Î 4.x ¥ê¥ê¡¼¥¹ ... | | (2000/07) (2000/09) (2000/11) | \|/ + [5.0-CURRENT ¤È¤·¤Æ·ÑÂ³Ãæ] -CURRENT ¥Ö¥é¥ó¥Á¤Ï 5.0 ¤È¤½¤ÎÀè¤Ø¸þ¤±¤Æ¤æ¤Ã¤¯¤ê¤È¿Ê²½¤ò³¤±¤Æ¤¤¤Þ¤¹¡£ ½¾Í褢¤Ã¤¿ 2.2-STABLE ¥Ö¥é¥ó¥Á¤Ï 2.2.8 ¤Î¥ê¥ê¡¼¥¹¤ò¤â¤Ã¤Æ½ªÎ»¤·¤Þ¤·¤¿¡£ 3-STABLE ¤¬¤½¤ì¤ËÂå¤ï¤ê¡¢2000 ǯ 7 ·î¤Ë 3.5.1-RELEASE (ºÇ¸å¤Î 3.X ¥ê¥ê¡¼¥¹) ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤·¤¿¡£ 2000 ǯ 3 ·î (3.5 ¤Î¸ø³«Á°¤Ë¤Ê¤ê¤Þ¤¹¤¬) ¤Ë¤Ï¡¢ 3-STABLE ¥Ö¥é¥ó¥Á¤Ï¤Û¤Ü¡¢4-STABLE ¥Ö¥é¥ó¥Á¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤¨¤é¤ì¤Þ¤·¤¿¡£ 4.3-RELEASE ¤Ï 2001 ǯ 4 ·î¤Ë¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤·¤¿¡£ 4-STABLE ¤Ï¸½ºß -STABLE ¥Ö¥é¥ó¥Á¤Ç³èȯ¤Ë³«È¯¤¬Â³¤±¤é¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢ 3-STABLE ¤Ø¤Î¥Ð¥°¤Î½¤Àµ (¤Û¤È¤ó¤É¤¬¥»¥­¥å¥ê¥Æ¥£´ØÏ¢¤Î¤â¤Î) ¤â¤Þ¤À¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ 3.X ¥Ö¥é¥ó¥Á¤Ï 2000 ǯ¤Î²Æ¤Ë¤Ï¸ø¼°¤Ë³«È¯¤¬½ªÎ»¤¹¤ëͽÄê¤Ç¤¹¡£ ¸½ºß¤Î current branch ¤Ï 5.0-CURRENT ¤Ç¤¢¤ê¡¢ ºÇ½é¤Î 5.0 ·ÏÎó¤Î¥ê¥ê¡¼¥¹Í½Äê¤Ï¤Þ¤À·èÄꤷ¤Æ¤¤¤Þ¤»¤ó¡£ FreeBSD ¤Î¥ê¥ê¡¼¥¹¤Ï¤¤¤Äºî¤é¤ì¤ë¤Î¤Ç¤¹¤«? FreeBSD ¥³¥¢¥Á¡¼¥à¤Ï¸¶Â§Åª¤Ë¡¢ ¿·¤·¤¤µ¡Ç½¤ä¥Ð¥°¥Õ¥£¥Ã¥¯¥¹¤¬½¼Ê¬½¸¤Þ¤ê¡¢ ¥ê¥ê¡¼¥¹¤Î°ÂÄêÀ­¤ò»¤Ê¤¦¤³¤È¤¬Ìµ¤¤¤è¤¦¡¢ ¤µ¤Þ¤¶¤Þ¤ÊÊѹ¹¤¬½½Ê¬¤Ë°ÂÄꤷ¤Æ¤¤¤ë¤È¤¤¤¦¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß¡¢ ¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î FreeBSD ¤ò¥ê¥ê¡¼¥¹¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤³¤ÎÍÑ¿´¿¼¤µ¤¬¿·¤·¤¤µ¡Ç½¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¤³¤È¤ò ÂÔ¤Á˾¤ó¤Ç¤¤¤ë¥æ¡¼¥¶¤òÍßµáÉÔËþ¤Ë¤µ¤»¤ë¤È¤·¤Æ¤â¡¢ ¿¤¯¤Î¥æ¡¼¥¶¤Ï¤³¤Î¤³¤È¤ò FreeBSD ¤ÎºÇ¤âÎɤ¤½ê¤Î°ì¤Ä¤À¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ ¥ê¥ê¡¼¥¹¤ÎºîÀ®¤Ï¡¢Ê¿¶ÑŪ¤Ë¸À¤Ã¤Æ¤ª¤è¤½ 4 ¥ö·î¤´¤È¤Ë¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£ ¤â¤¦¾¯¤·»É·ã¤¬Íߤ·¤¤ (¤¢¤ë¤¤¤ÏÂÔ¤Á±ó¤·¤¤) Êý¡¹¸þ¤±¤Ë¤Ï¡¢ ËèÆü¥Ð¥¤¥Ê¥ê¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¾åµ­¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD ¤Ï PC ÍѤÀ¤±¤·¤«¤Ê¤¤¤Î? FreeBSD 3.x °Ê¹ß¤Ï x86 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ÈƱÍÍ¡¢ DEC Alpha ¤Ç¤âưºî¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢SPARC¡¢PowerPC¡¢IA64 ¤Ø¤Î°Ü¿¢¤È¤¤¤¦¶½Ì£¿¼¤¤Ïä⤢¤ê¤Þ¤¹¡£ °Û¤Ê¤ë¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î¥Þ¥·¥ó¤ò »ý¤Ã¤Æ¤¤¤Æ¡¢¤æ¤Ã¤¯¤êÂԤƤʤ¤¤È¤¤¤¦¾ì¹ç¤Ë¤Ï¼¡¤Î URL ¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ NetBSD ¤Þ¤¿¤Ï OpenBSD¡£ FreeBSD ¤ÎÀÕǤ¼Ô¤Ï¤¤¤Ã¤¿¤¤Ã¯? ¥×¥í¥¸¥§¥¯¥È¤ÎÁ´ÂÎŪ¤ÊÊý¸þÀ­¤ä¡¢ ï¤Ë¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¥³¡¼¥É¤Î½ñ¤­¹þ¤ß¸¢¸Â¤òÍ¿¤¨¤ë¤«¡¢ ¤Ê¤É¤È¤¤¤Ã¤¿ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ë´Ø¤¹¤ë½ÅÍפʰջ׷èÄê¤Ï¡¢ 9 ̾¤«¤é¤Ê¤ë¥³¥¢¥Á¡¼¥à (core team) ¤Ë¤è¤Ã¤Æ¤Ê¤µ¤ì¤Þ¤¹¡£ ¥½¡¼¥¹¥Ä¥ê¡¼¤òľÀÜÊѹ¹¤Ç¤­¤ë¿Í¤Ï¤â¤Ã¤È¿¤¯¡¢ 200 ̾°Ê¾å¤Î¥½¡¼¥¹¥Ä¥ê¡¼´ÉÍý¼Ô (committer) ¤¬¤¤¤Þ¤¹¡£ ¤·¤«¤·¡¢¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ÇÀè¹Ô¤·¤ÆµÄÏÀ¤µ¤ì¤ë¡¢ Ä̾ï¤ÎÊѹ¹¤Ç¤Ï¤Ê¤¤¤â¤Î¤ÎµÄÏÀ¤Ø¤Î»²²Ã¤Ë¤Ï¡¢°ìÀÚÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤É¤³¤«¤é FreeBSD ¤òÆþ¼ê¤Ç¤­¤Þ¤¹¤«? FreeBSD ¤Î¤¹¤Ù¤Æ¤Î¼çÍפʥê¥ê¡¼¥¹¤Ï anonymous FTP ·Ðͳ¤Ç FreeBSD FTP ¥µ¥¤¥È ¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£ ¸½ºß¤Î 3.X-STABLE ¥ê¥ê¡¼¥¹¡¢3.5.1-RELEASE ¤Ï 3.5.1-RELEASE ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£ ¸½ºß¤Î 4-STABLE ¥ê¥ê¡¼¥¹¡¢4.3-RELEASE ¤Ï 4.3-RELEASE ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£ 4.X Snapshot ¤Ï¡¢¤Û¤Ü°ìÆü¤Ë°ì²óºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ 5.0 Snapshot ¥ê¥ê¡¼¥¹¤Ï -CURRENT ¥Ö¥é¥ó¥ÁÍѤ˰ìÆü¤Ë°ì²óºîÀ®¤µ¤ì¤Æ¤ª¤ê¡¢ ¤³¤ì¤é¤Ï½ã¿è¤ËºÇÀèü¤Î³«È¯¼Ô¤ª¤è¤Ó¥Æ¥¹¥¿¡¼¤Î¤¿¤á¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤Þ¤¿¡¢FreeBSD ¤Ï CD-ROM ¤Ç¤âÆþ¼ê¤Ç¤­¡¢¼¡¤Î¤È¤³¤í¤ÇÃíʸ¤Ç¤­¤Þ¤¹¡£
BSDi 4041 Pike Lane, Suite F Concord, CA 94520 USA Orders: +1 800 786-9907 Questions: +1 925 674-0783 FAX: +1 925 674-0821 email: BSDi Orders address WWW: BSDi Home pageOrders: +1 800 786-9907
¥ª¡¼¥¹¥È¥é¥ê¥¢¤Ç¤Ï¡¢¼¡¤Î¤È¤³¤í¤ËÌ䤤¹ç¤ï¤»¤Æ¤¯¤À¤µ¤¤¡£
Advanced Multimedia Distributors Factory 1/1 Ovata Drive Tullamarine, Melbourne Victoria Australia Voice: +61 3 9338 6777 CDROM Support BBS 17 Irvine St Peppermint Grove, WA 6011 Voice: +61 9 385-3793 Fax: +61 9 385-2360
¥¤¥®¥ê¥¹¤Î¾ì¹ç¤Ï¼¡¤Î¤È¤³¤í¤Ç¤¹¡£
The Public Domain & Shareware Library Winscombe House, Beacon Rd Crowborough Sussex. TN6 1UL Voice: +44 1892 663-298 Fax: +44 1892 667-473
FreeBSD ¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë¤Ä¤¤¤ÆÃΤꤿ¤¤¤Î¤Ç¤¹¤¬? ´°Á´¤Ê¾ðÊó¤¬ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ÎÀá ¤Ë¤¢¤ê¤Þ¤¹¡£ FreeBSD ¤Î¥Ë¥å¡¼¥¹¥°¥ë¡¼¥×¤Ï²¿¤¬¤¢¤ê¤Þ¤¹¤«? ´°Á´¤Ê¾ðÊó¤¬ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¥Ë¥å¡¼¥¹¥°¥ë¡¼¥×¤ÎÀá¤Ë¤¢¤ê¤Þ¤¹¡£ FreeBSD ¤Î IRC (Internet Relay Chat) ¤Ë¤Ä¤¤¤Æ²¿¤«¾ðÊó¤Ï¤¢¤ê¤Þ¤¹¤«? ¤¢¤ê¤Þ¤¹¡£ °Ê²¼¤Î¤è¤¦¤Ë¡¢¤Û¤È¤ó¤É¤Îͭ̾¤Ê IRC ¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¤Ï FreeBSD ¤Î¥Á¥ã¥Ã¥È¥Á¥ã¥ó¥Í¥ë¤¬¤¢¤ê¤Þ¤¹¡£ EFNet ¤Î Channel #FreeBSD ¤Ï FreeBSD ´Ø·¸¤Î¥Õ¥©¡¼¥é¥à¤Ç¤¹¤¬¡¢ ¤½¤³¤Çµ»½ÑŪ¥µ¥Ý¡¼¥È¤ò´üÂÔ¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¤½¤³¤Ë¤¤¤ë¿Í¤¿¤Á¤Ï¤¢¤Ê¤¿¤ò¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤òÆÉ¤à¤È¤«¡¢ ¸¦µæ¤ò¤¹¤ë¤È¤«¤È¤¤¤Ã¤¿¶ìÏ«¤«¤é±ó¤¶¤±¤è¤¦¤È¤·¤Þ¤¹¡£ ¤Þ¤ºÂè°ì¤Ë¡¢¤³¤ì¤Ï¥Á¥ã¥Ã¥È¥Á¥ã¥ó¥Í¥ë¤Ç¤¢¤ê¡¢ ¤½¤³¤Ë¤¢¤ë¥È¥Ô¥Ã¥¯¥¹¤ÏÎø¿ÍÊ罸¡¢¥¹¥Ý¡¼¥Ä¡¢ ³Ëʼ´ï¤È¤¤¤Ã¤¿¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ê¡¢ FreeBSD ¤âƱÎó¤Ë°·¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ °ì±þÃí°Õ¤·¤Þ¤·¤¿¤«¤é¤Í! ¤³¤ì¤Ï irc.chat.org ¤Î¥µ¡¼¥Ð¡¼¾å¤Ë¤¢¤ê¤Þ¤¹¡£ EFNet ¤Î Channel #FreeBSDhelp ¤Ï FreeBSD ¥æ¡¼¥¶¤Î¥Ø¥ë¥×ÀìÍÑ¥Á¥ã¥Í¥ë¤Ç¤¹¡£ »²²Ã¼Ô¤Ï #FreeBSD ¥Á¥ã¥Í¥ë¤è¤ê¤â¿ÆÀڤ˼ÁÌä¤ËÅú¤¨¤Æ¤¯¤ì¤Þ¤¹¡£ DALNET ¤Î Channel #FreeBSD ¤Ï¥¢¥á¥ê¥«¤Ç¤Ï irc.dal.net¡¢ ¥è¡¼¥í¥Ã¥Ñ¤Ç¤Ï irc.eu.dal.net ¤Ë¤¢¤ê¤Þ¤¹¡£ UNDERNET ¤Î Channel #FreeBSD ¤Ï¥¢¥á¥ê¥«¤Ç¤Ï us.undernet.org¡¢ ¥è¡¼¥í¥Ã¥Ñ¤Ç¤Ï eu.undernet.org ¤Ë¤¢¤ê¤Þ¤¹¡£ ¤³¤³¤Ï¥Ø¥ë¥×¥Á¥ã¥ó¥Í¥ë¤Ç¤¹¡£ ¥É¥­¥å¥á¥ó¥È¤òÆÉ¤á¤ë½àÈ÷¤ò¤·¤Æ¤«¤éÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ HybNet ¤Î Channel #FreeBSD¡£ ¤³¤Î¥Á¥ã¥ó¥Í¥ë¤Ï¤Ø¥ë¥×¥Á¥ã¥ó¥Í¥ë¤Ç¤¹¡£ ¥µ¡¼¥Ð¡¼¤Î¥ê¥¹¥È¤Ï HybNet ¤Î¥¦¥§¥Ö¥µ¥¤¥È ¤Ë¤¢¤ê¤Þ¤¹¡£ ¤½¤ì¤¾¤ì¤Î¥Á¥ã¥ó¥Í¥ë¤ÏÊ̸ĤΤâ¤Î¤Ç¡¢ ¸ß¤¤¤ËÀܳ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¥Á¥ã¥Ã¥È¤Î¥¹¥¿¥¤¥ë¤â°ã¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ ¼«Ê¬¤Î¥Á¥ã¥Ã¥È¤Î¥¹¥¿¥¤¥ë¤Ë¤¢¤Ã¤¿¤â¤Î¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë°ì¤Ä°ì¤Ä»î¤¹¤Î¤â¤¤¤¤¤Ç¤·¤ç¤¦¡£ ¤¢¤é¤æ¤ë¼ïÎà¤Î IRC ¥È¥é¥Õ¥£¥Ã¥¯¤Î¤¿¤á¡¢¼ºÎé¤Ê¤³¤È¤ò¤¤¤¦¼ã¼Ô¤¿¤Á (ǯÇÚ¤ÎÊý¤Ï¾¯¿ô¤Ç¤¹) ¤Î¤¿¤á¤Ëµ¡·ù¤ò»¤Í¤¿¤ê¡¢ ¼ê¤ËÉ館¤Ê¤¯¤Ê¤Ã¤Æ¤âµ¤¤Ë¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ FreeBSD ¤ÎËÜ &a.doc; ¤Ë¥³¥ó¥¿¥¯¥È¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤ (¤µ¤é¤Ë»²²Ã¤¹¤ì¤Ð¤â¤Ã¤È¤è¤¤¤Ç¤·¤ç¤¦)¡£ ¤³¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ï FreeBSD ´ØÏ¢¤Îʸ½ñ¤Ë´Ø¤¹¤ëµÄÏÀ¤Î¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£ FreeBSD ¤Ë´Ø¤¹¤ë¼ÁÌä¤ËÂФ·¤Æ¤Ï¡¢ &a.questions; ¤È¤¤¤¦¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤â¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï¸½ºßºî¶ÈÃæ¤Ç¡¢ ÉÔ´°Á´¤À¤Ã¤¿¤êºÇ¿·¾ðÊó¤Ç¤Ê¤¤¤â¤Î¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD ¤Î¥¬¥¤¥ÉËܤηèÄêÈǤϡ¢ Greg Lehey »á¤Ë¤è¤ë The Complete FreeBSD ¤Ç¤¹¡£ ¤³¤ì¤Ï BSDi (°ÊÁ°¤Î Walnut Creek CDROM) Books ¤«¤é½ÐÈǤµ¤ì¤Æ¤¤¤Þ¤¹¡£ ¸½ºß¤ÏÂè»°ÈǤˤʤäƤ¤¤Æ¡¢ ¥¤¥ó¥¹¥È¡¼¥ë¡¢¥·¥¹¥Æ¥à´ÉÍý¥¬¥¤¥É¡¢¥×¥í¥°¥é¥àÀßÄê¤Î¥Ø¥ë¥×¡¢ ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Þ¤Ç¤ÎÆâÍÆ¤¬ 773 ¥Ú¡¼¥¸¤Ë¤ï¤¿¤Ã¤Æ½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ÎËÜ¤Ï (¤½¤·¤Æ¸½ºß¤Î FreeBSD ¥ê¥ê¡¼¥¹¤Ï) BSDi¡¢ CheapBytes¡¢ ¤Þ¤¿¤ÏºÇ´ó¤ê¤Î½ñʤÇÃíʸ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ISBN ¥³¡¼¥É¤Ï 1-57176-246-9 ¤Ç¤¹ (¤³¤ì°Ê³°¤Î¥³¡¼¥É¤Î¾ì¹ç¤â¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó)¡£ ¤Þ¤¿¡¢FreeBSD ¤Ï Berkeley 4.4BSD-Lite ¥Ù¡¼¥¹¤Ê¤Î¤Ç¡¢Â¿¤¯¤Î 4.4BSD ¤Î¥Þ¥Ë¥å¥¢¥ë¤¬ FreeBSD ¤Ë¤â±þÍѤǤ­¤Þ¤¹¡£ O'Reilly and Associates ¤¬°Ê²¼¤Î¥Þ¥Ë¥å¥¢¥ë¤ò½ÐÈǤ·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤é¤Î¾ÜºÙ¤ÊÀâÌÀ¤¬ WWW ·Ðͳ¤Ç 4.4BSD books description ¤«¤éÆÉ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ÈÎÇä¿ô¤¬¾¯¤Ê¤¤¤¿¤á¤³¤ì¤é¤Î¥Þ¥Ë¥å¥¢¥ë¤ÏÆþ¼ê¤·¤Ë¤¯¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ 4.4BSD ¤Î¥«¡¼¥Í¥ë¹½À®¤Ë¤Ä¤¤¤Æ¤è¤êŰÄìŪ¤ËÃΤꤿ¤¤¤Î¤Ê¤é¡¢ ¤Ê¤é´Ö°ã¤¤¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¥·¥¹¥Æ¥à´ÉÍý¤Ë¤Ä¤¤¤Æ¤ÎÎɽñ¤¬ ¤Ç¤¹¡£ ½éÈǤǤϤʤ¯¡¢»ç¿§¤Î¥«¥Ð¡¼¤ÎÂè»°ÈǤǤ¢¤ë¤«³Îǧ¤·¤Æ¤¯¤À ¤µ¤¤¡£ ¤³¤ÎËÜ¤Ï TCP/IP ¤À¤±¤Ç¤Ê¤¯ DNS¡¢NFS¡¢SLIP/PPP¡¢sendmail¡¢ INN/NNTP¡¢°õºþ¤Ê¤É¤Î´ðÁäò°·¤Ã¤Æ¤¤¤Þ¤¹¡£ ¹â²Á¤Ç¤¹¤¬¡¢Ç㤦²ÁÃͤϤ¢¤ê¤Þ¤¹¡£ Âè»°ÈǤǤϡ¢Solaris, HP/UX, FreeBSD ¤ª¤è¤Ó Linux ¤ò¼è¤ê°·¤Ã¤Æ¤¤¤Þ¤¹¡£ ¾ã³²Êó¹ð (PR; Problem Report) ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ëÊýË¡¤Ï? ¥æ¡¼¥¶¤«¤é¤ÎÊѹ¹Í׵᤬¤Þ¤È¤á¤é¤ì¤Æ¤¤¤ë Problem Report ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢ ¾ã³²Êó¹ð¤Î web ¥Ù¡¼¥¹¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ̤·¤Æ¡¢ Äó½Ð¤ÈÌ䤤¹ç¤ï¤»¤ò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢&man.send-pr.1; ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢ ÅŻҥ᡼¥ë·Ðͳ¤Ç¾ã³²Êó¹ð¤äÊѹ¹Í×µá¤òÄó½Ð¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È (ASCII) ÈÇ ¤ä PostScript ÈǤΠFreeBSD ʸ½ñ¤Ï¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«? ¤Ï¤¤¡¢¤â¤Á¤í¤ó¤¢¤ê¤Þ¤¹¡£ ¿ô¿¤¯¤Î°Û¤Ê¤ë¥Õ¥©¡¼¥Þ¥Ã¥È¡¢°µ½Ì·Á¼°¤Îʸ½ñ¤¬ FreeBSD FTP ¥µ¥¤¥È¤Î /pub/FreeBSD/doc/ ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤«¤éÆþ¼ê²Äǽ¤Ç¤¹¡£ ʸ½ñ¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¤µ¤Þ¤¶¤Þ¤Ê´ÑÅÀ¤«¤éʬÎव¤ì¤Æ¤¤¤Þ¤¹¡£ faq ¤ä handbook ¤È¤¤¤Ã¤¿Ê¸½ñ̾¤Ë¤è¤ëʬÎà¡£ ʸ½ñ¤Î¸À¸ì¤È¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ë¤è¤ëʬÎà¡£¤³¤ì¤Ï FreeBSD ¥·¥¹¥Æ¥à¤Î /usr/share/locale ¤Ë¤¢¤ë locale ̾¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹¡£ ¸½ºßÍøÍѲÄǽ¤Ê¸À¸ì¡¢¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ ̾Á° °ÕÌ£ en_US.ISO8859-1 ±Ñ¸ì (ÊÆ¹ñ) de_DE.ISO_8859-1 ¥É¥¤¥Ä¸ì es_ES.ISO8859-1 ¥¹¥Ú¥¤¥ó¸ì fr_FR.ISO8859-1 ¥Õ¥é¥ó¥¹¸ì ja_JP.eucJP ÆüËܸì (EUC ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°) ru_RU.KOI8-R ¥í¥·¥¢¸ì (KOI8-R ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°) zh_TW.Big5 Ãæ¹ñ¸ì (Big5 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°) ¸À¸ì¤Ë¤è¤Ã¤Æ¤Ï½àÈ÷¤µ¤ì¤Æ¤¤¤Ê¤¤Ê¸½ñ¤â¸ºß¤·¤Þ¤¹¡£ ʸ½ñ¤Î·Á¼°¤Ë¤è¤ëʬÎà¡£ ʸ½ñ¤Ï¿ô¿¤¯¤Î°Û¤Ê¤ë½ÐÎÏ·Á¼°¤òÍѰդ·¡¢ ²Äǽ¤Ê¸Â¤ê½ÀÆð¤ÊÂбþ¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ ¸½ºß¡¢ÍøÍѲÄǽ¤Êʸ½ñ·Á¼°¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£ ʸ½ñ·Á¼° °ÕÌ£ html-split ¥µ¥¤¥º¤Î¾®¤µ¤¤¡¢ ¥ê¥ó¥¯¤µ¤ì¤¿Ê£¿ô¤Î HTML ¥Õ¥¡¥¤¥ë html ʸ½ñÁ´ÂΤò´Þ¤ó¤À¡¢Ã±°ì¤ÎÂ礭¤Ê¥Õ¥¡¥¤¥ë pdb iSilo ¤ÇÍøÍѲÄǽ¤Ê Palm Pilot ¥Ç¡¼¥¿¥Ù¡¼¥¹·Á¼° pdf Adobe ¼Ò¤Î PDF (Portable Document Format) ·Á¼° ps Postscript ·Á¼° rtf Microsoft ¼Ò¤Î¥ê¥Ã¥Á¥Æ¥­¥¹¥È·Á¼° ¤³¤Î·Á¼°¤ò Word ¤ÇÆÉ¤ß¹þ¤ó¤À¾ì¹ç¡¢ ¥Ú¡¼¥¸ÈÖ¹æ¤Ï¼«Æ°Åª¤Ë¹¹¿·¤µ¤ì¤Þ¤»¤ó¡£ ¥Ú¡¼¥¸ÈÖ¹æ¤ò¹¹¿·¤¹¤ë¤Ë¤Ïʸ½ñ¤òÆÉ¤ß¹þ¤ó¤Ç¤«¤é CTRL+A¡¢ CTRL+END¡¢ F9 ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£ txt ¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È·Á¼° °µ½Ì¤È package ·Á¼°¤Ë¤è¤ëʬÎà¡£ ¸½ºßÍøÍѤµ¤ì¤Æ¤¤¤ë¤Î¤Ï¼¡¤Î 3 ¼ïÎà¤Ç¤¹¡£ html-split ·Á¼°¤Î¾ì¹ç¡¢ ¥Õ¥¡¥¤¥ë¤Ï¤Þ¤º¡¢&man.tar.1; ¤ò»È¤Ã¤Æ¤Þ¤È¤á¤é¤ì¡¢ ¤Þ¤È¤á¤é¤ì¤¿ .tar ¥Õ¥¡¥¤¥ë¤Ï¼¡¤Ë²òÀ⤹¤ëÊý¼°¤Ç°µ½Ì¤µ¤ì¤Þ¤¹¡£ ¤½¤Î¾¤Î·Á¼°¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¤Ï book.format (¤¿¤È¤¨¤Ð book.pdb¡¢ book.html ¤Ê¤É) ¤È¤¤¤¦Ã±°ì¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ ¾å¤Ë¤¢¤²¤¿¥Õ¥¡¥¤¥ë¤Ï 3 ¼ïÎà¤ÎÊý¼°¤Î¤¤¤º¤ì¤«¤Ç°µ½Ì¤µ¤ì¤Þ¤¹¡£ Êý¼° ÀâÌÀ zip Zip ·Á¼°¡£ FreeBSD ¤Ç°µ½Ì¤ò¸µ¤ËÌ᤹¤Ë¤Ï¡¢¤Þ¤º archivers/unzip ¤Î port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ gz GNU Zip ·Á¼°¡£°µ½Ì¤ò¸µ¤ËÌ᤹¤Ë¤Ï¡¢ FreeBSD ¤Ë´Þ¤Þ¤ì¤ë &man.gunzip.1; ¤ò»È¤¤¤Þ¤¹¡£ bz2 BZip2 ·Á¼°¡£ ¾¤Î·Á¼°¤ËÈæ¤Ù¤ÆÉáµÚ¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢ °ìÈÌŪ¤Ë¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¡£ °µ½Ì¤ò¸µ¤ËÌ᤹¤Ë¤Ï¡¢ archivers/bzip2 port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ Postscript ÈǤΥϥó¥É¥Ö¥Ã¥¯¤¬ BZip2 ·Á¼°¤Ç°µ½Ì¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾¤Ï handbook/ ¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤Î book.xml.bz2 ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤µ¤Þ¤¶¤Þ¤Ê·Á¼°¤ËÀ°·Á¤µ¤ì¤¿Ê¸½ñ¤Ï¡¢°Ê²¼¤Ë½Ò¤Ù¤ë¤è¤¦¤Ë FreeBSD ¤Î package ¤È¤·¤Æ¤âÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥À¥¦¥ó¥í¡¼¥É¤¹¤ëʸ½ñ¤È°µ½Ì·Á¼°¤òÁªÂò¤·¤¿¤é¡¢ ʸ½ñ¤ò FreeBSD package ¤È¤·¤Æ¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤«¤É¤¦¤«·è¤á¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ package ¤È¤·¤Æ¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ ʸ½ñ¤ò &man.pkg.add.1; ¤ä &man.pkg.delete.1; ¤È¤¤¤Ã¤¿¡¢ÉáÄ̤ΠFreeBSD package ´ÉÍý¥·¥¹¥Æ¥à¤òÍѤ¤¤¿´ÉÍý¤¬²Äǽ¤Ç¤¢¤ë¤È¤¤¤¦ÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ ʸ½ñ¤Î package ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ë·è¤á¤¿¤é¡¢ ¤Þ¤º¤Ï¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë̾¤òÃΤëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ʸ½ñ¤Î package ¤Ï¡¢packages ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¤½¤·¤Æ¤½¤ì¤¾¤ì¤Î package ¥Õ¥¡¥¤¥ë¤Ï¡¢ ʸ½ñ̾.¸À¸ì.¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°.·Á¼°.tgz ¤È¤¤¤¦¤è¤¦¤Ê̾Á°¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢FAQ ¤Î±Ñ¸ìÈÇ¤Ç PDF ·Á¼°¤Î¤â¤Î¤Ï¡¢ faq.en_US.ISO8859-1.pdf.tgz ¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤Ç¤¹¡£ ¥Õ¥¡¥¤¥ë̾¤¬¤ï¤«¤Ã¤¿¤é¡¢ ¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç±Ñ¸ìÈǤΠPDF ·Á¼° FAQ ¤Î package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; pkg_add ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/packages/faq.en_US.ISO8859-1.pdf.tgz ¥¤¥ó¥¹¥È¡¼¥ë¤Î½ªÎ»¸å¤Ï &man.pkg.info.1; ¤ò»È¤¤¡¢ ¥Õ¥¡¥¤¥ë¤¬¤É¤³¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤«¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; pkg_info -f faq.en_US.ISO8859-1.pdf Information for faq.en_US.ISO8859-1.pdf: Packing list: Package name: faq.en_US.ISO8859-1.pdf CWD to /usr/share/doc/en_US.ISO8859-1/books/faq File: book.pdf CWD to . File: +COMMENT (ignored) File: +DESC (ignored) ¤´Í÷¤Ë¤Ê¤ë¤È¤ï¤«¤ë¤È¤ª¤ê¡¢book.pdf ¤Ï /usr/share/doc/en_US.ISO8859-1/books/faq ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£ package ¤òÍøÍѤ·¤Ê¤¤¾ì¹ç¤Ï¡¢ ¼«Ê¬¤Ç°µ½Ì¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¸µ¤ËÌᤷ¡¢ ŬÀڤʾì½ê¤Ë¤½¤ì¤ò¥³¥Ô¡¼¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢Ê¬³ä¤µ¤ì¤¿ HTML ÈǤΠFAQ ¤Ç¡¢ &man.gzip.1; ¤Ç°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ï en_US.ISO8859-1/books/faq/book.html-split.tar.gz ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ ¤³¤ì¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ°µ½Ì¤ò¸µ¤ËÌ᤹¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ &prompt.root; fetch ftp://ftp.freebsd.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.gz &prompt.root; gzip -d book.html-split.tar.gz &prompt.root; tar xvf book.html-split.tar ¤³¤¦¤¹¤ë¤È¡¢Ê£¿ô¤Î .html ¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ Ãæ¿´¤È¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ï index.html ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ç¡¢ Ìܼ¡¤äÁ°½ñ¤­¡¢Ê¸½ñ¤Î¾¤ÎÉôʬ¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢É¬Íפ˱þ¤¸¤ÆÂ¾¤Î¾ì½ê¤Ë¥³¥Ô¡¼¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£ FreeBSD ¤Î¥¦¥§¥Ö¥µ¥¤¥È¤Î¥ß¥é¡¼¥µ¥¤¥È¤Ë¤Ê¤ê¤¿¤¤¤Ç¤¹! ¾µÃΤ·¤Þ¤·¤¿! ¥¦¥§¥Ö¥Ú¡¼¥¸¤ò¥ß¥é¡¼¤¹¤ë¤Ë¤Ï¤¤¤¯¤Ä¤«¤Î¼êÃʤ¬¤¢¤ê¤Þ¤¹¡£ CVSup ¤ò»È¤¤¤Þ¤¹¡£ CVSup ¤ò»È¤Ã¤Æ CVSup ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¤³¤È¤Ç¡¢ À°·Á¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¼è¤Ã¤Æ¤¯¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥¦¥§¥Ö¥Ú¡¼¥¸¤ò¼èÆÀ¤¹¤ë¾ì¹ç¤Ï¡¢ /usr/share/examples/cvsup/www-supfile ¤Ë¤¢¤ë supfile ¤ÎÎã¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ FTP ¤ò»È¤Ã¤Æ¥ß¥é¡¼¥ê¥ó¥°¤·¤Þ¤¹¡£ ¤¢¤Ê¤¿¤Î¹¥¤­¤Ê FTP ¥ß¥é¡¼¥ê¥ó¥°¥Ä¡¼¥ë¤ò»È¤Ã¤Æ¡¢ FTP ¥µ¡¼¥Ð¤ËÃÖ¤¤¤Æ¤¢¤ë web ¥µ¥¤¥È¤Î¥³¥Ô¡¼¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥¿¥¦¥ó¥í¡¼¥É¤Ïñ½ã¤Ë ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-CURRENT/www ¤«¤é»Ï¤á¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Îʸ½ñ¤ò¾¤Î¸À¸ì¤ËËÝÌõ¤·¤¿¤¤¤Î¤Ç¤¹¤¬? Ê󽷤ϻÙʧ¤¨¤Þ¤»¤ó¤¬¡¢ ʸ½ñ¤ÎËÝÌõ¤òÄó½Ð¤·¤Æ¤¯¤À¤µ¤ëÊý¤Ë¤Ï¡¢ ¥Õ¥ê¡¼¤Î CD¡¢T ¥·¥ã¥Ä¤Î¼êÇۤ䡢 ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Ë¤¢¤ë¹×¸¥¼Ô°ìÍ÷¤Ø¤ÎÅÐÏ¿¤ò¹Ô¤Ê¤¤¤¿¤¤¤È»×¤¤¤Þ¤¹¡£ ËÝÌõºî¶È¤ò¤Ï¤¸¤á¤ëÁ°¤Ë¡¢ &a.doc; ¤ØÏ¢Íí¤¹¤ë¤è¤¦¤Ë¤ª´ê¤¤¤·¤Þ¤¹¡£ ËÝÌõºî¶È¤ò¼êÅÁ¤¦¤È¤¤¤¦¿Í¤¬¸½¤ï¤ì¤ë¤«¤âÃΤì¤Þ¤»¤ó¤·¡£ ´û¤ËËÝÌõ¥Á¡¼¥à¤¬¤¢¤Ã¤Æ¡¢¤¢¤Ê¤¿¤Î»²²Ã¤ò´¿·Þ¤·¤Æ¤¯¤ì¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£ ¤½¤Î¾¤Î¾ðÊó °Ê²¼¤Î¥Ë¥å¡¼¥¹¥°¥ë¡¼¥×¤Ë¤Ï FreeBSD ¥æ¡¼¥¶¤ËľÀÜ´Ø·¸¤Î¤¢¤ëµÄÏÀ¤¬¹Ô¤ï¤ì¤Æ¤Þ¤¹¡£ comp.unix.bsd.freebsd.announce (moderated) comp.unix.bsd.freebsd.misc comp.unix.bsd.misc Web ¾å¤Î¥ê¥½¡¼¥¹: FreeBSD ¤Î¥Û¡¼¥à¥Ú¡¼¥¸ ¥é¥Ã¥×¥È¥Ã¥× PC ¤ò»ý¤Ã¤Æ¤¤¤ëÊý¤Ï¡¢ ̤¦¤³¤È¤Ê¤¯ÆüËܤκÙÀî ã¸Ê»á¤Î Mobile Computing ¤Î¥Ú¡¼¥¸ ¤ò¸«¤Þ¤·¤ç¤¦¡£ SMP (Symmetric MultiProcessing) ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢ SMP ¥µ¥Ý¡¼¥È¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ FreeBSD ¤Î¥Þ¥ë¥Á¥á¥Ç¥£¥¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢ ¥Þ¥ë¥Á¥á¥Ç¥£¥¢¤Î¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ÆÃ¤Ë Bt848 ¥Ó¥Ç¥ª¥­¥ã¥×¥Á¥ã¥Á¥Ã¥×¤Ë¶½Ì£¤Î¤¢¤ëÊý¤Ï¡¢ ¥ê¥ó¥¯¤ò¤¿¤É¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Ë¤Ï¡¢ ¼Â¤Ë´°À®¤µ¤ì¤¿»²¹Í¿Þ½ñ¤Î°ìÍ÷¤¬¤¢¤ê¡¢ Ç㤦¤Ù¤­Ëܤò¤µ¤¬¤·¤Æ¤¤¤ëÊý¤ÏÆÉ¤à²ÁÃͤ¬¤¢¤ê¤Þ¤¹¡£
¥¤¥ó¥¹¥È¡¼¥ë Ìõ: &a.iwasaki;¡¢ &a.jp.mrt;¡¢ 1997 ǯ 11 ·î 8 Æü FreeBSD ¤òÆþ¼ê¤¹¤ë¤Ë¤Ï¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ì¤ÐÎɤ¤¤Î¤Ç¤·¤ç¤¦¤«? FreeBSD 3.1-RELEASE °ÊÁ°¤Ç¤Ï¡¢ ¥¤¥ó¥¹¥È¡¼¥ë¤ÎºÝ¤ËɬÍ×¤Ê¤Î¤Ï floppies/boot.flp ¤È̾Á°¤Î¤Ä¤¤¤¿ °ì¤Ä¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¥¤¥á¡¼¥¸¤À¤±¤Ç¤·¤¿¡£ ¤·¤«¤· FreeBSD 3.1-RELEASE °Ê¹ß¡¢ Éý¹­¤¤¼ïÎà¤Î¥Ï¡¼¥É¥¦¥§¥¢¥µ¥Ý¡¼¥È¤¬´ðËÜ¥·¥¹¥Æ¥à¤ËÄɲ䵤졢 ¤½¤Î¥µ¥Ý¡¼¥È¤¬É¬ÍפȤ¹¤ëÍÆÎ̤òÊ䤦¤¿¤á¡¢ 3.X ¤È 4.X ¤Î·ÏÎó¤Ç¤Ï¿·¤¿¤Ë¡¢ floppies/kernel.flp ¤ª¤è¤Ó floppies/mfsroot.flp ¤È¤¤¤¦¡¢Æó¤Ä¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¥¤¥á¡¼¥¸¤ò»È¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¤³¤ì¤é¤Î¥¤¥á¡¼¥¸¤ò¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤à¤Ë¤Ï¡¢ fdimage ¤ä &man.dd.1; ¤È¤¤¤Ã¤¿¥Ä¡¼¥ë¤¬É¬ÍפȤʤê¤Þ¤¹¡£ (DOS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤«¤é¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ê¤É¤Ç) ¤¢¤Ê¤¿¼«¿È¤¬¼êư¤ÇÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ °Ê²¼¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ bin/ manpages/ compat*/ doc/ src/ssys.* ¤³¤Î¼ê½ç¤Î´°Á´¤ÊÀâÌÀ¤È¡¢°ìÈÌŪ¤Ê¥¤¥ó¥¹¥È¡¼¥ë»þ¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¤Ï FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ÎÀá ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¥¤¥á¡¼¥¸¤¬°ìËç¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ËǼ¤Þ¤é¤Ê¤¤¤ß¤¿¤¤! 3.5 ¥¤¥ó¥Á (1.44MB) ¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ë¤Ï¡¢ 1474560 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ò³ÊǼ¤Ç¤­¤Þ¤¹¡£ ¥Ö¡¼¥È¥¤¥á¡¼¥¸¤Ï¤Á¤ç¤¦¤É 1474560 ¥Ð¥¤¥È¤ÎÂ礭¤µ¤Ç¤¹¡£ ¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ò½àÈ÷¤¹¤ëºÝ¤Î¤è¤¯¤¢¤ë´Ö°ã¤¤¤Ë¤Ï¡¢ °Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ FTP ¤Ë¤è¤Ã¤Æ¥Õ¥í¥Ã¥Ô¡¼¥¤¥á¡¼¥¸¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ëºÝ¤Ë¡¢ ¥Ð¥¤¥Ê¥ê (binary) ¥â¡¼¥É¤Ë¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¡£ FTP ¥¯¥é¥¤¥¢¥ó¥È¤ÎÃæ¤Ë¤Ï¡¢ žÁ÷¥â¡¼¥É¤Î¥Ç¥Õ¥©¥ë¥È¤ò¥¢¥¹¥­¡¼ (ascii) ¥â¡¼¥É¤Ë¤·¤Æ¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¥·¥¹¥Æ¥à¤Î´·½¬¤Ë¤¢¤¦¤è¤¦¡¢ ¤¹¤Ù¤Æ¤Î¹ÔËö¤Îʸ»ú¤òÊѹ¹¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¾ï¤Ë¡¢¥Ö¡¼¥È¥¤¥á¡¼¥¸¤¬²õ¤ì¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥Ö¡¼¥È¥¤¥á¡¼¥¸¤Î¥µ¥¤¥º¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥µ¡¼¥Ð¾å¤Î¤â¤Î¤ÈÀµ³Î¤Ë°ìÃפ·¤Ê¤±¤ì¤Ð¡¢ ¥À¥¦¥ó¥í¡¼¥É¤Î½èÍý¤òµ¿¤¤¤Þ¤·¤ç¤¦¡£ ¤³¤ì¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢ ¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¥¤¥á¡¼¥¸¤Î¥À¥¦¥ó¥í¡¼¥É¤ò³«»Ï¤¹¤ëÁ°¤Ë FTP ¤Î¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤Ç binary ¤È¥¿¥¤¥×¤·¤Þ¤¹¡£ ¥Ö¡¼¥È¥¤¥á¡¼¥¸¤ò DOS ¤Î copy ¥³¥Þ¥ó¥É (¤Þ¤¿¤Ï GUI ¤ÎƱÅù¤Î¥Ä¡¼¥ë) ¤Ç¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ØÅ¾Á÷¤·¤¿¡£ copy ¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ï¡¢ ľÀܵ¯Æ°¤¹¤ë¤è¤¦¤ËºîÀ®¤µ¤ì¤¿¥Ö¡¼¥È¥¤¥á¡¼¥¸¤ò¤¦¤Þ¤¯½èÍý¤Ç¤­¤Þ¤»¤ó¡£ ¥¤¥á¡¼¥¸¤Ë¤Ï¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Î´°Á´¤ÊÃæ¿È¤¬¥È¥é¥Ã¥¯Ã±°Ì¤Ç³ÊǼ¤µ¤ì¤Æ¤ª¤ê¡¢ ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¾å¤ËÄ̾ï¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ ³ÊǼ¤µ¤ì¤ë¤è¤¦¤ËÁÛÄꤵ¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ FreeBSD ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢ Äã¥ì¥Ù¥ë¤Î¥Ä¡¼¥ë (¤¿¤È¤¨¤Ð fdimage ¤ä rawrite) ¤ò»ÈÍѤ·¤Æ ¤½¤Î¤Þ¤Þ¤Î (raw) ¤Î¾õÂ֤ǥեí¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ë žÁ÷¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ FreeBSD ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ä¤¤¤Æ¤ÎÀâÌÀ½ñ¤Ï¤É¤³¤Ë¤¢¤ê¤Þ¤¹¤«? ¥¤¥ó¥¹¥È¡¼¥ë¤ÎÀâÌÀ½ñ¤ÏFreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Î¾Ï¤Ë¤¢¤ê¤Þ¤¹¡£ FreeBSD ¤òưºî¤µ¤»¤ë¤Ë¤Ï²¿¤¬É¬ÍפǤ¹¤«? 386 °Ê¾å¤Î PC¡¢5MB °Ê¾å¤Î RAM¡¢ ¤½¤·¤ÆºÇÄã 60MB ¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯ÍÆÎ̤¬É¬ÍפȤʤê¤Þ¤¹¡£ ¥í¡¼¥¨¥ó¥É¤Î MDA ¥«¡¼¥É¤Ç¤âưºî¤·¤Þ¤¹¤¬¡¢ X11R6 ¤ò»È¤¦¤Ë¤Ï VGA ¤«¤½¤ì°Ê¾å¤Î¥Ó¥Ç¥ª¥«¡¼¥É¤¬É¬ÍפȤʤê¤Þ¤¹¡£ ¤â¤´Í÷¤¯¤À¤µ¤¤¡£ 4MB ¤·¤«¥á¥â¥ê¤¬¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¤«? 4MB ¤Î¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤¿ºÇ¸å¤Î FreeBSD ¤Ï FreeBSD 2.1.7 ¤Ç¤·¤¿¡£2.2 ¤ò´Þ¤à¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î FreeBSD ¤Ï¿·µ¬¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ËºÇÄã 5MB ¤ÏɬÍפˤʤê¤Þ¤¹¡£ ¤¿¤À¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤¬ 4MB ¤Ç¤Ïưºî¤·¤Ê¤¤¤À¤±¤Ç¡¢ 3.0 ¤ò´Þ¤à FreeBSD ¤Î¤¹¤Ù¤Æ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï 4MB ¤Î RAM ¤Çưºî²Äǽ¤Ç¤¹¡£ ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤À¤±¤µ¤é¤Ë 4MB Äɲ䷤Ƥª¤­¡¢ ¥·¥¹¥Æ¥à¤¬¥»¥Ã¥È¥¢¥Ã¥×¤µ¤ì¤ÆÆ°ºî¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¸å¡¢ ¤Þ¤¿ 4MB ¤ò¼è¤ê½Ð¤·¤Æ¸µ¤ËÌ᤹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤¢¤ë¤¤¤Ï 4MB ¤è¤ê¿¤¯¥á¥â¥ê¤òÅëºÜ¤·¤¿¥·¥¹¥Æ¥à¤Ë¥Ç¥£¥¹¥¯¤ò»ý¤Ã¤Æ¤¤¤­¡¢ ¤½¤Î¥Þ¥·¥ó¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¤Ë¥Ç¥£¥¹¥¯¤òÌ᤹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢FreeBSD 2.1.7 ¤Ç¤¢¤Ã¤Æ¤â¡¢4MB ¤Ç¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ Àµ³Î¤Ë¤Ï¡¢640KB ¤Î¥Ù¡¼¥¹¥á¥â¥ê + 3MB ¤Î³ÈÄ¥¥á¥â¥ê¤Ç¤Ï¡¢ ¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤â¤·¥Þ¥·¥ó¤Î¥Þ¥¶¡¼¥Ü¡¼¥É¤¬ 640KB ¤«¤é 1MB ¤ÎÎΰè¤Ç¡Ö¼º¤ï¤ì¤¿¡×¥á¥â¥ê¤òºÆ¥Þ¥Ã¥×¤Ç¤­¤ë¾ì¹ç¤Ï¡¢ FreeBSD 2.1.7 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ BIOS ¤Î¥»¥Ã¥È¥¢¥Ã¥×²èÌ̤ǡ¢remap ¤Î¥ª¥×¥·¥ç¥ó¤òõ¤·¤ÆÍ­¸ú (enable) ¤Ë¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢ROM shadowing ¤ò̵¸ú (disable) ¤Ë¤¹¤ëɬÍפ⤢¤ê¤Þ¤¹¡£ ´Êñ¤Ê¤ä¤êÊý¤È¤·¤Æ¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤À¤±¤¢¤È 4MB Äɲ䷤Ƥª¤¯ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ ɬÍפʥª¥×¥·¥ç¥ó¤À¤±¤òÁªÂò¤·¤Æ¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤·¡¢ ¤Þ¤¿ 4MB ¤ò¼è¤ê½Ð¤·¤Æ¤â¤È¤ËÌ᤻¤Ð¤¤¤¤¤Î¤Ç¤¹¡£ ¤Þ¤¿¡¢2.0.5 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¡¢ ¤½¤ì¤«¤é 2.1.7 ¤Î¥¤¥ó¥¹¥È¡¼¥é¤Î upgrade ¥ª¥×¥·¥ç¥ó¤Ç¥·¥¹¥Æ¥à¤ò 2.1.7 ¤Ø¥¢¥Ã¥×¥°¥ì¡¼¥É ¤¹¤ë¤È¤¤¤¦¤ä¤êÊý¤â¤¢¤ê¤Þ¤¹¡£ ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¢¤È¤Ç¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤Î¹½ÃÛ¤ò¤·¤¿¾ì¹ç¤Ë¤Ï¡¢ 4MB ¤Ç¤âưºî¤·¤Þ¤¹¡£ 2MB ¤Çµ¯Æ°¤ËÀ®¸ù¤·¤¿¿Í¤â¤¤¤Þ¤¹ (¤Ç¤â¤½¤Î¥·¥¹¥Æ¥à¤Ï¡¢ ¤Û¤È¤ó¤É»È¤¤¤â¤Î¤Ë¤Ê¤ê¤Þ¤»¤ó¤Ç¤·¤¿ :-))¡£ ¼«Ê¬ÍѤΥ¤¥ó¥¹¥È¡¼¥ë¥Õ¥í¥Ã¥Ô¡¼¤òºî¤ë¤Ë¤Ï? ¸½ºß¤Ï¥«¥¹¥¿¥à¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¡Ö¤À¤±¡×¤òºî¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¥«¥¹¥¿¥à¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¥¤¥á¡¼¥¸¤ò´Þ¤à¡¢ release ´Ä¶­Á´ÂΤò¿·¤¿¤Ëºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥«¥¹¥¿¥à¤Î release ´Ä¶­¤ò¤Ä¤¯¤ë¤Ë¤Ï¡¢ ¤³¤³¤Î»Ø¼¨¤Ë¤·¤¿¤¬¤Ã¤Æ¤¯¤À¤µ¤¤¡£ Ʊ¤¸¥Þ¥·¥ó¤Ç Windows 95/98 ¤È¶¦Â¸¤Ç¤­¤Þ¤¹¤«? ¤Þ¤º Windows 95/98 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤«¤é¡¢¤½¤Î¤¢¤È¤Ç FreeBSD ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£FreeBSD ¤Î¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤¬ Win95 ¤È FreeBSD ¤Î¥Ö¡¼¥È´ÉÍý¤ò¤·¤Æ¤¯¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ Windows 95/98 ¤ò¸å¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ï¤Ò¤É¤¤¤³¤È¤Ë¡¢ Ì䤤¹ç¤ï¤»¤ë¤³¤È¤â¤Ê¤¯¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤ò¾å½ñ¤­¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¤½¤¦¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ï¼¡¤ÎÀá¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ Windows 95/98 ¤¬¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤òÄÙ¤·¤Á¤ã¤Ã¤¿! ¤É¤¦¤ä¤Ã¤ÆÌ᤹¤Î? ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤ÎºÆ¥¤¥ó¥¹¥È¡¼¥ë¤ÎÊýË¡¤È¤·¤Æ¡¢ FreeBSD ¤Ç¤Ï°Ê²¼¤Ë¼¨¤¹»°Ä̤ê¤ÎÊýË¡¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ DOS ¤òµ¯Æ°¤·¡¢FreeBSD ¤ÎÇÛÉÛʪ¤ÎÃæ¤Ë¤¢¤ë tools/ ¥Ç¥£¥ì¥¯¥È¥ê¤Ø°Üư¤·¡¢ bootinst.exe ¤òõ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤·¤Æ¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£ ...\TOOLS> bootinst.exe boot.bin ¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢ ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤¬ºÆ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£ FreeBSD ¤Î¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤·¡¢ ¡Ö¥«¥¹¥¿¥à¡×¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ë¥å¡¼¤òÁªÂò¤·¡¢ ³¤¤¤Æ¡Ö¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡×¤òÁªÂò¤·¤Þ¤¹¡£ ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤¿¥É¥é¥¤¥Ö (¿ʬºÇ½é¤Î¤â¤Î) ¤òÁªÂò¤·¡¢ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿¤Ë¤¿¤É¤êÃ夤¤¿¤é¡¢ (²¿¤âÊѹ¹¤»¤º) ¤½¤Î¤Þ¤Þ (W)rite ¤ò»ØÄꤷ¤Þ¤¹¡£ ³Îǧ¤Î¥á¥Ã¥»¡¼¥¸¤¬½Ð¤Þ¤¹¤Î¤Ç¡Ö¤Ï¤¤(Y)¡×¤ÈÅú¤¨¡¢ ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ãÁªÂò¤Î²èÌÌ¤Ç³Î¼Â¤Ë Boot Manager ¤òÁªÂò¤·¤Þ¤¹¡£ ¤³¤ì¤Ç¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤¬¥Ç¥£¥¹¥¯¤ËºÆ¤Ó½ñ¤­¹þ¤Þ¤ì¤Þ¤¹¡£ ¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ë¥å¡¼¤«¤éÈ´¤±¤ÆºÆµ¯Æ°¤¹¤ë¤È¡¢ ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ï¸µÄ̤ê¤Ë¤Ê¤ê¤Þ¤¹¡£ FreeBSD µ¯Æ°¥Õ¥í¥Ã¥Ô¡¼ (¤â¤·¤¯¤Ï CD-ROM) ¤«¤éµ¯Æ°¤·¡¢ Fixit ¥á¥Ë¥å¡¼¤òÁªÂò¤·¤Þ¤¹¡£ Fixit ¥Õ¥í¥Ã¥Ô¡¼¤« CD-ROM #2 (live ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥ª¥×¥·¥ç¥ó) ¤Î¹¥¤­¤ÊÊý¤òÁªÂò¤·¤Æ fixit ¥·¥§¥ë¤ËÆþ¤ê¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ Fixit# fdisk -B -b /boot/boot0 µ¯Æ°¥Ç¥Ð¥¤¥¹ µ¯Æ°¥Ç¥Ð¥¤¥¹ ¤ÎÉôʬ¤Ï¡¢¤¿¤È¤¨¤Ð ad0 (°ìÈÖÌܤΠIDE ¥Ç¥£¥¹¥¯)¡¢ ad4 (¥»¥«¥ó¥À¥ê IDE ¥³¥ó¥È¥í¡¼¥é¤Î°ìÈÖÌܤΠIDE ¥Ç¥£¥¹¥¯)¡¢ da0 (°ìÈÖÌܤΠSCSI ¥Ç¥£¥¹¥¯) ¤Ê¤É¤È¤¤¤Ã¤¿¡¢¼ÂºÝ¤Îµ¯Æ°¥Ç¥Ð¥¤¥¹¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£ IBM Thinkpad ¤Î A¡¢T¡¢X ¥·¥ê¡¼¥º¤Î¤¤¤º¤ì¤«¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ FreeBSD ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤éµ¯Æ°¤·¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£ ¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Ç¤¹¤«? ¤³¤ì¤é¤Î¥Þ¥·¥ó¤Ë»È¤ï¤ì¤Æ¤¤¤ë½é´ü¤Î¥ê¥Ó¥¸¥ç¥ó¤Î IBM BIOS ¤Ë¤Ï¥Ð¥°¤¬¤¢¤ê¡¢FreeBSD ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥Ç¥£¥¹¥¯¥µ¥¹¥Ú¥ó¥ÉÍѤΠFAT Îΰè¤À¤È¸íǧ¤·¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢BIOS ¤¬ FreeBSD ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò ¸¡½Ð¤·¤¿¤È¤³¤í¤Ç¥·¥¹¥Æ¥à¤¬¥Ï¥ó¥° (Ää»ß) ¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ IBM ¤³¤ì¤Ï Keith Frechette kfrechet@us.ibm.com ¤«¤é¤Î¥á¡¼¥ë¤Ë¤è¤ê¤Þ¤¹¡£ ¤Ë¤è¤ì¤Ð¡¢°Ê²¼¤Î¥â¥Ç¥ë/BIOS ¥ê¥ê¡¼¥¹ÈÖ¹æ¤Ë¤Ï½¤Àµ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥â¥Ç¥ë BIOS ¥ê¥Ó¥¸¥ç¥óÈÖ¹æ T20 IYET49WW °Ê¹ß T21 KZET22WW °Ê¹ß A20p IVET62WW °Ê¹ß A20m IWET54WW °Ê¹ß A21p KYET27WW °Ê¹ß A21m KXET24WW °Ê¹ß A21e KUET30WW ¤½¤ì¤è¤ê¿·¤·¤¤¥ê¥Ó¥¸¥ç¥ó¤Î BIOS ¤Ë¤Þ¤¿¥Ð¥°¤¬Æþ¤ê¹þ¤ó¤À¤« ¤â¤·¤ì¤Ê¤¤¤È¤¤¤¦Êó¹ð¤¬¤¢¤ê¤Þ¤·¤¿¡£Jacques Vidrine ¤Ï mobile@freebsd.org ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë¤¢¤Æ¤¿ ¥á¥Ã¥»¡¼¥¸ ¤Ç¡¢¤³¤ì°Ê¹ß¤Î IBM ¤Î laptop ¤Ç FreeBSD ¤¬Àµ¾ï¤Ëµ¯Æ°¤·¤Ê¤¤ ¾ì¹ç¤Ë¤ª¤½¤é¤¯¤¦¤Þ¤¯¹Ô¤¯¡¢BIOS ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤Þ¤¿¤Ï ¥À¥¦¥ó¥°¥ì¡¼¥É¤Ç¤­¤ë¼ê½ç¤òÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£ ¤â¤·ÌäÂê¤Î¤¢¤ë BIOS ¤ò»È¤Ã¤Æ¤¤¤Æ¥¢¥Ã¥×¥°¥ì¡¼¥É¤¬Áª¤Ù¤Ê¤¤¾ì¹ç¡¢ FreeBSD ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤«¤é FreeBSD ¤¬»È¤Ã¤Æ¤¤¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ID ¤òÊѹ¹¤·¡¢ Êѹ¹¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ID ¤òÀµ¤·¤¯°·¤¦¤³¤È¤Î¤Ç¤­¤ë ¿·¤·¤¤µ¯Æ°¥Ö¥í¥Ã¥¯¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ç²ò·è¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤½¤ì¤Ë¤Ï¤Þ¤º¡¢ ¥»¥ë¥Õ¥Æ¥¹¥È²èÌ̤òÄ̲᤹¤ë¾õÂ֤ˤޤǥޥ·¥ó¤ò²óÉü¤µ¤»¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤½¤Î¤¿¤á¤Ë¤Ï¡¢¥Þ¥·¥ó¤¬¥×¥é¥¤¥Þ¥ê¥Ç¥£¥¹¥¯¤«¤é FreeBSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¸«¤Ä¤±¤Ê¤¤¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤¿¤È¤¨¤Ð¡¢°ìÅ٥ϡ¼¥É¥Ç¥£¥¹¥¯¤ò³°¤·¤Æ¤·¤Þ¤Ã¤Æ¡¢¤½¤Î¥Ç¥£¥¹¥¯¤ò¸Å¤¤ ThinkPad (ThinkPad 600 ¤Ê¤É) ¤ä¥Ç¥¹¥¯¥È¥Ã¥× PC ¤ËŬÀÚ¤ÊÊÑ´¹¥±¡¼¥Ö¥ë¤ÇÀܳ¤·¤Þ¤¹¡£ ¤½¤Î¸å FreeBSD ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºï½ü¤·¡¢ ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ò¸µ¤Î ThinkPad ¤ËÌᤷ¤Þ¤¹¡£ ¤³¤¦¤¹¤ë¤³¤È¤Ç ThinkPad ¤Ïµ¯Æ°²Äǽ¤Ê¾õÂÖ¤ËÌá¤ë¤Ï¤º¤Ç¤¹¡£ ¥Þ¥·¥ó¤¬¤Á¤ã¤ó¤Èư¤¯¤è¤¦¤Ë¤Ê¤Ã¤¿¤é¡¢ °Ê²¼¤ÎÉüµì¼ê½ç¤Ë½¾¤Ã¤Æ FreeBSD ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ http://people.freebsd.org/~bmah/ThinkPad/ ¤«¤é boot1 ¤È boot2 ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢ ¤¢¤È¤ÇɬÍפˤʤä¿»þ¡¢¼è¤ê½Ð¤»¤ë¾ì½ê¤ËÃÖ¤¤¤Æ¤ª¤­¤Þ¤¹¡£ ThinkPad ¤ËÉáÄÌ¤Ë FreeBSD ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢Dangerously Dedicated ¥â¡¼¥É¤ò»È¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¬½ª¤ï¤Ã¤Æ¤âºÆµ¯Æ°¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¶ÛµÞ¥Û¥í¥°¥é¥Õ¥£¥Ã¥¯¥·¥§¥ë (Emergency Holographic Shell) (ALTF4) ¤ËÀÚ¤êÂØ¤¨¤ë¤«¡¢fixit ¥·¥§¥ë¤òµ¯Æ°¤·¤Þ¤¹¡£ &man.fdisk.8; ¤ò»È¤Ã¤Æ FreeBSD ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ID ¤ò 165 ¤«¤é 166 ¤Ë Êѹ¹¤·¤Þ¤¹ (¤³¤ì¤Ï OpenBSD ¤Ç»È¤ï¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¤¹)¡£ boot1 ¤È boot2 ¤Î¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë»ý¤Ã¤ÆÍè¤Þ¤¹¡£ &man.disklabel.8; ¤ò»È¤Ã¤Æ boot1 ¤È boot2 ¤ò FreeBSD ¤Î¥¹¥é¥¤¥¹¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£ &prompt.root; disklabel -B -b boot1 -s boot2 ad0sn n ¤Ï¡¢ ¤¢¤Ê¤¿¤¬ FreeBSD ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥¹¥é¥¤¥¹¤ÎÈÖ¹æ¤Ç¤¹¡£ ºÆµ¯Æ°¤·¤Þ¤¹¡£µ¯Æ°¥×¥í¥ó¥×¥È¤Ï OpenBSD ¤È¼¨¤·¤Þ¤¹¤¬¡¢¼ÂºÝ¤Ë¤Ï¡¢¤½¤ì¤Ç FreeBSD ¤¬µ¯Æ°¤·¤Þ¤¹¡£ ¤³¤ÎÊýË¡¤Ç FreeBSD ¤È OpenBSD ¤ò¥Ç¥å¥¢¥ë¥Ö¡¼¥È¤¹¤ëÊýË¡¤Ï¡¢ÆÉ¼Ô¤Ø¤ÎÎý½¬ÌäÂê¤È¤·¤Þ¤·¤ç¤¦¡£ ÉÔÎÉ¥Ö¥í¥Ã¥¯¤Î¤¢¤ë¥Ç¥£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¤«? FreeBSD 3.0 °ÊÁ°¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ ÉÔÎÉ¥Ö¥í¥Ã¥¯¤ò¼«Æ°Åª¤ËºÆ¥Þ¥Ã¥Ô¥ó¥°¤¹¤ë bad144 ¤È¤¤¤¦¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢ ¸½ºß¤Î IDE ¥É¥é¥¤¥Ö¤Ï¥É¥é¥¤¥Ö¼«¿È¤¬¤³¤Îµ¡Ç½¤òÈ÷¤¨¤Æ¤¤¤ë¤¿¤á¡¢ bad144 ¤Ï FreeBSD ¥½¡¼¥¹¥Ä¥ê¡¼¤«¤éºï½ü¤µ¤ì¤Þ¤·¤¿¡£ FreeBSD 3.0 ¤«¤½¤ì°Ê¹ß¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢ Èæ³ÓŪ¿·¤·¤¤¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤ò¹ØÆþ¤¹¤ë¤³¤È¤ò¶¯¤¯¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ ¿·¤·¤¤¥É¥é¥¤¥Ö¤ò¹ØÆþ¤¹¤ëµ¤¤¬¤Ê¤±¤ì¤Ð¡¢FreeBSD 2.x ¤òÍøÍѤ¹¤ë¤Ù¤­¤Ç¤¹¡£ ¸½ºß¤Î IDE ¥É¥é¥¤¥Ö¤ÇÉÔÎÉ¥Ö¥í¥Ã¥¯¤Ë¤è¤ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢ ¤Þ¤â¤Ê¤¯¥É¥é¥¤¥Ö¤¬¸Î¾ã¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹ (¤½¤ì¤Ï¤½¤Î¥É¥é¥¤¥ÖÆâ¢¤ÎºÆ¥Þ¥Ã¥Ô¥ó¥°µ¡Ç½¤Ç¤Ï ÉÔÎÉ¥Ö¥í¥Ã¥¯¤¬½¤Àµ¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¤È¤¤¤¦¤³¤È¤Ç¤¢¤ê¡¢ ¥Ç¥£¥¹¥¯¤¬¤Ò¤É¤¯²õ¤ì¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹)¡£ ¿·¤·¤¤¥Ï¡¼¥É¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤Ë¸ò´¹¤·¤Þ¤·¤ç¤¦¡£ ÉÔÎÉ¥Ö¥í¥Ã¥¯¤Î¤¢¤ë SCSI ¥É¥é¥¤¥Ö¤Î¾ì¹ç¤Ï¡¢ ¤³¤Î²óÅú¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥¤¥ó¥¹¥È¡¼¥é¤«¤éµ¯Æ°¤·¤¿¤éÊѤʤ³¤È¤Ë¤Ê¤ê¤Þ¤·¤¿! ¥¤¥ó¥¹¥È¡¼¥é¤«¤éµ¯Æ°¤·¤è¤¦¤È¤·¤¿¤È¤­¤Ë¡¢¥Þ¥·¥ó¤¬¸Ç¤Þ¤Ã¤Æ¤· ¤Þ¤¦¤È¤«¼«Á³¤ÈºÆµ¯Æ°¤·¤Æ¤·¤Þ¤¦¤È¤¤¤Ã¤¿¸½¾Ý¤Ç¤¢¤ì¤Ð¡¢ ¼¡¤Î»°¤Ä¤Î¹àÌܤò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¿·ÉʤΡ¢¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤¿¤Æ¤Î¡¢ ¥¨¥é¡¼¤Î¤Ê¤¤¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¤«? (»°Ç¯´Ö¤â¥Ù¥Ã¥É¤Î²¼¤ËÊüÃÖ¤µ¤ì¤Æ¤¤¤¿»¨»ï¤ÎÉÕÏ¿¤ß¤¿¤¤¤Ê¤ä¤Ä¤Ç¤Ï¤Ê¤¯¤Æ¡¢ Çã¤Ã¤Æ¤­¤¿¤Ð¤«¤ê¤Î¿·Éʤò»È¤Ã¤Æ¤¯¤À¤µ¤¤) ¥Õ¥í¥Ã¥Ô¡¼¥¤¥á¡¼¥¸¤ò¥Ð¥¤¥Ê¥ê¥â¡¼¥É¤Ç¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤·¤¿¤«? (º¤¤Ã¤¿´é¤ò¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£»ä¤¿¤Á¤ÎÃæ¤Ç°ìÈÖÍ¥½¨¤Ê¿Í¤Ç¤µ¤¨¡¢ ¾¯¤Ê¤¯¤È¤â°ì²ó¤Ï¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤ò ASCII ¥â¡¼¥É¤Ç»×¤¤¤¬¤±¤º¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤³¤È¤¬¤¢¤ë¤Î¤Ç¤¹!) Windows95 ¤¢¤ë¤¤¤Ï Windows98 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢ ¤¢¤ê¤Î¤Þ¤Þ¤ÎËÜʪ¤Î DOS ¤Ç fdimage ¤« rawrite ¤ò¼Â¹Ô¤·¤Þ¤·¤¿¤«? ¤³¤ì¤é¤Î OS ¤Ï¥Ç¥£¥¹¥¯ºîÀ®¥×¥í¥°¥é¥à¤Î¤è¤¦¤Ê¡¢ ¥Ï¡¼¥É¥¦¥§¥¢¤ËľÀܽñ¤­¹þ¤ß¤ò¹Ô¤Ê¤¦¥×¥í¥°¥é¥à¤Ë´³¾Ä¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ GUI ¤ÎÃæ¤Î DOS ¥·¥§¥ëÆâÉô¤Çưºî¤·¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢ ¤³¤ÎÌäÂê¤ÏȯÀ¸¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢Netscape ¤Ç¥Ö¡¼¥È¥¤¥á¡¼¥¸¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¾ì¹ç¤âÌäÂ꤬¤¢¤ë¤³¤È¤¬Êó¹ð¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ ¤Ç¤­¤ì¤ÐÊ̤ΠFTP ¥¯¥é¥¤¥¢¥ó¥È¤ò»È¤¦¤Î¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£ ATAPI CD-ROM ¤«¤éµ¯Æ°¤·¤¿¤Î¤Ç¤¹¤¬¡¢ ¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤Ï CD-ROM ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤È¸À¤Ã¤Æ¤­¤Þ¤¹¡£ CD-ROM ¤Ï¤É¤³¤Ë¹Ô¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¤«? ¤³¤ÎÌäÂê¤ÏÄ̾CD-ROM ¥É¥é¥¤¥Ö¤ÎÀßÄê¥ß¥¹¤Ë¤è¤Ã¤ÆÈ¯À¸¤·¤Þ¤¹¡£ ÂçÉôʬ¤Î PC ¤Î CD-ROM ¥É¥é¥¤¥Ö¤Ï¡¢ ¥»¥«¥ó¥À¥ê¦¤Î IDE ¥³¥ó¥È¥í¡¼¥é¤Î¥¹¥ì¡¼¥Ö¥Ç¥Ð¥¤¥¹¤È¤·¤ÆÀܳ¤µ¤ì¡¢ ¥Þ¥¹¥¿¥Ç¥Ð¥¤¥¹¤¬¤Ê¤¤¾õÂ֤ǽв٤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ÎÀܳÊýË¡¤Ï ATAPI µ¬³Ê°ãÈ¿¤Ê¤Î¤Ç¡¢ Windows ¤Ïµ¬³Ê¤É¤ª¤ê¤Ëư¤¤¤¿¤ê¡¢Æ°¤«¤Ê¤«¤Ã¤¿¤ê¤·¤Þ¤¹¤¬¡¢ BIOS ¤Ïµ¯Æ°»þ¤Ëµ¬³Ê°ãÈ¿¤ò̵»ë¤·¤Þ¤¹¡£ ¤½¤Î¤¿¤á BIOS ¤Ïµ¯Æ°»þ¤Ë CD-ROM ¤ò¸«¤Ä¤±¤é¤ì¤Þ¤¹¤¬¡¢ FreeBSD ¤Ï CD-ROM ¤ò¸«¤Ä¤±¤é¤ì¤º¡¢ ¥¤¥ó¥¹¥È¡¼¥ë¤ò´°Î»¤Ç¤­¤Ê¤¤¤Î¤Ç¤¹¡£ CD-ROM ¤¬ Àܳ¤µ¤ì¤Æ¤¤¤ë IDE ¥³¥ó¥È¥í¡¼¥é¤Î¥Þ¥¹¥¿¥Ç¥Ð¥¤¥¹¤È¤Ê¤ë¤è¤¦¤ËÀßÄꤹ¤ë¤«¡¢ ¤â¤·¤¯¤Ï¥Þ¥¹¥¿¡¢ ¥¹¥ì¡¼¥Ö¤ÎξÊý¤Ë¥Ç¥Ð¥¤¥¹¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¥·¥¹¥Æ¥à¤òºÆ¹½À®¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤¢¤ì¤ì? ¥Æ¡¼¥×¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó! FreeBSD 2.1.7R ¤ò¥Æ¡¼¥×¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¡¢ tar ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò 10 (5120 ¥Ð¥¤¥È) ¤Ë¤·¤¿¥Æ¡¼¥×¤òºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È ¤Î tar ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ï 20 (10240 ¥Ð¥¤¥È) ¤Ç¡¢ ¤³¤Î¥Ç¥Õ¥©¥ë¥È¥µ¥¤¥º¤Çºî¤é¤ì¤¿¥Æ¡¼¥×¤Ç¤Ï FreeBSD 2.1.7R ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤â¤·¤³¤¦¤·¤¿¥Æ¡¼¥×¤ò»È¤¦¤È¡¢ ¥ì¥³¡¼¥É¥µ¥¤¥º¤¬Â礭¤¹¤®¤ë¤È¤¤¤¦¥¨¥é¡¼¤¬µ¯¤­¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ PLIP ·Ðͳ¤ÇÆó¤Ä FreeBSD box ¤òÀܳ¤·¤¿¤¤¤Î¤Ç¤¹¤¬ Laplink ¥Ñ¥é¥ì¥ë¥±¡¼¥Ö¥ë¤òÍѰդ·¤Æ¡¢ ξÊý¤Î PC ¤Î¥«¡¼¥Í¥ë¤Ë lpt ¥É¥é¥¤¥Ð¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.user; dmesg | grep lp lpt0 at 0x378-0x37f irq 7 on isa lpt0: Interrupt-driven port lp0: TCP/IP capable interface ¥Ñ¥é¥ì¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë Laplink ¥Ñ¥é¥ì¥ë¥±¡¼¥Ö¥ë¤òÀܳ¤·¤Þ¤¹¡£ root ¤Ë¤Ê¤Ã¤Æ¡¢Î¾Êý¤Ç lp0 ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Ñ¥é¥á¡¼¥¿¤òÀßÄꤷ¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥Û¥¹¥È max ¤È moritz ¤òÀܳ¤·¤¿¤¤¾ì¹ç¡¢ max <-----> moritz IP Address 10.0.0.1 10.0.0.2 max ¦¤Ç¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢ &prompt.root; ifconfig lp0 10.0.0.1 10.0.0.2 moritz ¦¤ÇƱÍͤ˼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; ifconfig lp0 10.0.0.2 10.0.0.1 °Ê¾å¤Ç¤¹! &man.lp.4; ¤È &man.lpt.4; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢ /etc/hosts ¤Ë¥Û¥¹¥È¤ÎÄɲä⤷¤Þ¤·¤ç¤¦¡£ 127.0.0.1 localhost.my.domain localhost 10.0.0.1 max.my.domain max 10.0.0.2 moritz.my.domain moritz ưºî³Îǧ¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ max ¦: &prompt.user; ifconfig lp0 lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 &prompt.user; netstat -r Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire moritz max UH 4 127592 lp0 &prompt.user; ping -c 4 moritz PING moritz (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms --- moritz ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms ¥é¥Ã¥×¥È¥Ã¥× PC ¤Ë PLIP ·Ðͳ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¤«? ¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢Æó¤Ä¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ò Laplink ¥Ñ¥é¥ì¥ë¥±¡¼¥Ö¥ë¤ÇÀܳ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Í¥Ã¥È¥ï¡¼¥¯ÀܳÍѤΥѥé¥ì¥ë¥±¡¼¥Ö¥ë¤Î·ëÀþ A-name A ¦ B ¦ ÀâÌÀ ¥Ý¡¼¥È / ¥Ó¥Ã¥È DATA0 -ERROR 2 15 15 2 Data 0/0x01 1/0x08 DATA1 +SLCT 3 13 13 3 Data 0/0x02 1/0x10 DATA2 +PE 4 12 12 4 Data 0/0x04 1/0x20 DATA3 -ACK 5 10 10 5 Strobe 0/0x08 1/0x40 DATA4 BUSY 6 11 11 6 Data 0/0x10 1/0x80 GND 18-25 18-25 GND -
¤Þ¤¿¡¢ Mobile Computing ¤Ë¤Ä¤¤¤Æ¤Î¥Ú¡¼¥¸¤â¤´Í÷¤¯¤À¤µ¤¤¡£
¥Ï¡¼¥É¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤Ë¤Ï¡¢ ¤É¤Î¥¸¥ª¥á¥È¥ê¤ò»È¤¦¤Ù¤­¤Ç¤·¤ç¤¦¤«? ¤³¤³¤Ç¥Ç¥£¥¹¥¯¤Î¡Ö¥¸¥ª¥á¥È¥ê¡×¤È¤Ï¡¢¥Ç¥£¥¹¥¯¤Î¥·¥ê¥ó¥À¡¢¥Ø¥Ã¥À¡¢ ¥È¥é¥Ã¥¯Åö¤ê¤Î¥»¥¯¥¿¤Î¿ô¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹ - ÊØµ¹¾å¡¢ C/H/S ¤È¤¹¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Ç¥£¥¹¥¯¤Î¤É¤ÎÎΰè¤ÇÆÉ¤ß½ñ¤­¤ò ¹Ô¤Ê¤¦¤«¤ò PC ¤Î BIOS ¤¬·èÄꤹ¤ë¼êÃʤȤʤê¤Þ¤¹¡£ ¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¤¢¤ëÍýͳ¤Î¤¿¤á¤Ë¡¢¸í²ò¤µ¤ì¤Æ¤¤¤ëÅÀ¤¬Â¿¤¤¤è¤¦¤Ç¤¹¡£ ¤Þ¤ººÇ½é¤Ë¡¢FreeBSD ¤Ï¥Ç¥£¥¹¥¯¥Ö¥í¥Ã¥¯¤Çưºî¤·¤Æ¤¤¤ë¤¿¤á¡¢ SCSI ¥É¥é¥¤¥Ö¤Î ʪÍýŪ ¤Ê¥¸¥ª¥á¥È¥ê¤È¤¤¤¦¸À¤¤Êý¤Ï¡¢ ¤Þ¤Ã¤¿¤¯¸«Åö°ã¤¤¤Î¤â¤Î¤Ç¤¹¡£»ö¼Â¡¢ ¥»¥¯¥¿¤ÎÌ©Å٤ϥǥ£¥¹¥¯¤Ë¤è¤Ã¤Æ¤Þ¤Á¤Þ¤Á¤Ç¤¢¤ë¤¿¤á¡¢ ʪÍýŪ¤Ê¥¸¥ª¥á¥È¥ê¤È¤¤¤¦¤â¤Î¤Ï¸ºß¤·¤Þ¤»¤ó¡£ À½Â¤¼Ô¤¬ ËÜÅö¤Î ʪÍýŪ¤Ê¥¸¥ª¥á¥È¥ê¤È¸øÉ½¤·¤Æ¤¤¤ë¤â¤Î¤ÏÄ̾ Èà¤é¤¬¸¡ºº¤·¤ÆÆÀ¤¿ºÇ¾®¤Î»ÈÍÑÉÔ²ÄÍÆÎ̤ηë²Ì¤Î¥¸¥ª¥á¥È¥ê¤Î¤³¤È¤Ç¤¹¡£ IDE ¤Î¾ì¹ç¡¢FreeBSD ¤Ï C/H/S ¤Çưºî¤·¤Þ¤¹¤¬¡¢ ºÇ¶á¤Î¥É¥é¥¤¥Ö¤Ï¤¹¤Ù¤Æ¡¢¤³¤ì¤òÆâÉô¤Ç»²¾È¤¹¤ë¥Ö¥í¥Ã¥¯¤ËÊÑ´¹¤·¤Æ¤¤¤Þ¤¹¡£ ÌäÂê¤Ï¤È¤Ê¤ë¤Î¤ÏÏÀÍýŪ¤Ê¥¸¥ª¥á¥È¥ê¤Ç¤¹¡£ ¤³¤ì¤Ï BIOS ¤¬¤½¤Î¥Ç¥£¥¹¥¯¤Î¥¸¥ª¥á¥È¥ê¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤¿ºÝ¤Ë¼èÆÀ¤µ¤ì¤ë¤â¤Î¤Ç¤¢¤ê¡¢ ¤½¤Î¸å¤Î¥Ç¥£¥¹¥¯¤Ø¤Î¥¢¥¯¥»¥¹¤Ë»ÈÍѤ·¤Þ¤¹¡£ FreeBSD ¤Ïµ¯Æ°»þ¤Ë BIOS ¤ò»ÈÍѤ¹¤ë¤¿¤á¡¢ ¤³¤ì¤òÀµ¤·¤¯¼èÆÀ¤¹¤ë¤³¤È¤ÏÈó¾ï¤Ë½ÅÍפʤ³¤È¤Ê¤Î¤Ç¤¹¡£ ¼ÂºÝ¤Ë¡¢¥Ç¥£¥¹¥¯¾å¤ËÊ£¿ô¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬¤¢¤ë¾ì¹ç¤Ï¡¢ ¥¸¥ª¥á¥È¥ê¤Ï¤É¤³¤«¤é¤Ç¤âƱ¤¸¤è¤¦¤Ë²ò¼á¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤½¤¦¤·¤Ê¤¤¤È¡¢µ¯Æ°»þ¤Ë¿¼¹ï¤ÊÌäÂ꤬ȯÀ¸¤·¤Þ¤¹¡£ SCSI ¥Ç¥£¥¹¥¯¤Ç¤Ï¡¢ »ÈÍѤ¹¤ë¥¸¥ª¥á¥È¥ê¤Ï¥³¥ó¥È¥í¡¼¥é¤Î³ÈÄ¥ BIOS ¥È¥é¥ó¥¹¥ì¡¼¥·¥ç¥ó (>1GB ¤Î DOS ¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤Î¥µ¥Ý¡¼¥È ¤È¤â¸Æ¤Ð¤ì¤Þ¤¹) ¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤è¤ê¤Þ¤¹¡£ ̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢N ¥·¥ê¥ó¥À¡¢64 ¥Ø¥Ã¥É¡¢ 32 ¥»¥¯¥¿/¥È¥é¥Ã¥¯¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢ ¤³¤³¤Ç `N' ¤Ï MB ñ°Ì¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤Ǥ¹¡£ ¤¿¤È¤¨¤Ð¡¢2GB ¥Ç¥£¥¹¥¯¤Ï¸«¤«¤±¾å 2048 ¥·¥ê¥ó¥À¡¢64 ¥Ø¥Ã¥É¡¢ 32 ¥»¥¯¥¿/¥È¥é¥Ã¥¯¤È¤Ê¤ê¤Þ¤¹¡£ ¤½¤ì¤¬¡ÖÍ­¸ú¡×¤Ë¤Ê¤Ã¤Æ¤ª¤ê (MS-DOS ¤Ç¤Ï¤³¤ÎÊýË¡¤Ç¡¢¤¢¤ëÀ©¸Â¤ò²óÈò¤¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹)¡¢ ¥Ç¥£¥¹¥¯ÍÆÎ̤¬ 1GB ¤ò±Û¤¨¤ë¾ì¹ç¤Ï¡¢M ¥·¥ê¥ó¥À¡¢ 63 ¥»¥¯¥¿/¥È¥é¥Ã¥¯ (64 ¡Ö¤Ç¤Ï¤Ê¤¯¡×)¡¢ 255 ¥Ø¥Ã¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ `M' ¤Ï MB ñ°Ì¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤ò 7.844238(!) ¤Ç³ä¤Ã¤¿ÃͤȤʤê¤Þ¤¹¡£ ¤È¤¤¤¦¤³¤È¤Ç¡¢2GB ¥Ç¥£¥¹¥¯¤ÎÎã¤Ç¤Ï¡¢ 261 ¥·¥ê¥ó¥À¡¢63 ¥»¥¯¥¿/¥È¥é¥Ã¥¯¡¢255 ¥Ø¥Ã¥É¤È¤Ê¤ê¤Þ¤¹¡£ (ÌõÃí: °Ê¾å¤Ï Adaptec ¼Ò¤È NCR ¼ÒÀ½¤Î SCSI ¥¢¥À¥×¥¿¤Î¾ì¹ç¤Ç¤¹¡£ SCSI ¥¢¥À¥×¥¿¤Ë¤è¤Ã¤ÆÊÑ´¹¤Î¿ôÃͤ¬ÊѤï¤Ã¤Æ¤¯¤ë¤Î¤Ç¥Þ¥Ë¥å¥¢¥ë¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£ ¤³¤ì¤Ë¤Ä¤¤¤Æ¤è¤¯Ê¬¤«¤é¤Ê¤¤¾ì¹ç¤ä FreeBSD ¤¬¥¤¥ó¥¹¥È¡¼¥ëÃæ¤ËÀµ¤·¤¯¥¸¥ª¥á¥È¥ê¤ò¼èÆÀ¤Ç¤­¤Ê¤¤¾ì¹ç¡¢ ¤³¤ì¤ò²óÈò¤¹¤ë¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ï¡¢ ¥Ç¥£¥¹¥¯¤Ë¾®¤µ¤Ê DOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºî¤ë¤³¤È¤Ç¤¹¡£ ¤½¤¦¤¹¤ë¤ÈÀµ¤·¤¤¥¸¥ª¥á¥È¥ê¤¬¼èÆÀ¤µ¤ì¤ë¤Ï¤º¤Ç¤¹ (¤½¤·¤Æ¡¢ »Ä¤·¤Æ¤ª¤­¤¿¤¯¤Ê¤¤¤È¤«¡¢ ¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¤Î¥×¥í¥°¥é¥ß¥ó¥°ÍѤ˻Ȥ¤¤¿¤¤¾ì¹ç¤Ê¤É¤Ë¤Ï¡¢ ¤¤¤Ä¤Ç¤â¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿¤Ç DOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºï½ü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹)¡£ ¤â¤¦°ì¤Ä¤ÎÊýË¡¤È¤·¤Æ¡¢FreeBSD ¤È°ì½ï¤ËÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë¥Õ¥ê¡¼¤Ç»È¤¨¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ë pfdisk.exe (FreeBSD CD-ROM ¤Î tools ¥Ç¥£¥ì¥¯¥È¥ê¤ä¡¢Â¾¤Î¤µ¤Þ¤¶¤Þ¤Ê FTP ¥µ¥¤¥È¤Ë¤¢¤ê¤Þ¤¹)¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤¬¤¢¤ê¡¢ ¥Ç¥£¥¹¥¯¾å¤Î¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬»ÈÍѤ·¤Æ¤¤¤ë ¥¸¥ª¥á¥È¥ê¤òÄ´¤Ù¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£ ¤³¤Î¥¸¥ª¥á¥È¥ê¾ðÊó¤Ï¡¢ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿¤ËÆþÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¤Îʬ³ä¤Î»ÅÊý¤Ç²¿¤«À©¸Â¤Ï¤¢¤ê¤Þ¤¹¤«? ¤Ï¤¤¡£ BIOS ¤¬¥«¡¼¥Í¥ë¤òµ¯Æ°¤Ç¤­¤ë¤è¤¦¤Ë¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬ 1024 ¥·¥ê¥ó¥À°ÊÆâ¤Ë¤¢¤ë¤³¤È¤ò³Îǧ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ (¤³¤ì¤Ï FreeBSD ¤Ç¤Ï¤Ê¤¯ PC ¤Î BIOS ¤ÎÀ©¸Â¤Ç¤¹)¡£ SCSI ¥É¥é¥¤¥Ö¤Ç¤Ï¡¢Ä̾ï¤Ï¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬ºÇ½é¤Î 1024MB ¤Ë¼ý¤Þ¤Ã¤Æ¤¤¤ë¤³¤È¤¬Á°Äó¤È¤Ê¤ê¤Þ¤¹ (¤Þ¤¿¤Ï³ÈÄ¥ BIOS ¥È¥é¥ó¥¹¥ì¡¼¥·¥ç¥ó¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤ÏºÇ½é¤Î 4096MB - ¾¤Î¼ÁÌä¤ò¤´Í÷¤¯¤À¤µ¤¤)¡£IDE ¤Ç¤½¤ì¤ËÁêÅö¤¹¤ëÃÍ¤Ï 504MB ¤È¤Ê¤ê¤Þ¤¹ (ÌõÃí: E-IDE Âбþ¤Î BIOS ÅëºÜ¥Þ¥·¥ó¤Î¾ì¹ç¤Ï IDE ¤Î 504MB ¤È¤¤¤¦À©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó)¡£ ÂçÍÆÎ̥ǥ£¥¹¥¯¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¥Ç¥£¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¤Ï»È¤¨¤Þ¤¹¤«? FreeBSD ¤Ï Ontrack Disk Manager ¤òǧ¼±¤·¡¢¤³¤ì¤ò¹Íθ¤Ë¤¤¤ì¤Þ¤¹¡£ ¾¤Î¥Ç¥£¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¤Ï¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£ ¥Ç¥£¥¹¥¯Á´ÂΤò FreeBSD ¤Ç»È¤¤¤¿¤¤¾ì¹ç¡¢ ¥Ç¥£¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£ BIOS ¤¬°·¤¨¤ëÍÆÎÌ (Ä̾ï 504MB) ¤¤¤Ã¤Ñ¤¤¤Ç¥Ç¥£¥¹¥¯¤ÎÀßÄê¤ò¹Ô¤Ê¤¦¤È¡¢ FreeBSD ¤Ï¼ÂºÝ¤ÎÍÆÎ̤ò»»½Ð¤¹¤ë¤Ï¤º¤Ç¤¹¡£ MFM ¥³¥ó¥È¥í¡¼¥éÉÕ¤­¤Î¸Å¤¤¥Ç¥£¥¹¥¯¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ FreeBSD ¤Ë»ÈÍѤ¹¤ë¥·¥ê¥ó¥À¿ô¤ò¾ÜºÙ¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ FreeBSD ¤È¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬Æþ¤Ã¤Æ¤¤¤ë¥Ç¥£¥¹¥¯¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¤Ï¡¢ ¥Ç¥£¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¤Ê¤·¤Ç¤â¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ FreeBSD ¤Îµ¯Æ°¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥àÍѤΥ¹¥é¥¤¥¹¤¬¡¢ ºÇ½é¤Î 1024 ¥·¥ê¥ó¥ÀÆâ¤Ë¼ý¤Þ¤Ã¤Æ¤¤¤ë»ö¤ò³Îǧ¤¹¤ë¤À¤±¤Ç¤¹¡£ µ¤¤Ë¤Ê¤ëÊý¤Ï¡¢µ¯Æ°¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò 20 ¥á¥¬¥Ð¥¤¥È¤°¤é¤¤¤Ë¤·¤ÆÂ礭¤á¤Ë¤¹¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡£ FreeBSD ¤Îµ¯Æ°»þ¤Ë Missing Operating System ¤Èɽ¼¨¤µ¤ì¤Þ¤¹ ¤³¤ì¤Ï FreeBSD ¤ä DOS¡¢ ¤½¤Î¤Û¤«¤Î OS ¤¬¥Ç¥£¥¹¥¯Îΰ襸¥ª¥á¥È¥ê ¤Î¤È¤é¤¨Êý¤Ç¾×ÆÍ¤·¤¢¤Ã¤Æ¤¤¤ë¤³¤È¤«¤éµ¯¤³¤ëŵ·¿Åª¤ÊÎã¤Ç¤¹¡£ ¤³¤¦¤Ê¤Ã¤¿¤é FreeBSD ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·Ä¾¤¹°Ê³°¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ¾¤Î¤È¤³¤í¤ÇÀâÌÀ¤·¤¿¼ê½ç¤Ë¤·¤¿¤¬¤Ã¤Æ¤ä¤ì¤Ð¡¢ ¤Û¤Ü´Ö°ã¤¤¤Ê¤¯¤¦¤Þ¤¯¤¤¤¯¤Ï¤º¤Ç¤¹¡£ ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤Î F? ¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¤¹¤Ç¤ËÁ°¤Ë¼ÁÌ䤵¤ì¤Æ¤¤¤ëÌäÂê¤Î¤â¤¦°ì¤Ä¤Î¾É¾õ¤Ç¤¹¡£ BIOS ¤Î¥¸¥ª¥á¥È¥ê¤È FreeBSD ¤Î¥¸¥ª¥á¥È¥êÀßÄ꤬°ìÃפ·¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹! ¥³¥ó¥È¥í¡¼¥é¤ä BIOS ¤¬¥·¥ê¥ó¥À¤ÎÊÑ´¹ (>1GB ¥É¥é¥¤¥Ö¤Î ¥µ¥Ý¡¼¥È¤È¤â¸Æ¤Ð¤ì¤Þ¤¹) ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤¿¤é¡¢ ¤½¤ÎÀßÄê¤ò̵¸ú²½¤·¤Æ FreeBSD ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·Ä¾¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¥½¡¼¥¹¤òÁ´Éô¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפϤ¢¤ê¤Þ¤¹¤«? °ìÈÌŪ¤Ë¤Ï¡Ö¤¤¤¤¤¨¡×¤Ç¤¹¡£ ¤·¤«¤·ºÇÄã¤Ç¤â¡¢base ¥½¡¼¥¹¥­¥Ã¥È (¤³¤ì¤Ë¤Ï¤³¤Î FAQ ¤Ç½Ò¤Ù¤é¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î¤¤¤¯¤Ä¤«¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹) ¤È¡¢ sys (kernel) ¥½¡¼¥¹¥­¥Ã¥È (¤³¤ì¤Ë¤Ï¥«¡¼¥Í¥ë¤Î¥½¡¼¥¹¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹) ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»ö¤ò¶¯¤¯¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ Ä̾²¿¤«¤Î¼Â¹Ô¤Ë¥½¡¼¥¹¤¬É¬Íפˤʤë»ö¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢¥«¡¼¥Í¥ë¤ò¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤¹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à &man.config.8; ¤ò¼Â¹Ô¤¹¤ë»þ¤ÏÎã³°¤Ç¤¹¡£ ¥«¡¼¥Í¥ë¤Î¥½¡¼¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¯¤Æ¤â¤è¤¤Îã¤È¤·¤Æ¡¢ ¤É¤³¤«Ê̤ξì½ê¤«¤é¥«¡¼¥Í¥ë¤Î¥½¡¼¥¹¤òÆÉ¤ß¹þ¤ßÀìÍÑ¤Ç NFS ¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢ ¤½¤³¤«¤é¿·¤·¤¤¥Ð¥¤¥Ê¥ê¤òºîÀ®¤Ç¤­¤ë¤è¤¦¤Ë¤â¤Ê¤Ã¤Æ¤¤¤Þ¤¹ (¥«¡¼¥Í¥ë¥½¡¼¥¹¤ÎÀ©¸Â¤¬¤¢¤ë¤Î¤Ç¡¢Ä¾ÀÜ /usr/src ¤ò¥Þ¥¦¥ó¥È¤¹¤ë»ö¤Ï¤ª¤¹¤¹¤á¤Ç¤­¤Þ¤»¤ó¡£ ¤½¤ì¤è¤ê¤â¤É¤³¤«Ê̤Υǥ£¥ì¥¯¥È¥ê¤Ë¥Þ¥¦¥ó¥È¤·¤Æ¡¢ ¥½¡¼¥¹¥Ä¥ê¡¼¤ÎÊ£À½¤¬¤Ç¤­¤ë¤è¤¦¤ËŬÀڤ˥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òÄ¥¤Ã¤Æ¤¯¤À¤µ¤¤)¡£ ¥½¡¼¥¹¤ò¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Ë»ý¤Á¡¢ ¤½¤³¤«¤é¥·¥¹¥Æ¥à¤ò¥Ó¥ë¥É¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤±¤Ð¡¢ FreeBSD ¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤¬¤º¤Ã¤È´Êñ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¼ÂºÝ¤Ë¥½¡¼¥¹¤Î¥µ¥Ö¥»¥Ã¥È¤òÁªÂò¤¹¤ë¤Ë¤Ï¡¢ ¥·¥¹¥Æ¥à¥¤¥ó¥¹¥È¡¼¥ë¥Ä¡¼¥ë¤Î¡ÖÇÛÉÛ¥Õ¥¡¥¤¥ë¡×¥á¥Ë¥å¡¼¤Ë¤¢¤ë¡¢ ¡Ö¥«¥¹¥¿¥à¡×¥á¥Ë¥å¡¼¤ò»ÈÍѤ·¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¤Ïɬ¤ººî¤êľ¤µ¤Ê¤¯¤Á¤ã¤Ê¤é¤Ê¤¤¤ó¤Ç¤¹¤«? ¥«¡¼¥Í¥ë¤ò¿·¤·¤¯ºî¤êľ¤¹¤Î¤Ï¸µ¡¹¡¢ FreeBSD ¤Î¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ëɬ¿Ü¤Îºî¶È¤Ç¤·¤¿¡£ ¤Ç¤âºÇ¶á¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ ¤È¤Æ¤â¥æ¡¼¥¶¥Õ¥ì¥ó¥É¥ê¤Ê¥«¡¼¥Í¥ëÀßÄê¥Ä¡¼¥ë¤Î²¸·Ã¤ò¼õ¤±¤Æ¤¤¤Þ¤¹¡£ FreeBSD ¤Îµ¯Æ°¥×¥í¥ó¥×¥È (boot:) ¤Ç ¤È¥¿¥¤¥×¤¹¤ì¤Ð¥Ó¥¸¥å¥¢¥ë¤ÊÀßÄê²èÌ̤ˤʤꡢ ¤Û¤È¤ó¤É¤Î°ìÈÌŪ¤Ê ISA ¥«¡¼¥É¤Ë¤Ä¤¤¤Æ¤Î¥«¡¼¥Í¥ë¤ÎÀßÄê¤ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¤¹¡£ º£¤Ç¤â¡¢ ɬÍפʥǥХ¤¥¹¥É¥é¥¤¥Ð¤À¤±¤òÁȤ߹þ¤ó¤À¥«¡¼¥Í¥ë¤òºî¤ë¤³¤È¤Ï¤è¤¤»ö¤È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤Û¤ó¤Î¤Á¤ç¤Ã¤È¤À¤±¥á¥â¥ê¤òÀáÌó¤Ç¤­¤Þ¤¹¤«¤é¤Í¡£ ¤Ç¤â¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ ¤â¤Ï¤ä¤É¤¦¤·¤Æ¤â¤ä¤é¤Ê¤¯¤Á¤ã¤Ê¤é¤Ê¤¤¤³¤È¤Ç¤Ï¤Ê¤¤¤Î¤Ç¤¹¡£ DES ¤È MD5¡¢¤É¤Á¤é¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤¦¤Ù¤­¤Ê¤Î¤Ç¤·¤ç¤¦¤«? ¤Þ¤¿¡¢¥æ¡¼¥¶¤¬¤É¤Á¤é¤ò»È¤¦¤³¤È¤Ë¤Ê¤ë¤«»ØÄꤹ¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤¹¤«? FreeBSD ¤Îɸ½à¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï MD5 ¤ò»È¤Ã¤¿¤â¤Î¤Ç¤¹¡£ ¤³¤ì¤Ï DES ¥¢¥ë¥´¥ê¥º¥à¤Ë´ð¤Å¤¤¤¿¼êË¡¤òÍѤ¤¤ë UNIX ¤ÎÅÁÅýŪ¤Ê¥Ñ¥¹¥ï¡¼¥É¥Õ¥©¡¼¥Þ¥Ã¥È¤è¤ê°ÂÁ´ (secure) ¤À¤È ¿®¤¸¤é¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£ DES ¥Ñ¥¹¥ï¡¼¥É¤Ï ¤¢¤Ê¤¿¤¬ FreeBSD ¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤ò¡¢ °ÂÁ´À­¤ËÎô¤ë¥Ñ¥¹¥ï¡¼¥É¥Õ¥©¡¼¥Þ¥Ã¥È¤òÍøÍѤ·¤Æ¤¤¤ë¸Å¤¤ OS ¤È¶¦Í­¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¯¤Ê¤Ã¤¿¤È¤­¤Î¤¿¤á¤Ë ÍøÍѲÄǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹ (¤³¤ì¤ÏÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢ sysinstall ¤«¤é crypto ÇÛÉÛʪ¤Î¥¤¥ó¥¹¥È¡¼¥ë Áª¤Ö¤«¡¢¥½¡¼¥¹¤«¤é build ¤·¤Æ¤¤¤ë¤Ê¤é¡¢ crypto ¤Î¥½¡¼¥¹¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹)¡£ ¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤Ë¤É¤Á¤é¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»È¤¦¤«¤Ï /etc/login.conf ¤ÎÃæ¤Î passwd_format ¤È¤¤¤¦ login ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ÇÀ©¸æ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Ï des (ÍøÍѤǤ­¤ë¤Ê¤é) ¤« md5 ¤Î¤É¤Á¤é¤«¤ÎÃͤò¼è¤ê¤Þ¤¹¡£ login ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï &man.login.conf.5; ¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¤Çµ¯Æ°¤¹¤ë¤È¡¢ Probing Devices... ¤Î²èÌ̤ǥϥ󥰥¢¥Ã¥×¤·¤Þ¤¹¡£ IDE Zip ¤« Jaz ¥É¥é¥¤¥Ö¤¬Àܳ¤µ¤ì¤Æ¤¤¤¿¤é¡¢ ¤½¤ì¤ò¼è¤ê³°¤·¤Æ¤â¤¦°ìÅٻ¤Æ¤ß¤Þ¤·¤ç¤¦¡£ ¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¤Ï¤³¤Î¼ï¤Î¥É¥é¥¤¥Ö¤ò¸íǧ¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¡£ ¥·¥¹¥Æ¥à¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¸å¤Ï¡¢¤½¤Î¥É¥é¥¤¥Ö¤òºÆÅÙÀܳ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¦¤Þ¤¯¤¤¤±¤Ð¤³¤ÎÌäÂê¤Ï¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ç²ò·è¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£ ¥¤¥ó¥¹¥È¡¼¥ë½ªÎ»¸å¤Ë¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤¹¤ë¤È¡¢ panic: cant mount root ¤Î¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤¹¡£ ¤³¤Î¥¨¥é¡¼¤Ï¥Ç¥£¥¹¥¯¥Ç¥Ð¥¤¥¹¤Ë¤Ä¤¤¤Æ¡¢ µ¯Æ°¥Ö¥í¥Ã¥¯¤È¥«¡¼¥Í¥ë¤Îǧ¼±¤¬º®Í𤷤Ƥ¤¤ë¤¿¤á¤Ëµ¯¤³¤ê¤Þ¤¹¡£ ¤³¤Î¥¨¥é¡¼¤ÏÄ̾ 2 Âæ¤Î IDE ¥Ç¥£¥¹¥¯¤¬¤½¤ì¤¾¤ìÊ̤ΠIDE ¥³¥ó¥È¥í¡¼¥é¤Î¥Þ¥¹¥¿¡¼¤Ë°ì¤Ä¤º¤ÄÀܳ¤µ¤ì¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤Æ¡¢ FreeBSD ¤¬¥»¥«¥ó¥À¥ê IDE ¥³¥ó¥È¥í¡¼¥é¤ËÀܳ¤µ¤ì¤¿¥Ç¥£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£ µ¯Æ°¥Ö¥í¥Ã¥¯¤Ï FreeBSD ¤¬ wd1 (2 ÂæÌܤΠBIOS ¥Ç¥£¥¹¥¯) ¤Ë¥¤¥ó¥¹¥È¡¼¥ë ¤µ¤ì¤Æ¤¤¤ë¤Èǧ¼±¤¹¤ë¤Î¤ËÂФ·¡¢ ¥«¡¼¥Í¥ë¤Ï¥»¥«¥ó¥À¥ê IDE ¤Î 1 ÂæÌܤΥϡ¼¥É¥Ç¥£¥¹¥¯¤Ç¤¢¤ë wd2 ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Èǧ¼±¤¹¤ë¤Î¤Ç¤¹¡£ ¥Ç¥Ð¥¤¥¹¸¡½Ð¸å¤Ç¡¢ ¥«¡¼¥Í¥ë¤Ïµ¯Æ°¥Ö¥í¥Ã¥¯¤¬µ¯Æ°¥Ç¥£¥¹¥¯¤À¤Èǧ¼±¤·¤¿¥Ç¥£¥¹¥¯¤Ç¤¢¤ë wd1 ¤ò¥Þ¥¦¥ó¥È¤·¤è¤¦¤È¤·¤Þ¤¹¡£ ¤·¤«¤·¡¢¼ÂºÝ¤Ë¤Ïµ¯Æ°¥Ç¥£¥¹¥¯¤Ï wd2 ¤Ê¤Î¤Ç¼ºÇÔ¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¡£ ¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤É¤ì¤«°ì¤Ä¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD 3.3 °Ê¹ß¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Æ¡¢Booting kernel in 10 seconds; hit [Enter] to interrupt ¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë´Ö¤Ë Enter ¥­¡¼¤ò²¡¤·¤Þ¤¹¡£ ¤¹¤ë¤È¡¢¥Ö¡¼¥È¥í¡¼¥À¤Ë°Ü¹Ô¤·¤Þ¤¹¡£ ¤½¤¦¤·¤¿¤é¡¢set root_disk_unit="disk_number" ¤ÈÆþÎϤ·¤Þ¤¹¡£ FreeBSD ¤¬ºÇ½é¤Î IDE ¥³¥ó¥È¥í¡¼¥é¤Î¥Þ¥¹¥¿¡¼¤ËÀܳ¤µ¤ì¤¿¥É¥é¥¤¥Ö¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢ disk_number ¤Ï 0 ¤Ç¤¹¡£ ¤Þ¤¿¡¢ ºÇ½é¤Î IDE ¥³¥ó¥È¥í¡¼¥é¤Î¥¹¥ì¡¼¥Ö¤Ê¤é 1¡¢ ÆóÈÖÌܤΠIDE ¥³¥ó¥È¥í¡¼¥é¤Î¥Þ¥¹¥¿¡¼¤Ê¤é 2¡¢ ÆóÈÖÌܤΠIDE ¥³¥ó¥È¥í¡¼¥é¤Î¥¹¥ì¡¼¥Ö¤Ê¤é 3 ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤½¤Î¸å¡¢boot ¤ÈÆþÎϤ·¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤Ï¤­¤Á¤ó¤ÈºÆµ¯Æ°¤¹¤ë¤Ï¤º¤Ç¤¹¡£ ¤³¤ÎÊѹ¹¤ò¹±µ×Ū¤Ê¤â¤Î¤Ë¤¹¤ë (¤Ä¤Þ¤ê¡¢ ºÆµ¯Æ°¤äÅŸ»¤òÆþ¤ì¤ëÅ٤ˤ³¤ÎÁàºî¤ò¤¹¤ëɬÍפ¬¤Ê¤¤¤è¤¦¤Ë¤¹¤ë) ¤Ë¤Ï¡¢ /boot/loader.conf.local ¤Ë root_disk_unit="disk_number" ¤È¤¤¤¦¹Ô¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ FreeBSD 3.2 °ÊÁ°¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ Boot: ¥×¥í¥ó¥×¥È¤Ç 1:wd(2,a)kernel ¤ÈÆþÎϤ·¤Æ¥¨¥ó¥¿¡¼¥­¡¼¤ò²¡¤·¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤¬µ¯Æ°¤·¤¿¤é¡¢ echo "1:wd(2,a)kernel" > /boot.config ¤È¤¤¤¦¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤³¤ì¤ò¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¡¼¥Èʸ»úÎó¤È¤·¤Þ¤¹¡£ FreeBSD ¤Î¥Ç¥£¥¹¥¯¤ò¥×¥é¥¤¥Þ¥ê IDE ¥³¥ó¥È¥í¡¼¥é¤ËÀܳ¤·¤Æ¡¢ ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤¬Ï¢Â³¤·¤¿¥É¥é¥¤¥ÖÈÖ¹æ¤Çǧ¼±¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ç wd ¤Î¹Ô¤ò°Ê²¼¤Î¤è¤¦¤ËÊѹ¹¤·¡¢ ¥«¡¼¥Í¥ë¤ÎºÆ¹½ÃÛ¤ò¹Ô¤Ã¤Æ¡¢ ¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 # disk wd1 at wdc0 drive 1 # ¤³¤Î¹Ô¤ò¥³¥á¥ó¥È¥¢¥¦¥È controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr disk wd1 at wdc1 drive 0 # wd2 ¤«¤é wd1 ¤ØÊѹ¹ disk wd2 at wdc1 drive 1 # wd3 ¤«¤é wd2 ¤ØÊѹ¹ ¥Ç¥£¥¹¥¯¤ÎÀܳ¤òÊѹ¹¤·¤Æ¸µ¤ÎÀßÄê¤ËÌᤷ¤¿¤¤¾ì¹ç¤Ï¡¢¥Ç¥£¥¹¥¯¤ò ¤ªË¾¤ß¤ÎÀßÄê¤ÎÄ̤ê¤ÎÀܳ¤ËÌᤷ¤Æ¤«¤éºÆµ¯Æ°¤·¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤ÏÀµ¾ï¤Ëµ¯Æ°¤¹¤ë¤Ï¤º¤Ç¤¹¡£ ¥á¥â¥ê¤ÎÂ礭¤µ¤ÎÀ©¸Â¤Ï? ǧ¼±¤Ç¤­¤ë¥á¥â¥ê¤Î¾å¸Â¤Ï¡¢4GB ¤Ç¤¹¡£ ¤³¤Î¹½À®¤Ï»î¸³ºÑ¤ß¤Ç¡¢ ¾ÜºÙ¤Ï wcarchive's configuration ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¤³¤Î¤è¤¦¤Ë¤¿¤¯¤µ¤ó¤Î¥á¥â¥ê¤ò¥Þ¥·¥ó¤ËƳÆþ¤·¤è¤¦¤È¤¤¤¦¾ì¹ç¤Ë¤Ï¡¢ Ãí°Õ¤¬É¬ÍפǤ¹¡£ECC µ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¡¢¤Ê¤ª¤«¤Ä ÍÆÎÌÀ­Éé²Ù (ÌõÃí: ¿¤¯¤Î¥á¥â¥êÁǻҤÏÍÆÎÌÀ­Éé²Ù¤È¤·¤ÆÆ¯¤­¤Þ¤¹¤¬¡¢ ¥á¥â¥ê¥Ð¥¹¾å¤ËÍÆÎÌÀ­Éé²Ù¤¬Áý¤¨¤ë¤È¿®¹æ¤ÎÅÁ㤬Ã٤졢¸íưºî¤Î¸¶°ø¤È¤Ê¤ê¤Þ¤¹) ¤ò Ä㸺¤µ¤»¤ë¤¿¤á¡¢18 ¥Á¥Ã¥×¹½À®¤Î¥á¥â¥ê¥â¥¸¥å¡¼¥ë¤è¤ê 9 ¥Á¥Ã¥×¹½À®¤Î¥á¥â¥ê¥â¥¸¥å¡¼¥ë¤òÁªÂò¤¹¤ë¤³¤È¤¬¡¢¤ª¤½¤é¤¯Ë¾¤Þ¤·¤¤¤Ç¤·¤ç¤¦¡£ ffs ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÂ礭¤µ¤ÎÀ©¸Â¤Ï? ffs ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¾ì¹ç¡¢ ÏÀÍýŪ¤ÊºÇÂç¤Î¾å¸Â¤Ï 8 TB (2G ¥Ö¥í¥Ã¥¯)¡¢ ¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò 8K ¤È¤¹¤ë¤È 16 TB¤È¤Ê¤ê¤Þ¤¹¡£ ¼ÂºÝÌäÂê¤È¤·¤Æ¡¢1 TB ¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î¸Â³¦¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ ½¤Àµ¤¹¤ì¤Ð 4 TB ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬²Äǽ¤Ç¤¹ (¼ÂºÝ¤Ë¸ºß¤·¤Þ¤¹)¡£ °ì¤Ä¤Î ffs ¤Î¥Õ¥¡¥¤¥ë¤ÎºÇÂç¤Î¥µ¥¤¥º¤Ï¡¢¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬ 4K ¤Î¾ì¹ç¤Ç Ìó 1G ¥Ö¥í¥Ã¥¯ (4 TB)¤Ç¤¹¡£ ºÇÂç¥Õ¥¡¥¤¥ë¥µ¥¤¥º fs ¥Ö¥í¥Ã¥¯¥µ¥¤¥º 2.2.7-stable 3.0-current ưºî³ÎǧºÑ¤ß¤Î¥µ¥¤¥º ưºî¤¹¤ë¤Ï¤º¤Î¥µ¥¤¥º 4K 4T-1 4T-1 4T-1 >4T 8K >32G 8T-1 >32G 32T-1 16K >128G 16T-1 >128G 32T-1 32K >512G 32T-1 >512G 64T-1 64K >2048G 64T-1 >2048G 128T-1
fs ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬ 4K ¤Î¾ì¹ç¤Ï»°½Å´ÖÀÜ¥Ö¥í¥Ã¥¯¤¬»ÈÍѤµ¤ì¡¢ ¤¤¤º¤ì¤Î¾ì¹ç¤Ç¤â»°½Å´ÖÀÜ¥Ö¥í¥Ã¥¯¤ò»ÈÍѤ·¤ÆÉ½¸½¤Ç¤­¤ëºÇÂç¤Î fs ¥Ö¥í¥Ã¥¯ÈÖ¹æ (¤ª¤è¤½ 1K^3 + 1K^2 + 1K) ¤ËÀ©¸Â¤µ¤ì¤ë¤Ï¤º¤Ê¤Î¤Ç¤¹¤¬¡¢ ¼ÂºÝ¤Ï fs ¥Ö¥í¥Ã¥¯ÈÖ¹æ¤Î (´Ö°ã¤Ã¤¿) ¾å¸Â 1G-1 ¤ÇÀ©¸Â¤µ¤ì¤Þ¤¹¡£ fs ¥Ö¥í¥Ã¥¯ÈÖ¹æ¤ÎÀ©¸Â¤Ï 2G-1 ¤È¤Ê¤ë¤Ï¤º¤Ç¤¹¡£2G-1 ÉÕ¶á¤Ë fs ¥Ö¥í¥Ã¥¯ÈÖ¹æ¤Î¥Ð¥°¤¬Â¿¾¯¤¢¤ê¤Þ¤¹¤¬¡¢fs ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬ 4K ¤Î¾ì¹ç¤Ï¡¢¤³¤³¤Þ¤Ç¤Î¥Ö¥í¥Ã¥¯ÈÖ¹æ¤Ë¤ÏÅþ㤷¤Þ¤»¤ó¡£ ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬ 8K °Ê¾å¤Î¾ì¹ç¡¢¤¤¤º¤ì¤Î¾ì¹ç¤â fs ¥Ö¥í¥Ã¥¯ÈÖ¹æ¤Î¾å¸Â 2G-1 ¤ÇÀ©¸Â¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¤¬¡¢ ¼ÂºÝ¤Ï fs ¥Ö¥í¥Ã¥¯ÈÖ¹æ¤Î¾å¸Â 1G-1 ¤ÇÀ©¸Â¤µ¤ì¤Þ¤¹¡£ Î㳰Ū¤Ë -STABLE ¤Ç¤Ï»°½Å´ÖÀÜ¥Ö¥í¥Ã¥¯¤Þ¤Ç¤ÏÅþ㤷¤Ê¤¤¤¿¤á¡¢ À©¸Â¤ÏÆó½Å´ÖÀÜ¥Ö¥í¥Ã¥¯¤Çɽ¸½¤Ç¤­¤ëºÇÂç¤Î fs ¥Ö¥í¥Ã¥¯ÈÖ¹æ (¤ª¤è¤½ (blocksize/4)^2 + (blocksize/4)) ¤È¤Ê¤ê¤Þ¤¹¡£ -CURRENT ¤Ç¤Ï¤³¤ÎÀ©¸Â¤òͤ¨¤ë¤ÈÌäÂê¤ò°ú¤­µ¯¤³¤¹¤«¤â¤·¤ì¤Þ¤»¤ó¡£ Àµ¤·¤¤À©¸ÂÃͤǤ¢¤ë 2G-1 ¥Ö¥í¥Ã¥¯¤ò»ÈÍѤ¹¤ë¤ÈÌÀ¤é¤«¤ËÌäÂ꤬½Ð¤Þ¤¹¡£
¥Õ¥í¥Ã¥Ô¡¼¤Ë 1 TB ¤Î¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¤Ë¤Ï? ´ó¹Æ: Bruce Evans¡¢1998 ǯ 9 ·î ¤ï¤¿¤·¤Î¤È¤³¤í¤Ç¤Ï¡¢ ¥Õ¥í¥Ã¥Ô¡¼¤Ë¤¤¤¯¤Ä¤«¤Î¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë¤òÊݸ¤·¤Æ¤¤¤Þ¤¹ :-)¡£ ºÇÂç¤Î¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ÏºÇÂç¤Î¥Ç¥£¥¹¥¯¥µ¥¤¥º¤È¤Ï¤¢¤Þ¤ê´Ø·¸¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ºÇÂç¤Î¥Ç¥£¥¹¥¯¥µ¥¤¥º¤Ï 1 TB ¤Ç¤¹¡£ ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬¥Ç¥£¥¹¥¯¥µ¥¤¥º¤è¤êÂ礭¤¯¤Ê¤ê¤¦¤ë¤È¤¤¤¦¤Î¤Ï»ÅÍͤǤ¹¡£ °Ê²¼¤ÎÎã¤Ï¡¢32K ¤Î¥Ç¥£¥¹¥¯ÍÆÎÌ (3 ¤Ä¤Î´ÖÀÜ¥Ö¥í¥Ã¥¯¤È 1 ¤Ä¤Î¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯) ¤ò»È¤Ã¤Æ¡¢ ¾®¤µ¤Ê¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë 8T-1 ¤ÎÂ礭¤µ¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£ ¤³¤³¤Ç¤Î dd ¥³¥Þ¥ó¥É¤ÏÂ礭¤Ê¥Õ¥¡¥¤¥ë¤¬°·¤¨¤ë¤â¤Î¤¬É¬ÍפǤ¹¡£ &prompt.user; cat foo df . dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1 ls -l z du z df . &prompt.user; sh foo Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/da0a 64479 27702 31619 47% / 1+0 records in 1+0 records out 1 bytes transferred in 0.000187 secs (5346 bytes/sec) -rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z 32 z Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/da0a 64479 27734 31587 47% / ¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤é¡¢µ¯Æ°»þ¤Ë archsw.readin.failed ¤È¤¤¤¦¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£ ¥í¡¼¥À¤¬¥¹¥¿¡¼¥È¤¹¤ëÁ°¤Î | ¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë²¿¤«¥­¡¼¤ò²¡¤¹¤³¤È¤Ç¡¢ µ¯Æ°¤Î¥»¥«¥ó¥É¥¹¥Æ¡¼¥¸¤«¤éľÀÜ¡¢µ¯Æ°¤¹¤ë¥«¡¼¥Í¥ë¤ò»ØÄꤷ¤Æµ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ÆÃ¤Ë¡¢¥«¡¼¥Í¥ë¤Î¥½¡¼¥¹¤ò¹¹¿·¤·¡¢make world ¤·¤Ê¤¤¤Ç¿·¤·¤¤¥«¡¼¥Í¥ë¤À¤±¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ë¤³¤Î¾É¾õ¤¬¸½¤ï¤ì¤Þ¤¹¡£ ¤³¤¦¤¤¤¦Áàºî¤Ïưºî¤¬Êݾڤµ¤ì¤Þ¤»¤ó¡£¤­¤Á¤ó¤È make world ¤·¤Æ¤¯¤À¤µ¤¤¡£ 3.X ¤«¤é 4.X ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤¿¤éÎɤ¤¤Î¤Ç¤¹¤«? ¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¤Ï¡¢ ¥Ð¥¤¥Ê¥ê¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò»È¤¦¤³¤È¤ò¶¯¤¯¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ 4-STABLE ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ï releng4.FreeBSD.org ¤«¤éÆþ¼ê²Äǽ¤Ç¤¹¡£ ¥½¡¼¥¹¤ò»È¤Ã¤Æ¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¾ì¹ç¤Ï¡¢¾ÜºÙ¤Ë¤Ä¤¤¤Æ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤ò»²¾È¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥½¡¼¥¹¤ò»È¤Ã¤¿¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ï¡¢ ´·¤ì¤Æ¤¤¤Ê¤¤¥æ¡¼¥¶¤Ë¤Ï¤Þ¤Ã¤¿¤¯¤ª¤¹¤¹¤á¤Ç¤­¤Þ¤»¤ó¡£ 3.X ¤«¤é 4.X ¤Ø¤Î¾ì¹ç¤ÏÆÃ¤Ë¤½¤¦¤Ç¤¹¡£ ¥½¡¼¥¹¤ò»È¤Ã¤¿¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò»î¤¹Á°¤Ë¡¢ ¼ê½ç¤òÃí°Õ¿¼¤¯ÆÉ¤à¤è¤¦¤Ë¿´¤¬¤±¤Æ¤¯¤À¤µ¤¤¡£ ¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë (security profiles) ¤È¤Ï²¿¤Ç¤¹¤«? ¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë¤È¤Ï¡¢ÆÃÄê¤Î ¥×¥í¥°¥é¥à¤ä¤½¤Î¾¤ÎÀßÄê¤òÍ­¸ú¤Ë¤·¤¿¤ê̵¸ú¤Ë¤¹¤ë¤³¤È¤Ç¡¢µá¤á¤ë ÈæÎ¨¤Ç°ÂÁ´¤ÈÊØÍø¤µ¤ò¼Â¸½¤·¤è¤¦¤È¤¹¤ë¹½À®¤ÎÁªÂò»è¤Î½¸¤Þ¤ê¤Î ¤³¤È¤Ç¤¹¡£¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë¤¬¸·¤·¤¤¤Û¤É¡¢¥Ç¥Õ¥©¥ë¥È¤Ç Í­¸ú¤Ë¤Ê¤ë¥×¥í¥°¥é¥à¤¬¸º¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢Æ°¤«¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ ¤â¤Î°Ê³°¤Ï¡¢²¿¤âư¤«¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¤È¤¤¤¦¥»¥­¥å¥ê¥Æ¥£¤Î ´ðËÜŪ¸¶Â§¤Î°ì¤Ä¤Ç¤¹¡£ ¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë¤Ï¡¢Ã±¤Ë¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤¢¤ë ¤È¤¤¤¦¤³¤È¤Ëµ¤¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£FreeBSD ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ ¤¢¤È¤Ë /etc/rc.conf ¤ËŬÀڤʹԤòÊÔ½¸¤·¤¿¤ê Äɲ乤ì¤Ð¡¢¤É¤Î¥×¥í¥°¥é¥à¤Ç¤âÍ­¸ú¤Ë¤·¤¿¤ê̵¸ú¤Ë¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£ ¸å¼Ô¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¤¤³¤È¤Ï &man.rc.conf.5; ¤Î¥Þ¥Ë¥å¥¢¥ë¤ò ¤´Í÷¤¯¤À¤µ¤¤¡£ °Ê²¼¤Ë¡¢³Æ¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë¤¬²¿¤ò¹Ô¤¦¤«¤òÀâÌÀ¤·¤¿ ɽ¤ò·ÇºÜ¤·¤Þ¤¹¡£Îó¤Ï¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë¤ÎÁªÂò»è¤Ç¡¢¹Ô¤Ï Í­¸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤Ê¤ë¥×¥í¥°¥é¥à¤äµ¡Ç½¤Ç¤¹¡£ »ØÄê¤Ç¤­¤ë¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë Extreme High Moderate Low &man.inetd.8; NO NO YES YES &man.sendmail.8; NO YES YES YES &man.sshd.8; NO YES YES YES &man.portmap.8; NO NO - ¤ª¤½¤é¤¯ - ¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¡¢¤¹¤Ç¤Ë¥Þ¥·¥ó¤ò + ¤ª¤½¤é¤¯ (¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¡¢¤¹¤Ç¤Ë¥Þ¥·¥ó¤ò NFS ¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¤È¤·¤ÆÀßÄꤷ¤Æ¤¤¤ë¤È¡¢ - ¥Ý¡¼¥È¥Þ¥Ã¥Ñ¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ - + ¥Ý¡¼¥È¥Þ¥Ã¥Ñ¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£) YES NFS server NO NO YES YES &man.securelevel.8; - YES (2) - securelevel ¤òÀßÄꤹ¤ë¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë + YES (2) (securelevel ¤òÀßÄꤹ¤ë¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë (Extreme ¤Þ¤¿¤Ï High) ¤òÁªÂò¤¹¤ë¾ì¹ç¡¢¤½¤Î±Æ¶Á¤ò ¾µÃΤ·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£&man.init.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¤ò ÆÉ¤ß¡¢¥»¥­¥å¥ê¥Æ¥£¥ì¥Ù¥ë¤Î°ÕÌ£¤Ë¤Ä¤¤¤ÆÆÃ¤ËÃí°Õ¤ò ʧ¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¸å¤Ç¿¼¹ï¤ÊÌäÂ꤬ - µ¯¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ - + µ¯¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£) YES (1) NO NO
¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë¤ÏËâË¡¤ÎÌô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ High ¤ËÀßÄꤷ¤¿¤é¡¢Å¬Åö¤Ê ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤òÆÉ¤ó¤À¤ê¡¢ÎɼÁ¤Ê¥Ñ¥¹¥ï¡¼¥É¤ä ¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÍѤ¤¤¿¤ê¡¢¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤Æ¤Î¤è¤¤½¬´·¤ò ¼é¤Ã¤¿¤ê¤·¤Ê¤¯¤Æ¤¤¤¤¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£µá¤á¤ë¥»¥­¥å¥ê¥Æ¥£¤È ÊØÍø¤µ¤ÎÈæÎ¨¤ò¼ê·Ú¤ËÀßÄꤷ¤Æ¤¯¤ì¤ë¤À¤±¤Ç¤¹¡£ ¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë¤Îµ¡¹½¤Ï¡¢FreeBSD ¤òºÇ½é¤Ë ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤Ë»È¤¦¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£¤¹¤Ç¤Ë FreeBSD ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Ê¤é¡¢Ã±¤Ëµá¤á¤ëµ¡Ç½¤ò Í­¸ú¤Ë¤·¤¿¤ê̵¸ú¤Ë¤·¤¿¤ê¤¹¤ëÊý¤¬¡¢¤ª¤½¤é¤¯¸úΨ¤¬ ¤è¤¤¤Ç¤·¤ç¤¦¡£¤â¤·¡¢ËÜÅö¤Ë¥»¥­¥å¥ê¥Æ¥£¥×¥í¥Õ¥¡¥¤¥ë¤ò »È¤¤¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢&man.sysinstall.8; ¤òºÆ¼Â¹Ô¤¹¤ì¤Ð ÀßÄê¤Ç¤­¤Þ¤¹¡£
¥Ï¡¼¥É¥¦¥§¥¢¥³¥ó¥Ñ¥Á¥Ó¥ê¥Æ¥£ Ìõ: ¤Ë¤·¤« nishika@cheerful.com¡¢ 1997 ǯ 11 ·î 12 Æü FreeBSD ¤Ï¡¢ ¤É¤ó¤Ê¥Ï¡¼¥É¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤«? FreeBSD ¤Ï¡¢EIDE ¤È SCSI ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹ (¸ß´¹¥³¥ó¥È¥í¡¼¥é¤â´Þ¤ß¤Þ¤¹¡£ ¼¡¤ÎÀỲ¾È)¡£ ¤Þ¤¿ÆÈ¼«¤Î Western Digital ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥É¥é¥¤¥Ö (MFM¡¢ RLL¡¢ESDI¡¢¤â¤Á¤í¤ó IDE) ¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ÆÈ¼«»ÅÍͤΥ¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë ESDI ¥³¥ó¥È¥í¡¼¥é¤Ç¤Ïưºî¤·¤Ê¤¤¤â¤Î¤¬¤¢¤ê¡¢ WD1002/3/6/7 ¤È¤½¤Î¸ß´¹¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¾×ÆÍ¤·¤Þ¤¹¡£ ¤É¤Î SCSI ¥³¥ó¥È¥í¡¼¥é¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤«? FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Ëµ­¤µ¤ì¤Æ¤¤¤ë´°Á´¤Ê¥ê¥¹¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤É¤ó¤Ê CD-ROM ¥É¥é¥¤¥Ö¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤«? ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë SCSI ¥³¥ó¥È¥í¡¼¥é¤ËÀܳ¤Ç¤­¤ë SCSI ¥É¥é¥¤¥Ö¤Ï¡¢¤¹¤Ù¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤Þ¤¿¡¢°Ê²¼¤ÎÀìÍÑ CD-ROM ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ¥ß¥Ä¥ß LU002 (8bit)¡¢LU005 (16bit) ¤ª¤è¤Ó FX001D (16bit 2ÇÜ®)¡£ ¥½¥Ë¡¼ CDU 31/33A Sound Blaster Èó SCSI ¥¿¥¤¥×¤Î CD-ROM ¾¾²¼/Panasonic CD-ROM ATAPI ¸ß´¹¤Î IDE CD-ROM SCSI ¤Ç¤Ê¤¤¥«¡¼¥É¤Ï¤¹¤Ù¤Æ¡¢SCSI ¥É¥é¥¤¥Ö¤è¤ê¤â¶Ë¤á¤ÆÆ°ºî®ÅÙ¤¬ ÃÙ¤¤¤³¤È¤¬ÃΤé¤ì¤Æ¤ª¤ê¡¢ATAPI CD-ROM ¤Ë¤Ïưºî¤·¤Ê¤¤¤â¤Î¤â¤¢¤ë¤è¤¦¤Ç¤¹¡£ BSDi ¤Î FreeBSD 2.2 CD-ROM ¤«¤é¤Ï CD ¤«¤é¤ÎľÀܵ¯Æ°¤¬ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ FreeBSD ¤Ï¡¢¤É¤Î CD-RW ¥É¥é¥¤¥Ö¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¤«? FreeBSD ¤Ï ATAPI ¸ß´¹¤Î IDE CD-R ¤Þ¤¿¤Ï CD-RW ¥É¥é¥¤¥Ö¤Ç ¤¢¤ì¤ÐÂбþ¤·¤Æ¤¤¤Þ¤¹¡£FreeBSD ¥Ð¡¼¥¸¥ç¥ó 4.0 °Ê¹ß¤Ë¤Ä¤¤¤Æ¤Ï¡¢ &man.burncd.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¤ò¤´Í÷¤¯¤À¤µ¤¤¡£¤½¤ì°ÊÁ°¤Î ¥Ð¡¼¥¸¥ç¥ó¤Î FreeBSD ¤Ç¤Ï¡¢ /usr/share/examples/atapi ¤Ë¤¢¤ëÎã¤ò ¤´Í÷¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢FreeBSD ¤Ï SCSI ¤Î CD-R ¤Þ¤¿¤Ï CD-RW ¥É¥é¥¤¥Ö¤Ë¤â Âбþ¤·¤Æ¤¤¤Þ¤¹¡£ports ¤Þ¤¿¤Ï packages ¤«¤é cdrecord ¥³¥Þ¥ó¥É¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¡¢ ¥«¡¼¥Í¥ë¤Ë pass ¥Ç¥Ð¥¤¥¹¤¬ÁȤ߹þ¤Þ¤ì¤Æ ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ZIP ¥É¥é¥¤¥Ö¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤«? ¤â¤Á¤í¤ó¡¢ FreeBSD ¤Ï SCSI ZIP ¥É¥é¥¤¥Ö (³°ÉÕ¤±) ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ZIP ¥É¥é¥¤¥Ö¤Ï SCSI ID ¤ò 5 ¤« 6 ¤ËÀßÄꤷ¤¿¾õÂ֤Ǥʤé»ÈÍѤǤ­¤Þ¤¹¤¬¡¢ ¤â¤· SCSI ¥Û¥¹¥È¥¢¥À¥×¥¿¤Î BIOS ¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤µ¤¨¤¤¤ì¤Ð ZIP ¥É¥é¥¤¥Ö¤«¤éµ¯Æ°¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤É¤Î¥Û¥¹¥È¥¢¥À¥×¥¿¤¬ SCSI ID ¤ò 0 ¤ä 1 °Ê³°¤ËÀßÄꤷ¤¿¥Ç¥Ð¥¤¥¹¤«¤é µ¯Æ°¤Ç¤­¤ë¤Î¤«¤Ï¤ï¤«¤ê¤Þ¤»¤ó¡£¤½¤¦¤·¤¿¤¤¾ì¹ç¤Ï¡¢¥¢¥À¥×¥¿¤Î ¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ATAPI (IDE) ZIP ¥É¥é¥¤¥Ö¤Ï¡¢FreeBSD 2.2.6 °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥Ð¡¼¥¸¥ç¥ó 3.0 °Ê¹ß¤Î FreeBSD ¤Ç¤Ï¡¢ ¥Ñ¥é¥ì¥ë¥Ý¡¼¥ÈÀܳ¤Î ZIP ¥É¥é¥¤¥Ö¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ºÇ¶á¤Î¥Ð¡¼¥¸¥ç¥ó¤Î FreeBSD ¤ò¤ª»È¤¤¤Ç¤·¤¿¤é¡¢ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë scbus0¡¢ da0¡¢ ppbus0¡¢ vp0 ¤Î³Æ¥É¥é¥¤¥Ð¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ (GENERIC ¥«¡¼¥Í¥ë¤Ë¤Ï vp0 ¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥É¥é¥¤¥Ð¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹)¡£ ¤³¤ì¤é¤¹¤Ù¤Æ¤Î¥É¥é¥¤¥Ð¤¬¤¢¤ì¤Ð¡¢ ¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¤Î¥É¥é¥¤¥Ö¤Ï /dev/da0s4 ¤È¤Ê¤ê¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¤Ï mount /dev/da0s4 /mnt ¤È¤¹¤ë¤« mount_msdos /dev/da0s4 /mnt (DOS ¥Ç¥£¥¹¥¯¤Î¾ì¹ç) ¤È¤¹¤ë¤³¤È¤Ç¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤¹¡£ ¤½¤ì¤«¤é¥ê¥à¡¼¥Ð¥Ö¥ë¥É¥é¥¤¥Ö¤Ë´Ø¤¹¤ëÃí°Õ¤ª¤è¤Ó¡¢ ¡Ö¥Õ¥©¡¼¥Þ¥Ã¥È¡×¤Ë´Ø¤¹¤ëÃí°Õ¤Ë¤Ä¤¤¤Æ¤â ³Îǧ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ¤Ç¤Ï¡¢JAZ ¤ä EZ¡¢ ¤½¤ì¤«¤é¤½¤Î¾¤Î¥ê¥à¡¼¥Ð¥Ö¥ë¥É¥é¥¤¥Ö¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤«? FreeBSD ¤Ç¤Ï¡¢IDE ¥Ð¡¼¥¸¥ç¥ó¤Î EZ ¥É¥é¥¤¥Ö¤ò½ü¤¯¤¹¤Ù¤Æ¤Î SCSI ¥Ç¥Ð¥¤¥¹¤Ï¡¢ SCSI ¤Î¥Ç¥£¥¹¥¯¤ÈƱÅù¤Ë°·¤ï¤ì¤Þ¤¹¡£ ¤Þ¤¿ IDE EZ ¤Ï IDE ¥É¥é¥¤¥Ö¤ÈƱÅù¤È¤Ê¤ê¤Þ¤¹¡£ ¥·¥¹¥Æ¥à²ÔÆ¯Ãæ¤Î¥á¥Ç¥£¥¢¸ò´¹¤Ë¤Ä¤¤¤Æ FreeBSD ¤¬¤É¤ì¤Û¤É¤¦¤Þ¤¯Æ°¤¯¤«Ä꤫¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤â¤Á¤í¤ó¥á¥Ç¥£¥¢¤òÆþ¤ìÂØ¤¨¤ëÁ°¤Ë¤½¤Î¥É¥é¥¤¥Ö¤Î¥Þ¥¦¥ó¥È¤ò²ò½ü¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤Ç¤·¤ç¤¦¤·¡¢ FreeBSD ¤¬¤½¤ì¤é¤òǧ¼±¤¹¤ë¤Ë¤Ï¡¢ µ¯Æ°»þ¤Ë³°Éô¥æ¥Ë¥Ã¥È¤Ë¤âÅŸ»¤¬ÅêÆþ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¡Ö¥Õ¥©¡¼¥Þ¥Ã¥È¡×¤Ë´Ø¤¹¤ëÃí°Õ¤â»²¾È¤Î¤³¤È¡£ ¤É¤Î¥Þ¥ë¥Á¥Ý¡¼¥È¥·¥ê¥¢¥ë¥«¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤«? °ìÍ÷¤Ï ¤½¤Î¾¤Î¥Ç¥Ð¥¤¥¹¤ÎÀá¤Ë¤¢¤ê¤Þ¤¹¡£ ̵̾¤Î¥«¡¼¥É¤Ë¤â¤¦¤Þ¤¯Æ°¤¯¤â¤Î¤¬¤¢¤ê¡¢ ÆÃ¤Ë AST ¸ß´¹¤È¤¤¤ï¤ì¤Æ¤¤¤ë¤â¤Î¤Ë¿¤¯¸«¤é¤ì¤Þ¤¹¡£ ¥«¡¼¥ÉÀßÄê¤Î¾ÜºÙ¤Ê¾ðÊó¤Ï¡¢&man.sio.4; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ USB ¥­¡¼¥Ü¡¼¥É¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢FreeBSD ¤Ç»È¤¨¤Þ¤¹¤«? USB ¥Ç¥Ð¥¤¥¹¤Ï FreeBSD 3.1 ¤«¤é¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤·¤¿¤¬¡¢ ¼ÂÁõ¤Ï FreeBSD 3.2 ¤Ç¤¢¤Ã¤Æ¤â¤Þ¤À´°Á´¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢ ɬ¤º¤·¤â°ÂÄꤷ¤ÆÆ°ºî¤¹¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£ ¤â¤·¡¢¤½¤ì¤Ç¤â USB ¥­¡¼¥Ü¡¼¥É¤ò»È¤Ã¤Æ¤ß¤¿¤¤¤È¤¤¤¦¿Í¤Ï¡¢ °Ê²¼¤Î¼ê½ç¤ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD 3.2 ¤«¡¢¤½¤ì°Ê¹ß¤ò»È¤¤¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¹Ô¤òÄɲä·¡¢ ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¤Þ¤¹¡£ device uhci device ohci device usb device ukbd options KBD_INSTALL_CDEV FreeBSD 4.0 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ Âå¤ï¤ê¤Ë¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ controller uhci0 controller ohci0 controller usb0 controller ukbd0 options KBD_INSTALL_CDEV /dev ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢ ¼¡¤Î¤è¤¦¤Ë¤·¤Æ¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤òºîÀ®¤·¤Þ¤¹¡£ &prompt.root; cd /dev &prompt.root; ./MAKEDEV kbd0 kbd1 /etc/rc.conf ¤òÊÔ½¸¤·¡¢ °Ê²¼¤Î¹Ô¤òÄɲä·¤Þ¤¹¡£ usbd_enable="YES" usbd_flags="" ¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤µ¤»¤¿¸å¡¢ AT¡¢USB ξÊý¤Î¥­¡¼¥Ü¡¼¥É¤¬Àܳ¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢ AT ¥­¡¼¥Ü¡¼¥É¤Ï /dev/kbd0 ¤Ë¡¢ USB ¥­¡¼¥Ü¡¼¥É¤Ï /dev/kbd1¤Ë¤Ê¤ê¤Þ¤¹¡£ °ìÊý¡¢USB ¥­¡¼¥Ü¡¼¥É¤À¤±¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é¡¢ /dev/ukbd0 ¤È¤Ê¤ê¤Þ¤¹¡£ USB ¥­¡¼¥Ü¡¼¥É¤ò¥³¥ó¥½¡¼¥ë¤ÇÍøÍѤ¹¤ë¤Ë¤Ï¡¢ ¤½¤ì¤ò¥³¥ó¥½¡¼¥ë¥É¥é¥¤¥Ð¤ËÂФ·¤ÆÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤Î½é´ü²½¤ÎºÝ¤Ë¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null ¤¿¤À¤·¡¢USB ¥­¡¼¥Ü¡¼¥É¤·¤«Àܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤½¤ì¤Ï /dev/kbd0 ¤È¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢ ¥³¥Þ¥ó¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤´Ãí°Õ¤¯¤À¤µ¤¤¡£ &prompt.root; kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null ¾å¤Î¥³¥Þ¥ó¥É¤Ï¡¢/etc/rc.i386 ¤ËÄɲ乤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ ¤³¤ÎÀßÄê¤ò°ìÅٹԤʤäƤ¤¤ì¤Ð¡¢ X ´Ä¶­¤Ç¤âÆÃ¤Ë¾¤ÎÀßÄê¤Ê¤·¤Ë USB ¥­¡¼¥Ü¡¼¥É¤¬ÍøÍѤǤ­¤Þ¤¹¡£ USB ¥­¡¼¥Ü¡¼¥É¤Î³èÀþÁÞÈ´ (¥Û¥Ã¥È¥×¥é¥°µ¡Ç½) ¤Ï¡¢ ¤Þ¤À¤ª¤½¤é¤¯¤­¤Á¤ó¤Èưºî¤·¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹¡£ ¥È¥é¥Ö¥ë¤òÈò¤±¤ë¤¿¤á¤Ë¤â¡¢¥­¡¼¥Ü¡¼¥É¤Ï¥·¥¹¥Æ¥à¤òµ¯Æ°¤µ¤»¤ëÁ°¤ËÀܳ¤·¤Æ¤ª¤­¡¢ ¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Þ¤Ç¤Ï¤º¤µ¤Ê¤¤¤è¤¦¤Ë¤·¤¿Êý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ ¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢&man.ukbd.4; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ÄÁ¤·¤¤¥Ð¥¹¥Þ¥¦¥¹¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢¤É¤Î¤è¤¦¤ËÀßÄꤹ¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¤«? FreeBSD ¤Ï Microsoft¡¢Logitech¡¢ ATI Åù¤Î¥á¡¼¥«¡¼¤«¤é½Ð¤Æ¤¤¤ë¥Ð¥¹¥Þ¥¦¥¹¤È InPort ¥Ð¥¹¥Þ¥¦¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£FreeBSD 2.X ¤Î¾ì¹ç¡¢ ¥Ð¥¹¥Þ¥¦¥¹¤Î¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï GENERIC ¥«¡¼¥Í¥ë¤Ëɸ½à¤Ç´Þ¤Þ¤ì¤Þ¤¹¤¬¡¢ FreeBSD 3.X °Ê¹ß¤Ç¤Ïɸ½à¤Ç´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤â¤·¥Ð¥¹¥Þ¥¦¥¹¤Î¥Ç¥Ð¥¤¥¹ ¥É¥é¥¤¥Ð¤ò´Þ¤à¥«¡¼¥Í¥ë¤ò¼«Ê¬¤Ç¹½ÃÛ¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¹Ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤ì¤Ï FreeBSD 3.0 ¤ò´Þ¤à¡¢¤½¤ì°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Î¾ì¹ç¤Ï¼¡¤Î¤È¤ª¤ê¡¢ device mse0 at isa? port 0x23c tty irq5 vector mseintr FreeBSD 3.X ¤Ç¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ device mse0 at isa? port 0x23c tty irq5 ¤½¤·¤Æ FreeBSD 4.X ¤È¤½¤ì°Ê¹ß¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ device mse0 at isa? port 0x23c irq5 Ä̾ï¥Ð¥¹¥Þ¥¦¥¹¤Ë¤ÏÀìÍѤΥ¤¥ó¥¿¥Õ¥§¡¼¥¹¥«¡¼¥É¤¬Éí°¤·¤Æ¤¤¤Þ¤¹¡£ ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥«¡¼¥É¤Ë¤è¤Ã¤Æ¤Ï¥Ý¡¼¥È¥¢¥É¥ì¥¹¤ä³ä¤ê¹þ¤ßÈÖ¹æ¤ò¾åµ­¤Î ÀßÄê°Ê³°¤ËÊѹ¹¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¾Ü¤·¤¯¤Ï¥Ð¥¹¥Þ¥¦¥¹¤Î¥Þ¥Ë¥å¥¢¥ë¤È &man.mse.4; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ PS/2 ¥Þ¥¦¥¹ (¡Ö¥Þ¥¦¥¹¥Ý¡¼¥È¥Þ¥¦¥¹¡×¡¢¡Ö¥­¡¼¥Ü¡¼¥É¥Þ¥¦¥¹¡×) ¤ò »È¤¦¤Ë¤Ï¤É¤Î¤è¤¦¤ËÀßÄꤹ¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¤«? ¤¢¤Ê¤¿¤¬ 2.2.5 °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó FreeBSD ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ê¤é¡¢ ɬÍפʥɥ饤¥Ð psm ¤Ï¥«¡¼¥Í¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ÆÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¤Ïµ¯Æ°»þ¤Ë PS/2 ¥Þ¥¦¥¹¤ò¸¡½Ð¤¹¤ë¤Ç¤·¤ç¤¦¡£ ¤¢¤Ê¤¿¤Î»È¤Ã¤Æ¤¤¤ë FreeBSD ¤¬Èæ³ÓŪ¿·¤·¤¤¤±¤ì¤ÉÁ°¤Î¥Ð¡¼¥¸¥ç¥ó (2.1.x °Ê¹ß) ¤Î¤â¤Î¤Ê¤é¡¢ ¥¤¥ó¥¹¥È¡¼¥ë¤Î»þ¤Ë¡¢Ã±¤Ë¥«¡¼¥Í¥ë¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤Î¥á¥Ë¥å¡¼¾å¤Ç PS/2 ¥Þ¥¦¥¹¤òÍ­¸ú²½¤¹¤ë¤À¤±¤Ç¤¹¡¢¤¢¤ë¤¤¤Ï¸å¤Ç boot: ¥×¥í¥ó¥×¥È¾å¤Ç ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¤â¥á¥Ë¥å¡¼¤Ï¸½¤ì¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ ÌÀ¼¨Åª¤ËÍ­¸ú²½¤·¤Æ¤¢¤²¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£ ¤¢¤Ê¤¿¤Î»È¤Ã¤Æ¤¤¤ë FreeBSD ¤¬Èæ³ÓۏŤ¤¤â¤Î¤Ê¤é¡¢ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¹Ô¤ò²Ã¤¨¤Æ ¥«¡¼¥Í¥ë¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤½¤ì¤Ï FreeBSD 3.0 ¤ò´Þ¤à¡¢¤½¤ì°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¼¡¤Î¤È¤ª¤ê¡¢ device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr FreeBSD 3.1 ¤ò´Þ¤à¡¢¤½¤ì°Ê¹ß¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¼¡¤Î¤È¤ª¤ê¡¢ device psm0 at isa? tty irq 12 FreeBSD 4.0 ¤È¤½¤ì°Ê¹ß¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ device psm0 at atkbdc? irq 12 ¥«¡¼¥Í¥ë¤ÎºÆ¹½ÃۤˤĤ¤¤Æ¤è¤¯ÃΤé¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ ¥«¡¼¥Í¥ë¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ µ¯Æ°»þ¤Ë¥«¡¼¥Í¥ë¤¬ psm0 ¤ò¸¡½Ð¤·¤¿¤é¡¢ psm0 ¤Î¥¨¥ó¥È¥ê¤¬ /dev ¤ÎÃæ¤Ë¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; cd /dev; sh MAKEDEV psm0 ¤³¤ì¤Ï root ¤Ç¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¤È¤­¤Ë¹Ô¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£ X Window System °Ê³°¤Î´Ä¶­¤Ç¥Þ¥¦¥¹¤ò»È¤¦¤³¤È¤Ï²Äǽ¤Ç¤¹¤«? ¤â¤·¥Ç¥Õ¥©¥ë¥È¤Î¥³¥ó¥½¡¼¥ë¥É¥é¥¤¥Ð¤Ç¤¢¤ë syscons ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¥Æ¥­¥¹¥È¥³¥ó¥½¡¼¥ë¾å¤Ç¥Þ¥¦¥¹¤ò»È¤Ã¤Æ¡¢ ¥Æ¥­¥¹¥È¤Î¥«¥Ã¥È¥¢¥ó¥É¥Ú¡¼¥¹¥È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Þ¥¦¥¹¥Ç¡¼¥â¥ó¤Ç¤¢¤ë moused ¤òµ¯Æ°¤·¡¢ ²¾ÁÛ¥³¥ó¥½¡¼¥ë¤Ç¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¤òÍ­¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; moused -p /dev/xxxx -t yyyy &prompt.root; vidcontrol -m on ¤³¤³¤Ç xxxx ¤Ï¥Þ¥¦¥¹¤Î¥Ç¥Ð¥¤¥¹Ì¾¡¢ yyyy ¤Ï¥Þ¥¦¥¹¤Î¥×¥í¥È¥³¥ë¥¿¥¤¥×¤Ç¤¹¡£ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¥¿¥¤¥×¤Ë¤Ä¤¤¤Æ¤Ï &man.moused.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥·¥¹¥Æ¥à¤òµ¯Æ°¤¹¤ë»þ¤Ë¼«Æ°Åª¤Ë moused ¤òµ¯Æ°¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ FreeBSD 2.2.1 ¤Ç¤Ï°Ê²¼¤ÎÊÑ¿ô¤ò /etc/sysconfig ¤ÇÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ mousedtype="yyyy" mousedport="xxxx" mousedflags="" FreeBSD 2.2.2 °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï /etc/rc.conf ¤Ç°Ê²¼¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£ moused_type="yyyy" moused_port="xxxx" moused_flags="" FreeBSD 3.1 ¤È¤½¤ì°Ê¹ß¤Ç PS/2 ¥Þ¥¦¥¹¤òÍøÍѤ¹¤ë¾ì¹ç¤Ï¡¢ moused_enable="YES" ¤ò /etc/rc.conf ¤Ë½ñ¤­²Ã¤¨¤ë¤À¤±¤Ç¤¹¡£ ¤Þ¤¿¡¢µ¯Æ°»þ¤Ë¤¹¤Ù¤Æ¤Î²¾ÁÛüËö¤Ç¡¢ ɸ½à¤Î¥³¥ó¥½¡¼¥ë¤Ë²Ã¤¨¥Þ¥¦¥¹¥Ç¡¼¥â¥ó¤â»È¤¨¤ë¤è¤¦¤Ë¤·¤¿¤¤¡¢ ¤È¤¤¤¦¾ì¹ç¤Ë¤Ï¡¢°Ê²¼¤Î¹Ô¤ò /etc/rc.conf ¤Ë²Ã¤¨¤Þ¤¹¡£ allscreens_flags="-m on" FreeBSD 2.2.6 °Ê¹ß¤Î¾ì¹ç¤Ç Èæ³ÓŪ¿·¤·¤¤¥·¥ê¥¢¥ë¥Þ¥¦¥¹¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢ ¥Þ¥¦¥¹¥Ç¡¼¥â¥ó¤Ï¥Þ¥¦¥¹¤Î¥×¥í¥È¥³¥ë¥¿¥¤¥×¤ò¼«Æ°È½Ê̤Ǥ­¤Þ¤¹¡£ ¼«Æ°È½Ê̤ò»î¤ß¤ë¤Ë¤Ï¡¢¥×¥í¥È¥³¥ë¥¿¥¤¥×¤È¤·¤Æ auto ¤ò»ØÄꤷ¤Þ¤¹¡£ ¥Þ¥¦¥¹¥Ç¡¼¥â¥ó¤ò¼Â¹ÔÃæ¤Ï¡¢¥Þ¥¦¥¹¥Ç¡¼¥â¥ó¤È¾¤Î¥×¥í¥°¥é¥à (¤¿¤È¤¨¤Ð X Window System) ¤Î´Ö¤Ç¥Þ¥¦¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤òÄ´À°¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤³¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¤Ï X ¤È¥Þ¥¦¥¹¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¥Þ¥¦¥¹¤ò»È¤Ã¤Æ¡¢ ¥Æ¥­¥¹¥È¥³¥ó¥½¡¼¥ë¤Ç¥«¥Ã¥È¥¢¥ó¥É¥Ú¡¼¥¹¥È¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤¿¤é¤è¤¤¤Î¤Ç¤¹¤«? ¥Þ¥¦¥¹¥Ç¡¼¥â¥ó¤òµ¯Æ° (Á°¤Î¼ÁÌä¤ËÂФ¹¤ëÅú¤¨¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤) ¤·¤¿¤¢¤È¡¢ ¥Ü¥¿¥ó 1 (º¸¥Ü¥¿¥ó) ¤ò²¡¤·¤Ê¤¬¤é¥Þ¥¦¥¹¤òư¤«¤·¤ÆÈϰϤò»ØÄꤷ¤Þ¤¹¡£ ¥Ü¥¿¥ó 2 (Ãæ¥Ü¥¿¥ó) ¤Þ¤¿¤Ï¥Ü¥¿¥ó 3 (±¦¥Ü¥¿¥ó) ¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¥Æ¥­¥¹¥È ¥«¡¼¥½¥ë¤Î°ÌÃÖ¤ËÁªÂò¤·¤¿ÈϰϤΥƥ­¥¹¥È¤¬¥Ú¡¼¥¹¥È¤µ¤ì¤Þ¤¹¡£ FreeBSD 2.2.6 °Ê¹ß¤Ç¤Ï¡¢¥Ü¥¿¥ó 2 ¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¥Ú¡¼¥¹¥È¤µ¤ì¡¢¥Ü¥¿¥ó 3 ¤ò¥¯¥ê¥Ã¥¯¤·¤¿¾ì¹ç¤Ë´û¸¤ÎÁªÂòÈϰϤ¬¸½ºß¤Î¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¤Î°ÌÃÖ¤Þ¤Ç ¡Ö±äĹ¤Þ¤¿¤Ïû½Ì¡×¤µ¤ì¤Þ¤¹¡£¤â¤·¥Þ¥¦¥¹¤ËÃæ¥Ü¥¿¥ó¤¬¤Ê¤¤¤Ê¤é¡¢ moused ¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤ÆÃæ¥Ü¥¿¥ó¤Î¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò¤¹¤ë¤«¡¢ ¾¤Î¥Ü¥¿¥ó¤òÃæ¥Ü¥¿¥ó¤È¤·¤Æ»È¤¦»ö¤¬¤Ç¤­¤Þ¤¹¡£ ¾Ü¤·¤¯¤Ï &man.moused.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ USB ¥Þ¥¦¥¹¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢FreeBSD ¤Ç»È¤¨¤Þ¤¹¤«? USB ¥Ç¥Ð¥¤¥¹¤Ï FreeBSD 3.1 ¤«¤é¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤·¤¿¤¬¡¢ ¼ÂÁõ¤Ï FreeBSD 3.2 ¤Ç¤¢¤Ã¤Æ¤â¤Þ¤À´°Á´¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢ ɬ¤º¤·¤â°ÂÄꤷ¤ÆÆ°ºî¤¹¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£ ¤â¤·¡¢¤½¤ì¤Ç¤â USB ¥Þ¥¦¥¹¤ò»È¤Ã¤Æ¤ß¤¿¤¤¤È¤¤¤¦¿Í¤Ï¡¢ °Ê²¼¤Î¼ê½ç¤ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD 3.2 ¤«¡¢¤½¤ì°Ê¹ß¤ò»È¤¤¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¹Ô¤òÄɲä·¡¢ ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¤Þ¤¹¡£ device uhci device ohci device usb device ums FreeBSD 4.0 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ Âå¤ï¤ê¤Ë¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ controller uhci0 controller ohci0 controller usb0 device ums0 /dev ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢ ¼¡¤Î¤è¤¦¤Ë¤·¤Æ¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤òºîÀ®¤·¤Þ¤¹¡£ &prompt.root; cd /dev &prompt.root; ./MAKEDEV ums0 /etc/rc.conf ¤òÊÔ½¸¤·¡¢ °Ê²¼¤Î¹Ô¤òÄɲä·¤Þ¤¹¡£ moused_enable="YES" moused_type="auto" moused_port="/dev/ums0" moused_flags="" usbd_enable="YES" usbd_flags="" moused ¤ÎÀßÄê¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ Á°¹à¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ X ¤Î¥»¥Ã¥·¥ç¥ó¤Ç USB ¥Þ¥¦¥¹¤ò»È¤¦¤Ë¤Ï¡¢ XF86Config ¤òÊÔ½¸¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ XFree86 3.3.2¡¢¤â¤·¤¯¤Ï¤½¤ì°Ê¹ß¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ Pointer ¥»¥¯¥·¥ç¥ó¤¬¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ Device "/dev/sysmouse" Protocol "Auto" ¤½¤ì¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î XFree86 ¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ Pointer ¥»¥¯¥·¥ç¥ó¤¬¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ Device "/dev/sysmouse" Protocol "SysMouse" X ´Ä¶­¤Ç¤Î¥Þ¥¦¥¹¤ÎÍøÍѤˤĤ¤¤Æ¤Ï¡¢ ¾¤Î¹à¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ USB ¥Þ¥¦¥¹¤Î³èÀþÁÞÈ´ (¥Û¥Ã¥È¥×¥é¥°µ¡Ç½) ¤Ï¡¢ ¤Þ¤À¤ª¤½¤é¤¯¤­¤Á¤ó¤Èưºî¤·¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹¡£ ¥È¥é¥Ö¥ë¤òÈò¤±¤ë¤¿¤á¤Ë¤â¡¢¥Þ¥¦¥¹¤Ï¥·¥¹¥Æ¥à¤òµ¯Æ°¤µ¤»¤ëÁ°¤ËÀܳ¤·¤Æ¤ª¤­¡¢ ¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Þ¤Ç¤Ï¤º¤µ¤Ê¤¤¤è¤¦¤Ë¤·¤¿Êý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ ¤ï¤¿¤·¤Î¥Þ¥¦¥¹¤Ë¤Ï¥Û¥¤¡¼¥ëµ¡Ç½¤äÊØÍø¤Ê¥Ü¥¿¥ó¤¬¤Ä¤¤¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢ ¤³¤ì¤Ï FreeBSD ¤Ç¤â»È¤¨¤ë¤Î¤Ç¤¹¤«? Åú¤¨¤Ï»Äǰ¤Ê¤¬¤é¡Ö¾ì¹ç¤Ë¤è¤ê¤Þ¤¹¡×¤Ç¤¹¡£ ¤³¤¦¤·¤¿¥Þ¥¦¥¹¤ÎÉÕ²ÃŪ¤Êµ¡Ç½¤ÏÂçÄñ¤Î¾ì¹ç¡¢ÆÃ¼ì¤Ê¥É¥é¥¤¥Ð¤òɬÍפȤ·¤Þ¤¹¡£ ¥Þ¥¦¥¹¤Î¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ä¥æ¡¼¥¶¤Î¥×¥í¥°¥é¥à¤¬ ¤½¤Î¥Þ¥¦¥¹¤ËÂФ¹¤ë¸ÇÍ­¤Î¥µ¥Ý¡¼¥È¤ò¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ ɸ½àŪ¤Ê 2 ¥Ü¥¿¥ó/3 ¥Ü¥¿¥ó¥Þ¥¦¥¹¤Î¤è¤¦¤Ë¿¶Éñ¤¤¤Þ¤¹¡£ X ¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤Î´Ä¶­¤Ç¤Î¥Û¥¤¡¼¥ë¤Î»È¤¤Êý¤Ë¤Ä¤¤¤Æ¤Ï¡¢ X ¤È¥Û¥¤¡¼¥ë¤Î¹à¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¤ï¤¿¤·¤Î¥Þ¥¦¥¹¤Ï¤­¤Á¤ó¤Èư¤¤¤Æ¤¯¤ì¤Ê¤¤¤è¤¦¤Ç¤¹¡£ ¥Þ¥¦¥¹¥«¡¼¥½¥ë¤¬²èÌÌÃæ¤ò¤È¤Ó¤Þ¤ï¤ê¤Þ¤¹¡£ ¤³¤Î¥Þ¥¦¥¹¤Ë¤Ï¥Û¥¤¡¼¥ë¤¬¤Ä¤¤¤Æ¤¤¤Æ¡¢ Àܳ¤Ï PS/2 ¥Ý¡¼¥È¤Ç¤¹¡£ FreeBSD 3.2 ¤ª¤è¤Ó¤½¤ì°ÊÁ°¤Î PS/2 ¥Þ¥¦¥¹¥É¥é¥¤¥Ð psm ¤Ë¤Ï¡¢ Logitech ¥â¥Ç¥ë M-S48 ¤È¤½¤Î OEM ¤Î¥Û¥¤¡¼¥ë¥Þ¥¦¥¹¤ÇÉÔ¶ñ¹ç¤¬È¯À¸¤·¤Þ¤¹¡£ °Ê²¼¤Î¥Ñ¥Ã¥Á¤ò /sys/i386/isa/psm.c ¤ËŬÍѤ·¤Æ¡¢¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£ Index: psm.c =================================================================== RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v retrieving revision 1.60.2.1 retrieving revision 1.60.2.2 diff -u -r1.60.2.1 -r1.60.2.2 --- psm.c 1999/06/03 12:41:13 1.60.2.1 +++ psm.c 1999/07/12 13:40:52 1.60.2.2 @@ -959,14 +959,28 @@ sc->mode.packetsize = vendortype[i].packetsize; /* set mouse parameters */ +#if 0 + /* + * A version of Logitech FirstMouse+ won't report wheel movement, + * if SET_DEFAULTS is sent... Don't use this command. + * This fix was found by Takashi Nishida. + */ i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS); if (verbose >= 2) printf("psm%d: SET_DEFAULTS return code:%04x\n", unit, i); +#endif if (sc->config & PSM_CONFIG_RESOLUTION) { sc->mode.resolution = set_mouse_resolution(sc->kbdc, - (sc->config & PSM_CONFIG_RESOLUTION) - 1); + (sc->config & PSM_CONFIG_RESOLUTION) - 1); + } else if (sc->mode.resolution >= 0) { + sc->mode.resolution + = set_mouse_resolution(sc->kbdc, sc->dflt_mode.resolution); + } + if (sc->mode.rate > 0) { + sc->mode.rate = set_mouse_sampling_rate(sc->kbdc, sc->dflt_mode.rate); } + set_mouse_scaling(sc->kbdc, 1); /* request a data packet and extract sync. bits */ if (get_mouse_status(sc->kbdc, stat, 1, 3) < 3) { FreeBSD 3.2 ¤è¤ê¿·¤·¤¤¥ê¥ê¡¼¥¹¤Ç¤Ï¤­¤Á¤ó¤Èưºî¤¹¤ë¤Ï¤º¤Ç¤¹¡£ ¥é¥Ã¥×¥È¥Ã¥× PC ¤Î¥Þ¥¦¥¹/¥È¥é¥Ã¥¯¥Ü¡¼¥ë/¥¿¥Ã¥Á¥Ñ¥Ã¥É¤Ï»È¤¨¤Þ¤¹¤«? Á°¤Î¼ÁÌä¤ËÂФ¹¤ëÅú¤¨¤È¡¢ ¥â¥Ð¥¤¥ë¥³¥ó¥Ô¥å¡¼¥Æ¥£¥ó¥°¤Î¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¤É¤ó¤Ê¥Æ¡¼¥×¥É¥é¥¤¥Ö¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤«? FreeBSD ¤Ï SCSI ¤È QIC-36 (QIC-02 ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÉÕ¤­) ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤é¤Ë¤Ï 8-mm (Exabyte ¤È¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤¹) ¤ä DAT ¥É¥é¥¤¥Ö¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ½é´ü¤Î 8-mm ¥É¥é¥¤¥Ö¤ÎÃæ¤Ë¤Ï SCSI-2 ¤È¤Þ¤Ã¤¿¤¯¸ß´¹À­¤ò»ý¤¿¤Ê¤¤¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Ï FreeBSD ¾å¤Ç¤Ïưºî¤·¤Þ¤»¤ó¡£ ¤É¤ó¤Ê¥Æ¡¼¥×¥Á¥§¥ó¥¸¥ã¡¼¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤«? FreeBSD 2.2 ¤Ï &man.ch.4; ¥Ç¥Ð¥¤¥¹¤È &man.chio.1; ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤¿ SCSI ¥Á¥§¥ó¥¸¥ã¡¼¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ¼ÂºÝ¤Î¥Á¥§¥ó¥¸¥ã¡¼¤ÎÀ©¸æÊýË¡¤Î¾ÜºÙ¤Ï¡¢&man.chio.1; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ »ÈÍѤ·¤Æ¤¤¤ëÀ½Éʤ¬ AMANDA ¤Î¤è¤¦¤Ë¥Á¥§¥ó¥¸¥ã¡¼¤ËÂбþºÑ¤ß¤Î¤â¤Î¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢ ¼¡¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÎ±°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤ì¤é¤ÎÀ½ÉʤÏǤ°Õ¤Î¥Ý¥¤¥ó¥È´Ö¤Î¥Æ¡¼¥×¤Î°Üư¤òÀ©¸æ¤¹¤ë¤À¤±¤Ê¤Î¤Ç¡¢ ¥Æ¡¼¥×¤¬¤É¤Î¥¹¥í¥Ã¥È¤ËÆþ¤Ã¤Æ¤¤¤ë¤«¡¢¸½ºß¥É¥é¥¤¥Ö¤Ë¤¢¤ë¥Æ¡¼¥×¤¬ ¤É¤Î¥¹¥í¥Ã¥È¤ËÌá¤ë¤Ù¤­¤«¤òÇİ®¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ¤É¤ó¤Ê¥µ¥¦¥ó¥É¥«¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤«? FreeBSD ¤Ï SoundBlaster¡¢SoundBlaster Pro¡¢SoundBlaster 16¡¢ Pro Audio Spectrum 16¡¢AdLib ¤½¤ì¤«¤é Gravis UltraSound ¥µ¥¦¥ó¥É¥«¡¼¥É¤ò ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£MPU-401 ¤ä¤½¤Î¸ß´¹¥«¡¼¥É¤âµ¡Ç½¤ËÀ©¸Â¤Ï¤¢¤ë¤â¤Î¤Î ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Þ¥¤¥¯¥í¥½¥Õ¥È¥µ¥¦¥ó¥É¥·¥¹¥Æ¥à¤Î¥¹¥Ú¥Ã¥¯¤Ë½àµò ¤·¤¿¥«¡¼¥É¤â¡¢pcm ¥É¥é¥¤¥Ð¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤é¤Ï¥µ¥¦¥ó¥É¤Ë¤Ä¤¤¤Æ¤Î¤ß¤ÎÏäǤ¹! ¤³¤ì¤é¤Î¥É¥é¥¤¥Ð¤Ï CD-ROM¡¢SCSI¡¢¥«¡¼¥É¾å¤Ë¤¢¤ë¥¸¥ç¥¤¥¹¥Æ¥£¥Ã¥¯¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó (SoundBlaster ¤ÏÎã³°¤Ç¤¹)¡£SoundBlaster SCSI ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÈÈó SCSI CD-ROM ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¤½¤Î¥Ç¥Ð¥¤¥¹¤«¤é¤Ïµ¯Æ°¤Ç¤­¤Þ¤»¤ó¡£ pcm ¥É¥é¥¤¥Ð¤Ç es1370 ¤«¤é²»¤¬½Ð¤Ê¤¤¤Î¤Ï¤É¤¦¤Ë¤«¤Ê¤ê¤Þ¤»¤ó¤«? ¥Þ¥·¥ó¤òµ¯Æ°¤¹¤ë¤´¤È¤Ë°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; mixer pcm 100 vol 100 cd 100 ¤É¤ó¤Ê¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤«? ¤è¤ê´°Á´¤Ê°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¥¤¡¼¥µ¥Í¥Ã¥È¥«¡¼¥É¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¿ôÃͱ黻¥³¥×¥í¥»¥Ã¥µ¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¤¬¡¢²¿¤«¤Þ¤º¤¤¤Ç¤·¤ç¤¦¤«? ¤³¤ì¤é¤Ï 386/486SX/486SLC ¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë±Æ¶Á¤·¤Þ¤¹ - ¤Û¤«¤Î¥Þ¥·¥ó¤Ç¤Ï CPU ¤ËÆâ¢¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ °ìÈ̤ˤ³¤ì¤é¤ÏÌäÂê¤È¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢¿ôÃͱ黻¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¥³¡¼¥É¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤«¡¢ Àµ³Î¤µ¤Î¤¤¤º¤ì¤«¤òÁªÂò¤¹¤ë¾õ¶·¤¬¤¢¤ê¤Þ¤¹ (¾Ü¤·¤¯¤Ï FP ¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó ¤Ë¤Ä¤¤¤Æ¤ÎÀá¤ò¤´Í÷¤¯¤À¤µ¤¤)¡£ ¤È¤¯¤Ë¡¢X ¾å¤Ç¸Ì¤òÉÁ¤¯ºÝ¤Ë¤È¤Æ¤âÃÙ¤¯¤Ê¤ë¤³¤È¤Ç¤·¤ç¤¦¡£ ¿ôÃͱ黻¥³¥×¥í¥»¥Ã¥µ¤ò¹ØÆþ¤µ¤ì¤ë¤³¤È¤ò¶¯¤¯¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ ¤È¤Æ¤âÌòΩ¤Ä¤³¤È¤Ç¤·¤ç¤¦¡£ ¾¤Î¿ôÃͱ黻¥³¥×¥í¥»¥Ã¥µ¤è¤ê¤âÍ¥¤ì¤¿¥³¥×¥í¥»¥Ã¥µ¤â¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï¸À¤¤¤Ë¤¯¤¤¤³¤È¤Ê¤Î¤Ç¤¹¤¬¡¢Intel ¤òÇ㤦¤¿¤á¤ËÌöµ¯¤Ë¤Ê¤ë¿Í¤â¤¤¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¤½¤ì¤¬ FreeBSD ¾å¤Çư¤¯¤È¤¤¤¦³Î¿®¤¬¤Ê¤¤¤Î¤Ê¤é¡¢¥¯¥í¡¼¥ó¤Ë¤´ÍÑ¿´¤ò¡£ FreeBSD ¤¬¥µ¥Ý¡¼¥È¤¹¤ë¥Ç¥Ð¥¤¥¹¤Ï¾¤Ë¤â¤¢¤ë¤ó¤Ç¤·¤ç¤¦¤«? FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Ëµ­¤µ¤ì¤Æ¤¤¤ë¡¢ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¾¤Î¥Ç¥Ð¥¤¥¹¤Î°ìÍ÷¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ñ¥ï¡¼¥Þ¥Í¡¼¥¸¥á¥ó¥Èµ¡Ç½ÉÕ¤­¤Î¥é¥Ã¥×¥È¥Ã¥× PC ¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡Ä¡£ FreeBSD ¤Ï°ìÉô¤Î¥Þ¥·¥ó¤Î APM ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ LINT ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë ¤Î APM ¤ÎÉôʬ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¤µ¤é¤Ë¾Ü¤·¤¤¤³¤È¤Ï &man.apm.4; ¤ËºÜ¤Ã¤Æ¤¤¤Þ¤¹¡£ Micron ¥·¥¹¥Æ¥à¤¬µ¯Æ°»þ¤Ë¸Ç¤Þ¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ÆÃÄê¤Î Micron À½¤Î¥Þ¥¶¡¼¥Ü¡¼¥É¤ÎÃæ¤Ë¤Ï¡¢PCI BIOS ¤¬µ¬³ÊÄ̤ê¤Ë ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¤Ë FreeBSD ¤Îµ¯Æ°¤Ë¼ºÇÔ¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¤½¤Î BIOS ¤Ï¡¢PCI ¥Ç¥Ð¥¤¥¹¤ò¤¢¤ë¥¢¥É¥ì¥¹¤ÇÀßÄꤷ¤¿¤ÈÊó¹ð¤¹¤ë¤Ë¤â ´Ø¤ï¤é¤º¡¢¼ÂºÝ¤Ë¤Ï¤½¤¦¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹¡£ ¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢BIOS ¤Î Plug and Play Operating System ¤ò̵¸ú¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¿·¤·¤¤ Adaptec ¥³¥ó¥È¥í¡¼¥é¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢ FreeBSD ¤¬¸¡½Ð¤Ç¤­¤Ê¤¤¤è¤¦¤Ç¤¹¡£ ¿·¤·¤¤ AIC789x ¥·¥ê¡¼¥º¤Î Adaptec ¥Á¥Ã¥×¤Ï¡¢3.0 ¤Ç¥Ç¥Ó¥å¡¼¤·¤¿ CAM SCSI ¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ 2.2-STABLE ¤Î¥Ñ¥Ã¥Á¤Ï ftp://ftp.FreeBSD.org/pub/FreeBSD/development/cam/ ¤Ë¤¢¤ê¤Þ¤¹¡£ CAM ¥·¥¹¥Æ¥à¤¬Æþ¤Ã¤Æ¤¤¤ë¹âµ¡Ç½¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¤Ï http://people.FreeBSD.org/~abial/cam-boot/ ¤Ë¤¢¤ê¤Þ¤¹¡£ ¤É¤Á¤é¤Î¾ì¹ç¤Ë¤·¤Æ¤â¡¢ºî¶È¤ò»Ï¤á¤ëÁ°¤Ë README ¤ò¤ªÆÉ¤ß¤¯¤À¤µ¤¤¡£ Æâ¢¤Î Plug & Play ¥â¥Ç¥à¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢FreeBSD ¤¬¸¡½Ð¤Ç¤­¤Ê¤¤¤è¤¦¤Ç¤¹¡£ ¥â¥Ç¥à¤Î PnP ID ¤ò ¥·¥ê¥¢¥ë¥É¥é¥¤¥Ð¤Î PnP ID ¥ê¥¹¥È¤ËÄɲ乤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ Plug & Play ¥µ¥Ý¡¼¥È¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢ controller pnp0 ¤ò¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó ¥Õ¥¡¥¤¥ë¤ËÉÕ¤±²Ã¤¨¡¢ ¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥«¡¼¥Í¥ë¤Ï¡¢¸¡½Ð¤·¤¿¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥¤¥¹¤Î PnP ID ¤òɽ¼¨¤·¤Þ¤¹¡£ ¥â¥Ç¥à¤ÎÍó¤Ë¤¢¤ë PnP ID ¤ò /sys/i386/isa/sio.c ¤Î 2777 ¹ÔÌܤ¯¤é¤¤¤Ë¤¢¤ë¥Æ¡¼¥Ö¥ë¤Ë½ñ¤­Æþ¤ì¤Æ¤¯¤À¤µ¤¤¡£ ¥Æ¡¼¥Ö¥ë¤ò¸«¤Ä¤±¤ë¤Ë¤Ï¡¢¹½Â¤ÂÎ siopnp_ids[] ¤Îʸ»úÎó SUP1310 ¤òõ¤·¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¤òºî¤êľ¤·¤¿¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤¦¤¹¤ì¤Ð¡¢¥â¥Ç¥à¤¬¸¡½Ð¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¡£ µ¯Æ°»þ¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤ÎºÝ¤Ë¡¢pnp ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ PnP ¤ÎÀßÄê¤ò¥Þ¥Ë¥å¥¢¥ë¤Ç¹Ô¤Ê¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤½¤Î¾ì¹ç¡¢¥â¥Ç¥à¤ò¸¡½Ð¤µ¤»¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ï pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8 ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤Ç boot: ¥×¥í¥ó¥×¥È¤òɽ¼¨¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤? options COMCONSOLE ¤ò»ØÄꤷ¤Æ¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤·¤Æ /boot.config ¤òºîÀ®¤·¤Æ ¤È¤À¤±½ñ¤­Æþ¤ì¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤Î¸å¡¢¥­¡¼¥Ü¡¼¥É¤ò¥·¥¹¥Æ¥à¤«¤éÈ´¤­¤Þ¤¹¡£ /usr/src/sys/i386/boot/biosboot/README.serial ¤Ë¡¢ ¤³¤ì¤Ë´Ø¤¹¤ë¾ðÊ󤬽ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¤Ê¤¼ Micron ¥³¥ó¥Ô¥å¡¼¥¿¤Ç 3Com PCI ¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¤¬Æ°¤«¤Ê¤¤¤Î¤Ç¤·¤ç¤¦? ÆÃÄê¤Î Micron À½¤Î¥Þ¥¶¡¼¥Ü¡¼¥É¤ÎÃæ¤Ë¤Ï¡¢PCI BIOS ¤¬µ¬³ÊÄ̤ê¤Ë ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¤Ë FreeBSD ¤Îµ¯Æ°¤Ë¼ºÇÔ¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¤½¤Î BIOS ¤Ï¡¢PCI ¥Ç¥Ð¥¤¥¹¤ò¤¢¤ë¥¢¥É¥ì¥¹¤ÇÀßÄꤷ¤¿¤ÈÊó¹ð¤¹¤ë¤Ë¤â ´Ø¤ï¤é¤º¡¢¼ÂºÝ¤Ë¤Ï¤½¤¦¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹¡£ ¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢BIOS ¤Î Plug and Play Operating System ¤ò̵¸ú¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ Âоη¿¥Þ¥ë¥Á¥×¥í¥»¥·¥ó¥° (SMP) ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤«? SMP ¤Ï¡¢3.0-STABLE ¤È¤½¤ì°Ê¹ß¤Î¥ê¥ê¡¼¥¹¤Ç¤Î¤ß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ GENERIC ¥«¡¼¥Í¥ë¤Ç¤Ï SMP ¤ÏÍ­¸ú²½¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢ SMP ¤òÍ­¸ú²½¤¹¤ë¤Ë¤Ï¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ /sys/i386/conf/LINT ¤ò¸«¤Æ¡¢ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤Ë¤É¤Î¥ª¥×¥·¥ç¥ó¤òÄɲ乤ì¤ÐÎɤ¤¤Î¤«³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£ ASUS K7V ¥Þ¥¶¡¼¥Ü¡¼¥É¤Î¥·¥¹¥Æ¥à¤Ç¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¤ò»È¤¦¤È¡¢ ¥·¥¹¥Æ¥à¤¬¥Ï¥ó¥°¥¢¥Ã¥×¤·¤Þ¤¹¡£ Âбþºö¤Ï¤¢¤ê¤Þ¤»¤ó¤«? BIOS ¥»¥Ã¥È¥¢¥Ã¥×¤Ç µ¯Æ°»þ¤Î¥¦¥£¥ë¥¹Êݸǽ ¤ò̵¸ú²½¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥° Ìõ: &a.jp.yoshiaki;¡¢ 1997 ǯ 11 ·î 10 Æü ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ËÉÔÎÉ¥Ö¥í¥Ã¥¯¤¬¤¢¤ê¤Þ¤¹! SCSI ¥Ç¥£¥¹¥¯¤Î¾ì¹ç¤Ï¼«Æ°Åª¤ËºÆ¥Þ¥Ã¥×¤¹¤ëµ¡Ç½¤¬¤¢¤ë¤Ï¤º¤Ç¤¹¡£ ¤·¤«¤·¡¢Íý²ò¤·Æñ¤¤Íýͳ¤«¤é¿¤¯¤Î¥É¥é¥¤¥Ö¤¬¤³¤Îµ¡Ç½¤¬Ìµ¸ú²½ ¤µ¤ì¤Æ½Ð²Ù¤µ¤ì¤Æ¤¤¤Þ¤¹¡Ä¡£ ¤³¤ì¤òÍ­¸ú²½¤¹¤ë¤Ë¤Ï¡¢ ºÇ½é¤Î¥Ç¥Ð¥¤¥¹¤Î¥â¡¼¥É¥Ú¡¼¥¸¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢FreeBSD ¾å¤Ç¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹ (root ¸¢¸Â¤Ç¹Ô¤Ê¤¤¤Þ¤¹)¡£ &prompt.root; scsi -f /dev/rsd0c -m 1 -e -P 3 ¤½¤·¤Æ¡¢AWRE ¤È ARRE ¤ÎÃͤò 0 ¤«¤é 1 ¤ØÊѹ¹¤·¤Þ¤¹ AWRE (Auto Write Reallocation Enbld): 1 ARRE (Auto Read Reallocation Enbld): 1 °Ê²¼¤Ï¡¢Ted Mittelstaedt »á¤«¤é´ó¤»¤é¤ì¤¿¤â¤Î¤Ç¤¹¡£ IDE ¥É¥é¥¤¥Ö¤Î¾ì¹ç¤ÏÄ̾ÉÔÎÉ¥Ö¥í¥Ã¥¯¤ÏÀøºßŪ¤Ê¾ã³²¤ÎÃû¸õ¤Ç¤¹¡£ ºÇ¶á¤Î IDE ¥É¥é¥¤¥Ö¤Ï¡¢ÆâÉô¤ÎÉÔÎÉ¥Ö¥í¥Ã¥¯ºÆ¥Þ¥Ã¥Ô¥ó¥°µ¡Ç½¤òÍ­¸ú¤Ë¤·¤¿¾õÂÖ¤Ç ½Ð²Ù¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢º£Æü¤Î IDE ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¥á¡¼¥«¤Ï¡¢ ½Ð²Ù°Ê¹ß¤ËÉÔÎÉ¥Ö¥í¥Ã¥¯¤¬È¯À¸¤¹¤ë¤³¤È¤Ë´Ø¤·¤ÆÊݾڤòÄ󶡤·¤Æ¤¤¤Æ¡¢ ÉÔÎÉ¥Ö¥í¥Ã¥¯¤Î¤¢¤ë¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤ò¸ò´¹¤¹¤ë¥µ¡¼¥Ó¥¹¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤â¤·¡¢ÉÔÎÉ¥Ö¥í¥Ã¥¯¤Î¤¢¤ë IDE ¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤òÉüµì¤·¤è¤¦¤È»×¤¦¤Ê¤é¡¢ IDE ¥É¥é¥¤¥Ö¥á¡¼¥«¤¬Ä󶡤¹¤ë IDE ¿ÇÃÇ¥×¥í¥°¥é¥à¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢ ¤½¤Î¥É¥é¥¤¥Ö¤Ë»È¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¼ï¤Î¥×¥í¥°¥é¥à¤ÏÂçÄñ¡¢ ¥É¥é¥¤¥Ö¤ÎÀ©¸æÉôʬ¤ËÂФ·¤ÆÉÔÎÉ¥Ö¥í¥Ã¥¯¤òºÆÁöºº¤·¡¢ ÉÔÎÉ¥Ö¥í¥Ã¥¯¤ò»ÈÍÑÉÔǽ¤Ë¤¹¤ë¤è¤¦¤Ë¥»¥Ã¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ESDI¡¢RLL ¤ª¤è¤Ó MFM ¥É¥é¥¤¥Ö¤Î¾ì¹ç¡¢ ÉÔÎÉ¥Ö¥í¥Ã¥¯¤Ï¥É¥é¥¤¥Ö¤ÎÀµ¾ï¤ÊÉôʬ¤Ç¤¢¤ê¡¢ °ìÈÌŪ¤Ë¸À¤Ã¤Æ¾ã³²¤òɽ¤¹¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ PC ¤Ç¤Ï¡¢¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¥³¥ó¥È¥í¡¼¥é¥«¡¼¥É¤È BIOS ¤¬ÉÔÎÉ¥Ö¥í¥Ã¥¯¤Î»ÈÍÑÉÔǽ²½¤Îºî¶È¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ DOS ¤Ê¤É¡¢¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤Ë BIOS ¤ò·Ðͳ¤¹¤ë OS ¤Ë¤È¤Ã¤Æ¤ÏÍ­¸ú¤ËƯ¤­¤Þ¤¹¤¬¡¢FreeBSD ¤Î¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ð¤Ï BIOS ¤òÍøÍѤ·¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢ ÂåÂØ¤È¤·¤Æ bad144 ¤È¤¤¤¦µ¡¹½¤¬Â¸ºß¤·¤Þ¤¹¡£ bad144 ¤Ï¡¢wd ¥É¥é¥¤¥Ð¤Ç¤À¤± (¤Ä¤Þ¤ê FreeBSD 4.0 ¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤)ưºî¤·¡¢SCSI ¥É¥é¥¤¥Ð¤ËÍøÍѤ¹¤ë¤³¤È¤Ï ¤Ç¤­¤Þ¤»¤ó¡£bad144 ¤Ï¡¢ ¸¡½Ð¤µ¤ì¤¿ÉÔÎÉ¥»¥¯¥¿¤ò¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤Ëµ­Ï¿¤¹¤ë¤È¤¤¤¦µ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ bad144 ¤òÍøÍѤ¹¤ë¾å¤Ç¡¢Ãí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ÅÀ¤¬°ì¤Ä¤¢¤ê¤Þ¤¹¡£ ¤½¤ì¤Ï¡¢ÉÔÎÉ¥Ö¥í¥Ã¥¯¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤Ï¡¢ ¥Ç¥£¥¹¥¯¤ÎºÇ½ª¥È¥é¥Ã¥¯¤ËÃÖ¤«¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥£¥¹¥¯¤ÎÀèÆ¬¤ÎÉÕ¶á¡¢ /kernel ¥Õ¥¡¥¤¥ë¤¬°ÌÃÖ¤·¤Æ¤¤¤ë¤Ç¤¢¤í¤¦Éôʬ¤ÇȯÀ¸¤·¤¿ÉÔÎÉ¥»¥¯¥¿¤¬µ­Ï¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï BIOS ¥³¡¼¥ë¤ò»È¤Ã¤Æ¥«¡¼¥Í¥ë¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤àµ¯Æ°¥×¥í¥°¥é¥à¤¬¡¢ ¥¢¥¯¥»¥¹²Äǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¤Ä¤Þ¤ê¡¢bad144 ¤òÍøÍѤ¹¤ë¥Ç¥£¥¹¥¯¤Ï 1024 ¥·¥ê¥ó¥À¡¢16 ¥Ø¥Ã¥É¡¢63 ¥»¥¯¥¿¤òͤ¨¤Æ¤Ï¤Ê¤é¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¡¢ bad144 ¤òÍøÍѤ·¤¿¥Ç¥£¥¹¥¯¤¬¼Â¼Á 500MB ¤òͤ¨¤é¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ bad144 ¤ò»È¤¦¤Ë¤Ï¡¢FreeBSD ¤Î¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ëɽ¼¨¤µ¤ì¤ë fdisk ²èÌÌ¤Ç Bad Block Áöºº¤ò ON ¤ËÀßÄꤹ¤ë¤À¤±¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢FreeBSD 2.2.7 °Ê¹ß¤Çµ¡Ç½¤·¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¤Ï¡¢1024 ¥·¥ê¥ó¥À°ÊÆâ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤Ï»öÁ°¤Ë¾¯¤Ê¤¯¤È¤â 4 »þ´Ö¡¢ ¥Ç¥£¥¹¥¯¤¬²¹Å٤ˤè¤Ã¤ÆËÄÄ¥¤·¡¢ ¥È¥é¥Ã¥¯¤Ë¶Ê¤¬¤ê¤¬½Ð¤ë¤Þ¤Ç²óž¤µ¤»¤ë¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹ (ÌõÃí: ²¹ÅÙÊѲ½¤ËÂФ¹¤ëËÄÄ¥¤Ë¤è¤Ã¤Æ¡¢ ¥Ç¥£¥¹¥¯¤¬Èù¾®ÊÑ·Á¤¹¤ë¤³¤È¤Ë¤è¤êȯÀ¸¤¹¤ëÉÔÎÉ¥»¥¯¥¿¤ò³Î¼Â¤Ë¸¡½Ð¤¹¤ë¤¿¤á¤Ç¤¹)¡£ ÂçÍÆÎ̤ΠESDI ¥É¥é¥¤¥Ö¤Î¤è¤¦¤Ë 1024 ¥·¥ê¥ó¥À¤òͤ¨¤ë¥Ç¥£¥¹¥¯¤Î¾ì¹ç¡¢ DOS ¾å¤Ç¤½¤Î¥Ç¥£¥¹¥¯¤¬ÍøÍѤǤ­¤ë¤è¤¦¡¢ ESDI ¥³¥ó¥È¥í¡¼¥é¤ÏÆÃ¼ì¤ÊÊÑ´¹¥â¡¼¥É¤òÍøÍѤ·¤Þ¤¹¡£ fdisk ¤Î set geometry ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ ÊÑ´¹¤µ¤ì¤¿ (translated) ¥¸¥ª¥á¥È¥ê¤ËÀÚÂØ¤¨¤ë¤È¡¢wd ¥É¥é¥¤¥Ð¤Ï¤³¤ÎÊÑ´¹¥â¡¼¥É¤ò²ò¼á¤Ç¤­¤Þ¤¹¡£ ¤½¤ÎºÝ¡¢FreeBSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤Î¤Ë dangerously dedicated ¥â¡¼¥É¤òÍøÍѤ·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¤³¤Î¥â¡¼¥É¤Ï¡¢¤½¤Î¤è¤¦¤Ê¥¸¥ª¥á¥È¥ê¤ò̵»ë¤¹¤ë¤«¤é¤Ç¤¹¡£ ¤¿¤È¤¨ fdisk ¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤¿¥¸¥ª¥á¥È¥ê¾ðÊó¤ò»È¤Ã¤¿¤È¤·¤Æ¤â¡¢ °ÍÁ³¤È¤·¤Æ¥Ç¥£¥¹¥¯¤Î¿¿¤ÎÂ礭¤µ¤òÊÝ»ý¤·¤Æ¤¤¤ë¤¿¤á¡¢Â礭¤¹¤®¤ë FreeBSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤è¤¦¤È¤·¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£ ¥Ç¥£¥¹¥¯¥¸¥ª¥á¥È¥ê¾ðÊó¤¬ÊÑ´¹¤µ¤ì¤¿¥¸¥ª¥á¥È¥ê¾ðÊó¤Ë¤«¤ï¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¼êư¤Ç¥Ö¥í¥Ã¥¯¿ô¤òÆþÎϤ·¡¢ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ÂçÍÆÎ̤ΠESDI ¥Ç¥£¥¹¥¯¤ò ESDI ¥³¥ó¥È¥í¡¼¥é¤Ç¥»¥Ã¥È¥¢¥Ã¥×¤¹¤ë¤Ë¤Ï¡¢ ¤Á¤ç¤Ã¤È¤·¤¿¥È¥ê¥Ã¥¯¤ò»È¤¤¤Þ¤¹¡£¤Þ¤º¡¢DOS ¤Î¥Ç¥£¥¹¥¯¤Çµ¯Æ°¤·¤Æ ¤½¤Î¥Ç¥£¥¹¥¯¤ò DOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¤·¤Æ¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤Þ¤¹¡£ ¤½¤·¤Æ FreeBSD ¤òµ¯Æ°¤·¡¢¥¤¥ó¥¹¥È¡¼¥é¤Î fdisk ²èÌÌ¤Ç DOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤È¥Ö¥í¥Ã¥¯¿ô¤òÆÉ¤ß¤È¤ê¡¢¥á¥â¤·¤Æ¤ª¤­¤Þ¤¹¡£ ¥¸¥ª¥á¥È¥ê¾ðÊó¤ò DOS ¤¬ÍøÍѤ·¤Æ¤¤¤ë¤â¤Î¤ÈƱ°ì¤ËºÆÀßÄꤷ¡¢ DOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºï½ü¤·¤Æ cooperative FreeBSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò ÀèÄøµ­Ï¿¤·¤¿¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò»È¤Ã¤ÆºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òµ¯Æ°²Äǽ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÀßÄꤷ¡¢ÉÔÎÉ¥Ö¥í¥Ã¥¯Áöºº¤ò Í­¸ú¤Ë¤·¤Þ¤¹¡£ ¼ÂºÝ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ºîÀ®¤µ¤ì¤ëÁ°¤Ë bad144 ¤¬ºÇ½é¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹ (Alt-F2 ¤ò²¡¤¹¤³¤È¤Ç¾õ¶·¤ò³Îǧ¤Ç¤­¤Þ¤¹)¡£ ÉÔÎÉ¥»¥¯¥¿¥Õ¥¡¥¤¥ë¤òºîÀ®Ãæ¤Ë²¿¤é¤«¤Î¾ã³²¤¬È¯À¸¤·¤¿¤Ê¤é¡¢ ¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Æ¡¢¤â¤¦°ìÅٺǽ餫¤é¤ä¤êľ¤·¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤ª¤½¤é¤¯¥Ç¥£¥¹¥¯¥¸¥ª¥á¥È¥ê¾ðÊó¤ÎÀßÄê¤òÂ礭¤¯¤·¤¹¤®¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦ (¤ä¤êľ¤·¤Ï¡¢DOS ¤Ë¤è¤ë¥Õ¥©¡¼¥Þ¥Ã¥È¤È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó³ÎÊݤò´Þ¤ß¤Þ¤¹)¡£ ¤â¤·¡¢ÉÔÎÉ¥Ö¥í¥Ã¥¯¤ÎºÆ¥Þ¥Ã¥Ô¥ó¥°¤òÍ­¸ú¤Ë¤·¤Æ¤¤¤ÆÉÔÎÉ¥Ö¥í¥Ã¥¯¤¬¸«ÉÕ¤«¤Ã¤¿¤é¡¢ ¥É¥é¥¤¥Ö¤Î¸ò´¹¤ò¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£ÉÔÎÉ¥Ö¥í¥Ã¥¯¤Ï¡¢»þ´Ö¤È¤È¤â¤Ë°­²½¤¹¤ë¤«¤é¤Ç¤¹¡£ Bustek 742a EISA SCSI ¤¬Ç§¼±¤µ¤ì¤Þ¤»¤ó¡£ ¤³¤Î¾ðÊó¤Ï 742a ¤Î¤¿¤á¤Î¤â¤Î¤Ç¤¹¤¬¡¢Â¾¤Î Buslogic ¥«¡¼¥É¤Ë¤Ä¤¤¤Æ¤â ƱÍͤΤ³¤È¤¬¸À¤¨¤Þ¤¹¡£(Bustek = Buslogic) 742a ¥«¡¼¥É¤Ë¤ÏÂ礭¤¯¤ï¤±¤Æ 2 ¤Ä¤Î¡Ö¥Ð¡¼¥¸¥ç¥ó¡×¤¬Â¸ºß¤·¤Þ¤¹¡£ ¥Ï¡¼¥É¥¦¥§¥¢¥ê¥Ó¥¸¥ç¥ó¤Î A-G ¤È H °Ê¹ß¤Ç¤¹¡£¥ê¥Ó¥¸¥ç¥ó¤Î ʸ»ú¤Ï¥«¡¼¥É¤Î¶ù¤Ë¤¢¤ë¥¢¥»¥ó¥Ö¥êÈÖ¹æ¤Î¸å¤í¤Ë¤¢¤ê¤Þ¤¹¡£ 742a ¤ÏÆó¤Ä¤Î ROM ¥Á¥Ã¥×¤ò»ý¤Ã¤Æ¤ª¤ê¡¢°ì¤Ä¤Ï BIOS ¥Á¥Ã¥×¤Ç ¤â¤¦°ì¤Ä¤Ï¥Õ¥¡¡¼¥à¥¦¥§¥¢¥Á¥Ã¥×¤Ç¤¹¡£FreeBSD ¤Ï¤¢¤Ê¤¿¤Î »ý¤Ã¤Æ¤¤¤ë¤â¤Î¤¬¤É¤Î BIOS ¥Ð¡¼¥¸¥ç¥ó¤«¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¤¬¡¢ ¥Õ¥¡¡¼¥à¥¦¥§¥¢¥Ð¡¼¥¸¥ç¥ó¤Ë¤Ä¤¤¤Æ¤ÏÌäÂê¤È¤Ê¤ê¤Þ¤¹¡£ Buslogic ¤Îµ»½Ñ¥µ¥Ý¡¼¥ÈÉôÌç¤ËÏ¢Íí¤¹¤ì¤Ð¡¢¥¢¥Ã¥×¥°¥ì¡¼¥ÉÈǤΠROM ¤òÁ÷¤Ã¤Æ¤¯¤ì¤ë¤³¤È¤Ç¤·¤ç¤¦¡£BIOS ¥Á¥Ã¥×¤È ¥Õ¥¡¡¼¥à¥¦¥§¥¢¥Á¥Ã¥×¤Ï¥Ú¥¢¤Ç½Ð²Ù¤µ¤ì¤Þ¤¹¡£ ¥¢¥À¥×¥¿¥«¡¼¥É¤Î¥Ï¡¼¥É¥¦¥§¥¢¥ê¥Ó¥¸¥ç¥ó¤Ë¤¢¤ï¤»¤¿ ºÇ¤â¿·¤·¤¤¥Õ¥¡¡¼¥à¥¦¥§¥¢ ROM ¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥ê¥Ó¥¸¥ç¥ó A-G ¤Î¥«¡¼¥É¤Ë¤Ï¡¢2.41/2.21 ¤Þ¤Ç¤Î BIOS/¥Õ¥¡¡¼¥à¥¦¥§¥¢¤Î¥»¥Ã¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥ê¥Ó¥¸¥ç¥ó H °Ê¹ß¤Î¥«¡¼¥É¤Ë¤Ï¡¢ºÇ¿·¤Î¤â¤Î¤Ç¤¢¤ë 4.70/3.37 ¤Î BIOS/¥Õ¥¡¡¼¥à¥¦¥§¥¢¤Î¥»¥Ã¥È¤ò »ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¡¼¥à¥¦¥§¥¢¤Î°ã¤¤¤Ï¡¢ ¥Õ¥¡¡¼¥à¥¦¥§¥¢ 3.37 ¤¬ ¡Ö¥é¥¦¥ó¥É¥í¥Ó¥óÊý¼°¡× ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤È¤³¤í¤«¤é¤­¤Æ¤¤¤Þ¤¹¡£ Buslogic ¤Î¥«¡¼¥É¤Ë¤Ï¡¢À½Â¤ÈÖ¹æ¤â¹ï°õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¸Å¤¤ ¥Ï¡¼¥É¥¦¥§¥¢¥ê¥Ó¥¸¥ç¥ó¤Î¥«¡¼¥É¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Buslogic ¤Î RMA ÉôÌç¤ËÌ䤤¹ç¤ï¤»¤ÆÀ½Â¤ÈÖ¹æ¤òÅÁ¤¨¤ë¤È¡¢¿·¤·¤¤¥Ï¡¼¥É¥¦¥§¥¢¥ê¥Ó¥¸¥ç¥ó¤Î ¥«¡¼¥É¤Ë¸ò´¹¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤â¤·¥«¡¼¥É¤¬½½Ê¬¿·¤·¤±¤ì¤Ð¡¢Èà¤é¤Ï ¸ò´¹¤Ë±þ¤¸¤Æ¤¯¤ì¤ë¤Ç¤·¤ç¤¦¡£ FreeBSD 2.1 ¤Ï ¥Õ¥¡¡¼¥à¥¦¥§¥¢¥ê¥Ó¥¸¥ç¥ó 2.21 °Ê¹ß¤Î¤â¤Î¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤è¤ê¤â¸Å¤¤¥Õ¥¡¡¼¥à¥¦¥§¥¢¥ê¥Ó¥¸¥ç¥ó¤Î¤â¤Î¤Ï¡¢ Buslogic ¥«¡¼¥É¤È¤·¤ÆÀµ¾ï¤Ëǧ¼±¤µ¤ì¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢Adaptec 1540 ¤È¤·¤ÆÇ§¼±¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ½é´ü¤Î Buslogic ¤Î¥Õ¥¡¡¼¥à¥¦¥§¥¢¤Ï AHA1540 ¡Ö¸ß´¹¡×¥â¡¼¥É¤ò »ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤·¤«¤·¡¢EISA ¥«¡¼¥É¤Ë¤È¤Ã¤Æ¤³¤ì¤Ï ¤è¤¤¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¸Å¤¤¥Ï¡¼¥É¥¦¥§¥¢¥ê¥Ó¥¸¥ç¥ó¤Î¥«¡¼¥É¤ò»ý¤Ã¤Æ¤¤¤Æ¥Õ¥¡¡¼¥à¥¦¥§¥¢ 2.21 ¤òÆþ¼ê¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¥¸¥ã¥ó¥Ñ W1 ¤Î°ÌÃÖ¤ò¥Ç¥Õ¥©¥ë¥È¤Î A-B ¤«¤é B-C ¤Ë¹ç¤ï¤»¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ HP Netserver ¾å¤Î¥ª¥ó¥Ü¡¼¥É SCSI ¥³¥ó¥È¥í¡¼¥é¤¬Ç§¼±¤µ¤ì¤Þ¤»¤ó¡£ ´ðËÜŪ¤Ë¤³¤ì¤Ï´ûÃΤÎÌäÂê¤Ç¤¹¡£HP Netserver ¥Þ¥·¥ó¤Î EISA ¥ª¥ó¥Ü¡¼¥É SCSI ¥³¥ó¥È¥í¡¼¥é¤Ï EISA ¤Î¥¹¥í¥Ã¥ÈÈÖ¹æ 11 ¤òÀêÍ­¤·¤Þ¤¹¤¬¡¢¡ÖËÜÅö¤Î¡×EISA ¥¹¥í¥Ã¥È¤Ï¤¹¤Ù¤Æ¤½¤ì¤è¤ê¤âÁ°¤Î¥¢¥É¥ì¥¹¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¡£ »Äǰ¤Ê¤¬¤é¡¢ 10 Èְʾå¤Î EISA ¥¹¥í¥Ã¥È¤Ï PCI ¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥¢¥É¥ì¥¹¶õ´Ö¤È¾×ÆÍ¤·¡¢FreeBSD ¤Î¼«Æ°¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤Ï¡¢ ¸½¾õ¤Ç¤Ï¤¦¤Þ¤¯¤³¤Î¾õ¶·¤ò½èÍý¤Ç¤­¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹¡£ ¤Ç¤¹¤«¤é¸½»þÅÀ¤Ç¤ÎºÇÎɤÎÊýË¡¤Ï¡¢¥«¡¼¥Í¥ë¥ª¥×¥·¥ç¥ó¤Î EISA_SLOTS ¤ò 12 ¤ËÊѤ¨¡¢ ¥¢¥É¥ì¥¹¶õ´Ö¤Î¾×ÆÍ¤¬¤Ê¤¤¤«¤Î ¤è¤¦¤Ê¤Õ¤ê¤ò¤µ¤»¤ë¤³¤È¤Ç¤¹ :) ¥«¡¼¥Í¥ë¤ÎºÆ¹½Ãۤ˵­½Ò¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¤·¤Æ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤Á¤í¤ó¡¢¤³¤ì¤Ï¤³¤Î¤è¤¦¤Ê¥Þ¥·¥ó¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëºÝ¤Ë ¡ÖÍñ¤¬À褫¡¢ ·Ü¤¬À褫¡×¤È¤¤¤Ã¤¿ÌäÂê¤òÀ¸¤ß½Ð¤¹¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤¿¤á¤Ë¡¢ ¥æ¡¼¥¶¥³¥ó¥Õ¥£¥° (UserConfig) ¤ÎÃæ¤Ë¤ÏÆÃÊ̤ʻÅÁȤߤ¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¤È¤­ visual ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï»ÈÍѤ»¤º¡¢ ¥³¥Þ¥ó¥É¥é¥¤¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£Ã±½ã¤Ë eisa 12 quit ¤È¥×¥í¥ó¥×¥È¾å¤«¤éÂǤÁ¹þ¤ß¡¢ ¸å¤ÏÉáÄ̤˥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¤È¤Ë¤«¤¯¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤È¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¦¤³¤È¤ò ¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ ¤¦¤Þ¤¯¤¤¤±¤Ð¡¢¾­Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤³¤ÎÌäÂ꤬²ò·è¤·¤Æ¤¤¤ë¤³¤È¤Ç¤·¤ç¤¦¡£ HP Netserver ¤Ç¤Ï´í¸±³Ð¸ç¤ÎÀìÍѥǥ£¥¹¥¯¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ ¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï ¤³¤ÎÃí°Õ»ö¹à¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¤³¤Î CMD640 IDE ¥³¥ó¥È¥í¡¼¥é¤Ï¤É¤³¤«¤ª¤«¤·¤¤¤è¤¦¤Ç¤¹¡£ ¤½¤ì¤Ï²õ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¡£Î¾Êý¤Î¥Á¥ã¥ó¥Í¥ë¤òƱ»þ¤ËÀ©¸æ¤Ç¤­¤Ê¤¤¤Î¤Ç¤¹¡£ ¸½ºß¡¢¤³¤Î¥Á¥Ã¥×¤ò»È¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤ò¼«Æ°Åª¤Ë¸¡½Ð¤·¤Æ¡¢ ¤¦¤Þ¤¯Æ°¤«¤¹¤¿¤á¤Î¤·¤¯¤ß¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤¯¤ï¤·¤¯¤Ï wd(4) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ CMD640 IDE ¥³¥ó¥È¥í¡¼¥é¤ò»È¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç FreeBSD 2.2.1 ¤¢¤ë¤¤¤Ï 2.2.2 ¤ò»È¤¤¡¢ ¤«¤Ä¥»¥«¥ó¥À¥ê¤Î¥Á¥ã¥Í¥ë¤ò»È¤¤¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ options "CMD640" ¤òÍ­¸ú¤Ë¤·¤Æ¥«¡¼¥Í¥ë¤òºî¤êľ¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD 2.2.5 °Ê¹ß¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤½¤¦¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ed1: timeout ¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬¤¤¤Ä¤â½Ð¤Þ¤¹¡£ ¤¿¤Ö¤ó IRQ ¤Î¾×ÆÍ¤¬¸¶°ø¤Ç¤·¤ç¤¦ (Æó¤Ä¤Î¥Ü¡¼¥É¤¬Æ±¤¸ IRQ ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤É)¡£FreeBSD 2.0.5R °ÊÁ°¤Ï¤³¤ì¤Ë´Ø¤·¤Æ´²Âç¤Ç¡¢ IRQ ¤Î¾×ÆÍ¤¬¤¢¤Ã¤Æ¤â¥Í¥Ã¥È¥ï¡¼¥¯¥É¥é¥¤¥Ð¤Ïµ¡Ç½¤·¤Æ¤¤¤Þ¤·¤¿¡£ ¤·¤«¤· 2.0.5R °Ê¹ß¤Ï¤â¤Ï¤ä¡¢IRQ ¤Î¾×ÆÍ¤Ë´²Âç¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤·¡¢ ed0/de0/... ¤Î¥¨¥ó¥È¥ê¤ò¥Ü¡¼¥É¤ÎÀßÄê¤Ë¹ç¤ï¤»¤Æ¤¯¤À¤µ¤¤¡£ ¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¤Î BNC ¥³¥Í¥¯¥¿ (ÌõÃí: 10BASE-2 ¥¿¥¤¥×¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹) ¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ ¥Ç¥Ð¥¤¥¹¤Î¥¿¥¤¥à¥¢¥¦¥È¤Ï¥¿¡¼¥ß¥Í¡¼¥·¥ç¥ó¤ÎÉÔÎɤˤè¤Ã¤Æ¤âµ¯¤­¤Þ¤¹¡£ ¤³¤ì¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Ë¤Ï¥±¡¼¥Ö¥ë¤ò³°¤·¤Æ¥¿¡¼¥ß¥Í¡¼¥¿¤òľÀÜ NIC ¤ËÀܳ¤·¤Þ¤¹¡£¤½¤·¤Æ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬¾Ã¤¨¤ë¤«¤É¤¦¤« ³Îǧ¤·¤Þ¤¹¡£ NE2000 ¥³¥ó¥Ñ¥Á¥Ö¥ë¥«¡¼¥É¤Î¤Ê¤«¤Ë¤Ï¡¢ UTP ¥Ý¡¼¥È¤Î¥ê¥ó¥¯¤¬¤Ê¤«¤Ã¤¿¤ê¥±¡¼¥Ö¥ë¤¬Àܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë ¤³¤Î¥¨¥é¡¼¤ò½Ð¤¹¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ CDROM ¤ò¥Þ¥¦¥ó¥È¤·¤è¤¦¤È¤¹¤ë¤È Incorrect super block ¤È¸À¤ï¤ì¤Þ¤¹¡£ &man.mount.8; ¤Ë¥Þ¥¦¥ó¥È¤·¤¿¤¤¥Ç¥Ð¥¤¥¹¤Î¥¿¥¤¥×¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï &man.mount.8; ¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò ufs ¤È¤ß¤Ê¤·¤Þ¤¹¡£CDROM ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò ¥Þ¥¦¥ó¥È¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð ¤È &man.mount.8; ¤Ë¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤ÆÌÀ¼¨¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï¤â¤Á¤í¤ó CDROM ¤¬ ISO 9660 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤¢¤ë¾ì¹ç¤Ç¤¹¡£¤Û¤È¤ó¤É¤Î CDROM ¤Ï¤³¤Î·Á¼°¤Ç¤¹¡£1.1R ¤Î FreeBSD ¤Ç¤Ï (ÌõÃí: 2.1.5R¡¢ 2.2R ¤Ç¤âƱÍͤǤ¹) ¼«Æ°Åª¤Ë Rock Ridge ³ÈÄ¥ (Ť¤¥Õ¥¡¥¤¥ë̾¤Ø¤ÎÂбþ) ¤ò¤¦¤Þ¤¯²ò¼á¤·¤Þ¤¹¡£ CDROM ¤Î¥Ç¥Ð¥¤¥¹ /dev/cd0c ¤ò /mnt ¤Ë¥Þ¥¦¥ó¥È¤·¤¿¤¤¾ì¹ç¤ÎÎã¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; mount -t cd9660 /dev/cd0c /mnt ¥Ç¥Ð¥¤¥¹¤Î̾Á°¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤Æ¤ÏÊ̤Î̾Á°¤Ë¤Ê¤Ã¤Æ¤¤¤ë ¤«¤â¤·¤ì¤Ê¤¤¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤ (/dev/cd0c ¤Ï¤³¤Î¾ì¹ç¤ÎÎã¤Ç¤¹)¡£ ¥ª¥×¥·¥ç¥ó ¤Ë¤è¤Ã¤Æ mount_cd9660 ¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î¤¿¤áÎã¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ &prompt.root; mount_cd9660 /dev/cd0c /mnt CDROM ¤ò¥Þ¥¦¥ó¥È¤·¤è¤¦¤È¤¹¤ë¤È Device not configured ¤È¸À¤ï¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï °ìÈÌŪ¤Ë CDROM ¥É¥é¥¤¥Ö¤ÎÃæ¤Ë CDROM ¤¬Æþ¤Ã¤Æ¤¤¤Ê¤¤¤«¡¢ ¥É¥é¥¤¥Ö¤¬¥Ð¥¹¾å¤Ë¸«¤¨¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¥É¥é¥¤¥Ö¤Ë CDROM ¤òÆþ¤ì¤ë¤«¡¢IDE (ATAPI) ¤Ç¤¢¤ì¤Ð master/slave ¤Î¾õÂÖ¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢CDROM ¥É¥é¥¤¥Ö¤Ë CDROM ¤òÆþ¤ì¤Æ¤«¤éǧ¼±¤¹¤ë¤Þ¤Ç¤Ë¤Ï¿ôÉ䫤«¤ê¤Þ¤¹¤Î¤Ç¡¢ ¾¯¤·ÂԤäƤߤƤ¯¤À¤µ¤¤¡£ SCSI CDROM ¤Ç¤Ï¥Ð¥¹¥ê¥»¥Ã¥È¤Ø¤Î±þÅú»þ´Ö¤¬ÃÙ¤¤¤¿¤á¤Ë¡¢ ¼ºÇÔ¤¹¤ë¤³¤È¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ SCSI CDROM ¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¹Ô¤ò²Ã¤¨¤Æ ºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ options "SCSI_DELAY=15" ÌõÃí ¸½ºß¤Î GENERIC ¥«¡¼¥Í¥ë¤Ç¤Ï¾å¤ÎÀßÄê¤Ï¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ÌäÂ꤬¤¢¤ë¾ì¹ç¤Ï SCSI_DELAY ¤Î¿ôÃͤòÁý¤ä¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ CDROM ¤ò¥Þ¥¦¥ó¥È¤¹¤ë¤È¡¢¥Õ¥¡¥¤¥ëÌ¾Ãæ¤Î±Ñ¿ô»ú°Ê³°¤Î ʸ»ú¤¬¡¢? ¤Èɽ¼¨¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¤â¤Ã¤È¤â¤¢¤ê¤½¤¦¤Ê¤Î¤Ï¡¢¤½¤Î CDROM ¤¬ Joliet ³ÈÄ¥¤òÍøÍѤ·¤Æ¥Õ¥¡¥¤¥ë¤ª¤è¤Ó ¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Ø¤¹¤ë¾ðÊó¤òÊݸ¤·¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤Î³ÈÄ¥¤Ï¡¢ ¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤ò Unicode ¤Î 2 ¥Ð¥¤¥Èʸ»ú¤ÇÊݸ¤¹¤ë¤è¤¦¤Ë µ¬Äꤷ¤Æ¤¤¤Þ¤¹¡£¸½ºß¡¢FreeBSD ¥«¡¼¥Í¥ë¤ËÈÆÍÑŪ¤Ê Unicode ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òƳÆþ¤¹¤ëºî¶È¤¬¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢ ¤Þ¤À´°Î»¤·¤Æ¤¤¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢CD9660 ¥É¥é¥¤¥Ð¤Ï¥Õ¥¡¥¤¥ë̾¤Îʸ»ú¤ò²òÆÉ¤Ç¤­¤Þ¤»¤ó¡£ °ì»þŪ¤Ê²ò·èºö¤È¤·¤Æ¡¢FreeBSD 4.3R °Ê¹ß¤Ç¤Ï¡¢CD9660 ¥É¥é¥¤¥Ð¤ËÆÃÊ̤ʻųݤ±¤ò»Ü¤·¤Æ¡¢¥æ¡¼¥¶¡¼¤¬¤½¤Î¾ì¤ÇŬÀÚ¤Ê ÊÑ´¹É½¤òÆÉ¤ß¹þ¤á¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£°ìÈÌŪ¤Ê¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ë Âбþ¤·¤¿¤¤¤¯¤Ä¤«¤Î¥â¥¸¥å¡¼¥ë¤¬ sysutils/cd9660_unicode port ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ÌõÃí ¤³¤Îµ­½Ò¤Ï¸Å¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ±Ñ¸ìÈǤε­½Ò¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ »ä¤Î¥×¥ê¥ó¥¿¤Ï¤È¤Æ¤Ä¤â¤Ê¤¯ÃÙ¤¤¤Î¤Ç¤¹¡£ ¤É¤¦¤·¤¿¤é¤è¤¤¤Î¤Ç¤·¤ç¤¦? ¥Ñ¥é¥ì¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¡¢ÌäÂê¤Ï¤È¤ó¤Ç¤â¤Ê¤¯ÃÙ¤¤¤À¤±¤Ç¤¢¤ë¤Ê¤é¡¢ ¥×¥ê¥ó¥¿¥Ü¡¼¥È¤ò polled ¥â¡¼¥É¤ËÀßÄꤷ¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; lptcontrol -p HP ¤Î¿·¤·¤¤¥×¥ê¥ó¥¿¤Ë¤Ï¡¢ ³ä¤ê¹þ¤ß¥â¡¼¥É¤Ç»È¤¨¤Ê¤¤¤â¤Î¤¬¤¢¤ë¤è¤¦¤Ç¤¹ (´°Á´¤Ë¤ï¤«¤Ã¤¿¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬)¡£ ¥¿¥¤¥ß¥ó¥°¤ÎÌäÂê¤Î¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹¡£ ¤ï¤¿¤·¤Î¥×¥í¥°¥é¥à¤Ï»þ¡¹ Signal 11 ¤Î¥¨¥é¡¼¤Ç»ß¤Þ¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ Signal 11 ¥¨¥é¡¼¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬ µö²Ä¤òÍ¿¤¨¤Æ¤¤¤Ê¤¤¥á¥â¥ê¤Ë¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤·¤¿¤È¤­¤ËȯÀ¸¤·¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¤³¤È¤¬¥é¥ó¥À¥à¤Ê´Ö³Ö¤Çµ¯¤Ã¤Æ¤¤¤ë¤è¤¦¤Ê¤é¡¢ Ãí°Õ¿¼¤¯Ä´ºº¤·¤Æ¤¤¤Ã¤¿Êý¤¬Îɤ¤¤Ç¤¹¡£ ¤³¤Î¼ê¤ÎÌäÂê¤Ï¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¡¢°Ê²¼¤Î¤É¤Á¤é¤«¤Ç¤¹¡£ ¤½¤ÎÌäÂ꤬ÆÃÄê¤Î¡¢ ¤¢¤Ê¤¿¤¬¼«Ê¬¤Ç³«È¯¤·¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Î¤ßµ¯¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢ ¤¢¤Ê¤¿¤Î¥³¡¼¥É¤Ë¥Ð¥°¤¬¤¢¤ë¤Î¤Ç¤·¤ç¤¦¡£ ¤½¤ì¤¬ FreeBSD ¤Î¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Î°ìÉô¤È´ØÏ¢¤¹¤ëÌäÂê¤Ê¤é¡¢ ¥³¡¼¥É¤Ë¥Ð¥°¤¬¤¢¤ë¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤·¤«¤·¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢ ÉáÄ̤ΠFAQ ¤ÎÆÉ¼Ô¤¬¤½¤Î¤è¤¦¤Ê¥³¡¼¥É¤ò»È¤¦¤è¤¦¤Ë¤Ê¤ë¤º¤Ã¤ÈÁ°¤Ë¡¢ ¤½¤¦¤¤¤Ã¤¿ÌäÂê¤Ïȯ¸«¤µ¤ì¡¢½¤Àµ¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹ (¤½¤ì¤¬ -current ¤ÎÌòÌܤʤΤǤ¹¤«¤é)¡£ ¤½¤ì¤¬ FreeBSD ¤Î¥Ð¥°¤Ç¤Ï¡Ö¤Ê¤¤¡×¤È¤¤¤¦·èÄêŪ¤Ê¥±¡¼¥¹¤È¤·¤Æ¡¢ ¤½¤ÎÌäÂê¤ÎȯÀ¸¤¬¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤ë¤È¤­¤Ç¤¢¤ê¡¢ ¥³¥ó¥Ñ¥¤¥ëËè¤ËËè²ó¡¢¥³¥ó¥Ñ¥¤¥é¤Îµóư¤¬ÊѤë¤È¤¤¤¦¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¤¢¤Ê¤¿¤¬ make buildworld ¤ò¼Â¹Ô¤·¤Æ¤¤¤Æ¡¢ ¥³¥ó¥Ñ¥¤¥é¤¬ ls.c ¤«¤é ls.o ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤è¤¦¤È¤·¤¿¤È¤­¤Ë ¥³¥ó¥Ñ¥¤¥ë¤Ë¼ºÇÔ¤·¤¿¤È¤·¤Þ¤¹¡£¤â¤¦°ìÅÙ make buildworld ¤ò¼Â¹Ô¤·¤¿¤È¤­¤Ë¡¢¤Þ¤Ã¤¿¤¯Æ±¤¸¾ì½ê¤Ç¥³¥ó¥Ñ¥¤¥ë¤¬¼ºÇÔ¤·¤¿¤Î¤Ê¤é¡¢ ¤½¤ì¤Ï build ¤¬²õ¤ì¤Æ¤¤¤ë (ÌõÃí: ¤Ä¤Þ¤ê¥½¡¼¥¹¤Ë¥Ð¥°¤¬¤¢¤ë) ¤È¸À¤¦¤³¤È¤Ç¤¹ -- ¥½¡¼¥¹¤ò¹¹¿·¤·¤Æ¤ä¤ê¤Ê¤ª¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¥³¥ó¥Ñ¥¤¥ë¤¬Ê̤ξì½ê¤Ç¤·¤¯¤¸¤Ã¤Æ¤¤¤¿¤é¡¢ ¤½¤ì¤Ï¥Ï¡¼¥É¥¦¥§¥¢¤ÎÌäÂê¤Ç¤¹¡£ ¤¢¤Ê¤¿¤Î¤ä¤ë¤Ù¤­»ö¤Ï: Á°¼Ô¤Î¾ì¹ç¤Ï¡¢ ¤½¤Î¥×¥í¥°¥é¥à¤Î´Ö°ã¤Ã¤¿¥¢¥É¥ì¥¹¤Ø¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤·¤Æ¤¤¤ëÉôʬ¤ò¡¢ gdb Åù¤Î¥Ç¥Ð¥Ã¥¬¤Ç¸«¤Ä¤±¤Æ½¤Àµ¤·¤Þ¤¹¡£ ¸å¼Ô¤Î¾ì¹ç¤Ï¡¢ ¥Ï¡¼¥É¥¦¥§¥¢¤ËÌäÂ꤬¤Ê¤¤¤³¤È¤ò³Î¤«¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤½¤Î°ìÈÌŪ¤Ê¸¶°ø¤È¤·¤Æ : ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤¬Ç®¤ò»ý¤Á¤¹¤®¤Æ¤¤¤ë¤«¤âÃΤì¤Þ¤»¤ó: ¥±¡¼¥¹¤Î¥Õ¥¡¥ó¤¬¤Á¤ã¤ó¤Èư¤¤¤Æ¤¤¤Æ¥Ç¥£¥¹¥¯¤òÎä¤ä¤·¤Æ¤¤¤ë¤« ³Î¤«¤á¤Æ¤¯¤À¤µ¤¤ (¤¿¤Ö¤ó¡¢Â¾¤ÎÉôÉʤâ²áÇ®¤·¤Æ¤¤¤Þ¤¹)¡£ CPU ¤¬¥ª¡¼¥Ð¡¼¥Ò¡¼¥È¤·¤Æ¤¤¤Þ¤¹: CPU ¤ò¥ª¡¼¥Ð¡¼¥¯¥í¥Ã¥¯¤·¤Æ¤¤¤Þ¤»¤ó¤«? ¤µ¤â¤Ê¤±¤ì¤Ð CPU ¥Õ¥¡¥ó¤¬»à¤ó¤Ç¤¤¤ë¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤¤¤º¤ì¤Ë¤»¤è¡¢¾¯¤Ê¤¯¤È¤âÌäÂê²ò·è¤Î´Ö¤Ç¤Ï ¥Ï¡¼¥É¥¦¥§¥¢¤¬Æ°¤¯¤Ù¤¯»ØÄꤵ¤ì¤¿¾ò·ï¤Çư¤«¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥¯¥í¥Ã¥¯¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ËÌᤷ¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¤¢¤Ê¤¿¤¬¥¯¥í¥Ã¥¯¥¢¥Ã¥×¤ò¤·¤Æ¤¤¤ë¤Î¤Ê¤é¡¢ ÃÙ¤¤¥·¥¹¥Æ¥à¤Ç¤â¡¢¥·¥¹¥Æ¥à¤¬¾Æ¤­ÉÕ¤¤¤Æ Ç㤤´¹¤¨¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¯¤Ê¤ë¤è¤ê¤º¤Ã¤È¥Þ¥·¤À¤È¤¤¤¦¤³¤È¤ò ³Ð¤¨¤Æ¤ª¤¤¤¿Êý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ Â礭¤¤¥³¥ß¥å¥Ë¥Æ¥£¤Ç¤ÏÆÃ¤Ë¡¢ ¤¢¤Ê¤¿¤¬¤½¤ì¤¬°ÂÁ´¤À¤È»×¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ï´Ø·¸¤Ê¤¯¡¢ ¥ª¡¼¥Ð¡¼¥¯¥í¥Ã¥¯¤·¤¿¥·¥¹¥Æ¥à¤ËȯÀ¸¤·¤¿ÌäÂê¤Ë¤ÏƱ¾ðŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ²ø¤·¤¤¥á¥â¥ê: ¤â¤·Ê£¿ô¤Î SIMM ¤ä DIMM ¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¤½¤ì¤òÁ´ÉôÈ´¤¤¤Æ¤«¤é ³Æ SIMM ¤ä DIMM ¤òÊ̸ĤËÁȤ߹þ¤ó¤À¥·¥¹¥Æ¥à¤òΩ¤Á¾å¤²¤Æ¤ë¤³¤È¤Ç ¤É¤Î DIMM/SIMM ¤¬²ø¤·¤¤¤Î¤«¡¢¤½¤ì¤È¤âÁȹç¤ï¤»¤¬°­¤¤¤Î¤« ¤ÈÌäÂê¤ÎÉý¤¬¶¹¤Þ¤ê¤Þ¤¹¡£ ³Ú´ÑŪ¤¹¤®¤ë¥Þ¥¶¡¼¥Ü¡¼¥É¤ÎÀßÄê: ¤Û¤È¤ó¤É¤Î¾ì¹ç¤Ëɸ½àÀßÄê¤Ç½½Ê¬¤Ê¥¿¥¤¥ß¥ó¥°¤ò¡¢ BIOS ¤ÎÀßÄê¤ä¥Þ¥¶¡¼¥Ü¡¼¥É¾å¤Î¥¸¥ã¥ó¥Ñ¥Ô¥ó¤òÊѤ¨¤ë¤³¤È¤Ç¡¢ ¤µ¤Þ¤¶¤Þ¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤·¤«¤·»þ¤Ë¤Ï RAM ¤Î ¥¢¥¯¥»¥¹¥¦¥§¥¤¥È¤òÄ㤯¤·¤¹¤®¤¿¤ê RAM Speed: Turbo ¤ä ¤½¤Î¼ê¤Î BIOS ¤ÎÀßÄê¤Ç¤ª¤«¤·¤Êµóư¤¬µ¯¤³¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ BIOS ¤òɸ½à¤ÎÀßÄê¤ËÌ᤹¤È¤¤¤¦¤Î¤Ï¤¤¤¤¥¢¥¤¥Ç¥£¥¢¤Ç¤¹¤¬¡¢ ¤½¤ÎÁ°¤Ë¤¢¤Ê¤¿¤ÎÀßÄê¤ò½ñ¤­Î±¤á¤Æ¤ª¤¤¤¿Êý¤¬¤¤¤¤¤Ç¤·¤ç¤¦¡£ ¥Þ¥¶¡¼¥Ü¡¼¥É¤Ø¤ÎÅŸ»¤¬°ÂÄꤷ¤Æ¤¤¤Ê¤¤¡£ ¤â¤·»È¤Ã¤Æ¤¤¤Ê¤¤ I/O ¥Ü¡¼¥É¤ä¥Ï¡¼¥É¥Ç¥£¥¹¥¯¡¢ CDROM Åù¤¬¤¢¤ë¤Ê¤é¡¢°ìö¤½¤ì¤é¤«¤éÅŸ»¥±¡¼¥Ö¥ë¤òÈ´¤­¡¢ ÅŸ»¤¬¾®¤µ¤ÊÉé²Ù¤Ê¤é¤Ê¤ó¤È¤«Æ°ºî¤¹¤ë¤«³Îǧ¤·¤Þ¤·¤ç¤¦¡£ ¤¢¤ë¤¤¤ÏÊ̤ÎÅŸ»¤ò»î¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£ ¤½¤Î»þ¤Ï¤Ê¤ë¤Ù¤¯¡¢¾¯¤·ÍÆÎ̤ÎÂ礭¤¤¤â¤Î¤Ç»î¤·¤Þ¤·¤ç¤¦ (¤¿¤È¤¨¤Ð¡¢º£¤ÎÅŸ»ÍÆÎ̤¬ 250W ¤À¤Ã¤¿¤é 300W ¤Î¤â¤Î¤ò»î¤·¤Þ¤¹)¡£ SIG11 FAQ (²¼¤Ë¼¨¤·¤Þ¤¹) ¤Ë¤Ï¤³¤ì¤é¤ÎÌäÂê¤Î¤¹¤Ù¤Æ¤¬ ¾Ü¤·¤¯ÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Linux ¤Î»ëÅÀ¤Ë´ð¤Å¤¯¤â¤Î¤Ç¤¹¤¬¡¢ ¤³¤ì¤âÆÉ¤ó¤Ç¤ª¤¤¤¿Êý¤¬¤¤¤¤¤Ç¤·¤ç¤¦¡£¤½¤³¤Ç¤Ï¤Þ¤¿¡¢ ¥á¥â¥ê¤Î¥Æ¥¹¥È¤ò¹Ô¤¦¥½¥Õ¥È¥¦¥§¥¢¤ä¡¢ ¥Ï¡¼¥É¥¦¥§¥¢¤¬¤Ê¤¼ÌäÂê¤Î¤¢¤ë¥á¥â¥ê¤ò¸«Æ¨¤·¤Æ¤·¤Þ¤¦¤«¤Ë¤Ä¤¤¤Æ¤â µÄÏÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ºÇ¸å¤Ë¡¢¤³¤ì¤é¤¬¤É¤ì¤â½õ¤±¤Ë¤Ê¤é¤Ê¤«¤Ã¤¿¤é¡¢ FreeBSD ¤Î¥Ð¥°¤òȯ¸«¤·¤¿²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ °Ê²¼¤ÎÀâÌÀ¤òÆÉ¤ó¤Ç¾ã³²Êó¹ð¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¾ÜºÙ¤Ê FAQ ¤Ï¡¢ the SIG11 problem FAQ ¤Ë¤¢¤ê¤Þ¤¹¡£ µ¯Æ°¤Î»þ¤Ë²èÌ̤¬¿¿¤Ã°Å¤Ë¤Ê¤Ã¤ÆÆ±´ü¤â¼è¤ì¤Þ¤»¤ó¡£ ¤³¤ì¤Ï ATI Mach 64 ¥Ó¥Ç¥ª¥«¡¼¥É¤Î´ûÃΤÎÌäÂê¤Ç¤¹¡£ ¤³¤ÎÌäÂê¤Ï¥«¡¼¥É¤¬¥¢¥É¥ì¥¹ 2e8 ¤ò»È¤¤¡¢ 4 ÈÖÌܤΥ·¥ê¥¢¥ë¥Ý¡¼¥È¤â¤³¤³¤ò»È¤¦¤È¤¤¤¦¤³¤È¤Ë¤¢¤ê¤Þ¤¹¡£ &man.sio.4; ¥É¥é¥¤¥Ð¤Î¥Ð¥° (»ÅÍÍ?) ¤Î¤¿¤á¡¢ 4 ÈÖÌܤΥ·¥ê¥¢¥ë¥Ý¡¼¥È¤¬¤Ê¤¯¤Æ¤â¡¢ Ä̾盧¤Î¥¢¥É¥ì¥¹¤ò»È¤¦ sio3 (4 ÈÖÌܤΥݡ¼¥È¤Ë¤¢¤¿¤ê¤Þ¤¹) ¤ò̵¸ú¤Ë¤·¤Æ¤â¡¢¥É¥é¥¤¥Ð¤Ï¤³¤Î¥¢¥É¥ì¥¹¤ò¤µ¤ï¤ê¤Þ¤¹¡£ ¥Ð¥°¤¬½¤Àµ¤µ¤ì¤ë¤Þ¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤ÆÂн褷¤Æ¤¯¤À¤µ¤¤¡£ µ¯Æ°¥×¥í¥ó¥×¥È¤¬½Ð¤¿¤é ¤ÈÆþÎϤ·¤Þ¤¹ (¤³¤ì¤Ë¤è¤ê¥«¡¼¥Í¥ë¤Ï¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¤ËÆþ¤ê¤Þ¤¹)¡£ sio0, sio1, sio2, sio3 (¤³¤ì¤é¤¹¤Ù¤Æ) ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤Ã¤Æ &man.sio.4; ¥É¥é¥¤¥Ð¤Ïưºî¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢ÌäÂê¤Ï¤¢¤ê¤Þ¤»¤ó¡£ exit ¤ÈÆþÎϤ·¤Æµ¯Æ°¤ò³¹Ô¤·¤Þ¤¹¡£ ¤â¤·¥·¥ê¥¢¥ë¥Ý¡¼¥È¤òÍ­¸ú¤Ë¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð°Ê²¼¤ÎÊѹ¹¤ò¹Ô¤Ê¤Ã¤Æ ¿·¤·¤¤¥«¡¼¥Í¥ë¤òºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ /usr/src/sys/i386/isa/sio.c ¤ÎÃæ¤Ç 1 ¥õ½ê¤¢¤ë 0x2e8 ¤È¤¤¤¦Ê¸»úÎó¤òõ¤·¡¢ ¤³¤Îʸ»úÎó¤È¤½¤Î¼êÁ°¤Ë¤¢¤ë¥³¥ó¥Þ¤òºï½ü¤·¤Þ¤¹ (¸å¤í¤Î¥³¥ó¥Þ¤Ï»Ä¤·¤Þ¤¹)¡£ ¸å¤ÏÄ̾ï¤Î¼ê³¤­¤Ë¤·¤¿¤¬¤Ã¤Æ¿·¤·¤¤¥«¡¼¥Í¥ë¤òºî¤ê¤Þ¤¹¡£ ¤³¤ÎÂнè¤ò¹Ô¤Ê¤Ã¤¿¸å¤Ç¤â¤Þ¤À X ¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤Ï¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤½¤Î¾ì¹ç¤Ï¡¢ »ÈÍѤ·¤Æ¤¤¤ë XFree86 ¤¬¤¹¤¯¤Ê¤¯¤È¤â XFree86 3.3.3 °Ê¹ß¤Ç¤¢¤ë¤³¤È¤ò³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤ì°Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ Mach64 ¥«¡¼¥É¤ä¤½¤ì¤é¤Î¥«¡¼¥É¤Î¤¿¤á¤Ë¤Ä¤¯¤é¤ì¤¿ X ¥µ¡¼¥Ð ¤ÎÁȹþ¤ß¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ 128MB ¤Î RAM ¤¬¤¢¤ë¤Î¤Ç¤¹¤¬¡¢64MB ¤·¤«Ç§¼±¤·¤Þ¤»¤ó¡£ FreeBSD ¤¬¥á¥â¥ê¤Î¥µ¥¤¥º¤ò BIOS ¤«¤é¼èÆÀ¤¹¤ëÊýË¡¤ÎÀ©¸Â¤Ë¤è¤ê¡¢ KB ñ°Ì¤Ç 16 ¥Ó¥Ã¥Èʬ¤Þ¤Ç¤·¤«¸¡½Ð¤Ç¤­¤Þ¤»¤ó (¤¹¤Ê¤ï¤ÁºÇÂç 65535KB=64MB ¤Ç¤¹¡£¤³¤ì¤è¤ê¾¯¤Ê¤¤¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ ¤¢¤ë BIOS ¤Î¾ì¹ç¤Ï¥á¥â¥ê¥µ¥¤¥º¤¬ 16MB ¤ËÀ©¸Â¤µ¤ì¤Þ¤¹)¡£ 64MB °Ê¾å¤Î¥á¥â¥ê¤òÀѤó¤Ç¤¤¤ë¾ì¹ç¡¢ FreeBSD ¤Ï¤½¤ì¤ò¸¡½Ð¤·¤è¤¦¤È¤·¤Þ¤¹¡£ ¤·¤«¤·¤½¤Î»î¤ß¤Ï¼ºÇÔ¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢ °Ê²¼¤Ë¼¨¤¹¥«¡¼¥Í¥ë¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ´°Á´¤Ê¥á¥â¥ê¾ðÊó¤ò BIOS ¤«¤é¼èÆÀ¤¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¤¬¡¢ µ¯Æ°¥Ö¥í¥Ã¥¯¤Ë¶õ¤­¤¬Ìµ¤¤¤¿¤á¼ÂÁõ¤Ç¤­¤Þ¤»¤ó¡£ µ¯Æ°¥Ö¥í¥Ã¥¯¤ÎÌäÂ꤬²ò·è¤µ¤ì¤ì¤Ð¡¢ ¤¤¤Ä¤«³ÈÄ¥ BIOS µ¡Ç½¤ò»ÈÍѤ·¤Æ´°Á´¤Ê¥á¥â¥ê¾ðÊó¤ò¼èÆÀ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ ¤È¤ê¤¢¤¨¤º¸½ºß¤Ï¡¢¥«¡¼¥Í¥ë¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£ options "MAXMEM=n" n ¤Ë¤Ï¡¢ ¥­¥í¥Ð¥¤¥Èñ°Ì¤Ç¥á¥â¥ê¤ÎÎ̤ò»ØÄꤷ¤Þ¤¹¡£128MB ¤Î¾ì¹ç¤Ï¡¢131072 ¤È¤Ê¤ê¤Þ¤¹¡£ FreeBSD 2.0 ¤¬ kmem_map too small! ¤È¸À¤Ã¤Æ¥Ñ¥Ë¥Ã¥¯¤·¤Þ¤¹¡£ ¥á¥Ã¥»¡¼¥¸¤Ï¡¢mb_map too small! ¤Î¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¥Ñ¥Ë¥Ã¥¯¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥Ã¥Õ¥¡ (ÆÃ¤Ë mbuf ¥¯¥é¥¹¥¿) ¤Î²¾ÁÛ¥á¥â¥ê¤¬Ìµ¤¯¤Ê¤Ã¤¿¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ °Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Æ mbuf ¥¯¥é¥¹¥¿¤Ë»ÈÍѤǤ­¤ë²¾ÁÛ¥á¥â¥ê¤ÎÎ̤òÁý¤ä¤·¤Æ¤¯¤À¤µ¤¤¡£ options "NMBCLUSTERS=n" n ¤Ë¤Ï¡¢ Ʊ»þ¤Ë»ÈÍѤ·¤¿¤¤ TCP ¥³¥Í¥¯¥·¥ç¥ó¤Î¿ô¤Ë±þ¤¸¤Æ 512 ¤«¤é 4096 ¤Þ¤Ç¤Î¿ôÃͤò»ØÄê¤Ç¤­¤Þ¤¹¡£ ¤È¤ê¤¢¤¨¤º 2048 ¤ò»î¤·¤Æ¤ß¤ë¤Î¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ ¤³¤ì¤Ç¥Ñ¥Ë¥Ã¥¯¤Ï´°Á´¤ÎͽËɤǤ­¤ë¤Ï¤º¤Ç¤¹¡£ mbuf ¥¯¥é¥¹¥¿¤Î³ä¤êÅö¤Æ¡¢»ÈÍѾõ¶·¤Ë¤Ä¤¤¤Æ¤Ï¡¢ netstat -m ¤ÇÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤¹ (&man.netstat.1; ¤ò¤´Í÷¤¯¤À¤µ¤¤)¡£ NMBCLUSTERS ¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 512 + MAXUSERS * 16 ¤Ç¤¹¡£ ¿·¤·¤¤¥«¡¼¥Í¥ë¤ÇºÆµ¯Æ°¤¹¤ë¤È CMAP busy panic ¤È¤Ê¤Ã¤Æ¥Ñ¥Ë¥Ã¥¯¤òµ¯¤³¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë /var/db/kvm_*.db ¤Ë¤ª¤¤¤ÆÈϰϳ°¤Î¥Ç¡¼¥¿¤ò¸¡½Ð¤¹¤ë¤¿¤á¤Î¥í¥¸¥Ã¥¯¤Ï¼ºÇÔ¤¹¤ë¤³¤È¤¬¤¢¤ê¡¢ ¤³¤¦¤·¤¿Ì·½â¤Î¤¢¤ë¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¥Ñ¥Ë¥Ã¥¯¤ò°ú¤­µ¯¤³¤¹¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤¬µ¯¤³¤Ã¤¿¤Ê¤é¡¢¥·¥ó¥°¥ë¥æ¡¼¥¶¤ÇºÆµ¯Æ°¤·¤¿¸å¤Ë¡¢ °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; rm /var/db/kvm_*.db ahc0: brkadrint, Illegal Host Access at seqaddr 0x0 ¤È¤¤¤¦¥¨¥é¡¼¤¬½Ð¤Þ¤¹ ¤³¤ì¤Ï Ultrastor SCSI Host Adapter ¤È¾×ÆÍ¤·¤Æ¤¤¤Þ¤¹¡£ µ¯Æ°»þ¤Ë kernel configuration ¥á¥Ë¥å¡¼¤ËÆþ¤ê¡¢ ÌäÂê¤òµ¯¤³¤·¤Æ¤¤¤ë uha0 ¤ò disable ¤Ë¤·¤Þ¤·¤ç¤¦¡£ sendmail ¤¬ mail loops back to myself ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤ò½Ð¤¹¤Î¤Ç¤¹¤¬¡£ ¤³¤Î»ö¤Ï¡¢sendmail FAQ ¤Ë¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£ * "Local configuration error" ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬½Ð¤Þ¤¹¡£¤¿¤È¤¨¤Ð: 553 relay.domain.net config error: mail loops back to myself 554 <user@domain.net>... Local configuration error ¤Î¤è¤¦¤Êʪ¤Ç¤¹¤¬¡¢¤É¤Î¤è¤¦¤Ë¤·¤¿¤é¤³¤ÎÌäÂê¤ò²ò·è¤Ç¤­¤Þ¤¹¤«? ¤³¤ì¤Ï¡¢¤¿¤È¤¨¤Ð domain.net ¤Î¤è¤¦¤Ê¥É¥á¥¤¥ó°¸¤Æ¤Î¥á¡¼¥ë¤ò MX record ¤Ç ÆÃÄê¤Î¥Û¥¹¥È (¤³¤³¤Ç¤Ï relay.domain.net) ¤ËÁ÷¤í¤¦¤È¤·¤¿¤Î¤Ë¡¢ ¤½¤Î¥Û¥¹¥È¤Ç¤Ï domain.net °¸¤Æ¤Î¥á¡¼¥ë¤ò¼õ¤±¼è¤ì¤ë¤è¤¦¤ÊÀßÄê¤Ë ¤Ê¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£ÀßÄê¤ÎºÝ¤Ë FEATURE(use_cw_file) ¤ò »ØÄꤷ¤Æ¤¢¤ë¾ì¹ç¤Ë¤Ï /etc/sendmail.cw ¤ÎÃæ¤Ë domain.net ¤ò Äɲ䷤Ƥ¯¤À¤µ¤¤¡£¤â¤·¤¯¤Ï¡¢/etc/sendmail.cf ¤ÎÃæ¤Ë "Cw domain.net" ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ ¤â¤Ï¤ä¸½ºß¤Î sendmail FAQ ¤Ï sendmail release ¤È¤Ï°ì½ï¤Ë¤ÏÊݼ餵¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¤·¤«¤·¼¡¤Î¥Í¥Ã¥È¥Ë¥å¡¼¥¹¤ËÄê´üŪ¤ËÅê¹Æ¤µ¤ì¤Æ¤Þ¤¹¡£ comp.mail.sendmail¡¢ comp.mail.misc¡¢ comp.mail.smail¡¢ comp.answers¡¢ news.answers¡£ ¤Þ¤¿¡¢¥á¡¼¥ë·Ðͳ¤Ç¥³¥Ô¡¼¤òÆþ¼ê¤¹¤ë¾ì¹ç¤Ï mail-server@rtfm.mit.edu °¸¤Þ¤ÇËÜʸ¤Ë send usenet/news.answers/mail/sendmail-faq ¤È½ñ¤¤¤ÆÁ÷¤ê¤Þ¤¹¡£ ¥ê¥â¡¼¥È¥Þ¥·¥ó¾å¤Î¥Õ¥ë¥¹¥¯¥ê¡¼¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¤¦¤Þ¤¯Æ°¤«¤Ê¤¤ ¥ê¥â¡¼¥È¥Þ¥·¥ó¤Î¥¿¡¼¥ß¥Ê¥ë¥¿¥¤¥×¤¬ FreeBSD ¤Î¥³¥ó¥½¡¼¥ë¤ÇɬÍפȤµ¤ì¤Æ¤¤¤ë cons25 °Ê³°¤Î¤â¤Î¤Ç¤¹¡£ ¤³¤ÎÌäÂê¤ò²ò·è¤·¤¦¤ëÊýË¡¤Ï¤¤¤í¤¤¤í¤¢¤ê¤Þ¤¹: ¥ê¥â¡¼¥È¥Þ¥·¥ó¤Ë¥í¥°¥¤¥ó¤·¤¿¸å¡¢ ¤½¤Î¥ê¥â¡¼¥È¥Þ¥·¥ó¤¬ ansi ¤« sco ¤Î¥¿¡¼¥ß¥Ê¥ë¥¿¥¤¥×¤òÃΤäƤ¤¤ë¤Ê¤é¡¢ shell ÊÑ¿ô¤Î TERM ¤Ë¤½¤ì¤é¤Î¤¤¤º¤ì¤«¤òÀßÄꤷ¤Þ¤¹¡£ FreeBSD ¤Î¥³¥ó¥½¡¼¥ë¦¤Ç screen ¤Î¤è¤¦¤Ê VT100 ¥¨¥ß¥å¥ì¡¼¥¿¤ò»ÈÍѤ·¤Þ¤¹¡£ screen ¤Ï°ì¤Ä¤Î¥¿¡¼¥ß¥Ê¥ë¤ÎÃæ¤ÇÊ£¿ô¤Î¥»¥Ã¥·¥ç¥ó¤òÊÂÎóÆ°ºî¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤·¡¢ ËÜÍè¤Îµ¡Ç½¤âÍ¥¤ì¤Æ¤¤¤Þ¤¹¡£ ³Æ¡¹¤Î screen ¤Î¥¦¥£¥ó¥É¥¦¤Ï VT100 ¥¿¡¼¥ß¥Ê¥ë¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤¦¤Î¤Ç¡¢ ¥ê¥â¡¼¥È¦¤ÇÀßÄꤵ¤ì¤ë¤Ù¤­ TERM ÊÑ¿ô¤Ï vt100 ¤È¤Ê¤ê¤Þ¤¹¡£ ¥ê¥â¡¼¥È¥Þ¥·¥ó¤Î¥¿¡¼¥ß¥Ê¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë cons25 ¤Î¥¨¥ó¥È¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ ¤³¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ï¥ê¥â¡¼¥È¥Þ¥·¥ó¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë°Í¸¤·¤Þ¤¹¡£ ¥ê¥â¡¼¥È¤Î¥·¥¹¥Æ¥à¤Î¥·¥¹¥Æ¥à´ÉÍý¥Þ¥Ë¥å¥¢¥ë¤¬Ìò¤ËΩ¤Ä¤³¤È¤Ç¤·¤ç¤¦¡£ FreeBSD ¦¤Ç X ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Æ¡¢ ¥ê¥â¡¼¥È¥Þ¥·¥ó¤Ë xterm ¤ä rxvt ¤Î¤è¤¦¤Ê X ¥Ù¡¼¥¹¤Î¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿¤ò»È¤Ã¤Æ¥í¥°¥¤¥ó¤·¤Þ¤¹¡£ (ÌõÃí: ÆüËܸ줬ɬÍפʾì¹ç¤Ï kterm Åù¤ò ÍøÍѤ·¤Þ¤¹) ¥ê¥â¡¼¥È¥Û¥¹¥È¤Î TERM ÊÑ¿ô¤Ï xterm ¤â¤·¤¯¤Ï vt100 (ÌõÃí: ¤â¤·¤¯¤Ï kterm) ¤ËÀßÄꤷ¤Þ¤¹¡£ »ä¤Î¥Þ¥·¥ó¤Ç calcru: negative time... ¤Èɽ¼¨¤µ¤ì¤ë¤Î¤Ç¤¹¤¬ ¤³¤ì¤Ï¡¢³ä¤ê¹þ¤ß¤Ë´ØÏ¢¤¹¤ë¤µ¤Þ¤¶¤Þ¤ÊÉÔ¶ñ¹ç¤Ë¤è¤Ã¤ÆÈ¯À¸¤·¤Þ¤¹¡£ ¤¢¤ë¤¤¤Ï¡¢¤¢¤ë¥Ç¥Ð¥¤¥¹¤¬¸µ¡¹»ý¤Ã¤Æ¤¤¤ë¥Ð¥°¤¬É½Ì̲½¤·¤¿¤Î¤«¤âÃΤì¤Þ¤»¤ó¡£ ¤³¤Î¾É¾õ¤òºÆ¸½¤µ¤»¤ë°ì¤Ä¤ÎÊýË¡¤È¤·¤Æ¡¢¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¾å¤Ç¡¢ TCP/IP ¤ò Â礭¤Ê MTU ¤ÇÁö¤é¤»¤ë¤È¤¤¤¦¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¥°¥é¥Õ¥£¥Ã¥¯¥¢¥¯¥»¥é¥ì¡¼¥¿¤¬¤³¤Î¾É¾õ¤òµ¯¤³¤¹¤³¤È¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ ¤½¤Î¾ì¹ç¤Ï¤Þ¤º¡¢¥«¡¼¥É¤Î³ä¤ê¹þ¤ßÀßÄê¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ÎÌäÂê¤ÎÉûºîÍѤȤ·¤Æ¡¢ ¥×¥í¥»¥¹¤¬ SIGXCPU exceeded cpu time limit ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤È¤È¤â¤Ë½ªÎ»¤·¤Æ¤·¤Þ¤¦¡¢¤È¤¤¤¦¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ 1998 ǯ 11 ·î 29 Æü¤Ë¸ø³«¤µ¤ì¤¿ FreeBSD 3.0 °Ê¹ß¤Ç ¤³¤ÎÌäÂ꤬²ò·è¤·¤Ê¤¤¤Ê¤é¡¢¼¡¤Î sysctl ÊÑ¿ô¤ò¥»¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; sysctl -w kern.timecounter.method=1 ¤³¤ì¤Ï¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ø¶¯¤¤±Æ¶Á¤òÍ¿¤¨¤Þ¤¹¤¬¡¢ ÌäÂê¤ÎȯÀ¸¤ËÈæ¤Ù¤ì¤Ð¤ª¤½¤é¤¯µ¤¤Ë¤Ê¤é¤Ê¤¤ÄøÅ٤Ǥ·¤ç¤¦¡£ ¤â¤·¡¢¤³¤ì¤Ç¤â¤Þ¤ÀÌäÂ꤬»Ä¤ë¤è¤¦¤Ê¤é¡¢ ¥«¡¼¥Í¥ë¥ª¥×¥·¥ç¥ó¤Î NTIMECOUNTER ¤òÂ礭¤ÊÃͤËÁý¤ä¤·¤Æ¤¯¤À¤µ¤¤¡£ NTIMECOUNTER=20 ¤Ë¤Þ¤ÇÁý¤ä¤·¤Æ¤â²ò·è¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ ·×»þ½èÍý¤Î¿®ÍêÀ­¤¬ÊݤƤʤ¤Äø¤Î³ä¤ê¹þ¤ß¤¬¡¢ ¤½¤Î¥Þ¥·¥ó¾å¤Çµ¯¤³¤Ã¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ pcm0 not found ¤È¤¤¤¦É½¼¨¤ò¸«¤¿¤ê ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë¤Ï device pcm0 ¤È ½ñ¤¤¤Æ¤¢¤ë¤Î¤Ë¥µ¥¦¥ó¥É¥«¡¼¥É¤¬ pcm1 ¤È¤·¤Æ ȯ¸«¤µ¤ì¤¿¤ê¤·¤Þ¤¹¡£ ¤³¤ì¤Ï FreeBSD 3.x ¤Ç PCI ¤Î¥µ¥¦¥ó¥É¥«¡¼¥É¤ò»È¤Ã¤Æ¤¤¤ë¤È¤­¤Ë ȯÀ¸¤·¤Þ¤¹¡£pcm0 ¥Ç¥Ð¥¤¥¹¤Ï ISA ¤Î¥«¡¼¥ÉÀìÍѤËͽÌó¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£¤³¤Î¤¿¤á¡¢ ¤¢¤Ê¤¿¤¬ PCI ¥«¡¼¥É¤ò»ý¤Ã¤Æ¤¤¤ë¤È¤­¤Ï¤³¤Î¥¨¥é¡¼¤¬É½¼¨¤µ¤ì¡¢ ¥«¡¼¥É¤Ï pcm1 ¤È¤·¤Æ¸¡½Ð¤µ¤ì¤Þ¤¹¡£ ¤³¤Î·Ù¹ð¤ò¡¢Ã±¤Ë¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤ÎÅö³º¹Ô¤ò device pcm1 ¤ËÊѹ¹¤¹¤ë¤³¤È¤Ç ÍÞÀ©¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤½¤Î»þ¤Ï pcm1 ¤¬ ISA ¥«¡¼¥É¤Î¤¿¤á¤ËͽÌ󤵤졢PCI ¤Î¥«¡¼¥É¤Ï pcm2 ¤È¤·¤Æ (pcm1 not found ¤Î·Ù¹ð¤È¤È¤â¤Ë) ¸¡½Ð¤µ¤ì¤Þ¤¹¡£ PCI ¤Î¥µ¥¦¥ó¥É¥«¡¼¥É¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ê¤é¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ snd0 ¥Ç¥Ð¥¤¥¹¤Î¤«¤ï¤ê¤Ë snd1 ¤òºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ &prompt.root; cd /dev &prompt.root; ./MAKEDEV snd1 ¤³¤Î¾õ¶·¤Ï FreeBSD 4.x ¤Ç¤ÏÀ¸¤¸¤Þ¤»¤ó¡£Â¿¤¯¤ÎÅØÎϤηë²Ì¤è¤ê PnP Ãæ¿´¤Ëºî¤êÂØ¤¨¤é¤ì¡¢ ¸½ºß¡¢pcm0 ¥Ç¥Ð¥¤¥¹¤Ï ISA ¥«¡¼¥ÉÀìÍѤËͽÌ󤵤줿¤â¤Î¤Ç¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ ¥×¥é¥°¥¢¥ó¥É¥×¥ì¥¤¤Î¥«¡¼¥É¤¬Ç§¼±¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿ (¤Þ¤¿¤Ï¡¢unknown ¤Èǧ¼±¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿)¡£ ¸½ºß¤Î FreeBSD 4.x ¤Ï¤è¤ê PnP Ãæ¿´¤Ë ¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤ÎÉûºîÍѤαƶÁ¤Ç¡¢FreeBSD 3.x ¤Çư¤¤¤Æ¤¤¤¿ PnP ¥Ç¥Ð¥¤¥¹ (¤¿¤È¤¨¤Ð¥µ¥¦¥ó¥É¥«¡¼¥É¤äÆâ¢¥â¥Ç¥à) ¤ÎÃæ¤Ë¤Ï¡¢ ư¤«¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£ ¤³¤Îµóư¤Î¸¶°ø¤Ï Peter Wemm ¤¬ freebsd-questions ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë½ñ¤¤¤¿¡¢°Ê²¼¤Î ¡ÖFreeBSD 4.x ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¤È¤³¤íÆâ¢¥â¥Ç¥à¤¬ ¸«¤Ä¤«¤é¤Ê¤¯¤Ê¤Ã¤¿¡×¤È¤¤¤¦¥á¡¼¥ë¤Ç²òÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£ (¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë [] Æâ¤Ë ¥³¥á¥ó¥È¤ò²Ã¤¨¤Þ¤·¤¿)¡£
PnP BIOS ¤Ï¤¢¤é¤«¤¸¤á¡¢[¥â¥Ç¥à¤ò] ¥Ý¡¼¥È¶õ´Ö¤Ë¸ºß¤·¤Æ¤¤¤ë¤«¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£ ¤½¤Î¤¿¤á [3.x ¤Ç¤Ï] ½¾Íè¤Î¼êË¡¤Ë´ð¤Å¤¯ ISA ¥Ç¥Ð¥¤¥¹¤Î¸¡º÷¤Ë¤è¤ê¡¢¥â¥Ç¥à¤Î¸ºß¤ò¡Öȯ¸«¡×¤Ç¤­¤Þ¤¹¡£ 4.0 ¤Î ISA ¥³¡¼¥É¤Ï¡¢¤è¤ê PnP Ãæ¿´¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ [3.x ¤Ç¤Ï] ISA ¥Ç¥Ð¥¤¥¹¤Î¸¡º÷¤¬¡Ö¤Ï¤°¤ì¤¿¡×¥Ç¥Ð¥¤¥¹¤òȯ¸«¤·¤Æ¡¢ ¼¡¤Ë PNP ¥Ç¥Ð¥¤¥¹ ID ¤Î¥Þ¥Ã¥Á¤¬¹Ô¤Ê¤ï¤ì¤ë¤³¤È¤Ç¥ê¥½¡¼¥¹¤Î¶¥¹ç¤¬È¯À¸¤·¡¢ ¥Ç¥Ð¥¤¥¹¤Î¸¡º÷¤Ë¼ºÇÔ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢4.0 ¤Î ISA ¥³¡¼¥É¤Ç¤Ï Æó½Å¤Ë¸¡º÷¤·¤Ê¤¤¤è¤¦¡¢¥×¥í¥°¥é¥Þ¥Ö¥ë¤Ê¥«¡¼¥É¤ò ºÇ½é¤Ë̵¸ú¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢Âбþ¤·¤Æ¤¤¤ë PnP ¥Ï¡¼¥É¥¦¥§¥¢¤Î PnP ID ¤¬¡¢ ͽ¤á¤ï¤«¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡¢¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¥æ¡¼¥¶¤¬¤³¤Îµóư¤Ë¤â¤Ã¤È¼ê¤òÆþ¤ì¤é¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬ TODO ¥ê¥¹¥ÈÃæ¤Ë¤¢¤²¤é¤ì¤Æ¤¤¤Þ¤¹¡£
3.0 ¤Çưºî¤·¤Æ¤¤¤¿¥Ç¥Ð¥¤¥¹¤ò 4.0 ¤Ç¤âưºî¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢ ¤½¤ì¤Î PnP ID ¤òÄ´¤Ù¡¢ISA ¥Ç¥Ð¥¤¥¹¤Î¸¡º÷¤¬ PnP ¥Ç¥Ð¥¤¥¹¤Î¼±Ê̤˻ȤäƤ¤¤ë¥ê¥¹¥È¤Ë¤½¤ì¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥Ç¥Ð¥¤¥¹¤Î¸¡º÷¤Ë»È¤ï¤ì¤ë &man.pnpinfo.8; ¤òÍѤ¤¤Æ¡¢ PnP ID ¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢Æâ¢¥â¥Ç¥à¤Ë´Ø¤¹¤ë &man.pnpinfo.8; ¤Î½ÐÎϤϡ¢ °Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ &prompt.root; pnpinfo Checking for Plug-n-Play devices... Card assigned CSN #1 Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff PnP Version 1.0, Vendor Version 0 Device Description: Pace 56 Voice Internal Plug & Play Modem Logical Device ID: PMC2430 0x3024a341 #0 Device supports I/O Range Check TAG Start DF I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8 [16-bit addr] IRQ: 4 - only one type (true/edge) [more TAG lines elided] TAG End DF End Tag Successfully got 31 resources, 1 logical fdevs -- card select # 0x0001 CSN PMC2430 (0x3024a341), Serial Number 0xffffffff Logical device #0 IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 IRQ 5 0 DMA 4 0 IO range check 0x00 activate 0x01 ɬÍפʾðÊó¤Ï¡¢½ÐÎϤÎËÁƬ¤Ë¤¢¤ë Vendor ID ¹Ô¤Ë¤¢¤ê¤Þ¤¹¡£ ¤«¤Ã¤³¤ÎÃæ¤Î 16 ¿Ê¿ô (Îã¤ÎÃæ¤Ç¤Ï 0x3024a341) ¤¬ PnP ID ¤Ç¡¢ ľÁ°¤Îʸ»úÎó (PMC2430) ¤Ï¥æ¥Ë¡¼¥¯¤Ê ASCII ID ¤Ç¤¹¡£ ¤³¤Î¾ðÊó¤Ï¥Õ¥¡¥¤¥ë /usr/src/sys/isa/sio.c ¤Ë Äɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤Þ¤º¼ºÇÔ¤·¤¿¤È¤­¤ËÈ÷¤¨¤Æ sio.c ¤Î ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë¤Ù¤­¤Ç¤¹¡£¾ã³²Êó¹ð¤òÁ÷¤ë¤¿¤á¤Ë½¤Àµ¥Ñ¥Ã¥Á¤ò ºî¤ë»þ¤Ë¤âɬÍפˤʤë¤Ç¤·¤ç¤¦ (send-pr ¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹¤è¤Í?)¡£ sio.c ¤òÊÔ½¸¤·¤Æ°Ê²¼¤Î¹Ô¤òõ¤·¤Æ¤¯¤À¤µ¤¤¡£ static struct isa_pnp_id sio_ids[] = { ¤½¤·¤Æ¤¢¤Ê¤¿¤Î¥Ç¥Ð¥¤¥¹¤Î¥¨¥ó¥È¥ê¤òÄɲ乤ëÀµ¤·¤¤¾ì½ê¤òõ¤·¤Þ¤¹¡£ ¥¨¥ó¥È¥ê¤Ï°Ê²¼¤Î¤è¤¦¤Ê·Á¤ò¤·¤Æ¤¤¤Æ¡¢&man.pnpinfo.8; ¤Î ½ÐÎϤˤ¢¤ë ¥Ç¥Ð¥¤¥¹¤ÎÀâÌÀ¤ÎÁ´Éô (¤â¤·¼ý¤Þ¤ì¤Ð) ¤«°ìÉô¤È¤È¤â¤Ë¹Ô¤Î±¦¤ÎÊý¤Î¥³¥á¥ó¥ÈÎΰè¤Ë½ñ¤«¤ì¤Æ¤¤¤ë ASCII ¥Ù¥ó¥À ID ¤Ç¥½¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ {0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */ {0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */ {0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */ {0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */ {0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */ ¤¢¤Ê¤¿¤Î¥Ç¥Ð¥¤¥¹¤Î16¿Ê¿ô¤Î¥Ù¥ó¥À ID ¤òÀµ¤·¤¤¾ì½ê¤Ë Äɲä·¡¢¥Õ¥¡¥¤¥ë¤ò¥»¡¼¥Ö¤·¤Æ¥«¡¼¥Í¥ë¤òºî¤êľ¤·¤ÆºÆµ¯Æ°¤·¤Þ¤¹¡£ ¤¢¤Ê¤¿¤Î¥Ç¥Ð¥¤¥¹¤Ï FreeBSD 3.x ¤Î»þ¤ÈƱ¤¸¤è¤¦¤Ë sio ¤È¤·¤Æ¸«¤Ä¤«¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£
top ¤ä systat ¤Î ¼Â¹ÔÃæ¤Ë nlist failed ¤È¤¤¤¦ ¥¨¥é¡¼¤¬¤Ç¤Þ¤¹¡£ ¤³¤Î¥¨¥é¡¼¤Ï¡¢ ¼Â¹Ô¤·¤è¤¦¤È¤·¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ ¤¢¤ë¥«¡¼¥Í¥ë¥·¥ó¥Ü¥ë¤ò¸¡º÷¤·¤¿·ë²Ì¡¢ ²¿¤é¤«¤ÎÍýͳ¤Ç¤½¤Î¸¡º÷¤Ë¼ºÇÔ¤·¤¿¡¢¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢°Ê²¼¤Ë¼¨¤¹¤¤¤º¤ì¤«¤ÎÍýͳ¤Ë¤è¤ë¤â¤Î¤Ç¤¹¡£ ¥«¡¼¥Í¥ë¤È¥æ¡¼¥¶¥é¥ó¥É¤¬Æ±´ü¤·¤Æ¤¤¤Ê¤¤ (¤Ä¤Þ¤ê ¥«¡¼¥Í¥ë¤Ï¿·¤·¤¤¤â¤Î¤ò¹½ÃÛ¤·¤¿¤¬¡¢ installworld ¤Ï¹Ô¤Ê¤Ã¤Æ¤¤¤Ê¤¤¡£ ¤¢¤ë¤¤¤Ï¤½¤ÎµÕ) ¤Î¤Ç¡¢ ¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤¬¥æ¡¼¥¶¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¹Í¤¨¤Æ¤¤¤ë¤â¤Î¤È°Û¤Ê¤Ã¤Æ¤¤¤ë¡£ ¤â¤·¤³¤Î¥±¡¼¥¹¤Ê¤é¡¢°ìÏ¢¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¼ê½ç¤Ë½¾¤Ã¤Æ¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¹Ô¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤ (Àµ¤·¤¤¤ä¤êÊý¤Ï /usr/src/UPDATING ¤Ë½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹)¡£ ¥«¡¼¥Í¥ë¤ò¥í¡¼¥É¤¹¤ë¤Î¤Ë /boot/loader ¤ò»È¤ï¤º¡¢ ľÀÜ boot2 (&man.boot.8; »²¾È) ¤«¤é¥í¡¼¥É¤·¤Æ¤¤¤ë¡£ ¤â¤Á¤í¤ó /boot/loader ¤ò»È¤ï¤Ê¤¯¤È¤âÌäÂê¤Ï¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ /boot/loader ¤Ï°ìÈÌŪ¤Ë¡¢ ¥æ¡¼¥¶¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é¥«¡¼¥Í¥ë¥·¥ó¥Ü¥ë¤ò ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Îµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ &man.ssh.1; ¤ä &man.telnet.1; ¤Ç¥³¥ó¥Ô¥å¡¼¥¿¤ËÀܳ¤¹¤ë ¤Î¤Ë¡¢¤É¤¦¤·¤Æ¤³¤ó¤Ê¤Ë»þ´Ö¤¬¤«¤«¤ë¤Î¤Ç¤¹¤«? ¾É¾õ: TCP ¥³¥Í¥¯¥·¥ç¥ó¤¬³ÎΩ¤·¤Æ¤«¤é¡¢ ¥¯¥é¥¤¥¢¥ó¥È¥½¥Õ¥È¥¦¥§¥¢¤¬¥Ñ¥¹¥ï¡¼¥É¤ò¿Ò¤Í¤Æ¤¯¤ë¤Þ¤Ç (&man.telnet.1; ¤Î¾ì¹ç¤Ï¡¢¥í¥°¥¤¥ó¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤ë¤Þ¤Ç) ¤ËŤ¤»þ´Ö¤¬¤«¤«¤ë¡¢¤È¤¤¤¦¤â¤Î¡£ ÌäÂê: ¤ª¤½¤é¤¯¡¢¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤¬¥¯¥é¥¤¥¢¥ó¥È¤Î IP ¥¢¥É¥ì¥¹¤«¤é¥Û¥¹¥È̾¤ò²ò·è¤·¤è¤¦¤È¤·¤Æ¡¢Ã٤줬À¸¤¸¤Æ¤¤¤ë ¤Î¤Ç¤·¤ç¤¦¡£FreeBSD ¤ËÉÕ°¤¹¤ë SSH ¤ä Telnet ¤ò´Þ¤à¿¤¯¤Î ¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤Ï¡¢¤³¤Î̾Á°²ò·è¤ò¤ª¤³¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢ ´ÉÍý¼Ô¤¬¸åÆü»²¾È¤¹¤ë¥í¥°¥Õ¥¡¥¤¥ë¤Ë¡¢¤½¤Î¾¤Î¾ðÊó¤È°ì½ï¤Ë ¥Û¥¹¥È̾¤òµ­Ï¿¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤Î¤¬ÌÜŪ¤Ç¤¹¡£ ÂнèË¡: ¤â¤·¡¢¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿ (¥¯¥é¥¤¥¢¥ó¥È) ¤«¤é¤É¤Î¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¾ì¹ç¤Ë¤âÌäÂ꤬µ¯¤³¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¥¯¥é¥¤¥¢¥ó¥È¤ËÌäÂ꤬¤¢¤ê¤Þ¤¹¡£¤½¤·¤Æ¡¢Ã¯¤«¤¬¤¢¤Ê¤¿¤Î ¥³¥ó¥Ô¥å¡¼¥¿ (¥µ¡¼¥Ð) ¤ËÀܳ¤¹¤ë¤È¤­¤À¤±ÌäÂ꤬µ¯¤³¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¤½¤Î¥µ¡¼¥Ð¤ÎÌäÂê¤Ç¤¹¡£ ÌäÂ꤬¥¯¥é¥¤¥¢¥ó¥È¤Ë¤¢¤ë¾ì¹ç¡¢Í£°ì¤ÎÂнèË¡¤Ï ¥µ¡¼¥Ð¤¬¤½¤Î¥¯¥é¥¤¥¢¥ó¥È¤Î̾Á°¤ò²ò·è¤Ç¤­¤ë¤è¤¦¤Ë DNS ¤ò½¤Àµ¤¹¤ë¤³¤È¤Ç¤¹¡£ ¾É¾õ¤¬¥í¡¼¥«¥ë¥Í¥Ã¥È¥ï¡¼¥¯¤ÇȯÀ¸¤·¤Æ¤¤¤ë¤Ê¤é¡¢¥µ¡¼¥Ð¤ÎÀßÄê¤Ë ¸¶°ø¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¤Þ¤Þ³¤­¤òÆÉ¤ß¤Þ¤·¤ç¤¦¡£ ¤½¤¦¤Ç¤Ï¤Ê¤¯¡¢¥°¥í¡¼¥Ð¥ë¤Ê¥¤¥ó¥¿¡¼¥Í¥Ã¥È´Ä¶­¤ÇȯÀ¸¤·¤Æ¤¤¤ë¤Ê¤é¡¢ ISP ¤ËÏ¢Íí¤·¤ÆÌäÂê¤Î½¤Àµ¤ò¤ª´ê¤¤¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤²ÄǽÀ­¤¬¹â¤¤¤Ç¤·¤ç¤¦¡£ ÌäÂ꤬¥µ¡¼¥Ð¤Ë¤¢¤Ã¤Æ¡¢¾É¾õ¤¬¥í¡¼¥«¥ë¥Í¥Ã¥È¥ï¡¼¥¯¤Ç ȯÀ¸¤·¤Æ¤¤¤ë¤Ê¤é¡¢¥í¡¼¥«¥ë¤Î¥¢¥É¥ì¥¹ÈϰϤˤ¢¤ë¥¢¥É¥ì¥¹¤ò¡¢ ¤½¤ì¤ËÂбþ¤¹¤ë¥Û¥¹¥È̾¤Ë²ò·è¤¹¤ëÌä¹ç¤»¤ò½èÍý¤Ç¤­¤ë¤è¤¦¤Ë¡¢ ¥µ¡¼¥Ð¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¾Ü¤·¤¯¤Ï¡¢&man.hosts.5; ¤ª¤è¤Ó &man.named.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¤ò¤´Í÷¤¯¤À¤µ¤¤¡£¥°¥í¡¼¥Ð¥ë¤Ê¥¤¥ó¥¿¡¼¥Í¥Ã¥È´Ä¶­¤Î¾ì¹ç¤Ï¡¢ ¥µ¡¼¥Ð¤Î¥ê¥¾¥ë¥Ð¤¬Àµ¤·¤¯Æ°ºî¤·¤Æ¤¤¤Ê¤¤¤Î¤¬¸¶°ø¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ³Îǧ¤¹¤ë¤Ë¤Ï¡¢Â¾¤Î¥Û¥¹¥È (¤¿¤È¤¨¤Ð www.yahoo.com) ¤ò°ú¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤¦¤Þ¤¯¤¤¤«¤Ê¤±¤ì¤Ð¡¢¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ÎÌäÂê¤Ç¤¹¡£ file: table is full ¤È¤¤¤¦ ¥á¥Ã¥»¡¼¥¸¤¬·«¤êÊÖ¤· dmesg ¤Ë¤¢¤é¤ï¤ì¤Þ¤¹¡£ ¤³¤Î¥¨¥é¡¼¤Ï¡¢¥·¥¹¥Æ¥à¤Î¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤ò»È¤¤²Ì¤¿¤·¤Æ ¤·¤Þ¤Ã¤¿»þ¤ËȯÀ¸¤·¤Þ¤¹¡£¥á¥â¥êÃæ¤Î¥Õ¥¡¥¤¥ë¥Æ¡¼¥Ö¥ë¤¬°ìÇÕ¤Ë ¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¡£ ²ò·èË¡: ¼êư¤Ç sysctl ÊÑ¿ô kern.maxfiles ¤Î¸Â³¦ÃͤòÄ´À°¤·¤Þ¤¹¡£ &prompt.root; sysctl -w kern.maxfiles=n n ¤Ï¡¢¥·¥¹¥Æ¥àÍ×·ï¤Ë¹ç¤ï¤»¤Æ¤¯¤À¤µ¤¤¡£ ¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¢¥½¥±¥Ã¥È¤Þ¤¿¤Ï fifo ¤Î¤½¤ì¤¾¤ì¤¬ ¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤ò¾ÃÈñ¤·¤Þ¤¹¡£µ¬ÌϤÎÂ礭¤Ê¥µ¡¼¥Ð¤Ï¡¢ Ʊ»þ¤Ë¼Â¹Ô¤µ¤ì¤ë¥µ¡¼¥Ó¥¹¤Ë±þ¤¸¤Æ¡¢¤¤¤È¤â¤¿¤ä¤¹¤¯²¿Ëü¤â¤Î ¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤òÍ׵ᤷ¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¤ËÀßÄꤵ¤ì¤¿¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤Î ¿ô¤ò·èÄꤹ¤ë¤Î¤Ï¡¢¼¡¤Î maxusers 32 ¥«¡¼¥Í¥ëÀßÄê¥Õ¥¡¥¤¥ë¤Î maxusers ¹Ô ¤Ç¤¹¡£kern.maxfiles ¤Ï¤³¤ÎÃͤËÈæÎ㤷¤Æ Áý²Ã¤·¤Þ¤¹¡£ ¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ë kern.maxfiles ¤Î Ãͤϡ¢¼¡¤Î¥³¥Þ¥ó¥É¤ÇÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; sysctl kern.maxfiles kern.maxfiles: 1064 laptop ¤Î»þ´Ö¤¬¶¸¤Ã¤Æ¡¢Â礭¤¯¿Ê¤ó¤À¤êÃ٤줿¤ê¤·¤Þ¤¹¡£ laptop ¤Ë¤ÏÆó¤Ä°Ê¾å¤Î»þ·×¤¬Æâ¢¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢FreeBSD ¤¬´Ö°ã¤Ã¤¿Êý¤òÁªÂò¤·¤Æ»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ &man.dmesg.8; ¤ò¼Â¹Ô¤·¤Æ Timecounter ¤ò´Þ¤à¹Ô¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ºÇ¸å¤Ë½ÐÎϤµ¤ì¤¿¹Ô¤¬ FreeBSD ¤¬ÁªÂò¤·¤¿¤â¤Î¤Ç¡¢¤Þ¤º´Ö°ã¤¤ ¤Ê¤¯ TSC ¤Ç¤·¤ç¤¦¡£ &prompt.root; dmesg | grep Timecounter Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 595573479 Hz &man.sysctl.3; ÊÑ¿ô kern.timecounter.hardware ¤ò³Îǧ¤¹¤ì¤Ð ΢ÉÕ¤±¤¬¤È¤ì¤Þ¤¹¡£ &prompt.root; sysctl kern.timecounter.hardware kern.timecounter.hardware: TSC ¥Ð¥Ã¥Æ¥ê¶îư¤·¤Æ¤¤¤ë»þ¤Ë¡¢BIOS ¤¬ CPU ¤Î®ÅÙ¤òÊѤ¨¤ë¤¿¤á¤Ë TSC ¥¯¥í¥Ã¥¯¤òÊѹ¹¤·¤¿¤ê¡¢ÅÅÎÏÀáÌó¥â¡¼¥É¤ËÆþ¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¤·¤«¤·¡¢FreeBSD ¤Ï¤½¤¦¤¤¤Ã¤¿Ä´À°¤ò´ØÃΤ·¤Ê¤¤¤Î¤Ç¡¢ »þ´Ö¤¬Áá¤Þ¤Ã¤¿¤êÃ٤줿¤ê¤¹¤ë¤è¤¦¤Ç¤¹¡£ ¾åµ­¤ÎÎã¤Ç¤Ï¡¢i8254 ¥¯¥í¥Ã¥¯¤âÍøÍѤǤ­¤Þ¤¹¡£ &man.sysctl.3; ÊÑ¿ô kern.timecounter.hardware ¤Ë¤½¤Î̾¾Î¤ò½ñ¤­¹þ¤ó¤ÇÁªÂò¤Ç¤­¤Þ¤¹¡£ &prompt.root; sysctl -w kern.timecounter.hardware=i8254 kern.timecounter.hardware: TSC -> i8254 ¤³¤ì¤Ç¡¢laptop ¤Ï¤è¤êÀµ³Î¤Ê»þ´Ö¤ò¹ï¤à¤Ç¤·¤ç¤¦¡£ ¤³¤ÎÊѹ¹¤òµ¯Æ°»þ¤Ë¼«Æ°¤Ç¹Ô¤¦¤Ë¤Ï¡¢¼¡¤Î¹Ô¤ò /etc/sysctl.conf ¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ kern.timecounter.hardware=i8254 BIOS ²èÌ̤¬½Ð¤¿¸å¡¢FreeBSD ¤Î¥Ö¡¼¥È¥í¡¼¥À¤¬ Read error ¤Èɽ¼¨¤·¤Æ»ß¤Þ¤Ã¤Æ ¤·¤Þ¤¤¤Þ¤¹¡£ FreeBSD ¤Î¥Ö¡¼¥È¥í¡¼¥À¤¬¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Î¥¸¥ª¥á¥È¥ê¤òÀµ¤·¤¯ ǧ¼±¤·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ç¤¹¡£FreeBSD ¤Î¥¹¥é¥¤¥¹¤ò fdisk ¤Ë¤è¤Ã¤Æ¼êư¤ÇºîÀ®¤·¤¿¤êÊѹ¹¤·¤¿¤ê¤¹¤ëºÝ¤Ë¡¢ ¥¸¥ª¥á¥È¥ê¤ò¸í¤Ã¤Æ»ØÄꤷ¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¡£ ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Î¥¸¥ª¥á¥È¥ê¤ÎÀµ¤·¤¤Ãͤϡ¢¥Þ¥·¥ó¤Î BIOS ¤«¤é ÆÀ¤é¤ì¤Þ¤¹¡£¤½¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Î¥·¥ê¥ó¥À¡¢¥Ø¥Ã¥É¡¢¥»¥¯¥¿¤Î ¿ô¤òõ¤·¤Æ¤¯¤À¤µ¤¤¡£ &man.sysinstall.8; ¤Î fdisk ¤Ë¤ª¤¤¤Æ¡¢ G ¤òÆþÎϤ·¤Æ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Î¥¸¥ª¥á¥È¥ê¤ò ÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¥·¥ê¥ó¥À¡¢¥Ø¥Ã¥É¡¢¥»¥¯¥¿¤Î¿ô¤òÆþÎϤ¹¤ë¥À¥¤¥¢¥í¥°¤¬½Ð¤Æ¤­¤Þ¤¹¡£ BIOS ¤«¤éÆÀ¤¿Ãͤò¼ÐÀþ (/) ¤Ç¶èÀÚ¤Ã¤ÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ 5000 ¥·¥ê¥ó¥À¡¢250 ¥Ø¥Ã¥É¡¢60 ¥»¥¯¥¿¤Ê¤é¡¢ 5000/250/60 ¤ÈÆþÎϤ·¤Þ¤¹¡£ ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤·¤ÆÃͤòÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤«¤é W ¤òÆþÎϤ·¤Æ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ë¿·¤·¤¤¥Ñ¡¼¥Æ¥£ ¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¤ò½ñ¤­¹þ¤ó¤Ç¤¯¤À¤µ¤¤¡£ Ê̤Υª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬¡¢¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤ò ²õ¤·¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£¤É¤¦¤¹¤ì¤ÐÉüµì¤Ç¤­¤ë¤Ç¤·¤ç¤¦¤«¡£ &man.sysinstall.8; ¤òΩ¤Á¾å¤²¤Æ Configure (ÀßÄê)¡¢Fdisk ¤Î½ç¤ËÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤¬ÃÖ¤«¤ì¤Æ¤¤¤¿ ¥Ç¥£¥¹¥¯¤òÁªÂò¤·¤Æ¡¢¥¹¥Ú¡¼¥¹¥­¡¼¤ò ²¡¤·¤Æ¤¯¤À¤µ¤¤¡£W ¤ò²¡¤·¤ÆÊѹ¹¤ò ¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ó¤Ç¤¯¤À¤µ¤¤¡£¤É¤Î¥Ö¡¼¥È¥í¡¼¥À¤ò ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¿Ò¤Í¤é¤ì¤Þ¤¹¡£¤³¤³¤ÇÁªÂò¤¹¤ì¤ÐÌ᤻¤Þ¤¹¡£
¾¦ÍÑ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó Ìõ: »³²¼ ½ß junkun@esys.tsukuba.ac.jp¡¢ 1997 ǯ 11 ·î 10 Æü ¤³¤Î¾Ï¤Ï¤Þ¤À¤Þ¤À¾ðÊó¤¬Â­¤ê¤Þ¤»¤ó¡£ ¾ðÊó¤òÄɲ䷤Ƥ¯¤ì¤ë¤è¤¦¤Ê´ë¶È¤òÂÔ¤Á˾¤ó¤Ç¤¤¤Þ¤¹¡£ FreeBSD ¥°¥ë¡¼¥×¤Ï¤³¤³¤ËºÜ¤Ã¤Æ¤¤¤ë´ë¶È¤«¤é¤Î¶âÁ¬Åª¤Ê»Ù±ç¤ò´üÂÔ¤·¤Æ¤Ï¤¤¤Þ¤»¤ó¤Î¤Ç¡¢ Êô»Åºî¶È¤Î°ì¤Ä¤È¤·¤Æ·ÇºÜ¤·¤Æ¤¤¤Þ¤¹ (¤½¤·¤Æ FreeBSD ¤¬·¸¤ï¤ëÀëÅÁ¤Ï¡¢Ä¹¤¤ÌܤǸ«¤ë¤È FreeBSD ¤ËÂФ·¤Æ¤è¤¤Êý¸þ¤ØÆ¯¤¯¤È»×¤Ã¤Æ¤¤¤Þ¤¹)¡£ »ä¤¿¤Á¤Ï¾¦ÍÑ¥½¥Õ¥È¥¦¥§¥¢¥Ù¥ó¥À¤Ë¡¢ ¤³¤³¤ÇÀ½ÉʤòÀëÅÁ¤·¤Æ¤â¤é¤¦¤³¤È¤ò˾¤ó¤Ç¤¤¤Þ¤¹¡£¾Ü¤·¤¯¤Ï¡¢ ¾¦ÍÑ¥½¥Õ¥È¥¦¥§¥¢¥Ù¥ó¥ÀÍ÷¤Î¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ FreeBSD ÍѤΥª¥Õ¥£¥¹¥¹¥¤¡¼¥È¤Ï¤É¤³¤ÇÆþ¼ê¤Ç¤­¤Þ¤¹¤«? BSDi ¤Ï FreeBSD ¥Í¥¤¥Æ¥£¥ÖÈǤΠVistaSource ApplixWare 5 ¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ ApplixWare ¤Ï¡¢¹ë²Ú¤Çµ¡Ç½ËþºÜ¤Î FreeBSD ¸þ¤±¤Î ¾¦ÍÑ¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È¤Ç¡¢¥ï¡¼¥É¥×¥í¥»¥Ã¥µ¡¢É½·×»»¡¢ ¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó¥½¥Õ¥È¥¦¥§¥¢¡¢¥Ù¥¯¥¿ÉÁ²è¥½¥Õ¥È¥¦¥§¥¢¡¢ ¤½¤Î¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò·¤¨¤Æ¤¤¤Þ¤¹¡£ FreeBSD ÈǤΠApplixWare ¤Î¹ØÆþ¤Ï ¤³¤Á¤é¤«¤é¤É¤¦¤¾¡£ Linux ÈǤΠStarOffice ¤Ï FreeBSD ¤Ç´°àú¤Ëưºî¤·¤Þ¤¹¡£Linux ÈǤΠStarOffice ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ï¡¢FreeBSD Ports ¥³¥ì¥¯¥·¥ç¥ó¤òÍøÍѤ¹¤ë¤³¤È¤Ç¤¹¡£ ¤Þ¤¿¡¢¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î OpenOffice ¤â¾­Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Çưºî¤¹¤ë¤Ç¤·¤ç¤¦¡£ FreeBSD ÍѤΠMotif ¤Ï¤É¤¦¤ä¤Ã¤¿¤é¼ê¤ËÆþ¤ê¤Þ¤¹¤« FreeBSD ÍѤÎÎ÷²ÁÈÇ ELF Motif 2.1.20 (i386 ÈÇ¡¢Alpha ÈÇ) ¤Ë´Ø¤¹¤ë¾ðÊó¤ÏApps2go ¤«¤é ¼ê¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ÎÀ½Éʤˤϡ¢¡Ö³«È¯¼ÔÈÇ (development edition)¡× ¤È¡¢ ¤è¤ê°Â²Á¤Ê¡Ö¥é¥ó¥¿¥¤¥àÈÇ (runtime edition)¡× ¤ÎÆó¤Ä¤ÎÈǤ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤ÎÀ½Éʤϰʲ¼¤Îʪ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ OSF/Motif manager¡¢xmbind¡¢panner¡¢wsm¡£ uil¡¢mrm¡¢xm¡¢xmcxx¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ä Imake ¥Õ¥¡¥¤¥ë¤È¤¤¤Ã¤¿³«È¯¼Ô¸þ¤±¥­¥Ã¥È FreeBSD 3.0 °Ê¹ß¤ÇÍøÍѤǤ­¤ë ELF ÈÇ¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¡¢ ¤ª¤è¤Ó¥À¥¤¥Ê¥ß¥Ã¥¯¥é¥¤¥Ö¥é¥ê ¥Ç¥â¥ó¥¹¥È¥ì¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à Ãíʸ¤¹¤ëºÝ¤Ë¤Ï FreeBSD ÍѤΠMotif ¤Ç¤¢¤ë¤³¤È¤ò¤­¤Á¤ó¤È ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤ (¤¢¤Ê¤¿¤ÎÍߤ·¤¤¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ò»ØÄꤹ¤ë¤Î¤â ˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤!)¡£NetBSD ¤ä OpenBSD ÍѤΠMotif ¤â¤Þ¤¿¡¢ Apps2go¤«¤éÈÎÇ䤵¤ì¤Æ¤¤¤Þ¤¹¡£¸½ºß¡¢FTP ¤Ë¤è¤ë ¥À¥¦¥ó¥í¡¼¥É¤Î¤ßÍøÍѲÄǽ¤Ç¤¹¡£ ¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï Apps2go WWW page Ì䤤¹ç¤ï¤»¤Ï Sales ¤Þ¤¿¤Ï Support ÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¡£ ¤â¤·¤¯¤Ï phone (817) 431 8775 or +1 817 431-8775 ¾¤Î FreeBSD ÍÑ Motif 2.1 (ELF ÈÇ¡¢a.out ÈÇ) ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï Metro Link ¤«¤é¼ê¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ÎÀ½Éʤϰʲ¼¤Îʪ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ OSF/Motif manager¡¢xmbind¡¢panner¡¢wsm¡£ uil¡¢mrm¡¢xm¡¢xmcxx¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ä Imake ¥Õ¥¡¥¤¥ë¤È¤¤¤Ã¤¿³«È¯¼Ô¸þ¤±¥­¥Ã¥È ¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¡¢¤ª¤è¤Ó¥À¥¤¥Ê¥ß¥Ã¥¯¥é¥¤¥Ö¥é¥ê¡£ (FreeBSD 3.0 °Ê¹ß¤ÇÍøÍѤǤ­¤ë ELF ÈǤ«¡¢ FreeBSD 2.2.8 °ÊÁ°¤ÇÍøÍѤǤ­¤ë a.out ÈǤò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤) ¥Ç¥â¥ó¥¹¥È¥ì¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à À°·ÁºÑ¤ß¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸ Ãíʸ¤¹¤ëºÝ¤Ë¤Ï FreeBSD ÍѤΠMotif ¤Ç¤¢¤ë¤³¤È¤ò¤­¤Á¤ó¤È ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£Linux ÍѤΠMotif ¤â Metro Link ¤«¤éÈÎÇ䤵¤ì¤Æ¤¤¤Þ¤¹¡£¸½ºß¡¢CDROM ¤ª¤è¤Ó FTP ¤Ë¤è¤ë¥À¥¦¥ó¥í¡¼¥É¤¬ÍøÍѲÄǽ¤Ç¤¹¡£ FreeBSD ÍѤΠa.out ÈÇ Motif 2.0 ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï Xi Graphics ¤«¤é ¼ê¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ÎÀ½Éʤˤϰʲ¼¤Îʪ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ OSF/Motif manager¡¢xmbind¡¢panner¡¢wsm¡£ uil¡¢mrm¡¢xm¡¢xmcxx¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ä Imake ¥Õ¥¡¥¤¥ë¤È¤¤¤Ã¤¿³«È¯¼Ô¸þ¤±¥­¥Ã¥È FreeBSD 2.2.8 °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÇÍøÍѤǤ­¤ë¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¡¢ ¤ª¤è¤Ó¥À¥¤¥Ê¥ß¥Ã¥¯¥é¥¤¥Ö¥é¥ê ¥Ç¥â¥ó¥¹¥È¥ì¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à À°·ÁºÑ¤ß¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸ Ãíʸ¤¹¤ëºÝ¤Ë¤Ï FreeBSD ÍѤΠMotif ¤Ç¤¢¤ë¤³¤È¤ò¤­¤Á¤ó¤È ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£BSDI ¤ä Linux ÍѤΠMotif ¤â¤Þ¤¿¡¢Xi Graphics ¤«¤éÈÎÇ䤵¤ì¤Æ¤¤¤Þ¤¹¡£¸½ºß¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯ 4ËçÁȤǤ¹¤¬¡¢ ¾­ÍèŪ¤Ë¤Ï CDE ¤Î¤è¤¦¤ËÅý¹ç¤µ¤ì¤¿ CD ¤ËÊѤï¤ë¤Ç¤·¤ç¤¦¡£ FreeBSD ÍѤΠCDE ¤Ï¤É¤¦¤ä¤Ã¤¿¤é¼ê¤ËÆþ¤ê¤Þ¤¹¤« °ÊÁ° Xi Graphics ¤è¤ê FreeBSD ÍѤΠCDE ¤¬ ÈÎÇ䤵¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¸½ºß¤Ï´û¤ËÈÎÇ䤬½ªÎ»¤·¤Æ¤¤¤Þ¤¹¡£ KDE ¿¤¯¤ÎÅÀ¤Ç CDE ¤ÈÎà»÷¤·¤Æ¤¤¤ë¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î X11 ¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤Ç¤¹¡£ xfce ¤Î ¥ë¥Ã¥¯ & ¥Õ¥£¡¼¥ë (ÌõÃí: ³°´Ñ¤äÁàºîÊýË¡¤Î¤³¤È) ¤âµ¤¤ËÆþ¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£ KDE¡¢xfce ¤Ï¡¢¤¤¤º¤ì¤â FreeBSD Ports Collection ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¹âµ¡Ç½¤Ê¾¦ÍÑ X ¥µ¡¼¥Ð¤Ã¤Æ¤¢¤ë¤ó¤Ç¤¹¤«? ¤Ï¤¤¡¢Xi Graphics ¤È Metro Link ¤«¤é¡¢FreeBSD ¤Û¤« Intel ¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¤Çưºî¤¹¤ë Accelerated-X ¤È¤¤¤¦À½Éʤ¬ÈÎÇ䤵¤ì¤Æ¤¤¤Þ¤¹¡£ Metro Link ¤Ï¡¢FreeBSD ¤Î¥Ñ¥Ã¥±¡¼¥¸Áàºî¥Ä¡¼¥ë¤òÍøÍѤ¹¤ë¤³¤È¤Ç ÍÆ°×¤ËÀßÄ꤬¹Ô¤Ê¤¨¤ë¤Û¤«¡¢¿ô¿¤¯¤Î¥Ó¥Ç¥ª¥Ü¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤¿ ¹âµ¡Ç½¤Ê X ¥µ¡¼¥Ð¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ÇÛÉۤϥХ¤¥Ê¥ê·Á¼°¤Î¤ß¤Ç¡¢ FTP ¤¬ÍøÍѲÄǽ¤Ç¤¹¡£¤â¤Á¤í¤ó¡¢¤È¤Æ¤â°Â²Á ($39) ¤Ë¼ê¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢Metro Link ¤Ï ELF ÈÇ¡¢a.out ÈǤΠFreeBSD ÍÑ Motif ¤âÈÎÇ䤷¤Æ¤¤¤Þ¤¹ (Á°¤ò»²¾È)¡£ ¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï Metro Link WWW page Ì䤤¹ç¤ï¤»¤Ï Sales ¤Þ¤¿¤Ï Support ÅŻҥ᡼¥ë¥¢¥É¥ì¥¹ ¤â¤·¤¯¤Ï phone (954) 938-0283 or +1 954 938-0283 Xi Graphics ¤¬Ä󶡤·¤Æ¤¤¤ë¹âÀ­Ç½¤Ê X ¥µ¡¼¥Ð¤Ï³Ú¤ËÀßÄê¤ò¹Ô¤Ê¤¨¤ë¤Û¤«¡¢ ¿ô¿¤¯¤Î¥Ó¥Ç¥ª¥Ü¡¼¥É ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥µ¡¼¥Ð¤Ï¥Ð¥¤¥Ê¥ê¤Î¤ß¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ FreeBSD ÍÑ¤È Linux ÍѤÎÅý¹ç¤µ¤ì¤¿¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ËÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£ Xi Graphics ¤Ï Laptop ¥µ¥Ý¡¼¥È¤ËÆÃ²½¤·¤¿¹âÀ­Ç½ X ¥µ¡¼¥Ð¤âÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ ¥Ð¡¼¥¸¥ç¥ó 5.0 ¤Î¡Ö¸ß´¹¥Ç¥â¡×¤¬ÌµÎÁ¤ÇÆþ¼ê¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿ Xi Graphics ¤Ï FreeBSD ÍѤΠMotif ¤È CDE ¤âÈÎÇ䤷¤Æ¤¤¤Þ¤¹ (Á°¤ò»²¾È)¡£ ¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï Xi Graphics WWW page Ì䤤¹ç¤»¤Ï Sales ¤Þ¤¿¤Ï Support ¤â¤·¤¯¤Ï phone (800) 946 7433 or +1 303 298-7478. FreeBSD ÍѤΥǡ¼¥¿¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ï¤¢¤ê¤Þ¤¹¤«? ¤â¤Á¤í¤ó¤Ç¤¹¡£FreeBSD ¤Î¥¦¥§¥Ö¥µ¥¤¥È¤Ë¤¢¤ë ¾¦ÍÑ¥Ù¥ó¥À¡¼ ¤È¤¤¤¦¥»¥¯¥·¥ç¥ó¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢FreeBSD Ports Collection ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥»¥¯¥·¥ç¥ó¤â»²¹Í¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ Oracle ¤ò FreeBSD ¾å¤Çư¤«¤¹¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤«? ¤Ï¤¤¡£Linux ÈÇ Oracle ¤ò FreeBSD ¤Ç¥»¥Ã¥È¥¢¥Ã¥×¤¹¤ë¤¿¤á¤ÎÊýË¡¤Ï¡¢ ¼¡¤Ë¼¨¤¹¥Ú¡¼¥¸¤Ë¾Ü¤·¤¯½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ http://www.scc.nl/~marcel/howto-oracle.html http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd ¥æ¡¼¥¶¥¢¥×¥ê¥±¡¼¥·¥ç¥ó Ìõ: »³²¼ ½ß junkun@esys.tsukuba.ac.jp¡¢ &a.jp.shou;¡¢ 1997 ǯ 11 ·î 8 Æü ¤½¤¦¤¤¤¦¥æ¡¼¥¶¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤É¤³¤Ë¤¢¤ë¤Î? FreeBSD¤Ë°Ü¿¢¤µ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Ï¡¢ FreeBSD Ports Collection ¤Î¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¤³¤Î¥ê¥¹¥È¤Ë¤Ï¸½ºß 3400 ¤ò±Û¤¨¤ë¹àÌܤ¬¤¢¤ê¡¢ ¤·¤«¤âËèÆü¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥Ú¡¼¥¸¤ò¤³¤Þ¤á¤Ëˬ¤ì¤ë¤«¡¢ freebsd-announce ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ò¹ØÆÉ¤¹¤ë¤È¡¢ ¿·¤·¤¯Æþ¤Ã¤¿ ports ¤òÄê´üŪ¤Ë¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ÂçÉôʬ¤Î ports ¤Ï 2.2 ¤È 3.x ¤ª¤è¤Ó 4.x ¥Ö¥é¥ó¥Á¤ÇÍøÍѤǤ­¤ë¤Ï¤º¤Ç¤¹¡£ ¿¤¯¤Ï 2.1.x ·Ï¤Î¥·¥¹¥Æ¥à¤Ç¤âƱÍÍ¤ËÆ°ºî¤¹¤ë¤Ç¤·¤ç¤¦¡£ FreeBSD ¤Î¥ê¥ê¡¼¥¹¤¬½Ð¤ëÅ٤ˡ¢¤½¤Î¥ê¥ê¡¼¥¹¤Î»þÅÀ¤Ç¤Î ports ¥Ä¥ê¡¼¤Î ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤¬»£¤é¤ì¡¢ports/ ¥Ç¥£¥ì¥¯¥È¥ê¤Ë Ǽ¤á¤é¤ì¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤Þ¤¿¡¢package ¤È¤¤¤¦¹Í¤¨¤âºÎÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï´ðËÜŪ¤Ë¤Ï gzip ¤Ç°µ½Ì¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë¡¢ ¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë´Ä¶­¤Ë¹ç¤ï¤»¤¿ºî¶È¤¬É¬Íפˤʤ俾ì¹ç¡¢ ¹Ô¤¦µ¡Ç½¤ò¿¾¯ÉÕ¤±²Ã¤¨¤¿¤â¤Î¤Ç¤¹¡£ package ¤ò»È¤¨¤Ð¡¢¤É¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤¬ÇÛÉÛʪ¤È¤·¤Æ´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¡¢ ¤È¸À¤Ã¤¿ºÙ¤«¤¤»öÊÁ¤Ë¤¤¤Á¤¤¤ÁÈѤ蘆¤ì¤ë¤³¤È¤Ê¤¯¡¢ ´Êñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤ä¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤ò·«¤êÊÖ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤ package ¤¬¤¢¤ë¤Ê¤é¡¢ /stand/sysinstall¤Î¡¢ ¡Ö¥¤¥ó¥¹¥È¡¼¥ë¸å¤Î FreeBSD ¤ÎÀßÄê¤ò¹Ô¤¦¡×¤Î²¼¤Ë¤¢¤ë package ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ë¥å¡¼¤ò»È¤¦¤«¡¢ package ¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Æ &man.pkg.add.1; ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ package ¤Î¥Õ¥¡¥¤¥ë̾¤Ë¤Ï¡¢ Ä̾ïËöÈø¤Ë .tgz ¤¬¤Ä¤¤¤Æ¤¤¤Þ¤¹¡£ CDROM ¤ò¤´»ÈÍѤÎÊý¤Ï¡¢CD ¤Î packages/All ¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢°Ê²¼¤Î¾ì½ê¤«¤é¡¢ FreeBSD ¤Î³Æ¼ï¥Ð¡¼¥¸¥ç¥ó¤Ë¤¢¤ï¤»¤¿ package ¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë ¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ 2.2.8-RELEASE/2.2.8-STABLE ÍÑ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/ 3.X-RELEASE/3.X-STABLE ÍÑ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/ 4.X-RELEASE/4-STABLE ÍÑ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/ 5.X-CURRENT ÍÑ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current ¤ª¶á¤¯¤Î¥ß¥é¡¼¥µ¥¤¥È¤â¤´ÍøÍѤ¯¤À¤µ¤¤¡£ ¿·¤·¤¤ ports ¤¬Â³¡¹¤ÈÄɲäµ¤ì¤Æ¤¤¤ë¾õÂ֤ʤΤǡ¢¤¹¤Ù¤Æ¤Î ports ¤Ë Âбþ¤¹¤ë package ¤¬Â¸ºß¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ Äê´üŪ¤Ë ftp.FreeBSD.org ¥Þ¥¹¥¿¡¼¥µ¥¤¥È¤òˬ¤ì¤Æ¡¢¤É¤Î¤è¤¦¤Ê package ¤¬ÍøÍѤǤ­¤ë¤Î¤«¥Á¥§¥Ã¥¯¤¹¤ë¤Î¤âÎɤ¤¤Ç¤·¤ç¤¦¡£ ¤Ê¤¼ /bin/sh ¤Ï¤³¤ó¤Ê¤ËÄ㵡ǽ¤Ê¤Î¤Ç¤¹¤«? ¤É¤¦¤·¤Æ bash ¤ä¾¤Î¥·¥§¥ë¤òºÎÍѤ·¤Ê¤¤¤Î¤Ç¤·¤ç¤¦? ¤½¤ì¤Ï¡¢POSIX ¤¬¤½¤Î¤è¤¦¤Ê¥·¥§¥ë¤¬¤¢¤ë¤³¤È¤òµ¬Äꤷ¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£ ¤â¤Ã¤È¹þ¤ßÆþ¤Ã¤¿²óÅú: ¿¤¯¤Î¥æ¡¼¥¶¤Ï¡¢Â¿¤¯¤Î¥·¥¹¥Æ¥à¤ÇƱ¤¸¤è¤¦¤Ëưºî¤Ç¤­¤ë¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò½ñ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤¬¡¢POSIX ¤Ç¥·¥§¥ë¤ä¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥³¥Þ¥ó¥É¤¬ºÙ¤¯µ¬Äꤵ¤ì¤Æ¤¤¤ëÍýͳ¤Ç¤¹¡£ ¤Û¤È¤ó¤É¤¹¤Ù¤Æ¤Î¥¹¥¯¥ê¥×¥È¤Ï Bourne shell ¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢ ¤½¤ì¤Ï¡¢¿ô¿¤¯¤Î½ÅÍ×¤Ê¥×¥í¥°¥é¥ß¥ó¥°¥¤¥ó¥¿¥Õ¥§¥¤¥¹ (&man.make.1;¡¢ &man.system.3;¡¢&man.popen.3;¡¢¤ä Perl ¤ä Tcl Åù¤ÎÎà»÷¤Î ¹â¿å½à¥¹¥¯¥ê¥×¥È¸À¸ì) ¤¬¡¢¥³¥Þ¥ó¥É¤Î²ò¼á¤Ë Bourne shell ¤ò»È¤¦¤«¤é¤Ç¤¹¡£ ¤³¤Î¤è¤¦¤Ë Bourne shell ¤¬¶Ë¤á¤ÆÉÑÈˤˤ«¤Ä¹­ÈϰϤǻȤï¤ì¤Æ¤¤¤ë¤¿¤á¡¢ ÁÇÁ᤯µ¯Æ°¤Ç¤­¤Æ³Î¼Â¤Ëưºî¤·¡¢¥á¥â¥ê¤ò¾¯¤·¤·¤«¾ÃÈñ¤·¤Ê¤¤¤È¤¤¤¦¤³¤È¤¬ ½ÅÍפˤʤê¤Þ¤¹¡£ ´û¸¤Î¼ÂÁõ¤Ï¡¢ »ä¤¿¤Á¤Ë²Äǽ¤Ê¸Â¤ê¤³¤ì¤é¤Î¿¤¯¤ÎÍ×µá¤òƱ»þ¤ËËþ­¤¹¤ë¤³¤È¤¬¤Ç¤­¤ëºÇÎɤΤâ¤Î¤Ç¤¹¡£ /bin/sh ¤ò¾®¤µ¤¤¤Þ¤Þ¤ËÊݤĤ¿¤á¡¢ »ä¤¿¤Á¤Ï¾¤Î¥·¥§¥ë¤¬»ý¤ÄÍÍ¡¹¤ÊÊØÍø¤Êµ¡Ç½¤òÄ󶡤·¤Æ¤¤¤Þ¤»¤ó¡£ Ports ¥³¥ì¥¯¥·¥ç¥ó¤¬ bash ¤ä scsh¡¢tcsh¡¢zsh ¤Ê¤É¤Î ¿µ¡Ç½¤Ê¥·¥§¥ë¤ò´Þ¤ó¤Ç¤¤¤ë¤«¤é¤Ç¤¹ (¤³¤ì¤é¤Î¥·¥§¥ë¤¹¤Ù¤Æ¤Î ¥á¥â¥ê»ÈÍѾõ¶·¤Ï¡¢ps -u ¤Î VSZ ¤ä RSS ¤Î¹Ô¤Ç¡¢¤¢¤Ê¤¿¼«¿È¤¬³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹)¡£ libc.so.3.0 ¤Ï¤É¤³¤Ë¤¢¤ê¤Þ¤¹¤«? FreeBSD 2.1.x ¤Î¥·¥¹¥Æ¥à¤Ç 2.2 °Ê¹ßÍѤΠpackage ¤òư¤«¤½¤¦¤È¤·¤Æ¤¤¤Þ¤¹¤Í? Á°¤Î¥»¥¯¥·¥ç¥ó¤òÆÉ¤ó¤Ç¡¢¥·¥¹¥Æ¥à¤Ë¹ç¤Ã¤¿Àµ¤·¤¤ port/package ¤òÆþ¼ê¤·¤Æ¤¯¤À¤µ¤¤¡£ Error: can't find libc.so.4.0 ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¤¹¤¬¡£ ²¿¤«¤Î¼ê°ã¤¤¤Ç¡¢4.X ¤È 5.X ¤Î¥·¥¹¥Æ¥àÍÑ package ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢ FreeBSD 2.X¡¢¤â¤·¤¯¤Ï 3.X ¤Î¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¡£ Âбþ¤¹¤ëÀµ¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î package ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£ 386/486SX ¤Î¥Þ¥·¥ó¤Ç ghostscript ¤òư¤«¤¹¤È¥¨¥é¡¼¤¬¤Ç¤Þ¤¹¡£ ¤¢¤Ê¤¿¤Î¥Þ¥·¥ó¤Ë¤Ï¿ôÃͱ黻¥×¥í¥»¥Ã¥µ¤¬ÅëºÜ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤Í? ¥«¡¼¥Í¥ë¤Ë¥³¥×¥í¥»¥Ã¥µ¤ÎÂå¤ï¤ê¤È¤Ê¤ë¿ôÃͱ黻¥¨¥ß¥å¥ì¡¼¥¿¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ °Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò¥«¡¼¥Í¥ë¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ËÄɲ䷤ơ¢ ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£ options GPL_MATH_EMULATE ¤³¤Î¥ª¥×¥·¥ç¥ó¤òÄɲ乤ë¾ì¹ç¡¢ MATH_EMULATE ¤Î¹Ô¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£ SCO/iBCS2 ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤È¡¢ socksys ¤ÇÍî¤Á¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ (FreeBSD 3.0 ¤È¤½¤ì°ÊÁ°¤Î¤ß) ¤Þ¤ººÇ½é¤Ë /etc/sysconfig (¤Þ¤¿¤Ï /etc/rc.conf, &man.rc.conf.5; »²¾È) ¤ÎºÇ¸å¤Î¥»¥¯¥·¥ç¥ó¤òÊÔ½¸¤·¡¢ °Ê²¼¤ÎÊÑ¿ô¤ò YES ¤Ëľ¤·¤Þ¤¹¡£ # Set to YES if you want ibcs2 (SCO) emulation loaded at startup ibcs2=NO ¤³¤ì¤Ç¥·¥¹¥Æ¥à¤Îµ¯Æ°»þ¤Ë ibcs2 ¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤¬ÆÉ¤ß¹þ¤Þ¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¼¡¤Ë /compat/ibcs2/dev/ ¤ò°Ê²¼¤Î¤è¤¦¤ËÊÔ½¸¤·¤Þ¤¹¡£ lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys -rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx open ¤ä close ¤Î½èÍý¤Ï¡¢ socksys ¤«¤é /dev/null (&man.null.4; »²¾È) ¤Ø¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òÄ¥¤ë¤³¤È¤ÇÂåÍѤ·¤Þ¤¹¡£ »Ä¤ê¤Î½èÍý¤Ï¡¢-CURRENT ¤ËÆþ¤Ã¤Æ¤¤¤ë¥³¡¼¥É¤¬Ã´Åö¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï°ÊÁ°¤Î¤â¤Î¤è¤ê ¤º¤Ã¤È¥¹¥Ã¥­¥ê¤·¤¿ÊýË¡¤Ç¤¹¡£ INN (¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥Ë¥å¡¼¥¹) ¤ÎÀßÄêÊýË¡¤Ï? inn ¤Î package ¤ä port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¢¤È¤Ë Dave Barr's INN Page ¤ò¸«¤Æ¤ß¤Þ¤·¤ç¤¦¡£½é¿´¼Ô¸þ¤±¤Î INN FAQ ¤¬¤¢¤ê¤Þ¤¹¡£ ¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Microsoft FrontPage ¤ò¼ê¤ËÆþ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤«? ¥ë¡¼¥¯¡¢ports ¤ò»È¤¦¤Î¤À! ¥Ñ¥Ã¥Á½èÍýºÑ¤ß¤Î Apache ¤¬ ports ¥Ä¥ê¡¼¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£ FreeBSD ¤Ï Java ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤«? ¤Ï¤¤¡£ http://www.FreeBSD.org/java/ ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ÆüËܸìÌõ ¤â¤¢¤ê¤Þ¤¹¡£ 3.x-STABLE ¤òºÜ¤»¤Æ¤¤¤ë¥Þ¥·¥ó¤Ç port ¤¬¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¤É¤¦¤·¤Æ¤Ç¤¹¤«? ¤â¤·¡¢¤½¤Î»þÅÀ¤Î -CURRENT ¤« -STABLE ¤ËÈæ¤Ù¤Æ¤º¤Ã¤È¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î FreeBSD ¤òÍøÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢ http://www.FreeBSD.org/ports/ ¤Ë¤¢¤ë ports ¥¢¥Ã¥×¥°¥ì¡¼¥É¥­¥Ã¥È¤¬É¬ÍפǤ¹¡£ ºÇ¿·¤Î FreeBSD ¤òÍøÍѤ·¤Æ¤¤¤ë¤Î¤ËȯÀ¸¤¹¤ë¾ì¹ç¤Ï¤ª¤½¤é¤¯¡¢ -CURRENT ¤Ç¤ÏÀµ¾ï¤Ê¤Î¤Ë -STABLE ¤Ç¤Ï¤¦¤Þ¤¯Æ°¤«¤Ê¤¯¤Ê¤ë¤è¤¦¤ÊÊѹ¹¤¬¤½¤Î port ¤ËÂФ·¤Æ¹Ô¤Ê¤ï¤ì¡¢¼õÍý¤µ¤ì¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¡£ ports ¥³¥ì¥¯¥·¥ç¥ó¤Ï -CURRENT ¤È -STABLE¡¢ ξÊý¤Î¥Ö¥é¥ó¥Á¤Çư¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤â¤Î¤Ç¤¹¤Î¤Ç¡¢ ¤â¤·¤½¤ì¤òȯ¸«¤·¤¿¤é &man.send-pr.1; ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥Ð¥°¥ì¥Ý¡¼¥È¤ÎÄó½Ð¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£ ld.so ¤Ï¤É¤³¤Ë¤¢¤ê¤Þ¤¹¤«? 3.1-R °Ê¹ß¤Ê¤É¤Î Elf ²½¤µ¤ì¤¿¥Þ¥·¥ó¤Ç Netscape Navigator ¤Ê¤É¤Î aout ·Á¼°¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òư¤«¤¹¤È¤­¤Ë¤Ï¡¢ /usr/libexec/ld.so ¤È aout ¥é¥¤¥Ö¥é¥ê¤Î¥Õ¥¡¥¤¥ë¤¬É¬ÍפǤ¹¡£ ¤½¤ì¤é¤ÏÇÛÉÛʪ¤Î compat22 ¤ËǼ¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£ /stand/sysinstall ¤ä compat22 ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î install.sh ¤ò»È¤Ã¤Æ compat22 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¹ç¤ï¤»¤Æ 3.1-R ¤È 3.2-R ¤Î ERRATA ¤â¤ªÆÉ¤ß¤¯¤À¤µ¤¤¡£ ¥½¡¼¥¹¥³¡¼¥É¤ò¹¹¿·¤·¤Þ¤·¤¿¡£¤µ¤Æ¡¢¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß¤Î ports ¤ò¹¹¿·¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤·¤ç¤¦¤«? »Äǰ¤Ê¤¬¤é¡¢¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß¤Î ports ¤ò¹¹¿·¤¹¤ë´Êñ¤Ê ÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£pkg_version ¥³¥Þ¥ó¥É¤ò ÍѤ¤¤Æ ports ¥Ä¥ê¡¼Ãæ¤Î¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ë¹¹¿·¤¹¤ë ¥¹¥¯¥ê¥×¥È¤ò¼¡¤Î¤è¤¦¤ËÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; pkg_version > /tmp/myscript ½ÐÎϤµ¤ì¤¿¥¹¥¯¥ê¥×¥È¤ò»È¤¦Á°¤Ë¡¢¼ê¤Ç ÊÔ½¸¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤Î pkg_version ¤Ç¤Ï¡¢¥¹¥¯¥ê¥×¥È¤ÎÀèÆ¬¤Ë exit ¤òÁÞÆþ¤·¤Æ¶¯À©¤·¤Æ¤¤¤Þ¤¹¡£ ¥¹¥¯¥ê¥×¥È¤Î½ÐÎϤˤϡ¢¹¹¿·¤µ¤ì¤¿ packages ¤Ë°Í¸¤¹¤ë packages ¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Êݸ¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£¤³¤ì¤é¤â ¤ä¤Ï¤ê¹¹¿·¤¹¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£Ä̾¹¹¿·¤¬ ɬÍפȤʤë¤Î¤Ï¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÊѲ½¤·¡¢ ¤½¤Î¥é¥¤¥Ö¥é¥ê¤òÍøÍѤ·¤Æ¤¤¤ë ports ¤¬¿·¤·¤¤¥é¥¤¥Ö¥é¥ê¤òÍѤ¤¤ë¤¿¤á¤Ë ºÆ¹½ÃÛ¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ç¤¹¡£ ¥·¥¹¥Æ¥à¤¬¾ï»þ²Ôư¤·¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢ /etc/periodic.conf ¤Ë weekly_status_pkg_enable="YES" ¤ò ÀßÄꤷ¤Æ¡¢&man.periodic.8; ¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤ÆËè½µ¹¹¿·¤¬É¬Í×¤Ê ports ¤Î°ìÍ÷¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó Ìõ: &a.jp.kiroh;¡¢ 1997 ǯ 11 ·î 10 Æü ¥«¡¼¥Í¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¤¤¤ó¤Ç¤¹¤¬¡¢Æñ¤·¤¤¤Ç¤¹¤«? Á´Á³Æñ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£ ¥«¡¼¥Í¥ë¤ÎºÆ¹½ÃÛ¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ ¤¦¤Þ¤¯Æ°ºî¤¹¤ë¥«¡¼¥Í¥ë¤¬¤Ç¤­¤¿¤é¡¢ ÆüÉÕÆþ¤ê¤Î¥«¡¼¥Í¥ë¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò kernel.YYMMDD ¤Î¤è¤¦¤ËºîÀ®¤¹¤ë¤³¤È¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ ¤³¤¦¤·¤Æ¤ª¤±¤Ð¡¢¼¡¤Ë¥«¡¼¥Í¥ë¤Î¹½ÃÛ¤ò¤ä¤Ã¤Æ¤¦¤Þ¤¯¤¤¤«¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤â¡¢ kernel.GENERIC ¤Ë¤ï¤¶¤ï¤¶Ìá¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢GENERIC ¥«¡¼¥Í¥ë¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¤¥Ç¥Ð¥¤¥¹¤«¤éµ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ÆÃ¤Ë½ÅÍפǤ¹¡£ _hw_float ¤¬Ìµ¤¤¤Î¤Ç¡¢¥«¡¼¥Í¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤¬¤¦¤Þ¤¯¤¤¤­¤Þ¤»¤ó¡£ ¿ä¬¤Ç¤¹¤¬¡¢¿ôÃͱ黻¥³¥×¥í¥»¥Ã¥µ¤ò»ý¤Ã¤Æ¤Ê¤¤¤«¤é¤È»×¤Ã¤Æ¡¢ npx0 (&man.npx.4; »²¾È) ¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤«¤éºï½ü¤·¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«? npx0 ¤Ïɬ¿Ü¤Ç¤¹¡£ ¥³¥×¥í¥»¥Ã¥µ¤¬¤Ê¤¯¤Æ¤â¡¢npx0 ¥Ç¥Ð¥¤¥¹¤Ïºï½ü¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¤ï¤¿¤·¤Î¥«¡¼¥Í¥ë¤Ï¤É¤¦¤·¤Æ¤³¤ó¤Ê¤ËÂ礭¤¤ (10MB °Ê¾å) ¤Î¤Ç¤·¤ç¤¦¤«? ¤³¤ì¤Ï¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Ç¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤·¤Æ¤¤¤ë¤³¤È¤¬¸¶°ø¤Ç¤¹¡£ ¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Ç¹½ÃÛ¤µ¤ì¤¿¥«¡¼¥Í¥ë¤Ï¡¢ ¥Ç¥Ð¥Ã¥°¤ËÍѤ¤¤é¤ì¤ëËÄÂç¤Ê¥·¥ó¥Ü¥ë¾ðÊó¤ò´Þ¤ó¤Ç¤¤¤ë¤¿¤á¡¢ ¥«¡¼¥Í¥ë¤Î¥µ¥¤¥º¤¬Èó¾ï¤ËÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£ ¤¿¤À¤· FreeBSD 3.0 ¤È¤½¤ì°Ê¹ß¤Î¥·¥¹¥Æ¥à¤Î¾ì¹ç¤Ï ¥«¡¼¥Í¥ë¤Î¥µ¥¤¥º¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¤·¡¢ ¥Ç¥Ð¥Ã¥°¥«¡¼¥Í¥ë¤ò¼Â¹Ô¤¹¤ë»þ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎÄã²¼¤â¤¢¤ê¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¤½¤Î¥«¡¼¥Í¥ë¤Ï¥·¥¹¥Æ¥à¤¬¥Ñ¥Ë¥Ã¥¯¤·¤¿¾ì¹ç¤ËÍ­ÍѤǤ¹¡£ ¤·¤«¤·¡¢ÍÆÎ̤µ¤Ê¥Ç¥£¥¹¥¯¤Ç¥·¥¹¥Æ¥à¤ò±¿ÍѤ·¤Æ¤¤¤¿¤ê¡¢ ñ¤Ë¥Ç¥Ð¥Ã¥°¥«¡¼¥Í¥ë¤ò¼Â¹Ô¤·¤¿¤¯¤Ê¤¤¾ì¹ç¤Ï¡¢ °Ê²¼¤ÎξÊý¤¬Åö¤Æ¤Ï¤Þ¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¹Ô¤¬½ñ¤«¤ì¤Æ¤¤¤Ê¤¤¤³¤È¡£ makeoptions DEBUG=-g config ¤ò¼Â¹Ô¤¹¤ëºÝ¡¢ ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¤¤¤Ê¤¤¤³¤È¡£ ¾å¤Ë½ñ¤«¤ì¤¿»ØÄê¤ÏξÊý¤È¤â¥«¡¼¥Í¥ë¤ò¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Ç¹½ÃÛ¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£ ¾å¤Î¼ê½ç¤ò½¾¤Ã¤Æ¤¤¤ë¸Â¤ê¡¢¥«¡¼¥Í¥ë¤òÉáÄ̤˹½ÃÛ¤·¤Æ¥µ¥¤¥º¤Î¾®¤µ¤Ê¥«¡¼¥Í¥ë¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤½¤Î¾ì¹ç¤Î¥«¡¼¥Í¥ë¥µ¥¤¥º¤Ï¡¢¤ª¤è¤½ 1.5MB ¤«¤é 2MB ÄøÅ٤ˤʤê¤Þ¤¹¡£ ¥Þ¥ë¥Á¥Ý¡¼¥È¥·¥ê¥¢¥ë¤Î¥³¡¼¥É¤Ç³ä¤ê¹þ¤ß¤¬¾×ÆÍ¤·¤Æ¤¤¤Þ¤¹¡£ ¥Þ¥ë¥Á¥Ý¡¼¥È¥·¥ê¥¢¥ë¤ò ¥µ¥Ý¡¼¥È¤¹¤ë¥³¡¼¥É¤ò´Þ¤ó¤À¥«¡¼¥Í¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤è¤¦¤È¤¹¤ë¤È¡¢ ºÇ½é¤Î¥Ý¡¼¥È¤À¤±¸¡½Ð¤µ¤ì¡¢ »Ä¤ê¤Î¥Ý¡¼¥È¤Ï³ä¤ê¹þ¤ß¤Î¶¥¹ç¤Î¤¿¤á¥¹¥­¥Ã¥×¤µ¤ì¤¿¤È¸À¤ï¤ì¤Þ¤¹¡£ ¤É¤¦¤ä¤Ã¤¿¤é¤¤¤¤¤Ç¤·¤ç¤¦¤«? ¤³¤³¤Ç¤ÎÌäÂê¤Ï¡¢FreeBSD ¤Ë¤Ï¥Ï¡¼¥É¥¦¥§¥¢¤Þ¤¿¤Ï¥½¥Õ¥È¥¦¥§¥¢¤Î¶¥¹ç¤Ë¤è¤ê¡¢ ¥«¡¼¥Í¥ë¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë¤Î¤òËɤ°¥³¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¤¤¤¦ÅÀ¤Ç¤¹¡£ ²ò·è¤¹¤ë¤Ë¤Ï¡¢ºÇ½é¤Î¥Ý¡¼¥È¤Ë¤À¤± IRQ ¤ÎÀßÄê¤ò½ñ¤­¡¢ »Ä¤ê¤Ï IRQ ¤ÎÀßÄê¤òºï½ü¤·¤Þ¤¹¡£ °Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ # Multiport high-speed serial line - 16550 UARTS # device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr ¥«¡¼¥Í¥ë¤ò¹½Ãۤˤ¤¤Ä¤â¼ºÇÔ¤·¤Þ¤¹¡£ GENERIC ¥«¡¼¥Í¥ë¤â¹½ÃۤǤ­¤Þ¤»¤ó¡£ ¤µ¤Þ¤¶¤Þ¤ÊÍýͳ¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£°Ê²¼¡¢½ç¤ËÎóµ­¤·¤Þ¤¹¡£ ¤¢¤Ê¤¿¤Ï¿·¤·¤¤ make buildkernel ¤ä make installkernel ¥¿¡¼¥²¥Ã¥È¤ò»È¤ï¤º¡¢ ¸½ºßÁö¤Ã¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤ò¹½ÃÛ¤·¤¿»þ¤È°Û¤Ê¤ë¥½¡¼¥¹¥Ä¥ê¡¼¤ò ¹½ÃÛ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë (¤¿¤È¤¨¤Ð¡¢4.0-RELEASE ¤Î¥·¥¹¥Æ¥à¾å¤Ç 4.3-RELEASE ¤ò¹½ÃÛ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë) ¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«? ¤â¤·¥·¥¹¥Æ¥à¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤Ê¤é¡¢ /usr/src/UPDATING ¥Õ¥¡¥¤¥ë¤ò ¶¦Ä̹àÌÜ (COMMON ITEMS) Àá¤ËÃí°Õ¤·¤Ê¤¬¤éºÇ¸å¤Þ¤Ç¤ªÆÉ¤ß¤¯¤À¤µ¤¤¡£ ¤¢¤Ê¤¿¤Ï¿·¤·¤¤ make buildkernel ¤ä make installkernel ¥¿¡¼¥²¥Ã¥È¤ò »È¤Ã¤Æ¤¤¤ë¤Î¤Ë¤â´Ø¤ï¤é¤º¡¢ make buildworld ¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«? make buildkernel ¥¿¡¼¥²¥Ã¥È¤Ï¡¢ make buildworld ¥¿¡¼¥²¥Ã¥È¤Ë¤è¤Ã¤Æºî¤é¤ì¤ë¥Õ¥¡¥¤¥ë¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹ ¤½¤Î¤¿¤á¡¢make buildkernel ¤¬Àµ¾ï¤Ë½ªÎ»¤¹¤ë¤¿¤á¤Ë¤Ï make buildworld ¥¿¡¼¥²¥Ã¥È¤¬Àµ¾ï¤Ë´°Î»¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¹½ÃÛ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤¬ FreeBSD-STABLE ¤À¤Ã¤¿¤È¤·¤Æ¤â¡¢¤¢¤Ê¤¿¤¬Æþ¼ê¤·¤¿¥½¡¼¥¹¥Ä¥ê¡¼¤¬²¿¤é¤«¤ÎÍýͳ¤Ç ½ñ¤­´¹¤ï¤Ã¤¿¤ê¡¢²õ¤ì¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤Î¤«¤âÃΤì¤Þ¤»¤ó¡£ FreeBSD-STABLE ¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¤­¤Á¤ó¤È¹½ÃۤǤ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢ ³Î¼Â¤Ë¹½ÃÛ²Äǽ¤Ç¤¢¤ë¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¤Î¤Ï ¥ê¥ê¡¼¥¹ÈǤÀ¤±¤Ç¤¹¡£°ìÅÙ¥½¡¼¥¹¥Ä¥ê¡¼¤òºÆ¼èÆÀ¤·¤Æ¡¢ ÌäÂ꤬²ò·è¤·¤Ê¤¤¤«¤É¤¦¤«»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢¤¢¤ë¥µ¡¼¥Ð¤«¤é¼èÆÀ¤·¤¿»þ¤ËÌäÂ꤬ȯÀ¸¤·¤¿¤é¡¢ Ê̤Υµ¡¼¥Ð¤ò»î¤¹¤Î¤â¸ú²Ì¤¬¤¢¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£ ¥·¥¹¥Æ¥à´ÉÍý Ìõ: ¤Ë¤·¤« nishika@cheerful.com¡¢ 1997 ǯ 11 ·î 12 Æü ¥·¥¹¥Æ¥à¥¹¥¿¡¼¥È¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤Ï¤É¤³¤Ë¤¢¤ë¤Î¤Ç¤¹¤«? FreeBSD 2.0.5R ¤«¤é 2.2.1R ¤Þ¤Ç¤Ï¡¢ ¥×¥é¥¤¥Þ¥ê¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ï /etc/sysconfig ¤Ë¤¢¤ê¤Þ¤¹¡£ ¥ª¥×¥·¥ç¥ó¤Ï¤¹¤Ù¤Æ¤³¤Î¥Õ¥¡¥¤¥ë¤ÇÀßÄꤵ¤ì¡¢Â¾¤Î /etc/rc (&man.rc.8; »²¾È) ¤ª¤è¤Ó /etc/netstart ¤È¤¤¤Ã¤¿ ¥Õ¥¡¥¤¥ë¤Ï¤³¤ì¤òÆÉ¤ß¹þ¤à¤À¤±¤Ç¤¹¡£ ¥Õ¥¡¥¤¥ë /etc/sysconfig ¤ò¸«¤Æ¡¢¥·¥¹¥Æ¥à¤ËŬ¹ç¤¹¤ë¤è¤¦¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢ ¤½¤ì¤¾¤ì¤Î¾ì½ê¤Ë²¿¤ò½ñ¤±¤Ð¤¤¤¤¤Î¤«¤òɽ¤¹¥³¥á¥ó¥È¤¬¤¿¤¯¤µ¤ó½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ FreeBSD 2.2.2 ¤«¤é 3.0 ¤Þ¤Ç¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ /etc/sysconfig ¤Ï¡¢ ¤è¤êʬ¤ê¤ä¤¹¤¤Ì¾Á°¤Î &man.rc.conf.5; ¤Ë²þ̾¤µ¤ì¡¢¤½¤ì¤Ë½¾¤Ã¤Æ½ñ¼°¤â¤¤¤¯¤Ö¤ó²þ¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£ /etc/netstart ¤â /etc/rc.network ¤Ë²þ̾¤µ¤ì¡¢ Á´Éô¤Î¥Õ¥¡¥¤¥ë¤ò cp /usr/src/etc/rc* /etc ¤Ç°ìÅ٤˥³¥Ô¡¼¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ FreeBSD 3.1 ¤È¤½¤ì°Ê¹ß¤Ç¤Ï¡¢ /etc/rc.conf ¤¬ /etc/defaults/rc.conf ¤Ë°Üư¤·¤Þ¤·¤¿¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó! Âå¤ï¤ê¤Ë¡¢ /etc/defaults/rc.conf ¤ÎÃæ¤ÇÊѤ¨¤¿¤¤¥¨¥ó¥È¥ê¤Î¹Ô¤ò /etc/rc.conf ¤Ë¥³¥Ô¡¼¤·¡¢ ¤½¤³¤ÇÊѹ¹¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤¿¤È¤¨¤Ð named ¤òµ¯Æ°¤·¤¿¤¤¤È¤·¤Þ¤·¤ç¤¦¡£ FreeBSD 3.1 ¤«¤½¤ì°Ê¹ß¤Î¥·¥¹¥Æ¥à¤Ç FreeBSD ÉÕ°¤Î DNS ¥µ¡¼¥Ð¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ë¤À¤±¤Ç¤¹¡£ &prompt.root; echo named_enable="YES" >> /etc/rc.conf FreeBSD 3.1 ¤«¤½¤ì°Ê¹ß¤Ç¥í¡¼¥«¥ë¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ /usr/local/etc/rc.d ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤òÃÖ¤­¤Þ¤¹¡£ ¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ïµ¯Æ°²Äǽ¤ËÀßÄꤷ¡¢¥Õ¥¡¥¤¥ë̾¤¬ .sh ¤Ç½ª¤ï¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ FreeBSD 3.0 ¤È¤½¤ì°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢ /etc/rc.local ¤òÊÔ½¸¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë /etc/rc.serial ¤Ï¥·¥ê¥¢¥ë¥Ý¡¼¥È¤Î½é´ü²½ (¤¿¤È¤¨¤Ð¥Ý¡¼¥È¤ÎÀßÄê¤ò¸ÇÄꤷ¤¿¤êÅù¡¹) ¤Î¤¿¤á¤Ë¤¢¤ê¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë /etc/rc.i386 ¤Ï iBCS2 ¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¤Î¤è¤¦¤Ê Intel ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¸ÇÍ­¤ÎÀßÄê¤ä¡¢ PC ¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ëÀßÄê¤Î¤¿¤á¤Ë¤¢¤ê¤Þ¤¹¡£ ´Êñ¤Ë¥æ¡¼¥¶¤òÄɲ乤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¤«? &man.adduser.8; ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢&man.pw.8; ¥³¥Þ¥ó¥É¤òÍѤ¤¤ë¤³¤È¤Ç¡¢¤µ¤é¤ËºÙ¤«¤¤Áàºî¤¬²Äǽ¤Ç¤¹¡£ ¥æ¡¼¥¶¤òºï½ü¤¹¤ë¤Ë¤Ï &man.rmuser.8; ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ·«¤êÊÖ¤·¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢&man.pw.8; ¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£ ¿·¤·¤¤¥ê¥à¡¼¥Ð¥Ö¥ë¥É¥é¥¤¥Ö¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¤É¤¦¤ä¤Ã¤Æ»È¤¦¤Î? ¤½¤Î¥ê¥à¡¼¥Ð¥Ö¥ë¥É¥é¥¤¥Ö¤¬ ZIP ¤Ç¤¢¤ì EZ drive ¤Ç¤¢¤ì (¤¢¤ë¤¤¤Ï¤â¤·¤½¤¦¤¤¤¦É÷¤Ë»È¤¤¤¿¤¤¤Î¤Ê¤é¡¢¥Õ¥í¥Ã¥Ô¡¼¤Ç¤¢¤ì)¡¢ ¤Þ¤¿¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ç¤¢¤ì¡¢°ìö¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ÆÇ§¼±¤µ¤ì¡¢ ¥«¡¼¥È¥ê¥Ã¥¸¡¢¥Õ¥í¥Ã¥Ô¡¼Åù¡¹¤¬ÁÞÆþ¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢ ¤³¤È¤Ï¤É¤Î¥Ç¥Ð¥¤¥¹¤Ç¤âÁ´¤¯Æ±¤¸¤è¤¦¤Ë¿Ê¤ß¤Þ¤¹¡£ (¤³¤Î¥»¥¯¥·¥ç¥ó¤ÏMark Mayo's ZIP FAQ ¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹) ZIP ¥É¥é¥¤¥Ö¤ä¥Õ¥í¥Ã¥Ô¡¼¤Ç¡¢¤¹¤Ç¤Ë DOS ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç ¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤Æ¤¢¤ë¾ì¹ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤Ï¥Õ¥í¥Ã¥Ô¡¼¤Î¾ì¹ç¤Ç¤¹¡£ &prompt.root; mount -t msdos /dev/fd0c /floppy ½Ð²Ù»þ¤ÎÀßÄê¤Î ZIP ¥Ç¥£¥¹¥¯¤Ç¤Ï¤³¤¦¤Ç¤¹¡£ &prompt.root; mount -t msdos /dev/da2s4 /zip ¤½¤Î¾¤Î¥Ç¥£¥¹¥¯¤Ë´Ø¤·¤Æ¤Ï¡¢&man.fdisk.8; ¤ä /stand/sysinstall ¤ò»È¤Ã¤Æ¡¢ ¤É¤Î¤è¤¦¤Ë¥ì¥¤¥¢¥¦¥È¤µ¤ì¤Æ¤¤¤ë¤«³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£ °Ê¹ß¤Ï ZIP ¥É¥é¥¤¥Ö¤¬ 3 ÈÖÌܤΠSCSI ¥Ç¥£¥¹¥¯¤Ç¡¢ da2 ¤Èǧ¼±¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ÎÎã¤Ç¤¹¡£ ¾¿Í¤È¶¦Í­¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¥Õ¥í¥Ã¥Ô¡¼¤ä¥ê¥à¡¼¥Ð¥Ö¥ë¥Ç¥£¥¹¥¯ ¤Ç¤Ê¤±¤ì¤Ð¡¢BSD ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºÜ¤»¤Æ¤·¤Þ¤¦¤Î¤¬Îɤ¤¹Í¤¨¤Ç¤·¤ç¤¦¡£ ¥í¥ó¥°¥Õ¥¡¥¤¥ë̾¤â¥µ¥Ý¡¼¥È¤µ¤ì¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ï¾¯¤Ê¤¯¤È¤â 2 Çܤϸþ¾å¤·¤Þ¤¹¤·¡¢¤ª¤Þ¤±¤Ë¤º¤Ã¤È°ÂÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¤Þ¤ººÇ½é¤Ë¡¢DOS ¥ì¥Ù¥ë¤Ç¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó / ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò̵¸ú¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£»ÈÍѤ¹¤ë¤Î¤Ï fdisk ¤Ç¤â /stand/sysinstall ¤Ç¤â·ë¹½¤Ç¤¹¡£ Ê£¿ô¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤òÆþ¤ì¤ë¤³¤È¤ò¹Íθ¤¹¤ë ɬÍפ¬¤Ê¤¤¤è¤¦¤ÊÍÆÎ̤µ¤Ê¥É¥é¥¤¥Ö¤Î¾ì¹ç¤Ï¡¢ ¼¡¤Î¤è¤¦¤Ë FAT ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥Æ¡¼¥Ö¥ë (¥¹¥é¥¤¥¹) Á´ÂΤòÈô¤Ð¤·¤Æ¡¢BSD ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥óÀßÄê¤ò¹Ô¤¦¤À¤±¤ÇÎɤ¤¤Ç¤·¤ç¤¦¡£ &prompt.root; dd if=/dev/zero of=/dev/rda2 count=2 &prompt.root; disklabel -Brw da2 auto Ê£¿ô¤Î BSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¤Ä¤¯¤ë¾ì¹ç¡¢ disklabel ¤« /stand/sysinstall ¤ò»È¤¤¤Þ¤¹¡£ ¸ÇÄê¥Ç¥£¥¹¥¯¾å¤Ë¥¹¥ï¥Ã¥×Îΰè¤ò²Ã¤¨¤ë¾ì¹ç¡¢ ¤½¤¦¤¤¤¦¤³¤È¤ò¤·¤¿¤¤¤È»×¤¦¤Î¤Ï¤â¤Ã¤È¤â¤Ç¤¹¤¬¡¢ ZIP ¤Î¤è¤¦¤Ê¥ê¥à¡¼¥Ð¥Ö¥ë¥É¥é¥¤¥Ö¤Î¾å¤Ç¤Ï¤½¤¦¤¤¤¦¹Í¤¨¤ÏÉÔŬÀÚ ¤Ç¤·¤ç¤¦¡£ ºÇ¸å¤Ë¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¤Ä¤¯¤ê¤Þ¤¹¡£¥Ç¥£¥¹¥¯Á´ÂΤò»ÈÍѤ¹¤ë ZIP ¥É¥é¥¤¥Ö¤Î¾ì¹ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; newfs /dev/rda2c ¼¡¤Ë¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ &prompt.root; mount /dev/da2c /zip ¤Þ¤¿¡¢¼¡¤Î¤è¤¦¤Ê¹Ô¤ò /etc/fstab (&man.fstab.5; »²¾È) ¤ËÆþ¤ì¤Æ¤ª¤¯¤Î¤âÎɤ¤¹Í¤¨¤Ç¤·¤ç¤¦¡£ mount /zip ¤ÈÆþÎϤ¹¤ë¤À¤±¤Ç¥Þ¥¦¥ó¥È¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ /dev/da2c /zip ffs rw,noauto 0 0 ¼«Ê¬¤Î crontab ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤¿¸å root: not found ¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬±ä¡¹¤Èɽ¼¨¤µ¤ì¤ë¤Î¤Ç¤¹¤¬¡¢ ¤³¤ì¤Ï¤Ê¤¼¤Ç¤¹¤«? ¤³¤ì¤ÏÄ̾¥·¥¹¥Æ¥à crontab (/etc/crontab) ¤òÊÔ½¸¤·¡¢&man.crontab.1; ¤ò»È¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ëµ¯¤³¤ê¤Þ¤¹¡£ &prompt.root; crontab /etc/crontab ¤³¤ÎÊýË¡¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£ ¥·¥¹¥Æ¥à crontab ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï &man.crontab.1; ¤¬¹¹¿·¤¹¤ë³Æ¥æ¡¼¥¶¤Î crontab ¤È¤Ï°Û¤Ê¤ê¤Þ¤¹ (¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÁê°ãÅÀ¤Î¾ÜºÙ¤Ï &man.crontab.5; ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹)¡£ ¤â¤·¤³¤Î¤è¤¦¤ÊÁàºî¤ò¤·¤Æ¤·¤Þ¤Ã¤¿¤Ê¤é¡¢ ¤¢¤é¤¿¤Ê crontab ¤Ï¸í¤Ã¤¿¥Õ¥©¡¼¥Þ¥Ã¥È¤Î /etc/crontab ¤Î¥³¥Ô¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£ °Ê²¼¤Î¥³¥Þ¥ó¥É¤Çºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; crontab -r º£ÅÙ /etc/crontab ¤òÊÔ½¸¤¹¤ë»þ¤Ï¡¢ ¤½¤ÎÊѹ¹¤ò &man.cron.8; ¤ËÅÁ¤¨¤ë¤è¤¦¤ÊÁàºî¤ò¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ &man.cron.8; ¤Ï¡¢¼«Æ°Åª¤Ë¤½¤ÎÊѹ¹¤òǧ¼±¤¹¤ë¤«¤é¤Ç¤¹¡£ ¤â¤·¤¢¤Ê¤¿¤¬²¿¤«¤ò°ìÆü°ì²ó¡¢¤¢¤ë¤¤¤Ï°ì½µ´Ö¤ä°ì¥ö·î¤Ë°ì²ó¤À¤± ¼Â¹Ô¤µ¤»¤¿¤¤¤Ê¤é¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò /usr/local/etc/periodic ¤ËÄɲä·¡¢ &man.periodic.8; ¥³¥Þ¥ó¥É¤Ë¥·¥¹¥Æ¥à¤Î cron ¥¹¥±¥¸¥å¡¼¥ë¤«¤é ¾¤ÎÄê´üŪ¤Ê¥·¥¹¥Æ¥à¤Î¥¿¥¹¥¯¤È¤È¤â¤Ë ¼Â¹Ô¤µ¤»¤¿¤Û¤¦¤¬Îɤ¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤³¤Î¥¨¥é¡¼¤Î¼ÂºÝ¤Î¸¶°ø¤Ï¡¢¥·¥¹¥Æ¥à crontab ¤Ë¤Ï ¤É¤Î¥æ¡¼¥¶¸¢¸Â¤Ç¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤«¤ò»ØÄꤹ¤ë;ʬ¤Ê¥Õ¥£¡¼¥ë¥É¤¬¤¢¤ë¤³¤È¤Ë¤è¤ë¤â¤Î¤Ç¤¹¡£ FreeBSD ¤ËźÉÕ¤µ¤ì¤Æ¤¤¤ëɸ½à¤Î¥·¥¹¥Æ¥à crontab ¤Ë¤Ï¡¢ ¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ë root ¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î crontab ¤¬ root ¥æ¡¼¥¶¤Î crontab (¥·¥¹¥Æ¥à crontab ¤È¤Ï °Û¤Ê¤ê¤Þ¤¹) ¤È¤·¤Æ»È¤ï¤ì¤¿¾ì¹ç¡¢&man.cron.8; ¤Ï root ¤ò¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ÎºÇ½é¤Îñ¸ì¤À¤Èǧ¼±¤·¤Þ¤¹¤¬¡¢ ¤½¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ï¸ºß¤·¤Ê¤¤¤Î¤Ç¤¹¡£ &man.su.1; ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ root ¤Ë¤Ê¤í¤¦¤È¤¹¤ë¤È¡¢ su ¤¬ you are not in the correct group to su root ¤È·Ù¹ð¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¾å¤Îµ¡Ç½¤Ç¤¹¡£su ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ root (¤Þ¤¿¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¸¢¸Â¤ò»ý¤Ä ¾¤Î¥¢¥«¥¦¥ó¥È) ¤Ë¤Ê¤ë¤Ë¤Ï¡¢wheel ¥°¥ë¡¼¥×¤Ë½ê°¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Îµ¡Ç½¤¬¤Ê¤¤¤È¡¢ ¥·¥¹¥Æ¥à¤Ë¥¢¥«¥¦¥ó¥È¤¬¤¢¤Ã¤Æ root ¤Î ¥Ñ¥¹¥ï¡¼¥É¤ò¸«¤Ä¤±¤µ¤¨¤¹¤ì¤Ð¡¢Ã¯¤Ç¤â¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¸¢¸Â¤Ç ¥·¥¹¥Æ¥à¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤³¤Îµ¡Ç½¤¬¤¢¤ë¾ì¹ç¤Ï¡¢ ɬ¤º¤·¤â¤½¤¦¤Ï¤Ê¤ê¤Þ¤»¤ó¡£wheel ¥°¥ë¡¼¥×¤Ë ½ê°¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢&man.su.1; ¤¬¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤ¹¤é µñÈݤ¹¤ë¤«¤é¤Ç¤¹¡£ 狼¤¬ root ¤Ë su ¤Ç¤­¤ë¤è¤¦¤Ë ¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¿Í¤ò wheel ¥°¥ë¡¼¥×¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ rc.conf ¤ä¤½¤Î¾¤Î ¥¹¥¿¡¼¥È¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤ò½ñ¤­´Ö°ã¤¨¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£ ¤·¤«¤â¤½¤Î¤¿¤á¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥ê¡¼¥É¥ª¥ó¥ê¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Æ ÊÔ½¸¤¬¤Ç¤­¤Þ¤»¤ó¡£¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Ç¤¹¤«? ¥·¥§¥ë¤Î¥Ñ¥¹Ì¾¤òÆþÎϤ¹¤ë¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤¿¤È¤­¤Ë¡¢ ñ¤Ë ENTER ¤ò²¡¤·¡¢mount / ¤ò ¼Â¹Ô¤·¤Æ¤½¥ë¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºÆ¥Þ¥¦¥ó¥È¤µ¤»¤Þ¤¹¡£ ¤Þ¤¿¡¢¤ªµ¤¤ËÆþ¤ê¤Î¥¨¥Ç¥£¥¿¤¬¤¢¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò ¥Þ¥¦¥ó¥È¤¹¤ë¤¿¤á¤Ë mount -a -t ufs ¤ò ¤¹¤ëɬÍפ¬¤¢¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£¤¢¤Ê¤¿¤Î¤ªµ¤¤ËÆþ¤ê¤Î¥¨¥Ç¥£¥¿¤¬ ¥Í¥Ã¥È¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢ ¥Í¥Ã¥È¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ëÁ°¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¤ò ¼êư¤ÇÀßÄꤹ¤ë¤«¡¢&man.ed.1; ¤Î¤è¤¦¤Ê¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤¢¤ë ¥¨¥Ç¥£¥¿¤ò»È¤¦¤«¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ &man.vi.1; ¤ä &man.emacs.1; ¤ÎÍͤʥե륹¥¯¥ê¡¼¥ó¥¨¥Ç¥£¥¿¤ò »È¤¦¤Ä¤â¤ê¤Ê¤é export TERM=cons25 ¤È ¤ä¤Ã¤Æ¥¨¥Ç¥£¥¿¤¬ &man.termcap.5; ¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éÀµ¤·¤¤ ¥Ç¡¼¥¿¤òÆÉ¤ß¼è¤ì¤ë¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤³¤ì¤ò¹Ô¤Ã¤¿¤¢¤È¤Ï¤¤¤Ä¤â¤ÈƱÍÍ¡¢ /etc/rc.conf ¤òÊÔ½¸¤·¤Æ´Ö°ã¤¤¤òÄûÀµ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥«¡¼¥Í¥ëµ¯Æ°¥á¥Ã¥»¡¼¥¸¤Îľ¸å¤Ëɽ¼¨¤µ¤ì¤¿¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ë¤Ï¡¢ ÌäÂê¤Îµ¯¤³¤Ã¤¿¥Õ¥¡¥¤¥ëÆâ¤Ç¤Î¹ÔÈÖ¹æ¤òɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£ ¤É¤Î¤è¤¦¤Ë¤·¤¿¤é DOS ¤Î³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤¹¤«? DOS ³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¡¢ ¤¹¤Ù¤Æ¤Î´ðËܥѡ¼¥Æ¥£¥·¥ç¥ó¤Î¸å¤Ëǧ¼±¤µ¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢2ÂæÌܤΠSCSI¥É¥é¥¤¥Ö¤Î³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë E ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ë¤È¤·¤Þ¤¹¤È¡¢ ¤³¤ì¤Ï /dev ¤Ë¡Ö¥¹¥é¥¤¥¹ 5 ¡×¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤òºî¤ëɬÍפ¬¤¢¤ê¡¢ /dev/da1s5 ¤È¤·¤Æ¥Þ¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£ &prompt.root; cd /dev &prompt.root; ./MAKEDEV da1s5 &prompt.root; mount -t msdos /dev/da1s5 /dos/e ¾¤Î¥·¥¹¥Æ¥à¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò FreeBSD ¤Ç¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤«? Digital UNIX: UFS CDROM ¤ÏľÀÜ FreeBSD ¤Ç¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Digital UNIX ¤ä¤½¤ì°Ê³°¤Î¥·¥¹¥Æ¥à¤Î¥µ¥Ý¡¼¥È¤¹¤ë UFS ¤Î¥Ç¥£¥¹¥¯¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤Ï¤â¤Ã¤ÈÊ£»¨¤Ê¤³¤È¤Ç¡¢ ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥Ç¥£¥¹¥¯¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¾ÜºÙ¤Ë°Í¸¤·¤Þ¤¹¡£ Linux: 2.2 °Ê¹ß¤Ï ext2fs ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ ¾Ü¤·¤¯¤Ï¡¢&man.mount.ext2fs.8; ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ NT: FreeBSD ÍÑ¤ÎÆÉ¤ß¤À¤·¤Î¤ß²Äǽ¤Ê NTFS ¥É¥é¥¤¥Ð¤¬¤¢¤ê¤Þ¤¹¡£ ¾Ü¤·¤¯¤Ï¡¢Mark Ovens »á¤Ë¤è¤Ã¤Æ½ñ¤«¤ì¤¿¥Á¥å¡¼¥È¥ê¥¢¥ë http://ukug.uk.freebsd.org/~mark/ntfs_install.html ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¤³¤ÎÌäÂê¤Ë¤Ä¤¤¤ÆÂ¾¤Î¾ðÊ󤬤¢¤ì¤Ð¡¢Â¾¤Î¿Í¤«¤é´¶¼Õ¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£ ¤É¤Î¤è¤¦¤Ë¤·¤¿¤é FreeBSD ¤ò NT ¥í¡¼¥À¡¼¤«¤éµ¯Æ°¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤«? ¤³¤Î¼ê½ç¤Ï 2.2.x ¤È (µ¯Æ°¤¬ 3 ¤Ä¤Î¥¹¥Æ¡¼¥¸¤Ëʬ¤«¤ì¤Æ¤¤¤ë) 3.x ¤Î¥·¥¹¥Æ¥à¤È¤Ç¿¾¯°Û¤Ê¤ê¤Þ¤¹¡£ FreeBSD ¤Î¥Í¥¤¥Æ¥£¥Ö¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎºÇ½é¤Î¥»¥¯¥¿¤ò¥Õ¥¡¥¤¥ë¤Ë¤·¤Æ DOS/NT ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¾å¤ËÃÖ¤¯¤È¤¤¤¦²è´üŪ¤Ê¥¢¥¤¥Ç¥£¥¢¤¬¤¢¤ê¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë̾¤ò c:\bootsect.bsd (c:\bootsect.dos ¤«¤é¤ÎȯÁۤǤ¹) ¤È¤·¤¿¤È¤·¤Þ¤¹¡£ c:\boot.ini¥Õ¥¡¥¤¥ë¤ò¼¡¤Î¤è¤¦¤ËÊÔ½¸¤·¤Þ¤¹¡£ [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" C:\BOOTSECT.BSD="FreeBSD" C:\="DOS" ¤³¤Î¼ê½ç¤Ï¡¢ÍøÍѤ·¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤¬ 2.2.x ¤Ç¤¢¤ê¡¢DOS¡¢NT¡¢FreeBSD ¤¢¤ë¤¤¤Ï¤½¤Î¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬¤¹¤Ù¤Æ¡¢ Ʊ¤¸¥Ç¥£¥¹¥¯¤Î¤½¤ì¤¾¤ì¤Î fdisk ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¤³¤ÎÎã¤Ï¡¢DOS ¤È NT ¤òºÇ½é¤Î fdisk ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤ª¤­¡¢ FreeBSD ¤Ï 2 ÈÖÌܤˤª¤¤¤¿¥·¥¹¥Æ¥à¤Ç³Îǧ¤·¤Æ¤¤¤Þ¤¹¡£ ¤Þ¤¿¡¢FreeBSD ¤Ï MBR ¤ò»È¤ï¤º¤Ë¡¢ ¥Í¥¤¥Æ¥£¥Ö¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤¢¤ê¤Þ¤¹ (ÌõÃí: FreeBSD ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ç¡¢¥Ö¡¼¥È¥Þ¥Í¥¸¥ã¤ò»È¤ï¤º¤Ëɸ½à MBR ¤ò»È¤¦¾ì¹ç¤ËÁêÅö¤·¤Þ¤¹)¡£ (¤â¤· NTFS ¤ËÊÑ´¹¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤Ê¤é)DOS ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤« FAT ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò /mnt ¤Ë DOS ¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ &prompt.root; dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1 ºÆµ¯Æ°¤·¤Æ DOS ¤« NT ¤ËÀÚÂØ¤¨¤Þ¤¹¡£NTFS ¥æ¡¼¥¶¤Ï bootsect.bsd ¤ä bootsect.lnx ¤ò¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤«¤é C:\ ¤Ø¥³¥Ô¡¼¤·¤Þ¤¹¡£ boot.ini ¤Î¥Õ¥¡¥¤¥ë°À­ (¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó) ¤ÎÊѹ¹¤ò°Ê²¼¤Î¤è¤¦¤Ë¹Ô¤Ê¤¤¤Þ¤¹¡£ > attrib -s -r c:\boot.ini ¾å¤ÎÎã¤Î boot.ini ¤Ç¼¨¤·¤¿¤è¤¦¤ÊÀµ¤·¤¤¥¨¥ó¥È¥ê¤ò²Ã¤¨¡¢ ¥Õ¥¡¥¤¥ë°À­¤ò¸µ¤ËÌᤷ¤Þ¤¹¡£ > attrib +s +r c:\boot.ini FreeBSD ¤¬ MBR ¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ ¤½¤ì¤¾¤ì¤Î¥Í¥¤¥Æ¥£¥Ö¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤¿¸å¤Ç¡¢ DOS ¤«¤é fdisk ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¸µ¤ËÌᤷ¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD 3.X ¤Ë¤ª¤±¤ë¼ê½ç¤Ï¡¢¤³¤ì¤è¤ê¤¤¤¯¤Ö¤ó´Êñ¤Ç¤¹¡£ FreeBSD ¤¬ NT µ¯Æ°¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¤·¤ÆÆ±¤¸¥Ç¥£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ /boot/boot1 ¤òñ½ã¤Ë C:\BOOTSECT.BSD ¤Ø¥³¥Ô¡¼¤·¤Þ¤¹¡£ ¤â¤· FreeBSD ¤¬°Û¤Ê¤Ã¤¿¥Ç¥£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ /boot/boot1 ¤Ç¤Ïưºî¤·¤Þ¤»¤ó¤Î¤Ç¡¢ /boot/boot0 ¤¬É¬ÍפǤ¹¡£ ¤³¤³¤Ç /boot/boot1 ¤ÎÂå¤ï¤ê¤Ë /boot/boot0 ¤ò¥³¥Ô¡¼¤¹¤ë¤è¤¦¤Ê¤³¤È¤ò¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó! ¤½¤¦¤¹¤ë¤È¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¤ò¾å½ñ¤­¤·¤Æ¤·¤Þ¤¤¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤¬µ¯Æ°¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ /boot/boot0 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢ sysinstall ¤Î¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤òÍøÍѤ¹¤ë¤«¤É¤¦¤«¿Ò¤Í¤é¤ì¤ë²èÌÌ¤Ç FreeBSD ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤òÁªÂò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ /boot/boot0 ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥Æ¡¼¥Ö¥ëÉôʬ¤Ï NULL ʸ»ú¤ÇËä¤á¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢ sysinstall ¤Ï /boot/boot0 ¤ò MBR ¤Ë¥³¥Ô¡¼¤¹¤ëÁ°¤Ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¤ò¤­¤Á¤ó¤È¥³¥Ô¡¼¤·¤Æ¤¯¤ì¤ë¤«¤é¤Ç¤¹¡£ FreeBSD ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤ÏºÇ¸å¤Ëµ¯Æ°¤·¤¿ OS ¤òµ­Ï¿¤¹¤ë¤¿¤á¤Ë ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¤ÎºÇ¸å¤Ëµ¯Æ°¤·¤¿ OS ¤Î¥¨¥ó¥È¥ê¤Ë¤¢¤ë¥¢¥¯¥Æ¥£¥Ö¥Õ¥é¥°¤ò¥»¥Ã¥È¤·¡¢512 ¥Ð¥¤¥ÈÁ´ÂΤò MBR ¤Ë½ñ¤­Ìᤷ¤Þ¤¹¡£ ¤³¤ì¤Ï /boot/boot0 ¤ò C:\BOOTSECT.BSD ¤Ë¥³¥Ô¡¼¤·¡¢ ¥¨¥ó¥È¥ê¤Î°ì¤Ä¤Ë¥¢¥¯¥Æ¥£¥Ö¥Õ¥é¥°¤ò¥»¥Ã¥È¤·¤Æ¶õ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¤ò MBR ¤Ë½ñ¤­¹þ¤à¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£ FreeBSD ¤È Linux ¤ò LILO ¤«¤éµ¯Æ°¤¹¤ë¤Ë¤Ï? FreeBSD ¤È Linux ¤¬Æ±¤¸¥Ç¥£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ ñ¤Ë Linux °Ê³°¤Î OS ¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î LILO ¤Î¥¤¥ó¥¹¥È¡¼¥ë¼ê½ç¤Ë ½¾¤¨¤Ð¤¤¤¤¤À¤±¤Ç¤¹¡£Èó¾ï¤Ë´Êñ¤Ë¤Ç¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢µ­¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£ Linux ¤òµ¯Æ°¤·¡¢/etc/lilo.conf ¤Ë°Ê²¼¤Î¹Ô¤ò²Ã¤¨¤Æ ¤¯¤À¤µ¤¤¡£ other=/dev/hda2 table=/dev/hda label=FreeBSD (¾åµ­¤Î¼ê½ç¤Ï FreeBSD ¤Î¥¹¥é¥¤¥¹¤¬ Linux ¤«¤é /dev/hda2 ¤È¤¤¤¦Ì¾Á°¤Ç¸«¤¨¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ¤¤¤Þ¤¹¡£ ¤¢¤Ê¤¿¤ÎÀßÄê¤Ë¤¢¤ï¤»¤Æ¤¯¤À¤µ¤¤) ¤½¤Î¸å¡¢lilo ¤ò root ¤Ç¼Â¹Ô¤¹¤ì¤Ð´°Î»¤Ç¤¹¡£ FreeBSD ¤¬Ê̤Υǥ£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Î¤Ê¤é¡¢ LILO ¤Î¥¨¥ó¥È¥ê¤Ë loader=/boot/chain.b ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£¤¿¤È¤¨¤Ð¡¢¤³¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ other=/dev/dab4 table=/dev/dab loader=/boot/chain.b label=FreeBSD ¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢Æó¤ÄÌܤΥǥ£¥¹¥¯¤òÀµ¤·¤¯µ¯Æ°¤¹¤ë¤¿¤á¤Ë FreeBSD ¥Ö¡¼¥È¥í¡¼¥À¤Ë BIOS ¥É¥é¥¤¥ÖÈÖ¹æ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤¿¤È¤¨¤Ð¡¢FreeBSD SCSI ¥Ç¥£¥¹¥¯¤¬ BIOS ¤Ë¤è¤Ã¤Æ BIOS ¥Ç¥£¥¹¥¯ 1 ¤È¤·¤ÆÇ§¼±¤µ¤ì¤ë¤Î¤Ê¤é¡¢ FreeBSD ¤Î¥Ö¡¼¥È¥í¡¼¥À¤Î¥×¥í¥ó¥×¥È¤Ç¡¢¼¡¤Î¤è¤¦¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ Boot: 1:da(0,a)/kernel FreeBSD 2.2.5 ¤ä¤½¤ì°Ê¹ß¤ÎÈǤǤϡ¢&man.boot.8; ¤òÀßÄꤹ¤ì¤Ð µ¯Æ°»þ¤Ë¾åµ­¤Î¤³¤È¤¬¼«Æ°Åª¤Ë¹Ô¤¨¤Þ¤¹¡£ Linux+FreeBSD mini-HOWTO ¤¬ FreeBSD ¤È Linux ¤È¤òÁê¸ß¤Ë»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î¤è¤¤»²¹Í»ñÎÁ¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ FreeBSD ¤È Linux ¤ò BootEasy ¤«¤éµ¯Æ°¤¹¤ë¤Ë¤Ï? LILO ¤ò¥Þ¥¹¥¿¡¼¥Ö¡¼¥È¥ì¥³¡¼¥É (MBR) ¤Ç¤Ï¤Ê¤¯ Linux ¤Îµ¯Æ°¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤Ç BootEasy ¤«¤é LILO ¤òµ¯Æ°¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ Windows95 ¤È Linux ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¤¤¤º¤ì¤Ë¤»¤è¸å¼Ô¤ÎÊý¤¬¤ª¤¹¤¹¤á¤Ç¤¹¡£ Windows95 ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפˤ«¤é¤ì¤¿¤È¤­¡¢ Linux ¤òµ¯Æ°²Äǽ¤ËÌ᤹¼ê³¤­¤¬´Êñ¤Ç¤¹¤à¤«¤é¤Ç¤¹ (Windows95 ¤ÏÊжþ¤Ê¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¡¢ ¥Þ¥¹¥¿¡¼¥Ö¡¼¥È¥ì¥³¡¼¥É (MBR) ¤«¤é¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤òÄɤ¤Ê§¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹)¡£ ¡Ö´í¸±³Ð¸ç¤ÎÀìÍÑ (dangerously dedicated) ¥Ç¥£¥¹¥¯¡×¤Ï·ò¹¯¤Ë°­¤¤¤Î? ¥¤¥ó¥¹¥È¡¼¥ëºî¶ÈÃæ¡¢ ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÀÚ¤ëºÝ¤Ë 2 ¤Ä¤ÎÊýË¡¤òÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤ÎÊýË¡¤Ç¤Ï¡¢fdisk ¤Î¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê (FreeBSD ¤Ç¤Ï¥¹¥é¥¤¥¹¤È¸Æ¤Ð¤ì¤ë) ¤ò»È¤Ã¤Æ¡¢ ¼«¿È¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë FreeBSD ¤Î¥¹¥é¥¤¥¹¤ò¡¢ Ʊ¤¸¥Þ¥·¥ó¤Î¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¸ß´¹À­¤Î¤¢¤ë·Á¤Ë¤·¤Þ¤¹¡£ ¤½¤ì¤ËÉտ路¤Æ¡¢¥Ö¡¼¥È¥»¥ì¥¯¥¿¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ì¤Ð¡¢ ¥Ç¥£¥¹¥¯¾å¤Î»ÈÍѲÄǽ¤Ê¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤òÀÚ¤êÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤â¤¦°ì¤Ä¤ÎÊýË¡¤Ï¥Ç¥£¥¹¥¯¤¹¤Ù¤Æ¤ò FreeBSD ¤Ç»È¤¦¤È¤¤¤¦¤â¤Î¤Ç¡¢ ¤³¤Î¾ì¹ç¤Û¤«¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤Î¸ß´¹À­¤ò¹Íθ¤·¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ç¤Ï¡¢¤Ê¤¼¤³¤ì¤¬ ¡Ö´í¸±³Ð¸ç¤Î¡×¤È¸À¤ï¤ì¤ë¤Î¤Ç¤·¤ç¤¦? ¤³¤Î¥â¡¼¥É¤Î¥Ç¥£¥¹¥¯¤¬¡¢Ä̾ï¤Î PC ¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬Í­¸ú¤Ê fdisk ¥Æ¡¼¥Ö¥ë¤È¸«¤Ê¤¹¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î½ÐÍèÇ¡²¿¤Ë¤è¤ê¤Þ¤¹¤¬¡¢ ¤½¤Î¤è¤¦¤Ê¥Ç¥£¥¹¥¯¤òȯ¸«¤·¤¿¤È¤­¡¢ ·Ù¹ð¤ò½Ð¤¹¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¤â¤Ã¤È°­¤¤¾ì¹ç¡¢ ³Îǧ¤âÄ̹ð¤â¤Ê¤·¤Ë BSD ¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¤â¤Î¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¤µ¤é¤Ë¤Ï¡¢¡Ö´í¸±³Ð¸ç¤Î¡×¥Ç¥£¥¹¥¯¥ì¥¤¥¢¥¦¥È¤Ï¿¿ô¤Î BIOS¡¢ AWARD (¤¿¤È¤¨¤Ð HP Netserver ¤ä Micronics ¥·¥¹¥Æ¥à¡¢ ¾¿¿ô¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤¿) ¤ä Symbios/NCR (¿Íµ¤¤Î¤¢¤ëSCSI ¥³¥ó¥È¥í¡¼¥é 53C8xx ÍÑ) ¤Ê¤É¤òº®Í𤵤»¤ë¤³¤È¤¬Ê¬¤«¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï´°Á´¤Ê¥ê¥¹¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¾¤Ë¤â¤Þ¤À¤Þ¤À¤¢¤ê¤Þ¤¹¡£¤³¤Îº®Íð¤ÎÃû¸õ¤Ï¡¢ µ¯Æ°»þ¤Ë¥·¥¹¥Æ¥à¤¬¥í¥Ã¥¯¤¹¤ë¤È¤¤¤¦¤À¤±¤Ç¤Ê¤¯¡¢ FreeBSD ¤Î¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤¬¼«Ê¬¼«¿È¤ò¸«¤Ä¤±¤é¤ì¤Ê¤¤¤¿¤á¤Ëɽ¼¨¤¹¤ë read error ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤Ê¤É¤Ë¤â¸½¤ì¤ë¤³¤È¤Ç¤·¤ç¤¦¡£ ¤½¤â¤½¤â¤¤¤Ã¤¿¤¤¤Ê¤¼¤³¤Î¥â¡¼¥É¤¬¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«? ¤³¤ì¤Ï¤ï¤º¤«¤Ë¿ô¥­¥í¥Ð¥¤¥È¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤òÀáÌ󤹤ë¤Î¤ß¤Ç¤¢¤ê¡¢ ¿·µ¬¥¤¥ó¥¹¥È¡¼¥ë¤Ç¼ÂºÝ¤ËÌäÂê¤òÀ¸¤º¤ë¤Î¤Ç¤¹¡£ ¡Ö´í¸±³Ð¸ç¤Î¡×¥â¡¼¥É¤Îµ¯¸»¤Ï¿·¤·¤¤ FreeBSD ¥¤¥ó¥¹¥È¡¼¥é¤Ç¤Î¡¢ BIOS ¤«¤é¸«¤¨¤ë¥Ç¥£¥¹¥¯¤Î ¡Ö¥¸¥ª¥á¥È¥ê¡×¤ÎÃͤȥǥ£¥¹¥¯¼«¿È¤È¤ÎÀ°¹çÀ­¤È¤¤¤¦¡¢ ¤â¤Ã¤È¤â°ìÈÌŪ¤ÊÌäÂê¤Î¤Ò¤È¤Ä¤ò²óÈò¤·¤¿¤¤¤È¤¤¤¦Í×µá¤¬ÇØ·Ê¤Ë¤¢¤ê¤Þ¤¹¡£ ¡Ö¥¸¥ª¥á¥È¥ê¡×¤Ï»þÂåÃÙ¤ì¤Î³µÇ°¤Ç¤¹¤¬¡¢ ̤¤À¤Ë PC BIOS ¤È¥Ç¥£¥¹¥¯¤Ø¤ÎÁê¸ßºîÍѤÎÃæ³Ë¤ò¤Ê¤·¤Æ¤¤¤Þ¤¹¡£ FreeBSD ¤Î¥¤¥ó¥¹¥È¡¼¥é¤¬¥¹¥é¥¤¥¹¤òºî¤ë»þ¡¢ ¥Ç¥£¥¹¥¯¾å¤Î¥¹¥é¥¤¥¹¤ò BIOS ¤¬¸«¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¡¢ ¥¹¥é¥¤¥¹°ÌÃÖ¤ò¥Ç¥£¥¹¥¯¾å¤Ëµ­Ï¿¤·¤Þ¤¹¡£¤½¤ì¤¬¸í¤Ã¤Æ¤¤¤ì¤Ð¡¢ µ¯Æ°¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£ ¡Ö´í¸±³Ð¸ç¤Î¡×¥â¡¼¥É¤Ï¤³¤ì¤ò¡¢ ÌäÂê¤òñ½ã¤Ë¤¹¤ë¤³¤È¤Ç²óÈò¤·¤è¤¦¤È¤·¤Þ¤¹¡£ ¾õ¶·¤Ë¤è¤Ã¤Æ¤Ï¤³¤ì¤Ç¤¦¤Þ¤¯¤¤¤­¤Þ¤¹¡£ ¤·¤«¤·¼¡Á±¤Îºö¤È¤·¤Æ»È¤ï¤ì¤Æ¤¤¤ë¤Ë²á¤®¤Þ¤»¤ó¡£ ¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤â¤Ã¤ÈÎɤ¤ÊýË¡¤Ï¤¤¤¯¤é¤Ç¤â¤¢¤ë¤Î¤Ç¤¹¡£ ¤Ç¤Ï¡¢ ¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¡Ö´í¸±³Ð¸ç¤ÎÀìÍѡץ⡼¥É¤¬É¬Í×¤Ë¤Ê¤ë ¾õ¶·¤ò²óÈò¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«? ¤Þ¤º BIOS ¤¬Êó¹ð¤¹¤ë¥Ç¥£¥¹¥¯¤Î¥¸¥ª¥á¥È¥ê¤ÎÃͤò³Ð¤¨¤Æ¤ª¤¯¤³¤È¤«¤é¤Ï¤¸¤á¤Þ¤·¤ç¤¦¡£ boot: ¥×¥í¥ó¥×¥È¤Ç ¤ò»ØÄꤹ¤ë¤«¡¢¥í¡¼¥À¤Ç boot -v ¤È»ØÄꤷ¤Æ¡¢ µ¯Æ°»þ¤Ë¥«¡¼¥Í¥ë¤Ë¤³¤ÎÃͤòɽ¼¨¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥¤¥ó¥¹¥È¡¼¥é¤¬µ¯Æ°¤¹¤ëľÁ°¤Ë¡¢ ¥«¡¼¥Í¥ë¤¬¥¸¥ª¥á¥È¥êÃͤΥꥹ¥È¤òɽ¼¨¤¹¤ë¤Ç¤·¤ç¤¦¡£ ¥Ñ¥Ë¥Ã¥¯¤òµ¯¤³¤µ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¥¤¥ó¥¹¥È¡¼¥é¤¬µ¯Æ°¤¹¤ë¤Î¤òÂÔ¤Á¡¢ µÕ¥¹¥¯¥í¡¼¥ë¤Ç¤µ¤«¤Î¤Ü¤Ã¤ÆÃͤò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ÉáÄÌ¤Ï BIOS ¥Ç¥£¥¹¥¯¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤Ï¡¢ FreeBSD ¤¬¥Ç¥£¥¹¥¯¤ò¸¡½Ð¤¹¤ë½ç½ø¤ÈƱÍͤǤ¢¤ê¡¢ ºÇ½é¤Ë IDE¡¢¼¡¤Ë SCSI ¤È¤Ê¤ê¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¤ò¥¹¥é¥¤¥·¥ó¥°¤¹¤ëºÝ¤Ë¡¢ FDISK ¤Î²èÌ̤Çɽ¼¨¤µ¤ì¤ë¥Ç¥£¥¹¥¯¤Î¥¸¥ª¥á¥È¥ê¤¬Àµ¤·¤¤¤³¤È (BIOS ¤ÎÊÖ¤¹ÃͤȰìÃפ·¤Æ¤¤¤ë¤«) ¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ Ëü°ì°Û¤Ê¤Ã¤Æ¤¤¤¿¤é g ¤ò²¡¤·¤Æ½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ç¥£¥¹¥¯¤Ë¤Þ¤Ã¤¿¤¯¤Ê¤Ë¤â¤Ê¤¤¾ì¹ç¤ä¡¢ ¾¤Î¥·¥¹¥Æ¥à¤«¤é»ý¤Ã¤Æ¤­¤¿¥Ç¥£¥¹¥¯¤Î¾ì¹ç¤Ï ¤³¤ì¤ò¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¤½¤Î¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤µ¤»¤è¤¦¤È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß¡¢ ÌäÂê¤Ë¤Ê¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD ¤Ï¤½¤Î¥Ç¥£¥¹¥¯¤ò¤¦¤Þ¤¤¶ñ¹ç¤¤¤Ë¾¤Î¥Ç¥£¥¹¥¯¤È¶èÊ̤·¤Æ¤¯¤ì¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¤Î¥¸¥ª¥á¥È¥ê¤Ë¤Ä¤¤¤Æ BIOS ¤È FreeBSD ´Ö¤Ç°ìÃפµ¤»¤ë¤³¤È¤¬¤Ç¤­¤¿¤é¡¢¤³¤ÎÌäÂê¤Ï¤Û¤Ü²ò·è¤·¤¿¤È»×¤Ã¤Æ¤è¤¤¤Ç¤·¤ç¤¦¡£ ¤½¤·¤Æ¤â¤Ï¤ä¡Ö´í¸±³Ð¸ç¤ÎÀìÍѡץ⡼¥É¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢¤Þ¤Àµ¯Æ°»þ¤Ë¶²ÉݤΠread error ¥á¥Ã¥»¡¼¥¸¤¬½Ð¤ë¤è¤¦¤Ç¤¢¤ì¤Ð¡¢ ¤ªµ§¤ê¤òÊû¤²¤Æ¿·¤·¤¤¥Ç¥£¥¹¥¯¤òÇ㤤¤Þ¤·¤ç¤¦¡£ ¤â¤¦¼º¤¦¤â¤Î¤Ï²¿¤â¤¢¤ê¤Þ¤»¤ó¡£ ¡Ö´í¸±³Ð¸ç¤ÎÀìÍѥǥ£¥¹¥¯¡×¤òÄ̾ï¤Î PC ¤Ç¤Î»ÈÍÑË¡¤ËÌ᤹¤Ë¤Ï¡¢ ¸¶Â§¤È¤·¤Æ 2 ¤ÄÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£1 ¤Ä¤Ï½½Ê¬¤Ê NULL ¥Ð¥¤¥È¤ò MBR ¤Ë½ñ¤­¹þ¤ó¤Ç¡¢ ¤­¤¿¤ë¤Ù¤­¥¤¥ó¥¹¥È¡¼¥é¤Ë¥Ç¥£¥¹¥¯¤Ï¤Þ¤Ã¤µ¤é¤À¤È»×¤¤¹þ¤Þ¤»¤ëÊýË¡¤Ç¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¤³¤ó¤Ê´¶¤¸¤Ç¤¹¡£ &prompt.root; dd if=/dev/zero of=/dev/rda0 count=15 ¤Þ¤¿¡¢¥Þ¥Ë¥å¥¢¥ë¤Ë¤Ï½ñ¤«¤ì¤Æ¤¤¤Ê¤¤ DOS ¤Î¡Öµ¡Ç½¡× > fdisk /mbr ¤Ï¡¢BSD ¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤òÄɤ¤Ê§¤Ã¤Æ¤¯¤ì¤ë¾å¤Ë¡¢ ¿·¤·¤¤¥Þ¥¹¥¿¡¼¥Ö¡¼¥È¥ì¥³¡¼¥É¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤ì¤Þ¤¹¡£ ¤É¤Î¤è¤¦¤Ë¤·¤¿¤é¥¹¥ï¥Ã¥×Îΰè¤òÁý¤ä¤»¤Þ¤¹¤«? ¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥µ¥¤¥º¤òÁý¤ä¤¹¤Î¤¬ºÇÎɤÎÊýË¡¤Ç¤¹¤¬¡¢ Ê̤Υǥ£¥¹¥¯¤òÄɲ䷤ʤ¯¤ÆºÑ¤à¤È¤¤¤¦ÍøÅÀ¤Î¤¢¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ ·Ð¸³¤«¤éÆÀ¤¿°ìÈÌŪ¤ÊÊýË¡¤Ï¥á¥¤¥ó¥á¥â¥ê¤Î 2ÇÜÄøÅ٤Υ¹¥ï¥Ã¥×Îΰè¤ò ¤È¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£¤·¤«¤·¤´¤¯¾®¤µ¤Ê¥á¥¤¥ó¥á¥â¥ê¤·¤«¤Ê¤¤¾ì¹ç¤Ï¡¢ ¤½¤ì°Ê¾å¤Î¥¹¥ï¥Ã¥×¤ò¹½À®¤·¤¿¤¤¤È»×¤¦¤Ç¤·¤ç¤¦¡£¤Þ¤¿¡¢¾­Íè¤Î¥á¥â¥ê¤Î ¥¢¥Ã¥×¥°¥ì¡¼¥É¤ËÈ÷¤¨¡¢¸å¤Ç¥¹¥ï¥Ã¥×¤Î¹½À®¤òÊѹ¹¤¹¤ëɬÍפ¬¤Ê¤¤¤è¤¦¤Ë ½½Ê¬¤Ê¥¹¥ï¥Ã¥×¤ò¹½À®¤·¤Æ¤ª¤¯¤³¤È¤ÏÎɤ¤¹Í¤¨¤Ç¤¹¡£ ¥¹¥ï¥Ã¥×¤òÊ̤Υǥ£¥¹¥¯¾å¤ËÄɲ乤뤳¤È¤Ï¡¢Ã±½ã¤ËƱ¤¸¥Ç¥£¥¹¥¯¾å ¤Ë¥¹¥ï¥Ã¥×¤òÄɲ乤ë¾ì¹ç¤è¤ê¤â¹â®¤Ëưºî¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ Îã¤Ëµó¤²¤ì¤Ð¡¢¤¢¤ë¥Ç¥£¥¹¥¯¾å¤Î¥½¡¼¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤ë¤È¤·¤Æ¡¢ ¥¹¥ï¥Ã¥×¤¬Ê̤Υǥ£¥¹¥¯¾å¤Ëºî¤é¤ì¤Æ¤¤¤ì¤Ð¡¢¤³¤ì¤é¤¬Æ±¤¸¥Ç¥£¥¹¥¯¾å ¤Ë¤¢¤ë¾ì¹ç¤è¤ê¤âÃÇÁ³Â®¤¤¤Ç¤¹¡£SCSI ¥Ç¥£¥¹¥¯¤Î¾ì¹ç¤ÏÆÃ¤Ë¤½¤¦¤À¤È¸À¤¨¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¤¬Ê£¿ô¤¢¤ë¾ì¹ç¡¢¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò³Æ¥Ç¥£¥¹¥¯¤Ë ºî¤ë¤è¤¦¤Ë¹½À®¤¹¤ë¤È¡¢»ÈÍÑÃæ¤Î¥Ç¥£¥¹¥¯¾å¤Ë¥¹¥ï¥Ã¥×¤òÃÖ¤¤¤¿¤È¤·¤Æ¤â¡¢ Ä̾ï¤Î¾ì¹ç¤ÏÍ­±×¤Ç¤¹¡£°ìÈÌŪ¤Ë¡¢¥·¥¹¥Æ¥à¤Ë¤¢¤ë¹â®¤Ê¥Ç¥£¥¹¥¯¤Ë¤Ï ¥¹¥ï¥Ã¥×¤òºî¤ë¤è¤¦¤Ë¤¹¤Ù¤­¤Ç¤·¤ç¤¦¡£ FreeBSD ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¥¤¥ó¥¿¡¼¥ê¡¼¥Ö¤Ê¥¹¥ï¥Ã¥×¥Ç¥Ð¥¤¥¹¤ò 4¤Ä¤Þ¤Ç ¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£Ê£¿ô¤Î¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¹½À®¤¹¤ëºÝ¤Ë¡¢ ÉáÄ̤Ϥ½¤ì¤é¤òÂçÂÎÆ±¤¸¤¯¤é¤¤¤ÎÂ礭¤µ¤Ë¤·¤Æºî¤ê¤¿¤¤¤È¤³¤í¤Ç¤¹¤¬¡¢ ¥«¡¼¥Í¥ë¤Î¥³¥¢¥À¥ó¥×¤ò¼è¤ë¤Î¤ËÅԹ礬Îɤ¤¤è¤¦¤Ë¥á¥¤¥ó¤Î ¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÂ礭¤á¤Ë¤È¤ë¿Í¤â¤¤¤Þ¤¹¡£ ¥á¥¤¥ó¤Î¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥«¡¼¥Í¥ë¤Î¥³¥¢¤¬¤È¤ì¤ë¤è¤¦¤Ë ºÇÄã¤Ç¤â¼Â¥á¥â¥ê¤ÈƱ¤¸Â礭¤µ¤Ë¤¹¤Ù¤­¤Ç¤·¤ç¤¦¡£ IDE ¥É¥é¥¤¥Ö¤ÏƱ»þ¤ËƱ¤¸¥Á¥ã¥Í¥ë¾å¤ÎÊ£¿ô¤Î¥É¥é¥¤¥Ö¤Ë¤Ï ¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó (FreeBSD ¤Ï mode 4 ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢ ¤¹¤Ù¤Æ¤Î IDE ¥Ç¥£¥¹¥¯ I/O ¤Ï programmed ¤Ç¤¹)¡£ IDE ¤Î¾ì¹ç¤Ç¤¢¤Ã¤Æ¤â¤ä¤Ï¤ê¡¢¥¹¥ï¥Ã¥×¤òÊ̤Υϡ¼¥É¥Ç¥£¥¹¥¯¾å¤Ë ºîÀ®¤¹¤ë¤³¤È¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ ¥É¥é¥¤¥Ö¤Ï¼Â¤Ë°Â¤¤¤â¤Î¤Ç¤¹¡¢¿´ÇÛ¤¹¤ë¤À¤±ÌµÂ̤Ǥ¹¡£ NFS ±Û¤·¤Ë¥¹¥ï¥Ã¥Ô¥ó¥°¤µ¤»¤ëÊýË¡¤Ï¡¢ ¥¹¥ï¥Ã¥×ÍÑ¤Î¥í¡¼¥«¥ë¥Ç¥£¥¹¥¯¤¬Ìµ¤¤¾ì¹ç¤Ë¤Î¤ß¿ä¾©¤µ¤ì¤Þ¤¹¡£ NFS ±Û¤·¤Î¥¹¥ï¥Ã¥Ô¥ó¥°¤ÏÃÙ¤¯¡¢FreeBSD 4.x ¤è¤êÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï ¸úΨ¤¬°­¤¤¤Î¤Ç¤¹¤¬¡¢4.0 °Ê¹ß¤Ç¤Ï¤½¤ì¤Ê¤ê¤Ë¹â®¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤½¤¦¤Ï¤¤¤Ã¤Æ¤â¡¢ÍøÍѤǤ­¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÂÀ¤µ¤ËÀ©¸Â¤µ¤ì¤Þ¤¹¤·¡¢ NFS ¥µ¡¼¥Ð¤Ë;·×¤ÊÉé²Ù¤¬¤«¤«¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï 64MB¤Î vn-swap ¤òºî¤ëÎã¤Ç¤¹ (¤³¤³¤Ç¤Ï /usr/swap0 ¤È¤·¤Þ¤¹¤¬¡¢¤â¤Á¤í¤ó¹¥¤­¤Ê̾Á°¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹)¡£ ¥«¡¼¥Í¥ë¤¬¼¡¤Î¹Ô¤ò´Þ¤à¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë¤«¤ò ³Îǧ¤·¤Þ¤¹¡£GENERIC ¥«¡¼¥Í¥ë¤Ë¤Ï¡¢¤³¤Î¹Ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ pseudo-device vn 1 #Vnode driver (turns a file into a device) vn ¥Ç¥Ð¥¤¥¹¤òºî¤ê¤Þ¤¹ &prompt.root; cd /dev &prompt.root; sh ./MAKEDEV vn0 ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤¹ (/usr/swap0) &prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤ËŬÀڤʥѡ¼¥ß¥Ã¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹ &prompt.root; chmod 0600 /usr/swap0 /etc/rc.conf ¤Ç¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤òÍ­¸ú²½¤µ¤»¤Þ¤¹ swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. ¥Þ¥·¥ó¤òºÆµ¯Æ°¤·¤Þ¤¹ ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤ò¤¹¤°¤ËÍ­¸ú²½¤µ¤»¤¿¤¤¤Î¤Ê¤é°Ê²¼¤Î¤è¤¦¤Ë¥¿¥¤¥×¤·¤Þ¤¹¡£ &prompt.root; vnconfig -e /dev/vn0b /usr/swap0 swap ¥×¥ê¥ó¥¿¤Î¥»¥Ã¥È¥¢¥Ã¥×¤ÇÌäÂ꤬¤¢¤ê¤Þ¤¹ ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¥×¥ê¥ó¥¿¤ÎÉôʬ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ õ¤·¤Æ¤¤¤ëÌäÂê¤Î¤Û¤È¤ó¤É¤¬½ñ¤«¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¡Ö¥×¥ê¥ó¥¿¤ÎÍøÍѡפò¤´Í÷¤¯¤À¤µ¤¤¡£ ¥×¥ê¥ó¥¿¤Ë¤è¤Ã¤Æ¤Ï¡¢°õºþ¤¹¤ë¤Î¤Ë¥Û¥¹¥È¦¤Ë¥É¥é¥¤¥Ð¤¬ ɬÍפǤ¹¡£¤³¤ì¤é WinPrinters ¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ï¡¢ ÁǤΠFreeBSD ¤Ç¤Ï»È¤¨¤Þ¤»¤ó¡£DOS ¤ä Windows NT 4.0 ¤Çưºî¤·¤Ê¤¤ ¤Ê¤é¡¢¤½¤Î¥×¥ê¥ó¥¿¤Ï¤ª¤½¤é¤¯ WinPrinter ¤Ç¤·¤ç¤¦¡£ ¤¿¤À¤·¡¢Í£°ì¤Î´õ˾¤¬»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ports/print/pnm2ppa ¤Î port ¤¬ Âбþ¤·¤Æ¤¤¤ë¤«¤É¤¦¤«³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¥Ñ¥Ã¥±¡¼¥¸¤ÎÀâÌÀ¤Ë¤Ï¤³¤¦½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£
¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ï PPA (printer performance architecture) ¥×¥í¥È¥³¥ë¤Î½ÐÎϤò¹Ô¤¤¤Þ¤¹¡£¤³¤Î¥×¥í¥È¥³¥ë ¤Ï HP ¤Î "Windows ÀìÍÑ" ¥×¥ê¥ó¥¿¤Î°ìÉô¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ ¤½¤Î¤Ê¤«¤Ë¤Ï¡¢HP Deskjet 820C ¥·¥ê¡¼¥º¡¢HP DeskJet 720 ¥·¥ê¡¼¥º¡¢¤ª¤è¤Ó HP DeskJet 1000 ¥·¥ê¡¼¥º¤¬¤¢¤ê¤Þ¤¹¡£(ά) WWW: http://pnm2ppa.sourceforge.net/
»ä¤Î¥·¥¹¥Æ¥à¤Î¥­¡¼¥Ü¡¼¥É¥Þ¥Ã¥Ô¥ó¥°¤Ï´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹¡£ kbdcontrol ¥×¥í¥°¥é¥à¤Ï¡¢ ¥­¡¼¥Ü¡¼¥É¥Þ¥Ã¥×¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£ /usr/share/syscons/keymaps ¤Î²¼¤Ë¤¿¤¯¤µ¤ó¤Î¥Þ¥Ã¥×¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤Ë´ØÏ¢¤Î¤¢¤ë¤â¤Î¤ò°ì¤ÄÁª¤ó¤Ç¡¢¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; kbdcontrol -l uk.iso /usr/share/syscons/keymaps ¤È³ÈÄ¥»Ò .kbd ¤Ï¡¢¤É¤Á¤é¤â &man.kbdcontrol.1; ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï /etc/sysconfig (¤Þ¤¿¤Ï &man.rc.conf.5;) Ãæ¤ÇÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¥Õ¥¡¥¤¥ëÃæ¤Ë¤¢¤ë¤½¤ì¤¾¤ì¤Î¥³¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD 2.0.5R ¤ä¤½¤ì°Ê¹ß¤ÎÈǤǤϡ¢ ¥Æ¥­¥¹¥È¥Õ¥©¥ó¥È¤ä¥­¡¼¥Ü¡¼¥É¥Þ¥Ã¥Ô¥ó¥°¤Ë´Ø·¸¤Î¤¢¤ë¤â¤Î¤Ï¤¹¤Ù¤Æ¡¢ /usr/share/examples/syscons ¤ÎÃæ¤Ë¤ª¤µ¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£ ¸½ºß°Ê²¼¤Î¥Þ¥Ã¥Ô¥ó¥°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ Belgian ISO-8859-1 Brazilian 275 keyboard Codepage 850 Brazilian 275 keyboard ISO-8859-1 Danish Codepage 865 Danish ISO-8859-1 French ISO-8859-1 German Codepage 850 German ISO-8859-1 Italian ISO-8859-1 Japanese 106 Japanese 106x Latin American Norwegian ISO-8859-1 Polish ISO-8859-2 (programmer's) Russian Codepage 866 (alternative) Russian koi8-r (shift) Russian koi8-r Spanish ISO-8859-1 Swedish Codepage 850 Swedish ISO-8859-1 Swiss-German ISO-8859-1 United Kingdom Codepage 850 United Kingdom ISO-8859-1 United States of America ISO-8859-1 United States of America dvorak United States of America dvorakx µ¯Æ°»þ¤Ë¡¢unknown: <PNP0303> can't assign resources ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¤¹¤¬? °Ê²¼¤Ï¡¢freebsd-current ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ø¤ÎÅê¹Æ¤«¤é¤Î È´¿è¤Ç¤¹¡£
&a.wollman;, 2001 ǯ 4 ·î 24 Æü can't assign resources ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤Ï¡¢ ¤½¤Î¥Ç¥Ð¥¤¥¹¤¬¥ì¥¬¥·¡¼ ISA ¥Ç¥Ð¥¤¥¹¤Ç¡¢PnP ¤ò°Õ¼±¤·¤Æ¤¤¤Ê¤¤ ¥É¥é¥¤¥Ð¤¬¥«¡¼¥Í¥ë¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ ¤³¤ì¤Ë¤Ï¡¢¥­¡¼¥Ü¡¼¥É¥³¥ó¥È¥í¡¼¥é¡¢¥×¥í¥°¥é¥à²Äǽ¤Ê ³ä¤ê¹þ¤ßÀ©¸æ IC ¤ä¤½¤Î¾¤µ¤Þ¤¶¤Þ¤Êɸ½àŪ¤Ê¥Ç¥Ð¥¤¥¹¤¬ ¤¢¤ê¤Þ¤¹¡£¥ê¥½¡¼¥¹¤¬³ä¤êÅö¤Æ¤é¤ì¤Ê¤¤¤Î¤Ï¡¢´û¤Ë¤½¤Î¥¢¥É¥ì¥¹¤ò »È¤Ã¤Æ¤¤¤ë¥É¥é¥¤¥Ð¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£
¥æ¡¼¥¶¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿¤¬Àµ¾ï¤Ëưºî¤·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ç¤¹¡£ / ¤Ë¤Ï¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿¤òÀßÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ¥¯¥©¡¼¥¿¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë ¥¯¥©¡¼¥¿¥Õ¥¡¥¤¥ë¤òÃÖ¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ Filesystem Quota file /usr /usr/admin/quotas /home /home/admin/quotas ¤ï¤¿¤·¤Î ccd ¤Ï¡¢ ²¿¤¬Å¬¹ç¤·¤Æ¤¤¤Ê¤¤ (Inappropriate) ¤Î¤Ç¤·¤ç¤¦? ¼¡¤Î¤è¤¦¤Ê¾É¾õ¤¬¸½¤ì¤Þ¤¹¡£ &prompt.root; ccdconfig -C ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format Ä̾盧¤Î¸½¾Ý¤Ï¥¿¥¤¥×¤ò¡Ö̤»ÈÍÑ (unused)¡×¤Î¤Þ¤ÞÊü¤Ã¤Æ¤ª¤«¤ì¤¿ c ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¤Ä¤Ê¤²¤è¤¦¤È¤·¤¿¾ì¹ç¤Ë¸½¤ì¤Þ¤¹¡£ccd ¥É¥é¥¤¥Ð¤Ï FS_BSDFFS ¥¿¥¤¥×¤ò¥Ù¡¼¥¹¤È¤¹¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÍ׵ᤷ¤Þ¤¹¡£ ¤Ä¤Ê¤²¤è¤¦¤È¤·¤Æ¤¤¤ë¥Ç¥£¥¹¥¯¤Î¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤òÊÔ½¸¤·¤Æ¡¢ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥¿¥¤¥×¤ò 4.2BSD ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤É¤¦¤·¤Æ¤ï¤¿¤·¤Î ccd ¤Î¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¤·¤ç¤¦? ¼¡¤Î¤è¤¦¤Ê¾É¾õ¤¬¸½¤ì¤Þ¤¹¡£ &prompt.root; disklabel ccd0 (it prints something sensible here, so let's try to edit it) &prompt.root; disklabel -e ccd0 (edit, save, quit) disklabel: ioctl DIOCWDINFO: No disk label on disk; use "disklabel -r" to install initial label ¤³¤ì¤Ï ccd ¤«¤éÊÖ¤µ¤ì¤ë¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤¬¡¢ ¼Â¤Ï¥Ç¥£¥¹¥¯¾å¤Ë¤Ï¤Ê¤¤¤Þ¤Ã¤¿¤¯¤Îµ¶¤Î¾ðÊó¤À¤«¤é¤Ç¤¹¡£ ¤³¤ì¤òÌÀ¼¨Åª¤Ë½ñ¤­Ä¾¤¹¤³¤È¤ÇÌäÂê¤ò²ò¾Ã¤Ç¤­¤Þ¤¹¡¢ ¤½¤ì¤Ë¤Ï¡¢¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; disklabel ccd0 > /tmp/disklabel.tmp &prompt.root; disklabel -Rr ccd0 /tmp/disklabel.tmp &prompt.root; disklabel -e ccd0 (this will work now) FreeBSD ¤Ï System V ¤Î IPC ¥×¥ê¥ß¥Æ¥£¥Ö¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¤«? ¤Ï¤¤¡£ FreeBSD ¤Ï System-V ¥¹¥¿¥¤¥ë¤Î IPC ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ ¶¦Í­¥á¥â¥ê¡¢¥á¥Ã¥»¡¼¥¸¡¢¥»¥Þ¥Õ¥©¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ °Ê²¼¤Î¹Ô¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤Ë²Ã¤¨¤ë¤È¡¢ ¥µ¥Ý¡¼¥È¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ options SYSVSHM # enable shared memory options SYSVSEM # enable for semaphores options SYSVMSG # enable for messaging FreeBSD 3.2 ¤È¤½¤ì°Ê¹ß¤Ç¤Ï¡¢ ¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤é¤«¤¸¤á GENERIC ¥«¡¼¥Í¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ ¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤Ë¤Ï¤¹¤Ç¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ UUCP ¤Ç¥á¡¼¥ë¤òÇÛÁ÷¤¹¤ë¤Ë¤Ï sendmail ¤ò¤É¤¦»È¤¨¤Ð¤è¤¤¤Î¤Ç¤¹¤«? FreeBSD ¤ËÉÕ°¤·¤Æ¤¤¤ë sendmail ¤Ï¡¢ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËľÀܤĤʤ¬¤Ã¤Æ¤¤¤ë¥µ¥¤¥È¤Ë¤¢¤ï¤»¤ÆÀßÄꤷ¤Æ¤¢¤ê¤Þ¤¹¡£ UUCP ·Ðͳ¤Ç mail ¤ò¸ò´¹¤·¤¿¤¤¾ì¹ç¤Ë¤Ï sendmail ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò²þ¤á¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ /etc/sendmail.cf ¤ò¼«Ê¬¤Î¼ê¤Ç²þ¤¤¹¤ë¤Î¤Ï½ã¿è¼çµÁ¼Ô¤Î¤ä¤ë¤è¤¦¤Ê»ö¤Ç¤¹¡£ sendmail ¤Î version 8 ¤Ï &man.m4.1; ¤Î¤è¤¦¤Ê¥×¥ê¥×¥í¥»¥Ã¥µ¤òÄ̤·¤ÆÀßÄê¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¿·¤·¤¤¥¢¥×¥í¡¼¥Á¤ò¼è¤Ã¤Æ¤ª¤ê¡¢ ¤è¤êÃê¾Ý²½¤µ¤ì¤¿¥ì¥Ù¥ë¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Þ¤¹¡£ /usr/src/usr.sbin/sendmail/cf ¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤Ë¤¢¤ëÀßÄê¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï sendmail ¤ÎÀßÄê¥Ä¡¼¥ë¤Ï¡¢Ê̤Πtar ¥Õ¥¡¥¤¥ë¤Ë¤Þ¤È¤á¤Æ¤¢¤ê¤Þ¤¹¡£CD-ROM ¤¬ mount ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; cd /cdrom/src &prompt.root; cat scontrib.?? | tar xzf - -C /usr/src contrib/sendmail ¤³¤ì¤Ï¤¿¤Ã¤¿¿ô 100Kbyte ¤Ç¤¹¤«¤é¿´Çۤʤ¤¤Ç¤·¤ç¤¦¡£ cf ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë README ¤Ë¡¢m4 ¤Ç¤ÎÀßÄê¤Î´ðËÜŪ¤ÊÀâÌÀ¤¬¤¢¤ê¤Þ¤¹¡£ UUCP ¤Ç¤ÎÇÛÁ÷¤Î¤¿¤á¤Ë¤Ï¡¢mailertable ¤ò»ÈÍѤ¹¤ì¤Ð ¤è¤¤¤Ç¤·¤ç¤¦¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢sendmail ¤¬ÇÛÁ÷Êý¼°¤ò·èÄꤹ¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò ºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤º¤Ï¤¸¤á¤Ë¡¢ .mc ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ /usr/src/usr.sbin/sendmail/cf/cf ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤¬¡¢ ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¾ì½ê¤Ç¤¹¡£´û¤Ë¤¤¤¯¤Ä¤«Î㤬¤¢¤ë¤È»×¤¤¤Þ¤¹¡£ ¤³¤ì¤«¤éºîÀ®¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò foo.mc ¤È¤¹¤ë¤È¡¢ sendmail.cf ¤òµá¤á¤Æ¤¤¤ë¤è¤¦¤Ê·Á¼°¤ËÊÑ´¹¤¹¤ë¤Ë¤Ï¡¢ ¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf &prompt.root; make foo.cf &prompt.root; cp foo.cf /etc/sendmail.cf ɸ½àŪ¤Ê .mc ¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ include(`../m4/cf.m4') VERSIONID(`Your version number') OSTYPE(bsd4.4) FEATURE(nodns) FEATURE(nocanonify) FEATURE(mailertable) define(`UUCP_RELAY', your.uucp.relay) define(`UUCP_MAX_SIZE', 200000) MAILER(local) MAILER(smtp) MAILER(uucp) Cw your.alias.host.name Cw youruucpnodename.UUCP nodns ¤È nocanonify ¤È¤¤¤¦»ØÄê¤ò¤¹¤ë¤³¤È¤Ç¡¢ mail ¤ÎÇÛÁ÷¤Ë DNS ¤ò»ÈÍѤ·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ UUCP_RELAY ¤È¤¤¤¦ ¹Ô¤Ë´Ø¤·¤Æ¤Ï¡¢ ¤¢¤ëÍýͳ¤«¤éɬÍפǤ¹¤¬¤½¤ì¤Ïʹ¤«¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ .UUCP ¤Ç½ª¤ï¤ë²¾Áۥɥᥤ¥ó¤ò½èÍý¤¹¤ë¤³¤È¤Î¤Ç¤­¤ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Ç¤Î ¥Û¥¹¥È̾¤ò¤³¤³¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£Ä̾ï¤Ï¡¢ISP ¤Î mail ¥ê¥ì¡¼¥Û¥¹¥È¤ò ½ñ¤¯¤³¤È¤Ë¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£ ¤³¤ì¤¬½ªÎ»¤·¤¿¤é¡¢¼¡¤Ë /etc/mailertable ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬É¬ÍפǤ¹¡£É¸½àŪ¤ÊÎã¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ # # makemap hash /etc/mailertable.db < /etc/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom: ¸«¤ì¤Ðʬ¤«¤ë¤è¤¦¤Ë¡¢¤³¤ì¤Ï¼Âºß¤¹¤ëÀßÄê¤Î¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¤Ï¤¸¤á¤Î 3 ¹Ô¤Ï¥É¥á¥¤¥ó̾¤Ç»ØÄꤵ¤ì¤¿¥á¡¼¥ë¤¬ default ¤Î·ÐÏ©¤ÇÇÛÁ÷¤µ¤ì¤º¤Ë¡¢ ¡Ö¶áÆ»¡×¤¹¤ë¤¿¤á¤Ë UUCP ¤ÇÎÙ¤ê¤Î¥µ¥¤¥È¤ËÁ÷¤ë¤¿¤á¤ÎÆÃÊ̤ʾõ¶·¤ò ½èÍý¤¹¤ë¤â¤Î¤Ç¤¹¡£ ¼¡¤Î¹Ô¤Ï Ethernet ¤Ç¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë¥í¡¼¥«¥ë¤Î¥É¥á¥¤¥ó¤ËÂФ·¤Æ¤Ï SMTP ¤ÇÁ÷¤ë¤¿¤á¤ÎÀßÄê¤Ç¤¹¡£ ºÇ¸å¤Ë¡¢UUCP ¤Ç¤ÎÎÙ¤ê¤Î¥µ¥¤¥È¤¬ .UUCP ¤Ç½ª¤ï¤ë²¾Áۥɥᥤ¥ó¤Î½ñ¼°¤Ç »ØÄꤵ¤ì¤Æ¤ª¤ê¡¢default ¤Î rule ¤ò uucp-neighbour! recipient ¤Ç¾å½ñ¤­¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£°ìÈֺǸå¤Î¹Ô¤Ï¤¤¤Ä¤â¥É¥Ã¥È¤ò°ì¤Ä½ñ¤­¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¤³¤³¤Þ¤Ç¤Î¹Ô¤Ç¥Þ¥Ã¥Á¤·¤Ê¤«¤Ã¤¿¤¹¤Ù¤Æ¤Î¥Û¥¹¥È¤Ë¥Þ¥Ã¥Á¤·¡¢ ¤³¤Î¥µ¥¤¥È¤«¤éÀ¤³¦¤Ë¸þ¤±¤Æ½Ð¤Æ¤¤¤¯¤¿¤á¤Î mail gateway ¤Ë UUCP ¤ÇÇÛÁ÷¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£ uucp-dom: ¤Ë³¤±¤Æ½ñ¤«¤ì¤Æ¤¤¤ë¥Î¡¼¥É̾¤Ï¡¢ uuname ¥³¥Þ¥ó¥É¤Ç»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ UUCP ¤ÇľÀÜÇÛÁ÷¤µ¤ì¤ëÀµ¤·¤¤¥Î¡¼¥É̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ºÇ¸å¤Ë¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï»ÈÍѤ¹¤ëÁ°¤Ë DBM ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¤Ë ÊÑ´¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ò¹Ô¤Ê¤¦¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ï mailertable ¤ÎºÇ½é¤Î¥³¥á¥ó¥È¤Ë½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£mailertable ¤òÊѹ¹¤·¤¿»þ¤Ë¤Ï¡¢ ɬ¤º¤³¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ ºÇ¸å¤Î¥Ò¥ó¥È¤Ç¤¹: ¤â¤·ÆÃÄê¤Î¥á¡¼¥ëÇÛÁ÷¤¬¤¦¤Þ¤¯ºîư¤¹¤ë¤«¤É¤¦¤« ³Î¤«¤á¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢sendmail ¤Î ¥ª¥×¥·¥ç¥ó¤ò »ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ sendmail ¤Ï ¥¢¥É¥ì¥¹¥Æ¥¹¥È¥â¡¼¥É¤Çµ¯Æ°¤·¤Þ¤¹¡£ 0 ¤Î¸å¤ËÇÛÁ÷¤·¤¿¤¤¥¢¥É¥ì¥¹¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£ºÇ¸å¤Î¹Ô¤Ë¡¢¼ÂºÝ¤Ë»ÈÍѤµ¤ì¤ë mail agent¡¢¤³¤Î mail agent ¤ÇÁ÷¤é¤ì¤ëÁ÷¿®Àè¤Î¥Û¥¹¥È¡¢¤½¤·¤Æ (¿ʬÊÑ´¹¤µ¤ì¤Æ¤¤¤ë) ¥¢¥É¥ì¥¹¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤³¤Î¥â¡¼¥É¤òÈ´¤±¤ë¤Ë¤Ï Control-D ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.user; sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 0 foo@interface-business.de rewrite: ruleset 0 input: foo @ interface-business . de ... rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ < @ interface-business . de > > ^D ¥À¥¤¥¢¥ë¥¢¥Ã¥×¤Ç¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤¹¤ë´Ä¶­¤Ç¥á¡¼¥ë¤ò¥»¥Ã¥È¥¢¥Ã¥×¤¹¤ë¤Ë¤Ï¤É¤¦¤ä¤ë¤Î? ÀÅŪ¤Ë IP ¥¢¥É¥ì¥¹¤¬³ä¤êÅö¤Æ¤é¤ì¤ë¾ì¹ç¤Ï¡¢ ¥Ç¥Õ¥©¥ë¥È¤Î¾õÂÖ¤òÊѹ¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ³ä¤êÅö¤Æ¤é¤ì¤¿Ì¾Á°¤ò¥Û¥¹¥È¥Í¡¼¥à¤È ¤¹¤ë¤À¤±¤Ç¡¢sendmail ¤¬¸å¤Î¤³¤È¤ò°ú¤­¼õ¤±¤Æ¤¯¤ì¤Þ¤¹¡£ ¥À¥¤¥¢¥ë¥¢¥Ã¥× ppp ¤ò ¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÀܳ¤Ë»ÈÍѤ·¡¢Æ°Åª¤Ë IP ¥¢¥É¥ì¥¹¤¬³ä¤êÅö¤Æ¤é¤ì¤ë¾ì¹ç¤Ï¡¢ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À (ISP) ¤Î¥á¡¼¥ë¥µ¡¼¥Ð¤Ë¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤¬¤¢¤ë¤Ï¤º¤Ç¤¹¡£ ISP ¤Î¥É¥á¥¤¥ó¤¬ myISP.com ¤Ç¡¢¤¢¤Ê¤¿¤Î¥æ¡¼¥¶Ì¾¤¬ user ¤À¤È²¾Äꤷ¤Þ¤¹¡£ ¤Þ¤¿¡¢¤¢¤Ê¤¿¤¬¼«Ê¬¤Î¥Þ¥·¥ó¤ò bsd.home ¤È¸Æ¤ó¤Ç¤ª¤ê¡¢ISP ¤¬ relay.myISP.com ¤ò¥á¡¼¥ë¥ê¥ì¡¼¤È¤·¤Æ»ÈÍѤǤ­¤ë¤È¸À¤Ã¤Æ¤¤¤ë¤È¤·¤Þ¤·¤ç¤¦¡£ ¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤«¤é¥á¡¼¥ë¤ò¼è¤Ã¤Æ¤¯¤ë¤¿¤á¤Ë¤Ï¡¢ ²ó¼ý (retrieval) ¥¨¡¼¥¸¥§¥ó¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ Fetchmail ¤Ï¿¼ï¿Íͤʥץí¥È¥³¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Î¤Ç¤ª´«¤á¤Ç¤¹¡£ ISP ¤¬»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ï¡¢ÂçÄñ POP3 ¥×¥í¥È¥³¥ë¤Ç¤¹¡£ ¥æ¡¼¥¶ ppp ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢ /etc/ppp/ppp.linkup ¤Ë°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¤È¡¢ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ÈÀܳ¤¬´°Î»¤·¤¿»þÅÀ¤Ç¼«Æ°Åª¤Ë¥á¡¼¥ë¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ MYADDR: !bg su user -c fetchmail ¥í¡¼¥«¥ë¤Ç¤Ê¤¤¥¢¥«¥¦¥ó¥È¤Ë¥á¡¼¥ë¤òÇÛÁ÷¤¹¤ë¤Î¤Ë sendmail ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç (¸å½Ò)¡¢ ¾å¤Ë¼¨¤·¤¿¥¨¥ó¥È¥ê¤Î¸å¤Ë !bg su user -c "sendmail -q" ¤òµ­½Ò¤·¤Þ¤¹¡£¤³¤ì¤Ï¥Í¥Ã¥È¥ï¡¼¥¯Àܳ¤¬³ÎΩ¤·¤¿¤é¤¹¤°¤Ë sendmail ¤Ëί¤Ã¤Æ¤¤¤ë mailqueue ¤ò¶¯À©Åª¤Ë½èÍý¤µ¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¤³¤ÎÎã¤Ç¤Ï¡¢user ¤¬ bsd.home ¤Ë¥¢¥«¥¦¥ó¥È¤ò»ý¤Á¡¢ bsd.home ¾å¤Î user ¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢°Ê²¼¤Î¤è¤¦¤Ê .fetchmailrc ¥Õ¥¡¥¤¥ë¤¬¤Ä¤¯¤é¤ì¤Æ¤¤¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£ poll myISP.com protocol pop3 fetchall pass MySecret; ¸À¤¦¤Þ¤Ç¤â¤Ê¤¯¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï user °Ê³°¤Î¥æ¡¼¥¶¤¬ÆÉ¤à¤³¤È¤¬½ÐÍè¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ ÆâÍÆ¤Ë¥Ñ¥¹¥ï¡¼¥É MySecret ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£ Àµ¤·¤¤ from: ¥Ø¥Ã¥À¤ò¤Ä¤±¤Æ¥á¡¼¥ë¤òÁ÷¤ë¤¿¤á¤Ë¤Ï¡¢ sendmail ¤Ë user@bsd.home ¤Ç¤Ï¤Ê¤¯ user@myISP.com ¤ò»ÈÍѤ¹¤ë¤è¤¦¶µ¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥á¡¼¥ë¤ò¤è¤êÁ᤯žÁ÷¤¹¤ë¤¿¤á¤Ë¡¢¤¹¤Ù¤Æ¤Î¥á¡¼¥ë¤ò relay.myISP.com ¤ØÁ÷¤ë¤è¤¦¤Ë sendmail ¤Ë »Ø¼¨¤·¤Æ¤ª¤¯¤Î¤âÎɤ¤¤Ç¤·¤ç¤¦¡£ ¾å¤ÎÍ×·ï¤òËþ¤¿¤¹¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ê .mc ¥Õ¥¡¥¤¥ë¤¬Å¬¤·¤Æ¤¤¤Þ¤¹¡£ VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`myISP.com')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(`SMART_HOST', `relay.myISP.com') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE', `deferred')dnl .mc ¥Õ¥¡¥¤¥ë¤«¤é sendmail.cf ¤Ø¤ÎÊÑ´¹ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢ Á°¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤. sendmail.cf ¤ò¹¹¿·¤·¤¿¸å¤Ë sendmail ¤ò¥ê¥¹¥¿¡¼¥È¤¹¤ë¤Î¤â¤ªËº¤ì¤Ê¤¯¡£ ¤³¤Î UID ¤¬ 0 ¤Î toor ¤È¤¤¤¦ ¥¢¥«¥¦¥ó¥È¤È¤Ï²¿¤Ç¤¹¤«? ´í¸±¤Ë¤µ¤é¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«? ¿´ÇÛ̵ÍѤǤ¹¡£toor ¤Ï ÂåÂØ¤Î ¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¥¢¥«¥¦¥ó¥È¤Ç¤¹ (toor ¤Ï root ¤òµÕ¤ËÄ֤俤â¤Î¤Ç¤¹)¡£ °ÊÁ°¤Ï¡¢&man.bash.1; ¥·¥§¥ë¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿»þ¤Ë ºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¸½ºß¤Ïɸ½à¤ÇºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¥æ¡¼¥¶¡¼¤¬ºîÀ®¤µ¤ì¤ë¤Î¤Ï¡¢ ¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤¬Èóɸ½à¤Î¥·¥§¥ë¤ò»È¤¦¾ì¹ç¤òÁÛÄꤷ¤Æ¤ª¤ê¡¢ root ¤Îɸ½à¤Î¥·¥§¥ë¤òÊѹ¹¤·¤Ê¤¯¤Æ¤â¤è¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ´ðËÜÇÛÉÛ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¥·¥§¥ë (¤¿¤È¤¨¤Ð ports ¤ä packages ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥·¥§¥ë) ¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏÊ̤Υե¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¸ºß¤¹¤ë ²ÄǽÀ­¤Î¤¢¤ë /usr/local/bin ¤Ë ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤³¤È¤¬Â¿¤¤¤Î¤Ç¡¢¤³¤ì¤Ï½ÅÍפǤ¹¡£ root ¤Î¥·¥§¥ë¤¬ /usr/local/bin ¤Ë¤¢¤ê¡¢ /usr (¤Þ¤¿¤Ï¡¢/usr/local/bin ¤¬¤¢¤ë¤¤¤º¤ì¤«¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à) ¤¬²¿¤é¤«¤ÎÍýͳ¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤¹¤ë¤È¡¢ root ¤ÏÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë ¥í¥°¥¤¥ó¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó (¥·¥ó¥°¥ë¥æ¡¼¥¶¡¼¥â¡¼¥É¤ÇºÆµ¯Æ°¤¹¤ì¤Ð¡¢ ¥·¥§¥ë¤Î¥Ñ¥¹¤ÎÆþÎϤòÂ¥¤µ¤ì¤ë¤Î¤Ç¤¹¤¬)¡£ toor ¤òÆü¡¹¤Î root ¤Î»Å»ö¤ò Èóɸ½à¤Î¥·¥§¥ë¤Ç¹Ô¤¦¤¿¤á¤Ë»È¤¤¡¢root ¤Ï ¥·¥ó¥°¥ë¥æ¡¼¥¶¡¼¥â¡¼¥É¤ä¶ÛµÞ»þ¤Î¤¿¤á¤Ë¡¢É¸½à¤Î¥·¥§¥ë¤Î¤Þ¤Þ¤Ë ¤·¤Æ¤¤¤ë¿Í¤¬¤¤¤Þ¤¹¡£²¿¤â¤·¤Ê¤±¤ì¤Ð¡¢¥Ñ¥¹¥ï¡¼¥É¤ò̵¸ú¤Ë¤·¤Æ¤¢¤ë¤Î¤Ç toor ¤Ç¤Ï¥í¥°¥¤¥ó¤Ç¤­¤Þ¤»¤ó¡£ »È¤¤¤¿¤¤¤Ê¤é¡¢root ¤Ç¥í¥°¥¤¥ó¤·¤Æ toor ¤Î ¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤Þ¤·¤ç¤¦¡£ ¤·¤Þ¤Ã¤¿! root ¤Î¥Ñ¥¹¥ï¡¼¥É¤ò˺¤ì¤Æ¤·¤Þ¤Ã¤¿! ¹²¤Æ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤! ñ¤Ë¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¡¢ ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ë°Ü¤ë¤¿¤á¤Ë Boot: ¤Èɽ¼¨¤µ¤ì¤ë¥×¥í¥ó¥×¥È¤Ç boot -s ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ (FreeBSD ¤Î 3.2 ¤è¤êÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï -s¤È¤Ê¤ê¤Þ¤¹)¡£ ¤É¤Î¥·¥§¥ë¤ò»È¤¦¤Î¤«¤È¤¤¤¦¼ÁÌä¤Ë¤Ï¡¢ENTER ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£&prompt.root; ¤Ë°Ü¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ mount -u / ¤ÈÆþÎϤ·¤Æ ¥ë¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÆÉ¤ß½ñ¤­¤òºÆ¥Þ¥¦¥ó¥È¤·¡¢ mount -a ¤ÈÆþÎϤ·¤Æ¡¢ ¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤·Ä¾¤·¤¿¸å¡¢ passwd root ¤ÈÆþÎϤ·¤Æ root ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷľ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤Î¸å¡¢exit ¤ÈÆþÎϤ¹¤ì¤Ð¡¢µ¯Æ°¤¬Â³¤±¤é¤ì¤Þ¤¹¡£ Control-Alt-Delete ¤Ç¥·¥¹¥Æ¥à¤¬ºÆµ¯Æ°¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤? FreeBSD 2.2.7-RELEASE °Ê¹ß¤Ç syscons (¥Ç¥Õ¥©¥ë¥È¤Î¥³¥ó¥½¡¼¥ë¥É¥é¥¤¥Ð) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¹Ô¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Æ ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ options SC_DISABLE_REBOOT FreeBSD 2.2.5-RELEASE °Ê¹ß¤Ç PCVT ¥³¥ó¥½¡¼¥ë¥É¥é¥¤¥Ð¤ò»ÈÍѤ·¤Æ¤¤¤ë ¾ì¹ç¤Ë¤Ï¡¢Æ±Íͤ˼¡¤Î¹Ô¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Æ ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ options PCVT_CTRL_ALT_DEL ¾å¤Ë¤¢¤²¤¿¤â¤Î¤è¤ê¤â¸Å¤¤ FreeBSD ¤Î¾ì¹ç¡¢ ¸½ºß¥³¥ó¥½¡¼¥ë¤¬»ÈÍѤ·¤Æ¤¤¤ë¥­¡¼¥Þ¥Ã¥×¤òÊÔ½¸¤·¡¢ ¥­¡¼¥ï¡¼¥É boot ¤ò nop ¤Ë½ñ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£ /usr/share/syscons/keymaps/us.iso.kbd ¤Ë¤¢¤ê¤Þ¤¹¡£ ¤½¤ÎÊѹ¹¤òÈ¿±Ç¤µ¤»¤è¤¦¤È¤·¤Æ¡¢ ¤³¤Î¥­¡¼¥Þ¥Ã¥×¤Î¥í¡¼¥É¤òÌÀ¼¨Åª¤Ë¹Ô¤Ê¤¦¤¿¤á¤Ë¡¢ /etc/rc.conf ¤ò¼Â¹Ô¤¹¤Ù¤­¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤â¤Á¤í¤ó¾¤Î¹ñ¤Î¥­¡¼¥Þ¥Ã¥×¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ Âå¤ï¤ê¤Ë¤½¤Î¥­¡¼¥Þ¥Ã¥×¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Æ¤¯¤À¤µ¤¤¡£ DOS ¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ò UNIX ¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ËÀ°·Á¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤? ñ¤Ë¼¡¤Î perl ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.user; perl -i.bak -npe 's/\r\n/\n/g' file ... file ¤ÎÉôʬ¤Ë¤Ï½èÍý¤¹¤ë¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ À°·Á¸å¤Î¥Õ¥¡¥¤¥ë¤Ï¸µ¤Î¥Õ¥¡¥¤¥ë̾¤ÇºîÀ®¤µ¤ì¡¢ À°·ÁÁ°¤Î¥Õ¥¡¥¤¥ë¤Ï¥Ð¥Ã¥¯¥¢¥Ã¥×¤È¤·¤Æ¸µ¤Î ¥Õ¥¡¥¤¥ë̾¤ÎËöÈø¤Ë³ÈÄ¥»Ò .bak ¤Î¤Ä¤±¤é¤ì¤¿Ì¾Á°¤ÇºîÀ®¤µ¤ì¤Þ¤¹¡£ ¤¢¤ë¤¤¤Ï &man.tr.1; ¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ &prompt.user; tr -d '\r' < dos-text-file > unix-file dos-text-file ¤Ï DOS ·Á¼°¤Î¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¡¢ unix-file ¤Ë¤ÏÊÑ´¹¤µ¤ì¤¿½ÐÎϤ¬³ÊǼ¤µ¤ì¤Þ¤¹¡£ perl ¤ò»È¤¦¤è¤ê¤Û¤ó¤Î¤Á¤ç¤Ã¤Ô¤ê®¤¯¤Ê¤ê¤Þ¤¹¡£ ̾Á°¤Ç»ØÄꤷ¤Æ¥×¥í¥»¥¹¤Ë¥·¥°¥Ê¥ë¤òÁ÷¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤? &man.killall.1; ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£ su ¤¬ not in root's ACL ¤È¸À¤Ã¤Æ»ä¤òǺ¤Þ¤»¤ë¤Î¤Ï¤Ê¤¼? Kerberos ¤Îǧ¾Ú¥·¥¹¥Æ¥à¤«¤é¤¯¤ë¥¨¥é¡¼¤Ç¤¹¡£ ¤³¤ÎÌäÂê¤ÏÃ×̿Ū¤Ê¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢ ¤¦¤Ã¤È¤ª¤·¤¤¤È¤¤¤Ã¤¿¤â¤Î¤Ç¤¹¡£ su ¤Ë ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤¹¤ë¤«¡¢ ¼¡¤Î¼ÁÌä¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ëÊýË¡¤Ç Kerberos ¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ Kerberos ¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Î? ¥·¥¹¥Æ¥à¤«¤é Kerberos ¤òºï½ü¤¹¤ë¤Ë¤Ï¡¢ ¤¢¤Ê¤¿¤Îư¤«¤·¤Æ¤¤¤ë¥ê¥ê¡¼¥¹¤Î bin ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤· CDROM ¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ê¤é¡¢ ¤½¤Î CDROM ¤ò¥Þ¥¦¥ó¥È (¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Ï /cdrom ¤È²¾Äê) ¤·¤Æ¡¢ ¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; cd /cdrom/bin &prompt.root; ./install.sh µ¿»÷¥¿¡¼¥ß¥Ê¥ë¤òÄɲ乤ë¤Ë¤Ï? telnet¡¢ssh¡¢X¡¢screen ¤ò¤¿¤¯¤µ¤óÍøÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ µ¿»÷¥¿¡¼¥ß¥Ê¥ë¤¬Â­¤ê¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤òÁý¤ä¤¹¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¼¡¤Î¹Ô¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ËÄɲä·¤Æ pseudo-device pty 256 ¿·¤¿¤Ë¥«¡¼¥Í¥ë¤òºî¤ê¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ ¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ &prompt.root; cd /dev &prompt.root; ./MAKEDEV pty{1,2,3,4,5,6,7} ¿·¤¿¤Ê¥¿¡¼¥ß¥Ê¥ëÍѤΠ256 ¸Ä¤Î¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤òºî¤ê¤Þ¤¹¡£ /etc/ttys ¤òÊÔ½¸¤· 256 ¸Ä¤Î¥¿¡¼¥ß¥Ê¥ë¤´¤È¤ÎÄêµÁ¤òÄɲä·¤Þ¤¹¡£ ´û¸¤Î¥¨¥ó¥È¥ê¡¼¤Î·Á¼°¤Ë¤¢¤ï¤»¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¤¿¤È¤¨¤Ð¤³¤ó¤Ê´¶¤¸¤Ç¤¹¡£ ttyqc none network Àµµ¬É½¸½¤ò»È¤Ã¤¿»ØÄê¤Ï tty[pqrsPQRS][0-9a-v] ¤È¤Ê¤ê¤Þ¤¹¡£ ¿·¤·¤¤¥«¡¼¥Í¥ë¤Ç¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤¹¤ë¤È´°Î»¤Ç¤¹¡£ snd0 ¥Ç¥Ð¥¤¥¹¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó! snd ¤È¤¤¤¦¥Ç¥Ð¥¤¥¹¤Ï¸ºß¤·¤Þ¤»¤ó¡£ ¤³¤Î̾Á°¤Ï¡¢FreeBSD ¥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤ë¤µ¤Þ¤¶¤Þ¤Ê¥Ç¥Ð¥¤¥¹¡¢ mixer ¤ä sequencer¡¢ dsp ¤Ê¤É¤òÁí¾Î¤·¤¿¤â¤Î¤Ç¤¹¡£ ¤³¤ì¤é¤Î¥Ç¥Ð¥¤¥¹¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ &prompt.root; cd /dev &prompt.root; sh MAKEDEV snd0 ºÆµ¯Æ°¤»¤º¤Ë¤â¤¦°ìÅÙ /etc/rc.conf ¤òÆÉ¤ß¹þ¤ó¤Ç /etc/rc ¤ò³«»Ï¤µ¤»¤ë¤Ë¤Ï? ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ë°Ü¹Ô¤·¤Æ¡¢ ¥Þ¥ë¥Á¥æ¡¼¥¶¥â¡¼¥É¤ËÌá¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¥³¥ó¥½¡¼¥ë¤Ç¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£ &prompt.root; shutdown now(Ãí: ¤ä ¤ÏÉÕ¤±¤Þ¤»¤ó) &prompt.root; return &prompt.root; exit º½¾ì (sandbox) ¤È¤Ï²¿¤Ç¤¹¤«? º½¾ì (Sandbox) ¤È¤Ï¥»¥­¥å¥ê¥Æ¥£ÍѸì¤Î°ì¤Ä¤Ç¡¢ ¼¡¤ÎÆó¤Ä¤Î°ÕÌ£¤¬¤¢¤ê¤Þ¤¹¡£ °ì¤ÄÌܤϡ¢¡Ö²¾ÁÛŪ¤Ê¡ØËÉÊÉ¡Ù¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¥×¥í¥»¥¹¡×¤Ç¤¹¡£ ¤½¤Î¡ØËÉÊɡ٤ϡ¢¤½¤Î¥×¥í¥»¥¹¤Ë¿¯Æþ¤·¤¿Âè»°¼Ô¤¬¡¢ ¤µ¤é¤Ë¥·¥¹¥Æ¥à¤Î¹­¤¤ÈϰϤ˱ƶÁ¤òÍ¿¤¨¤ë¤³¤È¤òËɤ°¤è¤¦¤ËÀ߷פµ¤ì¤Þ¤¹¡£ ¤³¤Î¥×¥í¥»¥¹¤Î¿¶Éñ¤¤¤Ï¡¢¡ØËÉÊɡ٤ÎÃæ¤À¤±¤ËÀ©¸Â¤µ¤ì¤ë¡¢¤Èɽ¸½¤Ç¤­¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¤³¤Î¥×¥í¥»¥¹¤Ë¤ª¤¤¤Æ¡¢¡ØËÉÊɡ٤ò±Û¤¨¤ë¤è¤¦¤Ê¥³¡¼¥É¤Î¼Â¹Ô¤Ï ¤Ç¤­¤Ê¤¤¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£¤½¤Î¤¿¤á¡¢¥³¡¼¥É¤Î¼Â¹Ô¤Ë¤ª¤±¤ë¥»¥­¥å¥ê¥Æ¥£¤Ï ³Î¤«¤Ê¤â¤Î¤Ç¤¢¤ë¤ÈÊݾڤǤ­¡¢¼Â¹Ô¤Î¾ÜºÙ¤ÊÄÉÀפò¹Ô¤Ê¤¦É¬ÍפϤʤ¯¤Ê¤ê¤Þ¤¹¡£ ¤½¤Î¡ØËÉÊɡ٤Ȥϡ¢¤¿¤È¤¨¤Ð¥æ¡¼¥¶ ID ¤¬¤½¤ì¤Ë¤¢¤¿¤ë¤Ç¤·¤ç¤¦¡£ ¤³¤ÎÄêµÁ¤Ï¡¢security(7) ¤ä named(8) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ÇÍѤ¤¤é¤ì¤Æ¤¤¤Þ¤¹¡£ ntalk ¥µ¡¼¥Ó¥¹ (/etc/inetd.conf »²¾È¤Î¤³¤È) ¤òÎã¤Ë¤È¤Ã¤Æ¤ß¤Þ¤¹¡£ ¤³¤Î¥µ¡¼¥Ó¥¹¤Ï¤«¤Ä¤Æ¡¢¼Â¹Ô»þ¤Î ¥æ¡¼¥¶ ID ¤È¤·¤Æ root ¤òÍѤ¤¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¸½ºß¤Ç¤Ï tty ¤È¤¤¤¦¥æ¡¼¥¶ ID ¤Çưºî¤·¤Þ¤¹¡£ ¥æ¡¼¥¶ tty ¤Ï¡¢ ntalk ¤ò·Ðͳ¤·¤Æ¥·¥¹¥Æ¥à¤Î¿¯Æþ¤ËÀ®¸ù¤·¤¿Âè»°¼Ô¤¬ ¤½¤Î¥æ¡¼¥¶ ID °Ê¾å¤Î¸¢¸Â¤òÆÀ¤ë¤³¤È¤ò¡¢ ¤è¤ê°ìÁغ¤Æñ¤Ë¤¹¤ë¤¿¤á¤ËÀ߷פµ¤ì¤¿º½¾ì (sandbox) ¤Ê¤Î¤Ç¤¹¡£ Æó¤ÄÌܤϡ֥·¥ß¥å¥ì¡¼¥È¤µ¤ì¤¿¥Þ¥·¥ó¤ÎÆâ¦¤Ç¼Â¹Ô¤µ¤ì¤ë¥×¥í¥»¥¹¡×¤Î¤³¤È¤Ç¡¢ ¤³¤Á¤é¤Ï¤è¤êÃæ³ËŪ¤Ç¤¹¡£ ÉáÄ̤˹ͤ¨¤ì¤Ð¡¢¤¢¤ë¥×¥í¥»¥¹¤Ë¿¯Æþ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ëÂè»°¼Ô¤Ï¡¢ ¥Þ¥·¥ó¤Î¤è¤ê¹­¤¤ÈϰϤˤ⿯Æþ¤Ç¤­¤ë¤È¿®¤¸¤ë¤â¤Î¤Ê¤Î¤Ç¤¹¤¬¡¢ ¤³¤Î¼ï¤Î¥×¥í¥»¥¹¤Î¾ì¹ç¡¢¤½¤ì¤Ï¼ÂºÝ¤Ë¤Ï¥·¥ß¥å¥ì¡¼¥È¤µ¤ì¤¿¥Þ¥·¥ó¤Ë ¿¯Æþ¤·¤¿¤À¤±¤Ê¤Î¤Ç¡¢¸½¼Â¤Î¥Ç¡¼¥¿¤òÊѹ¹¤¹¤ë¤³¤È¤Ï²¿°ì¤Ä¤Ç¤­¤Þ¤»¤ó¡£ ¤³¤ì¤ò¼Â¸½¤¹¤ë¤¿¤á¤ÎºÇ¤â¹­¤¯ÍѤ¤¤é¤ì¤Æ¤¤¤ëÊýË¡¤Ï¡¢ ¥·¥ß¥å¥ì¡¼¥È¤µ¤ì¤¿´Ä¶­¤ò¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¹½ÃÛ¤·¡¢ ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë chroot ¤·¤Æ¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç ¥×¥í¥»¥¹¤ò¼Â¹Ô¤¹¤ë¤³¤È (¤Ä¤Þ¤ê¡¢¤½¤Î¥×¥í¥»¥¹¤Ë¤È¤Ã¤Æ / ¤Ï ¥·¥¹¥Æ¥à¤Î¼ÂºÝ¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê / ¤Ç¤Ï¤Ê¤¯¡¢ chroot ¤µ¤ì¤¿¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò»Ø¤¹) ¤Ç¤¹¡£ ¹­¤¯ÍѤ¤¤é¤ì¤Æ¤¤¤ë¤â¤¦°ì¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ ¤½¤ì¤Ï¡¢´û¤Ë¸ºß¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò ÆÉ¤ß¹þ¤ßÀìÍÑ (read-only) ¤Ç¥Þ¥¦¥ó¥È¤·¡¢¤½¤Î¾å¤Ë¡¢¤¢¤ë¥×¥í¥»¥¹¤ËÂФ·¤Æ ¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬½ñ¤­¹þ¤ß²Äǽ¤Ç¤¢¤ë¤è¤¦¤Ë¸«¤»¤ë¤è¤¦¤Ê¡¢ ¤â¤¦°ì¤Ä¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÁؤòÍѰդ¹¤ë¤â¤Î¤Ç¤¹¡£¤¹¤ë¤È¡¢ ¤½¤Î¥×¥í¥»¥¹¤Ï¥Õ¥¡¥¤¥ë¤ò½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¤ë¤Èǧ¼±¤·¡¢ ¼ÂºÝ¤Ë½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¤ë¤Î¤â¤½¤ÎÆÃÄê¤Î¥×¥í¥»¥¹¤À¤± - ¥·¥¹¥Æ¥à¤Ë¤¢¤ë¾¤Î¥×¥í¥»¥¹¤Ï½ñ¤­¹þ¤á¤Ê¤¤¤Î¤ËÂФ·¤Æ - ¤Ç¤¢¤ë¤È¤¤¤¦¾õ¶·¤ò¼Â¸½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¼ï¤Îº½¾ì (sandbox) ¤Ï¡¢ ¤½¤ÎÈó¾ï¤ËÆ©²áŪ¤ÊÀ­¼Á¤ò»È¤Ã¤Æ¡¢¥æ¡¼¥¶ (¤â¤·¤¯¤Ï¿¯Æþ¼Ô) ¤¬ ¤½¤Î»ö¼Â¤Ëµ¤ÉÕ¤«¤Ê¤¤¤è¤¦¤Ë¼Â¸½¤µ¤ì¤Þ¤¹¡£ UNIX ¤Ï¡¢ÆâÉôŪ¤ËÆó¤Ä¤Îº½¾ì (sandbox) ¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£ °ì¤Ä¤Ï¥×¥í¥»¥¹¥ì¥Ù¥ë¤Î¤â¤Î¡¢¤â¤¦°ì¤Ä¤Ï¥æ¡¼¥¶ ID ¥ì¥Ù¥ë¤Î¤â¤Î¤Ç¤¹¡£ UNIX ¥×¥í¥»¥¹¤Ï¤¹¤Ù¤Æ¡¢Â¾¤Î UNIX ¥×¥í¥»¥¹¤«¤é´°Á´¤Ë³ÖÎ¥¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤É¤Î¥×¥í¥»¥¹¤â¡¢Â¾¤Î¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤òÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¡¢¤¢¤ë¥×¥í¥»¥¹¤¬Â¾¤Î¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤ò¾å½ñ¤­¤Ç¤­¤ë¤è¤¦¤Ê¡¢ ¥¯¥é¥Ã¥·¥å¤Ë¤Ä¤Ê¤¬¤ë¹Ô°Ù¤¬Íưפ˼¸½¤Ç¤­¤ë Windows ¤È¤ÏÁ´¤¯°Û¤Ê¤ë¤â¤Î¤Ç¤¹¡£ UNIX ¥×¥í¥»¥¹¤Ï¡¢ÆÃÄê¤Î¥æ¡¼¥¶ ID ¤¬½êÍ­¤·¤Þ¤¹¡£ ¤â¤·¡¢¼Â¹Ô¼Ô¤Î¥æ¡¼¥¶ ID ¤¬ root ¥æ¡¼¥¶¤Î¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢ ¥æ¡¼¥¶ ID ¤Ï¡¢Â¾¤Î¥æ¡¼¥¶¤¬½êÍ­¤¹¤ë¥×¥í¥»¥¹¤«¤é ¤½¤Î¥×¥í¥»¥¹¤ò¼é¤ëµ¡Ç½¤ò²Ì¤¿¤¹¤ï¤±¤Ç¤¹¡£ ¤Þ¤¿¡¢¤½¤Î¥æ¡¼¥¶ ID ¤Ï¡¢¥Ç¥£¥¹¥¯¾å¤Ë¤¢¤ë¥Ç¡¼¥¿¤ò Êݸ¤ë¤Î¤Ë¤â»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ ¥»¥­¥å¥¢¥ì¥Ù¥ë (securelevel) ¤Ã¤Æ²¿¤Ç¤¹¤«? ¥»¥­¥å¥¢¥ì¥Ù¥ë¤È¤Ï¥«¡¼¥Í¥ë¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥»¥­¥å¥ê¥Æ¥£µ¡¹½¤Î°ì¤Ä¤Ç¤¹¡£ ´Êñ¤Ë¸À¤¦¤È¡¢¥«¡¼¥Í¥ë¤Ï¥»¥­¥å¥¢¥ì¥Ù¥ë¤¬Àµ¤ÎÃͤλþ¤Ë¡¢ ¤¢¤ëÆÃÄê¤ÎÁàºî¤òÀ©¸Â¤·¤Þ¤¹¡£¤³¤ÎÀ©¸Â¤Ï¡¢¤¿¤È¤¨¥¹¡¼¥Ñ¥æ¡¼¥¶ (root ¤Î¤³¤È) ¤Ç¤¢¤Ã¤Æ¤âÎã³°¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤³¤Îʸ¤ò½ñ¤¤¤Æ¤¤¤ë»þÅÀ¤Ç¤Ï¡¢ ¥»¥­¥å¥¢¥ì¥Ù¥ëµ¡¹½¤ò»È¤Ã¤Æ°Ê²¼¤Î¤è¤¦¤ÊÁàºî¤òÀ©¸Â¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ schg (system immutable flag) ¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¥Õ¥é¥°¤ÎÊѹ¹ /dev/mem ¤ª¤è¤Ó /dev/kmem ·Ðͳ¤Ç¤Î¥«¡¼¥Í¥ë¥á¥â¥ê¤Ø¤Î½ñ¤­¹þ¤ß ¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤Î¥í¡¼¥É &man.ipfirewall.4; ¥ë¡¼¥ë¤ÎÊѹ¹ ²ÔÆ¯Ãæ¤Î¥·¥¹¥Æ¥à¤Ç¥»¥­¥å¥¢¥ì¥Ù¥ë¤Î¾õÂÖ¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Ë¤Ï¡¢ ¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ &prompt.root; sysctl kern.securelevel ½ÐÎϤˤϡ¢&man.sysctl.8; ÊÑ¿ô (º£¤Î¾ì¹ç¤Ï kern.securelevel) ¤È¿ô»ú¤¬¸½¤ì¤Þ¤¹¡£ ¿ô»ú¤¬¸½ºß¤Î¥»¥­¥å¥¢¥ì¥Ù¥ë¤ÎÃͤǤ¹¡£ ¤³¤ì¤¬¤â¤·Àµ¤ÎÃͤʤ顢 ²¿¤é¤«¤Î¥»¥­¥å¥¢¥ì¥Ù¥ë¤Ë¤è¤ëÀ©¸Â¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¥·¥¹¥Æ¥à²ÔÆ¯Ãæ¤Ë¥»¥­¥å¥¢¥ì¥Ù¥ë¤ò²¼¤²¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¡¢¤½¤ì¤ò²Äǽ¤Ë¤¹¤ë¤È¥»¥­¥å¥¢¥ì¥Ù¥ë¤Î°ÕÌ£¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡£ ¥»¥­¥å¥¢¥ì¥Ù¥ë¤¬Àµ¤ÎÃͤǤʤ¤¤³¤È¤òÍ׵᤹¤ëÁàºî (¤¿¤È¤¨¤Ð installworld ¤äÆüÉÕ¤ÎÊѹ¹¤Ê¤É) ¤ò¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ï¡¢/etc/rc.conf ¤Ë¤¢¤ë¥»¥­¥å¥¢¥ì¥Ù¥ë¤ÎÀßÄê (kern_securelevel ¤È kern_securelevel_enable ¤È¤¤¤¦ÊÑ¿ô) ¤òÊѹ¹¤·¤ÆºÆµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥»¥­¥å¥¢¥ì¥Ù¥ë¤Ë´Ø¤¹¤ë¾Ü¤·¤¤¾ðÊó¤ä¡¢ ³Æ¥ì¥Ù¥ë¤Ç¼Â¸½¤µ¤ì¤ëµ¡Ç½¤Ë´Ø¤·¤Æ¤Ï &man.init.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥»¥­¥å¥¢¥ì¥Ù¥ë¤ÏËüǽ¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢ ¼åÅÀ¤â¿ô¿¤¯Â¸ºß¤·¤Þ¤¹¡£¤Þ¤¿¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢ ¥»¥­¥å¥ê¥Æ¥£¤òÄã²¼¤µ¤»¤Æ¤·¤Þ¤¦¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ ºÇ¤âÂ礭¤ÊÌäÂê¤Î°ì¤Ä¤Ë¡¢ ¥»¥­¥å¥¢¥ì¥Ù¥ë¤Îµ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢ µ¯Æ°½èÍý¤Ç¥»¥­¥å¥¢¥ì¥Ù¥ë¤¬ÀßÄꤵ¤ì¤ë¤Þ¤Ç¤Ë»È¤ï¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò Êݸ¤ëɬÍפ¬¤¢¤ë¤È¤¤¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¤â¤·¹¶·â¼Ô¤¬¡¢¥·¥¹¥Æ¥à¤¬¥»¥­¥å¥¢¥ì¥Ù¥ë¤òÀßÄꤹ¤ëÁ°¤Ë¥³¡¼¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤È¤·¤¿¤é¡¢ ¥»¥­¥å¥¢¥ì¥Ù¥ë¤Ë¤è¤ëÊݸî¤Ï̵°ÕÌ£¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹ (µ¯Æ°»þ¤Ë¤ÏÄ㤤¥»¥­¥å¥¢¥ì¥Ù¥ë¤Ç¤·¤«¼Â¹Ô¤Ç¤­¤Ê¤¤½èÍý¤ò¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ë¤¿¤á¡¢ ¥»¥­¥å¥¢¥ì¥Ù¥ë¤ÎÀßÄê¤Ï¡¢µ¯Æ°½èÍý¤ÎºÇ¸å¤ÎÊý¤Ç¹Ô¤Ê¤ï¤ì¤Þ¤¹)¡£ µ¯Æ°½èÍý¤Ç»È¤ï¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òÊݸ¤ë¤³¤È¤Ïµ»½ÑŪ¤ËÉÔ²Äǽ¤Ç¤¹¡£ ¤â¤·¤½¤¦¤Ç¤­¤¿¤È¤·¤Æ¤â¡¢¥·¥¹¥Æ¥à¤ÎÊݼé¤Ï¤Þ¤µ¤Ë°­Ì´¤È¤Ê¤ë¤Ç¤·¤ç¤¦¡£ ÀßÄê¥Õ¥¡¥¤¥ë°ì¤Ä½ñ¤­´¹¤¨¤ë¤Î¤Ë¤â¡¢ ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤ËÀÚÂØ¤¨¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¯¤Ê¤ë¤Î¤Ç¤¹¤«¤é¡£ °Ê¾å¤ÇÀâÌÀ¤·¤¿ÆâÍÆ¤ä¤½¤Î¾¤ÎÅÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç¤âÎɤ¯ÏÃÂê¤Ë¤Î¤Ü¤ê¤Þ¤¹¡£ µÄÏÀ¤Î¤è¤¦¤¹¤ò¤³¤Î¥Ú¡¼¥¸¤«¤é¸¡º÷¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¥»¥­¥å¥¢¥ì¥Ù¥ë¤Ï¡¢ ¤¤¤º¤ì¤è¤êγÅ٤κ٤«¤¤µ¡¹½¤Ë¤È¤Ã¤ÆÂå¤ï¤ë¤À¤í¤¦¤È¹Í¤¨¤Æ¤¤¤ë¿Í¡¹¤â¤¤¤Þ¤¹¤¬¡¢ ¤½¤ÎÅÀ¤Ë¤Ä¤¤¤Æ¤Ï¤Þ¤ÀÉÔÆ©ÌÀ¤Ê¤Þ¤Þ¤Ç¤¹¡£ ¤É¤¦¤«Ãí°Õ¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Õ¥í¥Ã¥Ô¡¼¤ä CDROM ¤ä¾¤Î¥ê¥à¡¼¥Ð¥Ö¥ë¥á¥Ç¥£¥¢¤Î¥Þ¥¦¥ó¥È¤ò°ìÈ̥桼¥¶¡¼¤Ëµö²Ä¤¹¤ë¤Ë¤Ï? °ìÈ̥桼¥¶¡¼¤Ç¤â¥Ç¥Ð¥¤¥¹¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¼ê½ç¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ root ¤Ë¤Ê¤Ã¤Æ¡¢ sysctl ÊÑ¿ô¤Ç¤¢¤ë vfs.usermount ¤ò 1 ¤ËÀßÄꤷ¤Þ¤¹¡£ &prompt.root; sysctl -w vfs.usermount=1 root ¤Ë¤Ê¤Ã¤Æ¡¢ ¥ê¥à¡¼¥Ð¥Ö¥ë¥á¥Ç¥£¥¢¤Ë´ØÏ¢¤¹¤ë¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤ËŬÀڤʥѡ¼¥ß¥Ã¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£ Îã¤È¤·¤Æ¡¢ºÇ½é¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥Ð¥¤¥¹¤ò¥æ¡¼¥¶¡¼¤¬¥Þ¥¦¥ó¥È¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢ ¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; chmod 666 /dev/fd0 operator ¥°¥ë¡¼¥×¤Ë½ê°¤¹¤ë¥æ¡¼¥¶¤¬ CDROM ¥É¥é¥¤¥Ö¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï °Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; chgrp operator /dev/cd0c &prompt.root; chmod 640 /dev/cd0c ºÇ¸å¤Ë vfs.usermount=1 ¤È¤¤¤¦¹Ô¤ò /etc/sysctl.conf ¥Õ¥¡¥¤¥ë¤ËÄɲä·¡¢ ¥Ö¡¼¥È»þ¤Ë¥»¥Ã¥È¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤­¤Þ¤¹¡£ ¤³¤ì¤Ç¡¢¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤Ï ¥Õ¥í¥Ã¥Ô¡¼ /dev/fd0 ¤ò ¼«¿È¤Î½êÍ­¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ø¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.user; mkdir ~/my-mount-point &prompt.user; mount -t msdos /dev/fd0 ~/my-mount-point ¤³¤ì¤Ç¡¢operator ¥°¥ë¡¼¥×¤Ë½ê°¤¹¤ë¥æ¡¼¥¶¤Ï CDROM /dev/cd0c ¤ò ¼«¿È¤Î½êÍ­¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ø¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.user; mkdir ~/my-mount-point &prompt.user; mount -t msdos /dev/cd0c ~/my-mount-point ¥Ç¥Ð¥¤¥¹¤Î¥¢¥ó¥Þ¥¦¥ó¥È¤Ï´Êñ¤Ç¤¹¡£ &prompt.user; umount ~/my-mount-point ¤·¤«¤·¡¢ vfs.usermount ¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¾å¤è¤¤¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ MSDOS ·Á¼°¤Î¥á¥Ç¥£¥¢¤Ë¥¢¥¯¥»¥¹¤Ë¤Ï¡¢Ports ¥³¥ì¥¯¥·¥ç¥ó¤Ë¤¢¤ë ¥Ñ¥Ã¥±¡¼¥¸ mtools ¤ò»ÈÍѤ·¤¿Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£ ¥·¥¹¥Æ¥à¤ò¿·¤·¤¤µðÂç¥Ç¥£¥¹¥¯¤Ø°Ü¤¹¤Ë¤Ï¤É¤¦¤¹¤ë¤Î¤Ç¤¹¤«? °ìÈÖÎɤ¤¤Î¤Ï¿·¤·¤¤¥Ç¥£¥¹¥¯¤Ë OS ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¡¢ ¤½¤ì¤«¤é¥æ¡¼¥¶¥Ç¡¼¥¿¤ò°Ü¤¹¤³¤È¤Ç¤¹¡£ÆÃ¤Ë¤¢¤Ê¤¿¤¬ -stable ¤ò Ê£¿ô¤Î¥ê¥ê¡¼¥¹¤ò¸Ù¤¤¤ÇÄɤ¤³Ý¤±¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¤³¤ÎÊýË¡¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£ ¤¢¤Ê¤¿¤Ï &man.boot0cfg.8; ¤ò»È¤¦¤³¤È¤Ç booteasy ¤òξÊý¤Î ¥Ç¥£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¡¢¿·¤·¤¤ÇÛÃÖ¤ÇËþ­¤·¤Æ¤¤¤ë´Ö ¥Ç¥å¥¢¥ë¥Ö¡¼¥È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤ò¹Ô¤Ã¤¿¤¢¤È¥Ç¡¼¥¿¤ò°Ü¤¹ ÊýË¡¤òõ¤¹¤Ê¤é¼¡¤ÎÃÊÍî¤ÏÆÉ¤ßÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£ ²¿¤â¤Ê¤¤¥Ç¥£¥¹¥¯¤Ø¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤³¤È¤Ë·è¤á¤¿¤Ê¤é¤Ð /stand/sysinstall¡¢¤Ê¤ê &man.fdisk.8; ¤È &man.disklabel.8; ¤Ê¤ê¤ò»È¤Ã¤Æ¿·¤·¤¤¥Ç¥£¥¹¥¯¤Ë ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤òºî¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤Þ¤¿ &man.boot0cfg.8; ¤Ç booteasy ¤òξÊý¤Î¥Ç¥£¥¹¥¯¤Ë ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¡¢¥³¥Ô¡¼¤Îºî¶È¤¬½ª¤ï¤Ã¤¿¤¢¤È¤Ë ¸Å¤¤¥·¥¹¥Æ¥à¤«¤é¤Ç¤â¿·¤·¤¤¥Ç¥£¥¹¥¯¤«¤é¤Ç¤âµ¯Æ°¤Ç¤­¤ë¤è¤¦¤Ë ¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Îºî¶È¤Î¾ÜºÙ¤Ï formatting-media tutorial ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ ¿·¤·¤¤¥Ç¥£¥¹¥¯¤ÎΩ¤Á¾å¤²¤¬½ª¤ï¤Ã¤Æ¥Ç¡¼¥¿¤Î°Üư¤ò ÂԤĤФ«¤ê¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤·¤«¤·Èᤷ¤¤¤«¤Ê¡¢Ìµ°Ç¤ä¤¿¤é¤È ¥³¥Ô¡¼¤¹¤ì¤Ð¤¤¤¤¤È¤¤¤¦¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë (/dev) ¤ä¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ê¤É¤Ï ¼ºÇԤθµ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤é¤òÍý²ò¤¹¤ë¥Ä¡¼¥ë¡¢¤¹¤Ê¤ï¤Á &man.dump.8; ¤ä &man.tar.1; Åù¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ¥Ç¡¼¥¿¤Î°Üž¤Ï¥·¥ó¥°¥ë¥æ¡¼¥¶¤Ç¹Ô¤¦¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¤¬¡¢ ÀäÂФȸÀ¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤¢¤Ê¤¿¤Ï &man.dump.8; ¤È &man.restore.8; °Ê³°¤Î¤â¤Î¤Ç root ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò°Ü¹Ô¤·¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ &man.tar.1; ¥³¥Þ¥ó¥É¤Ç¤â¤¿¤Ö¤ó¤¦¤Þ¤¯¹Ô¤¯¤Ç¤·¤ç¤¦¤¬¡¢ ¤ä¤é¤Ê¤¤¤Û¤¦¤¬¤¤¤¤¤Ç¤·¤ç¤¦¡£¥Ñ¡¼¥Æ¥£¥·¥ç¥ó°ì¤Ä¤ò ¤â¤¦°ì¤Ä¤Î¤«¤é¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë°Ü¤¹¤È¤­¤Ï &man.dump.8; ¤È &man.restore.8; »È¤¦¤Ù¤­¤Ç¤¹¡£ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥Ç¡¼¥¿¤ò¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë°Ü¤¹¤Î¤Ë dump ¤ò»È¤¦¤ä¤êÊý¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ ¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë newfs ¤ò¤«¤±¤ë¡£ ¤½¤ì¤ò»ÃÄêŪ¤Ê¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Ë¥Þ¥¦¥ó¥È¤¹¤ë¡£ ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë cd¡£ ¸Å¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò dump ¤·¡¢ ¤½¤Î½ÐÎϤò¥Ñ¥¤¥×¤Ç¿·¤·¤¤Êý¤Ø¡£ ¤¿¤È¤¨¤Ð root ¤ò /dev/ad1s1a ¤Ø¡¢»ÃÄêŪ¤Ê¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤ò /mnt ¤È¤·¤Æ°Ü¤½¤¦¤È¤¹¤ë¤È°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ &prompt.root; newfs /dev/ad1s1a &prompt.root; mount /dev/ad1s1a &prompt.root; cd /mnt &prompt.root; dump 0uaf - / | restore xf - ¤â¤·¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¹½À®¤òÊѤ¨¤è¤¦¤È»×¤Ã¤Æ¤¤¤ë¤Ê¤é - ¤Ä¤Þ¤ê°ì¤Ä¤À¤Ã¤¿¤â¤Î¤òÆó¤Ä¤Ë¤·¤¿¤êÆó¤Ä¤À¤Ã¤¿¤â¤Î¤ò¤¯¤Ã¤Ä¤±¤¿¤ê ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Ê¤é¡¢¼«Á°¤Ç¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¤¹¤Ù¤Æ¤ò ¿·¤·¤¤¾ì½ê¤Ø°Ü¤¹É¬Íפ¬½Ð¤Æ¤¯¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£&man.dump.8; ¤Ï ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËƯ¤¯¤Î¤Ç¤³¤ÎÌÜŪ¤Ë¤Ï»È¤¨¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¤Ï &man.tar.1; ¤ò»È¤¤¤Þ¤¹¡£°ìÈÌ¤Ë /old ¤«¤é /new ¤Ø¤Î°Üư¤Ï &man.tar.1; ¤Ç °Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; (cd /old; tar cf - .) | (cd /new; tar xpf -) /old ¤Ë¾¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Æ¡¢¤½¤Î¥Ç¡¼¥¿¤Î°Üư¤Þ¤Ç¤Ï¹Í¤¨¤Æ¤Ê¤¤¤Ê¤é¤Ð ºÇ½é¤Î &man.tar.1; ¤Ë 'l' ¥Õ¥é¥°¤òÄɲä·¤Þ¤¹¡£ &prompt.root; (cd /old; tar clf - .) | (cd /new; tar xpf -). &man.tar.1; ¤Î¤«¤ï¤ê¤Ë &man.cpio.1; ¤ä &man.pax.1;, cpdup (ports/sysutils/cpdup) Åù¤ò »È¤Ã¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£ ¥·¥¹¥Æ¥à¤òºÇ¿·¤Î -STABLE ¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤·¤è¤¦¤È¤·¤¿¤Î¤Ç¤¹¤¬ -RC ¤ä -BETA ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿! ²¿¤¬µ¯¤³¤Ã¤¿¤Î¤Ç¤¹¤«? û¤¤Åú¤¨: ¤¿¤À¤Î̾Á°¤Ç¤¹¡£RC ¤Ï ¥ê¥ê¡¼¥¹¸õÊä (Release Candidate) ¤Ë ͳÍ褹¤ë¤â¤Î¤Ç¡¢¥ê¥ê¡¼¥¹¤¬´Ö¶á¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢FreeBSD ¤Ë¤ª¤±¤ë -BETA ¤ÏÄ̾ ¥ê¥ê¡¼¥¹Á°¤Î¥³¡¼¥É¥Õ¥ê¡¼¥º´ü´Ö¤ËÆþ¤Ã¤Æ¤¤¤ë¤È¤¤¤¦°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£ Ť¤Åú¤¨: FreeBSD ¤Ï¤½¤Î¥ê¥ê¡¼¥¹¤ò 2 ¥ö½ê¤¢¤ë¤¦¤Á¤Î °ìÊý¤«¤éÇÉÀ¸¤µ¤»¤Þ¤¹¡£3.0-RELEASE ¤ä 4.0-RELEASE ¤ÎÍÍ¤Ê (0 ¤Î¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤ò»ý¤Ä) ¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤Ï¡¢°ìÈÌ¤Ë -CURRENT ¤È¸Æ¤Ð¤ì¤ë ³«È¯ÈǤÎή¤ì¤«¤éʬ´ô¤µ¤»¤é¤ì¤Æ¤Ç¤­¤Þ¤¹¡£3.1-RELEASE ¤ä 4.2-RELEASE ¤Ê¤É¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ï¥¢¥¯¥Æ¥£¥Ö¤Ê -STABLE ¥Ö¥é¥ó¥Á (»Þ) ¤Î ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ç¤·¤¿¡£ 4.3-RELEASE ¤«¤é¤Ï¡¢¥ê¥ê¡¼¥¹Ëè¤Ë¥Ö¥é¥ó¥Á¤¬ºîÀ®¤µ¤ì¤ë¤è¤¦¤Ë ¤Ê¤ê¤Þ¤·¤¿¡£¤â¤Î¤¹¤´¤¯ÊݼéŪ¤Ê³«È¯Â®ÅÙ (¼ç¤Ë¥»¥­¥å¥ê¥Æ¥£ ´«¹ð¤Î¤ß) ¤òµá¤á¤Æ¤¤¤ë¿Í¤Ï¡¢¤³¤Î¥Ö¥é¥ó¥Á¤òÄÉÀפ¹¤ë¤È ¤è¤¤¤Ç¤·¤ç¤¦¡£ ¥ê¥ê¡¼¥¹¤òºî¤ë»þ¤Ë¤Ê¤ë¤È¤½¤ì¤òʬ´ô¤µ¤»¤ë¥Ö¥é¥ó¥Á¤Ï ÆÃÄê¤Î¥×¥í¥»¥¹¤ØÆÍÆþ¤·¤Þ¤¹¡£¤½¤Î¥×¥í¥»¥¹¤Î°ì¤Ä¤Ï ¥³¡¼¥É¥Õ¥ê¡¼¥º (¥³¡¼¥É¤ÎÅà·ë) ¤Ç¤¹¡£¥³¡¼¥É¥Õ¥ê¡¼¥º¤¬ »Ï¤Þ¤ë¤È¡¢¤½¤Î¥Ö¥é¥ó¥Á¤Î̾Á°¤¬¥ê¥ê¡¼¥¹¤Ë¤Ê¤í¤¦¤È¤·¤Æ¤¤¤ë¤³¤È¤ò È¿±Ç¤¹¤ë¤â¤Î¤ËÊѤ¨¤é¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢4.0-STABLE ¤È ¸Æ¤Ð¤ì¤Æ¤¤¤¿¥Ö¥é¥ó¥Á¤Ï̾Á°¤¬ 4.1-BETA ¤Ø¤È ÊѤ¨¤é¤ì¡¢¥³¡¼¥É¥Õ¥ê¡¼¥º¤È¥ê¥ê¡¼¥¹Á°¤Î¥Æ¥¹¥È¤¬ »Ï¤Þ¤Ã¤¿¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ ¥Ð¥°¤Î½¤Àµ¤Ï¥ê¥ê¡¼¥¹¤Î°ìÉô¤È¤·¤Æ¥³¥ß¥Ã¥È¤µ¤ì¤Þ¤¹¡£ ¥½¡¼¥¹¥³¡¼¥É¤¬¥ê¥ê¡¼¥¹¤Î·Á¤ò¼è¤Ã¤¿¤Ê¤é̾Á°¤¬ 4.1-RC ¤Ø¤È ÊѤ¨¤é¤ì¡¢¤½¤ì¤«¤é¥ê¥ê¡¼¥¹¤¬ºî¤é¤ì¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ ¤Ò¤È¤¿¤Ó RC ¤Î¥¹¥Æ¡¼¥¸¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤È¡¢È¯¸«¤µ¤ì¤¿ ¤â¤Ã¤È¤âÃ×̿Ū¤Ê¥Ð¥°¤Î½¤Àµ¤·¤«¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¤Ò¤È¤¿¤Ó¥ê¥ê¡¼¥¹¤¬ (¤³¤ÎÎã¤Ç¤Ï 4.1-RELEASE) ºî¤é¤ì¤ì¤Ð¡¢ ¤½¤Î¥Ö¥é¥ó¥Á¤Ï 4.1-STABLE ¤È²þ̾¤µ¤ì¤Þ¤¹¡£ ¿·¤·¤¤¥«¡¼¥Í¥ë¤òÆþ¤ì¤è¤¦¤È¤·¤¿¤Î¤Ç¤¹¤¬¡¢ chflags ¤Ë¼ºÇÔ¤·¤Þ¤¹¡£¤É¤¦¤¹¤ì¤ÐÎɤ¤¤Î¤Ç¤·¤ç¤¦? ´Êñ¤Ê²óÅú: ¿ʬ¡¢¥»¥­¥å¥¢¥ì¥Ù¥ë¤¬ 0 ¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¡£ ľÀÜ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤ÇºÆµ¯Æ°¤·¤Æ¡¢ ¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¾Ü¤·¤¤²óÅú: FreeBSD ¤Ç¤Ï¡¢¥»¥­¥å¥¢¥ì¥Ù¥ë¤¬ 0 ¤è¤êÂ礭¤¤¾ì¹ç¡¢ ¥·¥¹¥Æ¥à¥Õ¥é¥°¤ÎÊѹ¹¤¬¶Ø»ß¤µ¤ì¤Þ¤¹¡£ ¸½ºß¤Î¥»¥­¥å¥¢¥ì¥Ù¥ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; sysctl kern.securelevel ¥»¥­¥å¥¢¥ì¥Ù¥ë¤ò²¼¤²¤ëÁàºî¤Ï¡¢¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢ ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë¤«¡¢/etc/rc.conf ¤Î¥»¥­¥å¥ê¥Æ¥£ÀßÄê¤òÊѹ¹¤·¤ÆºÆµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥»¥­¥å¥¢¥ì¥Ù¥ë¤Î¾ÜºÙ¤Ï &man.init.8; ¤ò¡¢ rc.conf ¤Î¾ÜºÙ¤Ï /etc/defaults/rc.conf ¤ª¤è¤Ó¡¢ &man.rc.conf.5; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¥·¥¹¥Æ¥à¤Î»þ¹ï¤ò 1 ÉðʾåÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¤¹! ¤É¤¦¤¹¤ì¤ÐÎɤ¤¤Î¤Ç¤·¤ç¤¦? ´Êñ¤Ê²óÅú: ¿ʬ¡¢¥»¥­¥å¥¢¥ì¥Ù¥ë¤¬ 1 ¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¡£ ľÀÜ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤ÇºÆµ¯Æ°¤·¤Æ¡¢ »þ¹ï¤ÎÊѹ¹¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£ ¾Ü¤·¤¤²óÅú: FreeBSD ¤Ç¤Ï¡¢¥»¥­¥å¥¢¥ì¥Ù¥ë¤¬ 1 ¤è¤êÂ礭¤¤¾ì¹ç¡¢ 1 Éðʾå¤Î»þ¹ïÊѹ¹¤¬¶Ø»ß¤µ¤ì¤Þ¤¹¡£ ¸½ºß¤Î¥»¥­¥å¥¢¥ì¥Ù¥ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; sysctl kern.securelevel ¥»¥­¥å¥¢¥ì¥Ù¥ë¤ò²¼¤²¤ëÁàºî¤Ï¡¢¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢¥·¥¹¥Æ¥à¤Î»þ¹ï¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢ ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë¤«¡¢/etc/rc.conf ¤Î¥»¥­¥å¥ê¥Æ¥£ÀßÄê¤òÊѹ¹¤·¤ÆºÆµ¯Æ°¤¹¤ëɬÍפФ¢¤ê¤Þ¤¹¡£ ¥»¥­¥å¥¢¥ì¥Ù¥ë¤Î¾ÜºÙ¤Ï &man.init.8; ¤ò¡¢ rc.conf ¤Î¾ÜºÙ¤Ï /etc/defaults/rc.conf ¤ª¤è¤Ó¡¢ &man.rc.conf.5; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ &man.rpc.statd.8; ¤Ë¥á¥â¥ê¥ê¡¼¥¯¤ò¸«¤Ä¤±¤Þ¤·¤¿! ¥á¥â¥ê¤ò 256 ¥á¥¬¥Ð¥¤¥È¤â»È¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤¤¤¤¤¨¡£¤½¤ì¤Ï¥á¥â¥ê¥ê¡¼¥¯¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤·¡¢ 256 ¥á¥¬¥Ð¥¤¥È¤Î¥á¥â¥ê¤ò»È¤Ã¤Æ¤¤¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡£ ¤ª¤½¤é¤¯ (¤Û¤È¤ó¤É¤Î¾ì¹ç)¡¢ ½èÍý¤ËÅԹ礬Îɤ¤¤è¤¦¤ËÈó¾ï¤Ë¤¿¤¯¤µ¤ó¤ÎÎ̤Υá¥â¥ê¤ò ¤½¤Î¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¥Þ¥Ã¥Ô¥ó¥°¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¡£ µ»½ÑŪ¤Ê¸«ÃϤ«¤é¹Í¤¨¤Æ¤â¡¢¤³¤ì¤ÏÂ礭¤Ê³²¤¬¤¢¤ë¤³¤È¤Ç¤Ï¤Ê¤¯¡¢ ñ¤Ë &man.top.1; ¤ä &man.ps.1; ¤È¤¤¤Ã¤¿¥Ä¡¼¥ë¤Îɽ¼¨¤Ë±Æ¶Á¤¬¤¢¤ëÄøÅ٤Ǥ¹¡£ &man.rpc.statd.8; ¤Ï¡¢(/var ¤Ë¤¢¤ë) ¥¹¥Æ¡¼¥¿¥¹¥Õ¥¡¥¤¥ë¤ò¼«Ê¬¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¥Þ¥Ã¥Ô¥ó¥°¤·¤Þ¤¹¡£ ¥Þ¥Ã¥Ô¥ó¥°¤Ï¡¢¸å¤ÇÂ礭¤Ê¶õ´Ö¤¬É¬Íפˤʤä¿»þ¤ËºÆ¥Þ¥Ã¥Ô¥ó¥°¤·¤Ê¤¤¤ÇºÑ¤à¤è¤¦¡¢ Èó¾ï¤ËÂ礭¤Ê¥µ¥¤¥º¤ò»ØÄꤷ¤Æ¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Ë´Þ¤Þ¤ì¤ë &man.mmap.2; ´Ø¿ô¤Î¥Þ¥Ã¥Ô¥ó¥°Ä¹¤ò¼¨¤¹°ú¿ô¤Ë 0x10000000 ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤«¤é¤âʬ¤«¤ê¤Þ¤¹¡£ ¤³¤Î¿ô»ú¤¬ IA32 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î»ý¤Ä¥¢¥É¥ì¥¹¥¹¥Ú¡¼¥¹Á´ÂΤΠ16 ʬ¤Î 1¡¢¤¹¤Ê¤ï¤Á¡¢¤Á¤ç¤¦¤É 256 ¥á¥¬¥Ð¥¤¥È¤ËÁêÅö¤¹¤ë¤Î¤Ç¤¹¡£
X Window System ¤È²¾ÁÛ¥³¥ó¥½¡¼¥ë Ìõ: &a.motoyuki; 1997 ǯ 11 ·î 13 Æü X ¤òư¤«¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¤«? ¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ï FreeBSD ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ÎºÝ¤Ë X ¤òư¤«¤¹¤³¤È¤ò»ØÄꤹ¤ë¤À¤±¤Ç¤¹¡£ ¤½¤ì¤«¤é xf86config ¥Ä¡¼¥ë¤Î¥É¥­¥å¥á¥ó¥È¤òÆÉ¤ó¤Ç¤³¤ì¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î¥Ä¡¼¥ë¤Ï¤¢¤Ê¤¿¤Î¥°¥é¥Õ¥£¥Ã¥¯¥«¡¼¥É¤ä¥Þ¥¦¥¹¤Ê¤É¤Ë¹ç¤ï¤»¤Æ XFree86(tm) ¤ÎÀßÄê¤ò¹Ô¤¦¤Î¤ò½õ¤±¤Æ¤¯¤ì¤Þ¤¹¡£ Xaccel ¥µ¡¼¥Ð¡¼¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤Æ¤ß¤ë¤Î¤â¤¤¤¤¤Ç¤·¤ç¤¦¡£ ¾Ü¤·¤¯¤Ï Xi Graphics ¤Ë¤Ä¤¤¤Æ ¤« Metro Link ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ X ¤ò¼Â¹Ô¤·¤è¤¦¤È¤·¤Æ startx ¤ÈÆþÎϤ·¤¿¤Î¤Ç¤¹¤¬¡¢ KDENABIO failed (Operation not permitted) ¤È¤¤¤¦¥¨¥é¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ²¿¤«¤ª¤«¤·¤Ê¤³¤È¤ò¤ä¤Ã¤Æ¤·¤Þ¤Ã¤¿¤ó¤Ç¤·¤ç¤¦¤«? ¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤Ï¹â¤¤¥»¥­¥å¥¢¥ì¥Ù¥ë¤Ç±¿ÍѤµ¤ì¤Æ¤¤¤Þ¤¹¤Í? ¼Â¤Ï¡¢¹â¤¤¥»¥­¥å¥¢¥ì¥Ù¥ë¤Ç X ¤òµ¯Æ°¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤Î¤Ç¤¹¡£ ¤É¤¦¤·¤Æ¤Ê¤Î¤«¤Ë¤Ä¤¤¤Æ¤Ï¡¢&man.init.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¤Ç¤Ï¡¢Âå¤ï¤ê¤Ë¤É¤¦¤¹¤ì¤ÐÎɤ¤¤Î¤«¤ªÅú¤¨¤·¤Þ¤·¤ç¤¦¡£ ´ðËÜŪ¤Ë 2 ¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ °ì¤Ä¤Ï¥»¥­¥å¥¢¥ì¥Ù¥ë¤ò 0 ¤Ë¤¹¤ë (Ä̾¤³¤ì¤Ï /etc/rc.conf ¤Ç»ØÄꤷ¤Þ¤¹) ¤³¤È¡¢ ¤â¤¦°ì¤Ä¤Ïµ¯Æ°»þ (¥»¥­¥å¥¢¥ì¥Ù¥ë¤ò¾å¤²¤ëÁ°) ¤Ë &man.xdm.1; ¤ò¼Â¹Ô¤¹¤ë¤«¤Ç¤¹¡£ µ¯Æ°»þ¤Ë &man.xdm.1; ¤ò¼Â¹Ô¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ »ä¤Î¥Þ¥¦¥¹¤Ï¤Ê¤¼ X ¤Çư¤«¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«? syscons (¥Ç¥Õ¥©¥ë¥È¤Î¥³¥ó¥½¡¼¥ë¥É¥é¥¤¥Ð) ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¤½¤ì¤¾¤ì¤Î²¾ÁÛ¥¹¥¯¥ê¡¼¥ó¤Ç¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¡¼¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¤Ë FreeBSD ¤òÀßÄê¤Ç¤­¤Þ¤¹¡£X ¤Ç¤Î¥Þ¥¦¥¹¤Î¾×ÆÍ¤òÈò¤±¤ë¤¿¤á¤Ë¡¢syscons ¤Ï /dev/sysmouse ¤È¤¤¤¦²¾ÁۥǥХ¤¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ËÜʪ¤Î¥Þ¥¦¥¹¥Ç¥Ð¥¤¥¹¤«¤éÆþÎϤµ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Þ¥¦¥¹¤Î¥¤¥Ù¥ó¥È¤Ï¡¢ moused ¤ò·Ðͳ¤·¤Æ sysmouse ¥Ç¥Ð¥¤¥¹¤Ø½ÐÎϤµ¤ì¤Þ¤¹¡£ °ì¤Ä°Ê¾å¤Î²¾ÁÛ¥³¥ó¥½¡¼¥ë¤È X ¤Î ξÊý¤Ç ¥Þ¥¦¥¹¤ò»È¤¤¤¿¤¤¾ì¹ç¡¢ ¤ò»²¾È¤·¤Æ moused ¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤·¤Æ¡¢/etc/XF86Config ¤òÊÔ½¸¤·¡¢ ¼¡¤Î¤è¤¦¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ Section Pointer Protocol "SysMouse" Device "/dev/sysmouse" ..... ¾å¤ÎÎã¤Ï¡¢XFree86 3.3.2 °Ê¹ß¤Î¾ì¹ç¤ÎÎã¤Ç¤¹¡£ ¤½¤ì¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ Protocol ¤È¤¤¤¦Éôʬ¤ò MouseSystems ¤ÈÃÖ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ X ¤Ç /dev/mouse ¤ò»È¤¦¤Î¤ò¹¥¤à¿Í¤â¤¤¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢ /dev/mouse ¤ò /dev/sysmouse (&man.sysmouse.4; »²¾È) ¤Ë¥ê¥ó¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; cd /dev &prompt.root; rm -f mouse &prompt.root; ln -s sysmouse mouse ¤ï¤¿¤·¤Î¥Þ¥¦¥¹¤Ë¤Ï¥Û¥¤¡¼¥ëµ¡Ç½¤¬ÉÕ¤¤¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢X ¤Ç»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤«? ¤Ï¤¤¡¢¤â¤Á¤í¤ó»È¤¨¤Þ¤¹¤¬¡¢¤½¤Î¤¿¤á¤Ë¤Ï X ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤òŬÀÚ¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢ Colas Nahaboo »á¤Î¥¦¥§¥Ö¥Ú¡¼¥¸(http://www.inria.fr/koala/colas/mouse-wheel-scroll/) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ imwheel ¤È¤¤¤¦¥×¥í¥°¥é¥à¤ò»È¤¦¾ì¹ç¤Ï¡¢ ¼¡¤Î¤è¤¦¤Ê´Êñ¤Ê¼ê½ç¤Ë¤·¤¿¤¬¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¥Û¥¤¡¼¥ë¥¤¥Ù¥ó¥È¤ÎÊÑ´¹ imwheel ¤Ï¡¢ ¥Þ¥¦¥¹¤Î¥Ü¥¿¥ó 4¡¢¥Ü¥¿¥ó 5 ¤ò¥­¡¼²¡²¼¥¤¥Ù¥ó¥È¤ËÊÑ´¹¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£ ¤½¤Î¤¿¤á¥Û¥¤¡¼¥ë¥Þ¥¦¥¹¤ÇÍøÍѤ¹¤ë¤Ë¤Ï¡¢¥Þ¥¦¥¹¥Û¥¤¡¼¥ë¤Î¥¤¥Ù¥ó¥È¤ò¥Ü¥¿¥ó 4¡¢ ¥Ü¥¿¥ó 5 ¤Î¥¤¥Ù¥ó¥È¤ËÊÑ´¹¤¹¤ë¥Þ¥¦¥¹¥É¥é¥¤¥Ð¤òÍøÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦¤Ë¤ÏÆó¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ °ì¤Ä¤Ï &man.moused.8; ¤Ç¹Ô¤Ê¤¦ÊýË¡¡¢Æó¤Ä¤á¤Ï X ¥µ¡¼¥Ð¼«¿È¤ËÊÑ´¹¤ò¹Ô¤Ê¤ï¤»¤ëÊýË¡¤Ç¤¹¡£ ¥Û¥¤¡¼¥ë¥¤¥Ù¥ó¥È¤ÎÊÑ´¹¤Ë &man.moused.8; ¤ò»È¤¦ &man.moused.8; ¤Ë¥¤¥Ù¥ó¥È¤òÊÑ´¹¤µ¤»¤ë¤Ë¤Ï¡¢ &man.moused.8; µ¯Æ°»þ¤Ë¥ª¥×¥·¥ç¥ó ¤òÄɲä·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢ÉáÃÊ &man.moused.8; ¤ò moused -p /dev/psm0 ¤È¤·¤Æµ¯Æ°¤·¤Æ¤¤¤ë¤Ê¤é¡¢¤½¤ÎÂå¤ï¤ê¤Ë moused -p /dev/psm0 -z 4 ¤È¤·¤Þ¤¹¡£ ¤â¤·¡¢ /etc/rc.conf ¤ò»È¤Ã¤Æ¼«Æ°Åª¤Ëµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤¤¤ë¤Ê¤é¡¢ /etc/rc.conf ¤ÎÃæ¤Î moused_flags ¤È¤¤¤¦ÊÑ¿ô¤Ë ¤òÄɲ乤ë¤À¤±¤Ç¤¹¡£ ¤½¤·¤Æ¡¢5 ¥Ü¥¿¥ó¥Þ¥¦¥¹¤ò»È¤¦¤³¤È¤ò X ¥µ¡¼¥Ð¤ËÅÁ¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤ò¹Ô¤Ê¤¦¤Ë¤Ï /etc/XF86Config ¤Î Pointer ¥»¥¯¥·¥ç¥ó¤Ë Buttons 5 ¤È¤¤¤¦¹Ô¤òÄɲ乤ë¤À¤±¤Ç¤¹¡£ ¤½¤¦¤¹¤ë¤È /etc/XF86Config ¤Î Pointer ¤Ï¡¢ ¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ moused ¤Ë¤è¤ëÊÑ´¹¤òÍøÍѤ·¤Æ¥Û¥¤¡¼¥ë¥Þ¥¦¥¹¤ò »ÈÍѤ¹¤ë¤¿¤á¤Î XFree86 3.3.x ·ÏÎó¤Î XF86Config ¤Î <quote>Pointer</quote> ¥»¥¯¥·¥ç¥ó¤ÎÀßÄêÎã Section "Pointer" Protocol "SysMouse" Device "/dev/sysmouse" Buttons 5 EndSection ¼«Æ°Åª¤Ê¥×¥í¥È¥³¥ëǧ¼±µ¡Ç½¤ª¤è¤Ó¥Ü¥¿¥óÇÛÃÖÊÑ´¹µ¡Ç½¤ò ÍøÍѤ·¡¢¥Û¥¤¡¼¥ë¥Þ¥¦¥¹¤ò»ÈÍѤ¹¤ë¤¿¤á¤Î XFree86 4.x ·ÏÎó¤Î XF86Config ¤Î <quote>InputDevice</quote> ¥»¥¯¥·¥ç¥ó¤ÎÀßÄêÎã Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psm0" Option "Buttons" "5" Option "ZAxisMapping" "4 5" EndSection ¥Û¥¤¡¼¥ë¥Þ¥¦¥¹¤Ç Emacs ¾å¤Ç¤Î¥Ú¡¼¥¸¥¹¥¯¥í¡¼¥ë¤ò ¹Ô¤¦¤¿¤á¤Î <quote>.emacs</quote> ¤ÎÀßÄêÎã ;; wheel mouse (global-set-key [mouse-4] 'scroll-down) (global-set-key [mouse-5] 'scroll-up) X ¥µ¡¼¥Ð¤ò»È¤Ã¤¿¥Û¥¤¡¼¥ë¥¤¥Ù¥ó¥È¤ÎÊÑ´¹ &man.moused.8; ¤òµ¯Æ°¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤ê¡¢ ¥Û¥¤¡¼¥ë¥¤¥Ù¥ó¥È¤ÎÊÑ´¹¤Ë &man.moused.8; ¤òµ¯Æ°¤·¤¿¤¯¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎÂå¤ï¤ê¤Ë X ¥µ¡¼¥Ð¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤Ë¤Ï¡¢/etc/XF86Config ¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤Þ¤ººÇ½é¤ËɬÍפʤΤϡ¢ ¥Þ¥¦¥¹¤¬¤É¤Î¥×¥í¥È¥³¥ë¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤«¤ò³Îǧ¤¹¤ë¤³¤È¤Ç¤¹¡£ ¤Û¤È¤ó¤É¤Î¥Û¥¤¡¼¥ë¥Þ¥¦¥¹¤Ï IntelliMouse ¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢ XFree86 ¥µ¡¼¥Ð¤Ï¤½¤Î¾¤Î¥×¥í¥È¥³¥ë¡¢ ¤¿¤È¤¨¤Ð Logitech MouseMan+ ¥Þ¥¦¥¹¤¬ÍøÍѤ·¤Æ¤¤¤ë MouseManPlusPS/2 ¥×¥í¥È¥³¥ë¤Ê¤É¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ »ÈÍѤµ¤ì¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¤¬³Îǧ¤Ç¤­¤¿¤é Pointer ¥»¥¯¥·¥ç¥ó¤Ë Protocol ¤Î¹Ô¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ ¤Ä¤®¤Ë¡¢ ¥Û¥¤¡¼¥ë¤Î¥¹¥¯¥í¡¼¥ë¥¤¥Ù¥ó¥È¤ò¥Þ¥¦¥¹¥Ü¥¿¥ó 4¡¢ ¥Þ¥¦¥¹¥Ü¥¿¥ó 5 ¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤ò X ¥µ¡¼¥Ð¤ËÅÁ¤¨¤Þ¤¹¡£ ¤³¤ì¤ò¹Ô¤Ê¤¦¤Ë¤Ï ZAxisMapping ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢&man.moused.8; ¤¬µ¯Æ°¤·¤Æ¤¤¤Ê¤¤¾õÂ֤ǡ¢ PS/2 ¥Þ¥¦¥¹¥Ý¡¼¥È¤Ë IntelliMouse ¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë¤È¤·¤¿¤é /etc/XF86Config ¤Ï¤ª¤½¤é¤¯¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ X ¥µ¡¼¥Ð¤Ë¤è¤ëÊÑ´¹¤òÍøÍѤ·¤Æ¥Û¥¤¡¼¥ë¥Þ¥¦¥¹¤ò»ÈÍѤ¹¤ë¤¿¤á¤Î XF86Config ¤Î <quote>Pointer</quote> ¥»¥¯¥·¥ç¥ó¤ÎÀßÄêÎã Section "Pointer" Protocol "IntelliMouse" Device "/dev/psm0" ZAxisMapping 4 5 EndSection imwheel ¤Î¥¤¥ó¥¹¥È¡¼¥ë ¤µ¤Æ¡¢¤Ä¤®¤Ë Ports Collection ¤«¤é imwheel ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ ¤³¤ì¤¬¤¢¤ë¤Î¤Ï x11 ¥«¥Æ¥´¥ê¤Ç¤¹¡£ ¤³¤Î¥×¥í¥°¥é¥à¤Ï¡¢ ¥Þ¥¦¥¹¥¤¥Ù¥ó¥È¤ò¥­¡¼¥Ü¡¼¥É¥¤¥Ù¥ó¥È¤ËÊÑ´¹¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥Þ¥¦¥¹¥Û¥¤¡¼¥ë¤òÁ°¤Ë²ó¤·¤¿»þ¡¢ imwheel ¤Ï PageUp ¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÁ÷¤ë¤è¤¦¤Êưºî¤ò¤¹¤ë¤ï¤±¤Ç¤¹¡£ Imwheel ¤Ï¥Û¥¤¡¼¥ë¥¤¥Ù¥ó¥È¤È¥­¡¼¥Ü¡¼¥É²¡²¼¤ÎÂбþ¤òÀßÄê¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤ÆÀßÄꤹ¤ë¤¿¤á¡¢ ¥¢¥×¥ê¥±¡¼¥·¥ç¥óËè¤Ë°Û¤Ê¤ëÂбþ¤ò»ý¤¿¤»¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ imwheel ¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï /usr/X11R6/etc/imwheelrc ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤ò ~/.imwheelrc ¤Ë¥³¥Ô¡¼¤·¤ÆÊÔ½¸¤·¡¢ ¤ª¹¥¤­¤Ê¤è¤¦¤Ë imwheel ¤ÇÍøÍѤ·¤¿¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÀßÄê¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¯¤À¤µ¤¤¡£ ÀßÄê¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤Ï &man.imwheel.1; ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ Emacs ¤Ç Imwheel ¤ò»È¤¦¤è¤¦¤ËÀßÄꤹ¤ë (ɬ¿Ü¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó) emacs ¤ä Xemacs ¤ÇÍøÍѤ¹¤ë¤Ë¤Ï¡¢ ~/.emacs ¤Ë¤¤¤¯¤é¤«½ñ¤­²Ã¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ emacs ¤Î¾ì¹ç¤Ï¼¡¤ÎÉôʬ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ <application>Imwheel</application> ¤òÍøÍѤ¹¤ë¤¿¤á¤Î <application>Emacs</application> ¤ÎÀßÄêÎã ;;; For imwheel (setq imwheel-scroll-interval 3) (defun imwheel-scroll-down-some-lines () (interactive) (scroll-down imwheel-scroll-interval)) (defun imwheel-scroll-up-some-lines () (interactive) (scroll-up imwheel-scroll-interval)) (global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines) (global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines) ;;; end imwheel section Xemacs ¤Î¾ì¹ç¤Ï ~/.emacs ¤Ë¼¡¤ÎÉôʬ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ <application>Imwheel</application> ¤òÍøÍѤ¹¤ë¤¿¤á¤Î <application>XEmacs</application> ¤ÎÀßÄêÎã ;;; For imwheel (setq imwheel-scroll-interval 3) (defun imwheel-scroll-down-some-lines () (interactive) (scroll-down imwheel-scroll-interval)) (defun imwheel-scroll-up-some-lines () (interactive) (scroll-up imwheel-scroll-interval)) (define-key global-map [(control meta \))] 'imwheel-scroll-up-some-lines) (define-key global-map [(control meta \()] 'imwheel-scroll-down-some-lines) ;;; end imwheel section Imwheel ¤Î¼Â¹Ô ¥¤¥ó¥¹¥È¡¼¥ë¤¬´°Î»¤·¤Æ¤¤¤ì¤Ð¡¢Ã±¤Ë xterm (ÌõÃí: ÆüËܸì´Ä¶­¤Ç¹­¤¯»È¤ï¤ì¤Æ¤¤¤ë kterm ¤Ç¤â¹½¤¤¤Þ¤»¤ó) ¤«¤é imwheel ¤òÆþÎϤ¹¤ë¤À¤±¤Çµ¯Æ°¤Ç¤­¤Þ¤¹¡£ µ¯Æ°¤¹¤ë¤È¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Çưºî¤·¡¢¤¹¤°¤ËÍøÍѤǤ­¤Þ¤¹¡£ imwheel ¤ò¤¤¤Ä¤â»È¤¦¤è¤¦¤ËÀßÄꤹ¤ë¤Ë¤Ï¡¢ .xinitrc ¤« .xsession ¤Î¥Õ¥¡¥¤¥ë¤Ë¤½¤Î¤Þ¤Þ¥³¥Þ¥ó¥É¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ imwheel ¤¬ PID ¥Õ¥¡¥¤¥ë¤Ë´Ø¤¹¤ë·Ù¹ð¤òɽ¼¨¤¹¤ë¤«¤âÃΤì¤Þ¤»¤ó¤¬¡¢ ̵»ë¤·¤Æ¤â´í¸±¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î·Ù¹ð¤¬°ÕÌ£¤ò»ý¤Ä¤Î¤Ï¡¢ Linux ÈǤΠimwheel ¤À¤±¤Ç¤¹¡£ X ¤Î¥á¥Ë¥å¡¼¤ä¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹¤¬¤¦¤Þ¤¯Æ°¤­¤Þ¤»¤ó¡£ Num Lock ¥­¡¼¤ò¥ª¥Õ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ Num Lock ¥­¡¼¤¬¥Ç¥Õ¥©¥ë¥È¤Çµ¯Æ°»þ¤Ë¥ª¥ó¤Ë¤Ê¤ë¾ì¹ç¤Ï¡¢ XF86Config ¥Õ¥¡¥¤¥ë¤Î Keyboard ¥»¥¯¥·¥ç¥ó¤Ë°Ê²¼¤Î¹Ô¤ò²Ã¤¨¤Æ¤â¤¤¤¤¤Ç¤·¤ç¤¦¡£ # Let the server do the NumLock processing. This should only be # required when using pre-R6 clients ServerNumLock ÌõÃí ¤³¤ÎÌäÂê¤Ï XFree86 3.2 °Ê¹ß¤Ç¤Ï²ò·è¤·¤Æ¤¤¤Þ¤¹¡£ ²¾ÁÛ¥³¥ó¥½¡¼¥ë¤È¤Ï²¿¤Ç¤¹¤«? ¤É¤¦¤ä¤Ã¤¿¤é»È¤¨¤Þ¤¹¤«? ²¾ÁÛ¥³¥ó¥½¡¼¥ë¤Ï¡¢´Êñ¤Ë¤¤¤¦¤È¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤ä X ¤òư¤«¤¹¤Ê¤É¤ÎÊ£»¨¤Ê¤³¤È¤ò¹Ô¤Ê¤ï¤º¤Ë¡¢ ¤¤¤¯¤Ä¤«¤Î¥»¥Ã¥·¥ç¥ó¤òƱ»þ¤Ë¹Ô¤Ê¤¦¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤Î¥¹¥¿¡¼¥È»þ¤Ë¤Ï¡¢ µ¯Æ°¥á¥Ã¥»¡¼¥¸¤¬½Ð¤¿¸å¤Ë login ¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤½¤³¤Ç ¥í¥°¥¤¥ó̾¤È¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤È 1 ÈÖÌܤβ¾ÁÛ¥³¥ó¥½¡¼¥ë¾å¤Ç»Å»ö (¤¢¤ë¤¤¤ÏÍ·¤Ó) ¤ò»Ï¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¾¤Î¥»¥Ã¥·¥ç¥ó¤ò»Ï¤á¤¿¤¤¾ì¹ç¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¤½¤ì¤Ïư¤«¤·¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Î¥É¥­¥å¥á¥ó¥È¤ò¸«¤¿¤ê¡¢ FTP ¤ÎžÁ÷¤¬½ª¤ï¤ë¤Þ¤ÇÂԤĴ֡¢ ¥á¡¼¥ë¤òÆÉ¤â¤¦¤È¤·¤¿¤ê¤¹¤ë¤³¤È¤«¤â¤·¤ì¤Þ¤»¤ó¡£ Alt-F2 ¤ò²¡¤¹ (Alt ¥­¡¼¤ò²¡¤·¤Ê¤¬¤é F2 ¥­¡¼¤ò²¡¤¹) ¤È¡¢ 2 ÈÖÌܤΡֲ¾ÁÛ¥³¥ó¥½¡¼¥ë¡×¤Ç ¥í¥°¥¤¥ó¥×¥í¥ó¥×¥È¤¬ÂÔµ¡¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£ ºÇ½é¤Î¥»¥Ã¥·¥ç¥ó¤ËÌá¤ê¤¿¤¤¤È¤­¤Ï Alt-F1 ¤ò²¡¤·¤Þ¤¹¡£ ɸ½à¤Î FreeBSD¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤Ï¡¢ 3 Ëç (3.3-RELEASE ¤Ç¤Ï 8 Ëç) ¤Î²¾ÁÛ¥³¥ó¥½¡¼¥ë¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢ Alt-F1¡¢ Alt-F2¡¢ Alt-F3 ¤Ç²¾ÁÛ¥³¥ó¥½¡¼¥ë´Ö¤ÎÀÚÂØ¤¨¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ ¤è¤ê¿¤¯¤Î²¾ÁÛ¥³¥ó¥½¡¼¥ë¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢ /etc/ttys (&man.ttys.5; »²¾È) ¤òÊÔ½¸¤·¤Æ Virtual terminals ¤Î¥³¥á¥ó¥È¹Ô¤Î¸å¤Ë ttyv4 ¤«¤é ttyvc ¤Î¼êÁ°¤Þ¤Ç¤Î¥¨¥ó¥È¥ê¤ò²Ã¤¨¤Þ¤¹ (°Ê²¼¤ÎÎã¤ÏÀèÆ¬¤Ë¤Ï¶õÇò¤ÏÆþ¤ê¤Þ¤»¤ó)¡£ # /etc/ttys ¤Ë¤Ï ttyv3 ¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç # "off" ¤ò "on" ¤ËÊѹ¹¤·¤Þ¤¹¡£ ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/libexec/getty Pc" cons25 on secure ttyv9 "/usr/libexec/getty Pc" cons25 on secure ttyva "/usr/libexec/getty Pc" cons25 on secure ttyvb "/usr/libexec/getty Pc" cons25 on secure ¿¤¯¤¹¤ë¤«¾¯¤Ê¤¯¤¹¤ë¤«¤Ï¤¢¤Ê¤¿¤Î¼«Í³¤Ç¤¹¡£ ¤è¤ê¿¤¯¤Î²¾ÁÛ¥¿¡¼¥ß¥Ê¥ë¤ò»È¤¦¤È¤è¤ê¿¤¯¤Î¥ê¥½¡¼¥¹¤ò»È¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ 8MB °Ê²¼¤Î¥á¥â¥ê¤·¤«¤Ê¤¤¾ì¹ç¤Ï¤³¤ì¤Ï½ÅÍפÊÌäÂê¤Ç¤¹¡£ ¤â¤·É¬Íפ¬¤¢¤ì¤Ð secure ¤ò insecure ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ X ¤ò»È¤¤¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ ºÇÄã°ì¤Ä¤Î²¾ÁÛ¥¿¡¼¥ß¥Ê¥ë (¤Î¥¨¥ó¥È¥ê) ¤ò»È¤ï¤º¤Ë»Ä¤·¤Æ¤ª¤¯¤«¡¢ off ¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢12 ¸Ä¤Î Alt-¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤¹¤Ù¤Æ¤Ç¥í¥°¥¤¥ó¥×¥í¥ó¥×¥È¤ò ½Ð¤·¤¿¤¤¤Î¤Ê¤é¤Ð¡¢ »Äǰ¤Ê¤¬¤é X ¤ÏÍøÍѤǤ­¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ Ʊ¤¸¥Þ¥·¥ó¤Ç X ¥µ¡¼¥Ð¡¼¤âư¤«¤·¤¿¤¤¤Î¤Ê¤é¤Ð 11 ¸Ä¤·¤«»È¤¨¤Þ¤»¤ó¡£ ²¾ÁÛ¥³¥ó¥½¡¼¥ë¤ò̵¸ú¤Ë¤¹¤ë¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ï¡¢ ¥³¥ó¥½¡¼¥ë¤ò off ¤Ë¤¹¤ë¤³¤È¤Ç¤¹¡£ ¤¿¤È¤¨¤Ð 12 ¸Ä¤¹¤Ù¤Æ¤Î¥¿¡¼¥ß¥Ê¥ë¤ò³ä¤êÅö¤Æ¤Æ¤¤¤ë¾õÂÖ¤Ç X ¤òư¤«¤·¤¿¤¤¤È¤­¤Ï¡¢ ²¾ÁÛ¥¿¡¼¥ß¥Ê¥ë 12 ¤òÊѹ¹¤·¤Þ¤¹¡£ ttyvb "/usr/libexec/getty Pc" cons25 on secure ¤³¤ì¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£ ttyvb "/usr/libexec/getty Pc" cons25 off secure ¥­¡¼¥Ü¡¼¥É¤Ë¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤¬ 10 ¸Ä¤·¤«¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ ¼¡¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£ ttyv9 "/usr/libexec/getty Pc" cons25 off secure ttyva "/usr/libexec/getty Pc" cons25 off secure ttyvb "/usr/libexec/getty Pc" cons25 off secure (¤³¤ì¤é¤Î¹Ô¤ò¾Ã¤¹¤À¤±¤Ç¤â¤¤¤¤¤Ç¤¹¡£) /etc/ttys ¤òÊÔ½¸¤·¤¿¤é¡¢ ¼¡¤Ï½½Ê¬¤Ê¿ô¤Î²¾ÁÛ¥¿¡¼¥ß¥Ê¥ë¥Ç¥Ð¥¤¥¹¤òºî¤é¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ ¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤ò¼¨¤·¤Þ¤¹¡£ &prompt.root; cd /dev &prompt.root; ./MAKEDEV vty12 (12 ¸Ä¤Î¥Ç¥Ð¥¤¥¹¤ò¤Ä¤¯¤ë¾ì¹ç) ¤µ¤Æ¡¢²¾ÁÛ¥³¥ó¥½¡¼¥ë¤òÍ­¸ú¤Ë¤¹¤ë¤â¤Ã¤È¤â´Êñ (¤½¤·¤Æ³Î¼Â) ¤ÊÊýË¡¤Ï¡¢ ºÆµ¯Æ°¤¹¤ë¤³¤È¤Ç¤¹¡£¤·¤«¤·¡¢ºÆµ¯Æ°¤·¤¿¤¯¤Ê¤¤¾ì¹ç¤Ï¡¢ X ¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤ò½ªÎ»¤µ¤»¤Æ¼¡¤ÎÆâÍÆ¤ò (root¸¢¸Â¤Ç) ¼Â¹Ô¤·¤Þ¤¹¡£ &prompt.root; kill -HUP 1 ½ÅÍפÊÅÀ¤Ï¡¢ ¤³¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë X ¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤ò´°Á´¤Ë½ªÎ»¤µ¤»¤Æ¤ª¤¯¤³¤È¤Ç¤¹¡£ ¤â¤·¤½¤¦¤·¤Ê¤¤¤È kill ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¸å¡¢ ¥·¥¹¥Æ¥à¤Ï¤ª¤½¤é¤¯¥Ï¥ó¥°¥¢¥Ã¥×¤¹¤ë¤Ç¤·¤ç¤¦¡£ X ¤«¤é²¾ÁÛ¥³¥ó¥½¡¼¥ë¤ËÀÚÂØ¤¨¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Î¤Ç¤¹¤«? ²¾ÁÛ¥³¥ó¥½¡¼¥ë¤ØÌá¤ë¤Ë¤Ï Ctrl Alt Fn ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ºÇ½é¤Î²¾ÁÛ¥³¥ó¥½¡¼¥ë¤Ø¤Ï Ctrl Alt F1 ¤ÇÌá¤ì¤Þ¤¹¡£ ¥Æ¥­¥¹¥È¥³¥ó¥½¡¼¥ë¤Ø°Ü¤Ã¤¿¸å¤Ï¡¢¤½¤ÎÃæ¤Ç°Üư¤¹¤ë¤Î¤Ë º£Å٤Ϥ¤¤Ä¤â¤É¤ª¤ê Alt Fn ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£ X ¤Î¥»¥Ã¥·¥ç¥ó¤ØÌá¤ë¤Ë¤Ï X ¤ÎÁö¤Ã¤Æ¤¤¤ë²¾ÁÛ¥³¥ó¥½¡¼¥ë¤Ø ÀÚ¤êÂØ¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤â¤·¤¢¤Ê¤¿¤¬ X ¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é ¼Â¹Ô¤·¤Æ¤¤¤¿¤Î¤Ç¤¢¤ì¤Ð (¤¿¤È¤¨¤Ð startx ¤ò»È¤¦) X ¤Î¥»¥Ã¥·¥ç¥ó¤Ï¤½¤ì¤ò¼Â¹Ô¤·¤¿¥Æ¥­¥¹¥È¥³¥ó¥½¡¼¥ë¤Ç¤Ï¤Ê¤¯ ºÇ½é¤Î»È¤ï¤ì¤Æ¤¤¤Ê¤¤²¾ÁÛ¥³¥ó¥½¡¼¥ë¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£ ¤¢¤Ê¤¿¤¬²¾ÁÛüËö¤ò 8 ¸ÄÍѰդ·¤Æ¤¤¤ë¾ì¹ç¤Ï X ¤ò 9 ÈÖÌܤΠ¥³¥ó¥½¡¼¥ë¤Ë¤¤¤ë¤Ï¤º¤Ç¡¢ Alt F9 ¤ò»È¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ÌõÃí X ¤ËÌá¤ë¤Ë¤Ï¡¢ 3 Ëç¤Î²¾ÁÛ¥³¥ó¥½¡¼¥ë¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï Alt-F4 ¤Ç¤¹¡£ Í­¸ú¤Ê²¾ÁÛ¥³¥ó¥½¡¼¥ë¤Î¿ô +1 ¤Î¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤Î °ÌÃÖ¤Ë X ¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ XDM ¤òµ¯Æ°»þ¤Ëµ¯Æ°¤µ¤»¤ë¤Ë¤Ï¤É¤¦¤·¤Þ¤¹¤«? xdm ¤Îµ¯Æ°ÊýË¡¤Ë¤Ä¤¤¤Æ¤ÏÆó¤Ä¤ÎήÇɤ¬¤¢¤ê¤Þ¤¹¡£ °ìÊý¤ÎήÇɤǤÏÄ󶡤µ¤ì¤¿Îã¤ò»ÈÍѤ·¤Æ xdm ¤ò /etc/ttys (&man.ttys.5; »²¾È) ¤«¤éµ¯Æ°¤·¡¢¤â¤¦°ìÊý¤ÎήÇÉ¤Ç¤Ï xdm ¤òñ¤Ë rc.local (&man.rc.8; »²¾È) ¤Þ¤¿¤Ï /usr/local/etc/rc.d ¤Ë¤ª¤¤¤¿ X.sh ¥¹¥¯¥ê¥×¥È¤«¤éµ¯Æ°¤·¤Þ¤¹¡£ ¤É¤Á¤é¤âÀµ¤·¤¯¡¢ÊÒÊý¤¬Æ°ºî¤·¤Ê¤¤¾ì¹ç¤Ï¡¢¤â¤¦ÊÒÊý¤¬Æ°ºî¤¹¤ë¤Ç¤·¤ç¤¦¡£ ¤É¤Á¤é¤â¾ì¹ç¤Ç¤â·ë²Ì¤ÏƱ¤¸¤Ç¤¢¤ê¡¢X ¤Ï¥°¥é¥Õ¥£¥«¥ë¤Ê login: ¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£ ttys ¤òÍøÍѤ¹¤ëÊýË¡¤ÎÍøÅÀ¤Ï¡¢ ¤É¤Î vty ¤Ç X ¤¬µ¯Æ°¤·¤¿¤«¤Îµ­Ï¿¤¬»Ä¤»¤ë¤³¤È¤È¡¢ ¥í¥°¥¢¥¦¥È»þ¤Ë X ¥µ¡¼¥Ð¤òºÆµ¯Æ°¤¹¤ëÀÕǤ¤ò init ¤Ë²¡¤·¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤³¤È¤Ç¤·¤ç¤¦¡£ rc.local ¤«¤é¥í¡¼¥É¤µ¤ì¤ë¾ì¹ç¡¢ xdm ¤Ï°ú¿ô¤ò»ý¤¿¤º¤Ë (¤¹¤Ê¤ï¤Á¡¢¥Ç¡¼¥â¥ó¤È¤·¤Æ) µ¯Æ°¤·¤Þ¤¹¡£ xdm ¤Ï getty ¤¬µ¯Æ°¤·¤¿¸å¤Ë¥í¡¼¥É¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤½¤¦¤Ç¤Ê¤¤¤È¡¢xdm ¤Ï getty ¤È¾×ÆÍ¤·¡¢¥³¥ó¥½¡¼¥ë¤ò¥í¥Ã¥¯¥¢¥¦¥È¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¤³¤ÎÌäÂê¤ËÂн褹¤ëºÇÁ±¤ÎÊýË¡¤Ï¡¢ µ¯Æ°¥¹¥¯¥ê¥×¥È (ÌõÃí: rc.local ¤Î¤³¤È) ¤Ç 10 ÉäۤɤΠsleep ¤ò¼Â¹Ô¤µ¤»¡¢ ¤½¤Î¸å¤Ë xdm ¤ò¥í¡¼¥É¤¹¤ë¤³¤È¤Ç¤¹¡£ /etc/ttys ¤«¤é xdm ¤òµ¯Æ°¤µ¤»¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ xdm ¤È getty ¤¬¾×ÆÍ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢/usr/X11R6/lib/X11/xdm/Xservers ¤Ë vt ÈÖ¹æ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ :0 local /usr/X11R6/bin/X vt4 ¾å¤ÎÎã¤Ï¡¢/dev/ttyv3 ¤ò X ¥µ¡¼¥Ð¤ËÂбþ¤µ¤»¤Þ¤¹¡£ÈÖ¹æ¤Ï 1 ¤«¤é»Ï¤Þ¤ê¤Þ¤¹¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ X ¥µ¡¼¥Ð¤Ï vty ¤ò 1 ¤«¤é¿ô¤¨¤Þ¤¹¤¬¡¢ FreeBSD ¥«¡¼¥Í¥ë¤Ï vty ¤ò 0 ¤«¤é¿ô¤¨¤Þ¤¹¡£ xconsole ¤òư¤«¤½¤¦¤È¤¹¤ë¤È Couldn't open console ¤È¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£ X ¤ò startx ¤Çµ¯Æ°¤·¤Þ¤¹¤È¡¢/dev/console ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Ï Êѹ¹¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ xterm -C ¤ä xconsole ¤Ïư¤­¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¥³¥ó¥½¡¼¥ë¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤¬¡¢ ɸ½à¤Ç¤Ï¤½¤Î¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£ ¥Þ¥ë¥Á¥æ¡¼¥¶¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ ¥æ¡¼¥¶¤Îï¤â¤¬¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ë¤Ë½ñ¤­¹þ¤à¤³¤È¤¬²Äǽ¤Ç¤¢¤ëɬÍפÏɬ¤º¤·¤â¤¢¤ê¤Þ¤»¤ó¡£ VTY ¤ò»È¤¤Ä¾ÀÜ¥Þ¥·¥ó¤Ë¥í¥°¥¤¥ó¤¹¤ë¥æ¡¼¥¶¤Î¤¿¤á¤Ë¡¢ ¤³¤Î¤è¤¦¤ÊÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë &man.fbtab.5; ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£ Í×ÅÀ¤ò½Ò¤Ù¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê·Á¼°¤Î¹Ô¤ò /etc/fbtab (&man.fbtab.5; »²¾È) ¤Ë²Ã¤¨¤Þ¤¹¡£ /dev/ttyv0 0600 /dev/console ¤½¤¦¤¹¤ë¤È¡¢ /dev/ttyv0 ¤«¤é¥í¥°¥¤¥ó¤·¤¿¥æ¡¼¥¶¤¬ ¥³¥ó¥½¡¼¥ë¤ò½êÍ­¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ ¤ï¤¿¤·¤Ï¤¤¤Ä¤â XFree86 ¤ò°ìÈ̥桼¥¶¤«¤éµ¯Æ°¤·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢ ºÇ¶á¤Ë¤Ê¤Ã¤Æ root ¥æ¡¼¥¶¤Ç¤Ê¤±¤ì¤Ð¤Ê ¤é¤Ê¤¤¤È¸À¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¤¹¤Ù¤Æ¤Î X ¥µ¡¼¥Ð¤Ï¡¢ ¥Ó¥Ç¥ª¥Ï¡¼¥É¥¦¥§¥¢¤ËľÀÜ¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë root ¥æ¡¼¥¶¤Ç¼Â¹Ô¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î XFree86 (<= 3.3.6) ¤Ë´Þ¤Þ¤ì¤ë¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¤Ï¡¢ ¼«Æ°Åª¤Ë root ¸¢¸Â¤Ç¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤Ë (root ¥æ¡¼¥¶¤Ë setuid ¤µ¤ì¤Æ) ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£ X ¥µ¡¼¥Ð¤ÏÂ礭¤¯Ê£»¨¤Ê¥×¥í¥°¥é¥à¤Ç¤¢¤ê¡¢ ¤³¤ì¤ÏÌÀ¤é¤«¤Ë¥»¥­¥å¥ê¥Æ¥£¤ò´í¸±¤Ë»¯¤¹Í×°ø¤È¤Ê¤ê¤Þ¤¹¡£ ¤½¤Î¤¿¤á¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î XFree86 ¤Ç¤Ï¡¢ ¥µ¡¼¥Ð¤ò root ¥æ¡¼¥¶¤Ë setuid ¤·¤Ê¤¤¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ X ¥µ¡¼¥Ð¤ò root ¥æ¡¼¥¶¤Çư¤«¤¹¤È¤¤¤¦¤Î¤Ï¡¢ ÌÀ¤é¤«¤Ë¥»¥­¥å¥ê¥Æ¥£Åª¤ËÉÔŬÅö¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Ê¤¤¤³¤È¤Ç¤¹¡£ X ¤ò°ìÈ̥桼¥¶¤Ç¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢Æó¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ °ì¤Ä¤Ï xdm ¤ä¡¢¤½¤Î¾¤Î¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã (¤¿¤È¤¨¤Ð kdm ¤Ê¤É) ¤ò»È¤¦¤³¤È¡¢ ¤â¤¦°ì¤Ä¤Ï Xwrapper ¤ò»È¤¦¤³¤È¤Ç¤¹¡£ xdm ¤Ï¡¢ ¥°¥é¥Õ¥£¥«¥ë¤Ê¥í¥°¥¤¥ó²èÌ̤ò°·¤¦¥Ç¡¼¥â¥ó¤Ç¤¹¡£ Ä̾µ¯Æ°»þ¤Ë¼Â¹Ô¤µ¤ì¡¢ ³Æ¥æ¡¼¥¶¤Îǧ¾Ú¤È¥æ¡¼¥¶¥»¥·¥ç¥ó¤ò³«»Ï¤µ¤»¤ëµ¡Ç½¤ò¼Â¸½¤·¤Þ¤¹¡£ ´ðËÜŪ¤Ë¡¢getty ¤È login ¤Î¥°¥é¥Õ¥£¥Ã¥¯ÈÇ¡¢¤È¹Í¤¨¤ÆÎɤ¤¤Ç¤·¤ç¤¦¡£ xdm ¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ XFree86 ´ØÏ¢Ê¸½ñ ¤ª¤è¤Ó FAQ ¹àÌܤò¤´Í÷¤¯¤À¤µ¤¤¡£ Xwrapper ¤È¤Ï¡¢X ¥µ¡¼¥ÐÍѤΥé¥Ã¥Ñ (wrapper) ¤Î¤³¤È¤Ç¤¹¡£ ¤³¤ì¤ÏɬÍפʥ»¥­¥å¥ê¥Æ¥£¤ò³ÎÊݤ·¤Ä¤Ä¡¢°ìÈ̥桼¥¶¤¬ X ¥µ¡¼¥Ð¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¾®¤µ¤Ê¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç¡¢ ¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤ÎÀµÅöÀ­¥Á¥§¥Ã¥¯¤ò¹Ô¤Ê¤¤¡¢ ¤½¤ì¤òÄ̲᤹¤ì¤ÐŬÀÚ¤Ê X ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£ ²¿¤é¤«¤ÎÍýͳ¤Ç¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤ò»È¤¤¤¿¤¯¤Ê¤¤¾ì¹ç¤Ë ¤³¤ì¤ò»È¤¦¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ Ports Collection Á´ÂΤò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤ì¤Ð¡¢ /usr/ports/x11/wrapper ¤Ë¤¢¤ê¤Þ¤¹¡£ »ä¤Î PS/2 ¥Þ¥¦¥¹¤Ï X ¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¾å¤Ç¤¦¤Þ¤¯Æ°¤­¤Þ¤»¤ó¡£ ¤¢¤Ê¤¿¤Î¥Þ¥¦¥¹¤È¥Þ¥¦¥¹¥É¥é¥¤¥Ð¤¬¤¦¤Þ¤¯Æ±´ü¤·¤Æ¤¤¤Ê¤¤¤«¤é¤«¤â¤·¤ì¤Þ¤»¤ó¡£ FreeBSD 2.2.5 ¤Þ¤Ç¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢X ¤«¤é²¾ÁÛ¥¿¡¼¥ß¥Ê¥ë¤ØÀÚÂØ¤¨¤Æ¡¢ ¤Þ¤¿ X ¤ØÌá¤ë¤ÈºÆÆ±´ü¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤³¤ÎÌäÂ꤬¤è¤¯µ¯¤­¤ë¤è¤¦¤Ç¤¢¤ì¤Ð¡¢¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó ¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò½ñ¤¤¤Æ¥«¡¼¥Í¥ë¤òºÆ¹½À®¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ options PSM_CHECKSYNC ¤â¤·¡¢¥«¡¼¥Í¥ë¤ÎºÆ¹½ÃÛ¤ò¹Ô¤Ê¤Ã¤¿¤³¤È¤¬¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ ¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤¹¤ë¤Î¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢ ¥Þ¥¦¥¹¤È¥É¥é¥¤¥Ð¤ÎƱ´ü¤ÇÌäÂ꤬µ¯¤­¤ë²ÄǽÀ­¤Ï¾¯¤Ê¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£ ¤â¤·¤½¤ì¤Ç¤â¤³¤ÎÌäÂ꤬µ¯¤­¤ë¤è¤¦¤Ê¤é¤Ð¡¢ ºÆÆ±´ü¤µ¤»¤ë¤Ë¤Ï¥Þ¥¦¥¹¤òư¤«¤µ¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤ª¤¤¤Æ ¥Þ¥¦¥¹¥Ü¥¿¥ó¤Î¤É¤ì¤«¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï»Äǰ¤Ê¤¬¤é¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¤ÇƯ¤¯¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢ ¤Þ¤¿¡¢PS/2 ¥Þ¥¦¥¹¥Ý¡¼¥È¤Ë¤Ä¤Ê¤¬¤ì¤Æ¤¤¤ë¤Î¤¬ ¥¿¥Ã¥× (tap) µ¡Ç½¤ò»ý¤Ä ¥¢¥ë¥×¥¹¼ÒÀ½ GlidePoint ¥Ç¥Ð¥¤¥¹¤Î¾ì¹ç¡¢ ¥¿¥Ã¥×µ¡Ç½¤¬Ìµ¸ú¤È¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ FreeBSD 2.2.6 °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ Ʊ´ü¤Î¥Á¥§¥Ã¥¯ÊýË¡¤¬¾¯¤·²þÁ±¤µ¤ì¤¿¤Î¤Çɸ½à¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ GlidePoint ¤Ç¤â¤¦¤Þ¤¯Æ¯¤­¤Þ¤¹ (Ʊ´ü¥Á¥§¥Ã¥¯¤¬É¸½à¤Îµ¡Ç½¤Ë¤Ê¤Ã¤¿¤Î¤Ç PSM_CHECKSYNC ¥ª¥×¥·¥ç¥ó¤Ï¤³¤ì¤é¤Î¥Ð¡¼¥¸¥ç¥ó¤«¤é¤Ïºï½ü¤µ¤ì¤Þ¤·¤¿)¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢ ¤Þ¤ì¤Ë¥É¥é¥¤¥Ð¤¬´Ö°ã¤Ã¤Æ (ÌõÃí: ÌäÂ꤬¤Ê¤¤¤Î¤Ë) Ʊ´ü¤Ë´Ø¤·¤ÆÌäÂ꤬¤¢¤ë¤ÈÊó¹ð¤·¡¢¥«¡¼¥Í¥ë¤«¤é psmintr: out of sync (xxxx != yyyy) ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Æ¡¢¥Þ¥¦¥¹¤¬Àµ¤·¤¯Æ°ºî¤·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë ¤³¤È¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤â¤·¤³¤Î¤è¤¦¤Ê¤³¤È¤¬µ¯¤³¤ë¾ì¹ç¤Ë¤Ï¡¢PS/2 ¥Þ¥¦¥¹¥É¥é¥¤¥Ð¤Î¥Õ¥é¥°¤Ë 0x100 ¤ò»ØÄꤷ¤ÆÆ±´ü¥Á¥§¥Ã¥¯¤ò̵¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¥·¥¹¥Æ¥à¤Îµ¯Æ°»þ¤Ë µ¯Æ°¥ª¥×¥·¥ç¥ó¤òÍ¿¤¨¤Æ UserConfig ¤ËÆþ¤ê¤Þ¤¹¡£ boot: -c boot: UserConfig ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç°Ê²¼¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ UserConfig> flags psm0 0x100 UserConfig> quit MouseSystems ¤Î PS/2 ¥Þ¥¦¥¹¤¬¤¦¤Þ¤¯Æ°¤­¤Þ¤»¤ó¡£ MouseSystems ¤Î PS/2 ¥Þ¥¦¥¹¤Î¤¢¤ë¥â¥Ç¥ë¤Ï¡¢ ¹â²òÁüÅ٥⡼¥É¤Î¾ì¹ç¤Ë¤Î¤ßÀµ¤·¤¯Æ°ºî¤¹¤ë¤È¤¤¤¦¤³¤È¤¬Êó¹ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤½¤ì°Ê³°¤Î¥â¡¼¥É¤Ç¤Ï¡¢ ¥Þ¥¦¥¹¥«¡¼¥½¥ë¤¬¤·¤ç¤Ã¤Á¤å¤¦¥¹¥¯¥ê¡¼¥óº¸¾å¤Ë¹Ô¤Ã¤Æ¤·¤Þ¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¡£ »Äǰ¤Ê¤¬¤é FreeBSD 2.0.X ¤ä 2.1.X ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ ¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£ 2.2 ¤«¤é 2.2.5 ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ °Ê²¼¤Î¥Ñ¥Ã¥Á¤ò /sys/i386/isa/psm.c ¤ËŬÍѤ·¥«¡¼¥Í¥ë¤ÎºÆ¹½ÃÛ¤ò¹Ô¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¡¢¥«¡¼¥Í¥ë¤ÎºÆ¹½ÃÛ¤ò¹Ô¤Ê¤Ã¤¿¤³¤È¤¬¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ ¥«¡¼¥Í¥ë¤Î¹½Ãۤιà¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ @@ -766,6 +766,8 @@ if (verbose >= 2) log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n", unit, i); + set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH); + #if 0 set_mouse_scaling(sc->kbdc); /* 1:1 scaling */ set_mouse_mode(sc->kbdc); /* stream mode */ FreeBSD 2.2.6 °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ PS/2 ¥Þ¥¦¥¹¥É¥é¥¤¥Ð¤Î¥Õ¥é¥°¤Ë 0x04 ¤ò»ØÄꤷ¤Æ¥Þ¥¦¥¹¤ò¹â²òÁüÅ٥⡼¥É¤Ë¤·¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤Îµ¯Æ°»þ¤Ë µ¯Æ°¥ª¥×¥·¥ç¥ó¤òÍ¿¤¨¤Æ UserConfig ¤ËÆþ¤ê¤Þ¤¹¡£ boot: -c UserConfig ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç°Ê²¼¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ UserConfig> flags psm0 0x04 UserConfig> quit ¥Þ¥¦¥¹¤Ë´Ø¤¹¤ëÉÔ¶ñ¹ç¤Î¾¤Î¸¶°ø¤Î²ÄǽÀ­¤Ë¤Ä¤¤¤Æ¤Ï¡¢ ľÁ°¤Î¥»¥¯¥·¥ç¥ó¤â¸«¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ X ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¹½ÃÛ¤¹¤ë»þ¤Ë¡¢ imake can't find Imake.tmpl ¤È¤Ê¤ê¤Þ¤¹¡£¤É¤³¤Ë¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«? Imake.tmpl ¤Ï X ¤Îɸ½à¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¹½Ãۥġ¼¥ë¤Ç¤¢¤ë Imake ¥Ñ¥Ã¥±¡¼¥¸¤Î°ìÉô¤Ç¤¹¡£ Imake.tmpl ¤Ï¡¢ X ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¹½ÃÛ¤ËɬÍפÊ¿¤¯¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÈƱÍͤˡ¢ X ¤Î¥×¥í¥°¥é¥à¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ sysinstall ¤ò»È¤¦¤«¡¢ ¼êư¤Ç X ¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Þ¥¦¥¹¤Î¥Ü¥¿¥ó¤òÆþ¤ìÂØ¤¨¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤¹¤«? .xinitrc ¤« .xsession ¤Ç xmodmap ¤È¤¤¤¦¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥¹¥×¥é¥Ã¥·¥å¥¹¥¯¥ê¡¼¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤É¤¦¤¹¤ë¤Î¤Ç¤¹¤«¡£ ¤É¤³¤Ç¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤«? FreeBSD 3.1 ¤Î¥ê¥ê¡¼¥¹Ä¾Á°¤Ë¡¢µ¯Æ°¥á¥Ã¥»¡¼¥¸¤Îɽ¼¨´ü´Ö¤Ë ¤¤¤ï¤æ¤ë "¥¹¥×¥é¥Ã¥·¥å" ¥¹¥¯¥ê¡¼¥ó¤òɽ¼¨¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¿·¤·¤¤µ¡Ç½¤¬Äɲ䵤ì¤Þ¤·¤¿¡£ ¤¤¤Þ¤Î¤È¤³¤í¥¹¥×¥é¥Ã¥·¥å¥¹¥¯¥ê¡¼¥ó¤Ï 256 ¿§¤Î¥Ó¥Ã¥È¥Þ¥Ã¥× (*.BMP) ¤« ZSoft PCX (*.PCX) ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£ ¤½¤ì¤Ë²Ã¤¨¤Æ¡¢É¸½à¤Î VGA ¥¢¥À¥×¥¿¤Ç¤Îưºî¤µ¤»¤ë¤Ë¤Ï 320x200 °Ê²¼¤Î²òÁüÅ٤Ǥ¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¤Ë VESA ¥µ¥Ý¡¼¥È¤òÄɲ乤ì¤Ð 1024x768 ¤Þ¤Ç¤Î¤è¤êÂ礭¤¤¥Ó¥Ã¥È¥Þ¥Ã¥×¤ò»ÈÍѤǤ­¤Þ¤¹¡£ VESA ¥µ¥Ý¡¼¥È¤òÍ­¸ú²½¤¹¤ë¤Ë¤Ï¤Þ¤º¡¢ ¥«¡¼¥Í¥ë¤¬ VM86 ¥«¡¼¥Í¥ë¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ VESA ¥µ¥Ý¡¼¥È¤½¤Î¤â¤Î¤Ï VESA ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ª¥×¥·¥ç¥ó ¤Ë¤è¤Ã¤ÆÄ¾ÀÜ¥«¡¼¥Í¥ëÃæ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤«¡¢ µ¯Æ°»þ¤Ë VESA kld ¥â¥¸¥å¡¼¥ë¤òÆÉ¤ß¹þ¤Þ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥¹¥×¥é¥Ã¥·¥å¥¹¥¯¥ê¡¼¥ó¤ò»È¤¦¤Ë¤Ï¡¢ FreeBSD ¤Îµ¯Æ°¥×¥í¥»¥¹¤ò¥³¥ó¥È¥í¡¼¥ë¤¹¤ë¥¹¥¿¡¼¥È¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï FreeBSD 3.2 ¤Î¥ê¥ê¡¼¥¹°ÊÁ°¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿¤Î¤Ç¡¢ ¸½ºß¤Ï¡¢¥¹¥×¥é¥Ã¥·¥å¥¹¥¯¥ê¡¼¥ó¤òÆÉ¤ß¹þ¤àÊýË¡¤¬Æó¤Ä¤¢¤ê¤Þ¤¹¡£ FreeBSD 3.1 ¤Î¾ì¹ç ¤Þ¤ººÇ½é¤Î¥¹¥Æ¥Ã¥×¤Ï¡¢ ¥¹¥×¥é¥Ã¥·¥å¥¹¥¯¥ê¡¼¥ó¤Î¥Ó¥Ã¥È¥Þ¥Ã¥×ÈǤòõ¤·¤Æ¤¯¤ë¤³¤È¤Ç¤¹¡£ 3.1-RELEASE ¤Ç¤Ï Windows ¤Î¥Ó¥Ã¥È¥Þ¥Ã¥×·Á¼°¤Î¥¹¥×¥é¥Ã¥·¥å¥¹¥¯¥ê¡¼¥ó¤À¤±¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ¤ªË¾¤ß¤Î¥¹¥×¥é¥Ã¥·¥å¥¹¥¯¥ê¡¼¥ó¤ò¸«¤Ä¤±¤¿¤Ê¤é¡¢¤½¤ì¤ò /boot/splash.bmp ¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£¼¡¤Ë¡¢¤³¤ì¤é¤Î¹Ô¤¬½ñ¤«¤ì¤¿ /boot/loader.rc ¥Õ¥¡¥¤¥ë¤¬É¬ÍפǤ¹¡£ load kernel load -t splash_image_data /boot/splash.bmp load splash_bmp autoboot FreeBSD 3.2 °Ê¹ß¤Î¾ì¹ç PCX ·Á¼°¤Î¥¹¥×¥é¥Ã¥·¥å¥¹¥¯¥ê¡¼¥ó¤Î¥µ¥Ý¡¼¥È¤¬Äɲ䵤ì¤ë¤ÈƱ»þ¤Ë¡¢ FreeBSD 3.2 ¤Ë¤Ïµ¯Æ°¥×¥í¥»¥¹¤òÀßÄꤹ¤ë¡¢ ¤è¤êÀöÎý¤µ¤ì¤¿ÊýË¡¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤â¤·¤ªË¾¤ß¤Ê¤é¡¢¾å¤Ë¼¨¤·¤¿ FreeBSD 3.1 ÍѤÎÊýË¡¤ò»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤â¤·¤½¤¦¤·¤¿¤¯¤Æ¡¢¤«¤Ä PCX ·Á¼°¤ò»È¤¤¤¿¤¤¤Ê¤é¡¢ splash_bmp ¤ò splash_pcx ¤ÈÆÉ¤ß´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤¦¤Ç¤Ï¤Ê¤¯¤Æ¡¢¿·¤·¤¤µ¯Æ°ÀßÄêÊýË¡¤ò»È¤¦¤Î¤Ê¤é¡¢ ¼¡¤Î¿ô¹Ô¤¬½ñ¤«¤ì¤¿ /boot/loader.rc ¥Õ¥¡¥¤¥ë¤È¡¢ include /boot/loader.4th start ¼¡¤Î¿ô¹Ô¤¬´Þ¤Þ¤ì¤¿ /boot/loader.conf ¥Õ¥¡¥¤¥ë¤òºî¤ë¤³¤È¤¬É¬ÍפǤ¹¡£ splash_bmp_load="YES" bitmap_load="YES" ¤³¤ÎÎã¤Ç¤Ï¡¢¥¹¥×¥é¥Ã¥·¥å¥¹¥¯¥ê¡¼¥ó¤È¤·¤Æ /boot/splash.bmp ¤ò»È¤¦¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£PCX ·Á¼°¤Î¥Õ¥¡¥¤¥ë¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢ ¤½¤Î¥Õ¥¡¥¤¥ë¤ò /boot/splash.pcx ¤Ë¥³¥Ô¡¼¤·¤Æ¡¢ ¾å¤Ç¼¨¤·¤¿¤è¤¦¤Ë /boot/loader.rc ¤òºî¤ê¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¼¡¤ÎÆâÍÆ¤Î /boot/loader.conf ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºî¤Ã¤Æ¤¯¤À¤µ¤¤¡£ splash_pcx_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.pcx" ¤µ¤Æ¡¢¤¢¤È¤Ï¥¹¥×¥é¥Ã¥·¥å¥¹¥¯¥ê¡¼¥ó¤òÍѰդ¹¤ë¤À¤±¤Ç¤¹¡£ ¤½¤ì¤Ë¤Ï http://www.baldwin.cx/splash/ ¤Î¥®¥ã¥é¥ê¡¼¤ò¥µ¡¼¥Õ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ X ¤Ç Windows(tm) ¥­¡¼¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤ë¤Î¤Ç¤·¤ç¤¦¤«? ¤Ï¤¤¡¢¤â¤Á¤í¤ó¡£ ¤É¤¦¤¤¤¦Æ°ºî¤ò¤¹¤ë¤«¤Ë¤Ä¤¤¤ÆÄêµÁ¤¹¤ë¤Ë¤Ï &man.xmodmap.1; ¤ò»È¤¤¤Þ¤¹¡£ ɸ½àŪ¤Ê "Windows(tm)" ¥­¡¼¥Ü¡¼¥É¤Î¾ì¹ç¡¢ Âбþ¤¹¤ë¥­¡¼¥³¡¼¥É¤Ï 3 ¼ïÎढ¤ê¤Þ¤¹¡£ 115 - º¸¤Î Ctrl ¤È Alt ¤Î´Ö¤Ë¤¢¤ë Windows(tm) ¥­¡¼ 116 - ±¦¤Î Alt ¤È Gr ¤Î´Ö¤Ë¤¢¤ë Windows(tm) ¥­¡¼ 117 - ±¦¤Î Ctrl ¤Îº¸Î٤ˤ¢¤ë¥á¥Ë¥å¡¼¥­¡¼ º¸¤Ë¤¢¤ë Windows(tm) ¥­¡¼¤ò²¡¤¹¤È¥«¥ó¥Þµ­¹æ¤¬ÆþÎϤµ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢ ¤³¤ó¤ÊÉ÷¤Ë¤·¤Þ¤¹¡£ &prompt.root; xmodmap -e "keycode 115 = comma" ÀßÄê¤òÈ¿±Ç¤µ¤»¤ë¤Ë¤Ï¡¢¤ª¤½¤é¤¯¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤òºÆµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ Windows(tm) ¥­¡¼¤Î¥­¡¼¥Þ¥Ã¥×¤ò X µ¯Æ°»þ¤ËËè²ó¡¢ ¼«Æ°Åª¤ËÍ­¸ú²½¤¹¤ë¤Ë¤Ï xmodmap ¥³¥Þ¥ó¥É¤ò ~/.xinitrc ¤ËÄɲ乤뤫¡¢ ¤â¤·¤¯¤Ï¤ª¤¹¤¹¤á¤Ç¤­¤ëÊýË¡¤È¤·¤Æ ~/.xmodmaprc ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¡¢ ¤½¤Î¥Õ¥¡¥¤¥ë¤Î°ì¹Ô°ì¹Ô¤Ë xmodmap ¤Î¥ª¥×¥·¥ç¥ó¤òµ­½Ò¤·¡¢¼¡¤Î°ì¹Ô xmodmap $HOME/.xmodmaprc ¤ò ~/.xinitrc ¤ËÄɲ乤ë¤È¤¤¤¦ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢Àè¤Û¤É¤¢¤²¤¿»°¤Ä¤Î¥­¡¼¤ò F13¡¢F14¡¢F15 ¤Ë³ä¤êÅö¤Æ¤ë¤È¤·¤Þ¤¹¡£ ¤³¤¦¤·¤Æ¤ª¤±¤Ð¡¢¸å¤Û¤É¼¨¤¹¤è¤¦¤Ë¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä ¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤ÎÊØÍø¤Êµ¡Ç½¤ò ¤½¤Î»°¤Ä¤Î¥­¡¼¤Ë´Êñ¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤¦¤¹¤ë¤Ë¤Ï¡¢¼¡¤ÎÆâÍÆ¤ò ~/.xmodmaprc ¤ËÄɲä·¤Þ¤¹¡£ keycode 115 = F13 keycode 116 = F14 keycode 117 = F15 ¤¿¤È¤¨¤Ð fvwm2 ¤ò»È¤Ã¤Æ¤¤¤¿¤é¡¢ F13 ¤ò¥«¡¼¥½¥ë²¼¤Î¥¦¥£¥ó¥É¥¦¤Î¥¢¥¤¥³¥ó²½¡¢ F14 ¤ò¥¦¥£¥ó¥É¥¦¤ÎÁ°ÌÌ/ÇØÌ̲½¡¢ F15 ¤ò¡¢¤¢¤¿¤«¤â¥Ç¥¹¥¯¥È¥Ã¥×¤Ë¥«¡¼¥½¥ë¤¬Â¸ºß¤·¤Ê¤¤¤«¤Î¤è¤¦¤Ë¡¢ ¥á¥¤¥ó¥ï¡¼¥¯¥¹¥Ú¡¼¥¹ (¥¢¥×¥ê¥±¡¼¥·¥ç¥ó) ¤Î¥á¥Ë¥å¡¼¤ò¸Æ¤Ó½Ð¤»¤ëµ¡Ç½¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ ºÇ¸å¤Îµ¡Ç½¤Ï¡¢¤½¤Î¥Ç¥¹¥¯¥È¥Ã¥×¤¬¤Þ¤Ã¤¿¤¯¸«¤¨¤Ê¤¤¤È¤­¤ËÊØÍø¤Ç¤¹¡£ (¤Þ¤¿¡¢¥­¡¼¥È¥Ã¥×¤Î¥í¥´¤Ë¤â¤Ô¤Ã¤¿¤ê¤Ç¤¹) ~/.fvwmrc ¤Î¼¡¤Î¥¨¥ó¥È¥ê¤Ï¡¢Á°½Ò¤Î ÀßÄê¤ò¼Â¸½¤·¤Þ¤¹¡£ Key F13 FTIWS A Iconify Key F14 FTIWS A RaiseLower Key F15 A A Menu Workplace Nop ¥Í¥Ã¥È¥ï¡¼¥­¥ó¥° Ìõ: &a.jp.arimura;¡¢ &a.jp.shou;¡¢ ¤Ë¤·¤« nishika@cheerful.com¡¢ &a.jp.kiroh;¡¢ 1998 ǯ 10 ·î 4 Æü ¥Ç¥£¥¹¥¯¥ì¥¹¥Ö¡¼¥È (diskless boot) ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¤É¤³¤ÇÆÀ¤é¤ì¤Þ¤¹¤«? ¥Ç¥£¥¹¥¯¥ì¥¹¥Ö¡¼¥È (diskless boot) ¤È¤¤¤¦¤Î¤Ï¡¢FreeBSD ¤¬¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Çµ¯Æ°¤·¡¢ ɬÍפʥե¡¥¤¥ë¤ò¼«Ê¬¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ç¤Ï¤Ê¤¯¤Æ¥µ¡¼¥Ð¤«¤éÆÉ¤ß¹þ¤à¤â¤Î¤Ç¤¹¡£ ¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¡Ö¥Ç¥£¥¹¥¯¥ì¥¹¥Ö¡¼¥È¡×¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£ FreeBSD ¤ò¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥ë¡¼¥¿ (router) ¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤«? ¥¤¥ó¥¿¡¼¥Í¥Ã¥Èɸ½à¤ä¤³¤ì¤Þ¤Ç¤Î¤è¤¤·Ð¸³¤Ë¤è¤Ã¤Æ»ØÅ¦¤µ¤ì¤Æ¤¤¤ëÄ̤ꡢ FreeBSD ¤Ïɸ½à¤Ç¤Ï¥Ñ¥±¥Ã¥È¤òžÁ÷ (forward) ¤¹¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢ &man.rc.conf.5; ¤ÎÃæ¤Ç¼¡¤ÎÊÑ¿ô¤ÎÃͤò YES ¤È¤¹¤ë»ö¤Ë¤è¤Ã¤Æ¤³¤Îµ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ gateway_enable=YES # Set to YES if this host will be a gateway ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ &man.sysctl.8; ¤ÎÊÑ¿ô net.inet.ip.forwarding ¤¬ 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢ ¥ë¡¼¥¿¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òƱ¤¸¥Í¥Ã¥È¥ï¡¼¥¯¤Î¾¤Î·×»»µ¡Åù¤ËÃΤ餻¤ë¤¿¤á¤Ë¡¢ ·ÐÏ©À©¸æ¤Î¤¿¤á¤Î¥×¥í¥»¥¹¤òÁö¤é¤»¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ FreeBSD ¤Ë¤Ï BSD ¤Îɸ½à·ÐÏ©À©¸æ¥Ç¡¼¥â¥ó¤Ç¤¢¤ë &man.routed.8; ¤¬ÉÕ°¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¤è¤êÊ£»¨¤Ê¾õ¶·¤ËÂн褹¤ë¤¿¤á¤Ë¤Ï GaTeD(http://www.gated.org/ ¤«¤éÆþ¼ê²Äǽ) ¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ 3_5Alpha7 ¤Ë¤ª¤¤¤Æ FreeBSD ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ Ãí°Õ¤·¤Æ¤Û¤·¤¤¤Î¤Ï¡¢FreeBSD ¤ò¤³¤Î¤è¤¦¤Ë¤·¤Æ»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢ ¥ë¡¼¥¿¤Ë´Ø¤¹¤ë¥¤¥ó¥¿¡¼¥Í¥Ã¥Èɸ½à¤ÎɬÍ×¾ò·ï¤ò´°Á´¤Ë¤ÏËþ¤¿¤·¤Æ¤¤¤Ê¤¤ ¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤·¤«¤·¡¢ÉáÄ̤˻ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¤Û¤È¤ó¤ÉÌäÂꤢ¤ê¤Þ¤»¤ó¡£ Win95 ¤ÎÁö¤Ã¤Æ¤¤¤ë¥Þ¥·¥ó¤ò¡¢FreeBSD ·Ðͳ¤Ç¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤Ç¤­¤Þ¤¹¤«? Ä̾¤³¤Î¼ÁÌ䤬½Ð¤Æ¤¯¤ë¾õ¶·¤Ï¼«Âð¤ËÆóÂæ¤Î PC ¤¬¤¢¤ê¡¢°ìÂæ¤Ç¤Ï FreeBSD ¤¬¡¢¤â¤¦°ìÂæ¤Ç¤Ï Win95 ¤¬Áö¤Ã¤Æ¤¤¤ë¤è¤¦¤Ê¾ì¹ç¤Ç¤¹¡£ ¤³¤³¤Ç¤ä¤í¤¦¤È¤·¤Æ¤¤¤¦»ö¤Ï FreeBSD ¤ÎÁö¤Ã¤Æ¤¤¤ë·×»»µ¡¤ò¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¤ËÀܳ¤·¡¢Win95 ¤ÎÁö¤Ã¤Æ¤¤¤ë¥Þ¥·¥ó¤«¤é¤Ï FreeBSD ¤ÎÁö¤Ã¤Æ¤¤¤ë¥Þ¥·¥ó¤ò·Ðͳ¤·¤ÆÀܳ¤ò¹Ô¤Ê¤¦»ö¤Ç¤¹¡£ ¤³¤ì¤ÏÆó¤ÄÁ°¤Î¼ÁÌä¤ÎÆÃÊ̤ʾì¹ç¤ËÁêÅö¤·¤Þ¤¹¡£ ¡Ä¤Ç¡¢Åú¤¨¤Ï¡Ö¤Ï¤¤¡×¤Ç¤¹¡£ FreeBSD 3.x ¤Î¥æ¡¼¥¶¥â¡¼¥É ppp ¤Ë¤Ï ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ ppp ¤ò ¥ª¥×¥·¥ç¥óÉÕ¤­¤Çµ¯Æ°¤·¡¢ /etc/rc.conf ¤Ë¤¢¤ë gateway_enable ¤ò YES ¤ËÀßÄꤷ¤Þ¤¹¡£ ¤½¤·¤Æ Windows ¥Þ¥·¥ó¤òÀµ¤·¤¯ÀßÄꤹ¤ì¤Ð¡¢ ¤­¤Á¤ó¤Èưºî¤¹¤ë¤Ç¤·¤ç¤¦¡£ ÀßÄê¤Ë´Ø¤¹¤ë¤µ¤é¤Ë¾Ü¤·¤¤¾ðÊó¤Ï¡¢ Steve Sims »á¤Ë¤è¤ë Pedantic PPP Primer ¤Ë¤¢¤ê¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¥â¡¼¥É ppp ¤òÍøÍѤ¹¤ë¾ì¹ç¤ä¡¢ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤È¤Î¥¤¡¼¥µ¥Í¥Ã¥ÈÀܳ¤¬ÍøÍѤǤ­¤ë¾ì¹ç¤Ï¡¢ natd ¤òÍøÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î FAQ ¤Î natd ¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ISC ¤«¤é¥ê¥ê¡¼¥¹¤µ¤ì¤Æ¤¤¤ë BIND ¤ÎºÇ¿·ÈǤϥ³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Ê¤¤¤ó¤Ç¤·¤ç¤¦¤«? BIND ¤ÎÇÛÉÛʪ¤È FreeBSD ¤È¤Ç¤Ï cdefs.h ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¥Ç¡¼¥¿·¿¤ÎÌ·½â¤¬¤¢¤ê¤Þ¤¹¡£ compat/include/sys/cdefs.h ¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD ¤Ç SLIP ¤È PPP ¤Ï»È¤¨¤Þ¤¹¤«? »È¤¨¤Þ¤¹¡£FreeBSD ¤òÍѤ¤¤ÆÂ¾¤Î¥µ¥¤¥È¤ËÀܳ¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ &man.slattach.8;¡¢&man.sliplogin.8;¡¢&man.ppp.8; ¤½¤·¤Æ &man.pppd.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ &man.ppp.8; ¤È &man.pppd.8; ¤Ï¡¢ PPP ¤Î¥µ¡¼¥Ð¡¢¥¯¥é¥¤¥¢¥ó¥ÈξÊý¤Îµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤Î°ìÊý¤Ç¡¢&man.sliplogin.8; ¤Ï SLIP ¤Î¥µ¡¼¥ÐÀìÍѤǡ¢ &man.slattach.8; ¤Ï SLIP ¤Î¥¯¥é¥¤¥¢¥ó¥ÈÀìÍѤǤ¹¡£ ¤³¤ì¤é¤ò»È¤¦¤¿¤á¤Î¤µ¤é¤Ê¤ë¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î PPP ¤È SLIP ¤Î¾Ï¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¡Ö¥·¥§¥ë¥¢¥«¥¦¥ó¥È¡×¤òÄ̤¸¤Æ¤Î¤ß¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ø¥¢¥¯¥»¥¹²Äǽ¤Ê¾ì¹ç¡¢ slirp package ¤ß¤¿¤¤¤Ê¤â¤Î¤¬Íߤ·¤¯¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤Í¡£ ¤³¤ì¤ò»È¤¨¤Ð¡¢¥í¡¼¥«¥ë¥Þ¥·¥ó¤«¤éľÀÜ ftp ¤ä http ¤Î¤è¤¦¤Ê¥µ¡¼¥Ó¥¹¤Ë (¸ÂÄêŪ¤Ç¤Ï¤¢¤ê¤Þ¤¹¤¬) ¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ FreeBSD ¤Ï NAT ¤« IP ¥Þ¥¹¥«¥ì¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤«? ¥í¡¼¥«¥ë¤Ê¥µ¥Ö¥Í¥Ã¥È (°ìÂæ°Ê¾å¤Î¥í¡¼¥«¥ë¥Þ¥·¥ó) ¤ò»ý¤Ã¤Æ¤¤¤ë¤¬¡¢ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥×¥í¥Ð¥¤¥À¤«¤é 1 ¤Ä¤·¤« IP ¥¢¥É¥ì¥¹¤Î³ä¤êÅö¤Æ¤ò¼õ¤±¤Æ¤¤¤Ê¤¤¾ì¹ç (¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤òưŪ¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â)¡¢ &man.natd.8; ¥×¥í¥°¥é¥à¤ò»È¤¤¤¿¤¯¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤Í¡£ natd ¤ò»È¤¨¤Ð¡¢ 1 ¤Ä¤·¤« IP ¥¢¥É¥ì¥¹¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢ ¥µ¥Ö¥Í¥Ã¥ÈÁ´ÂΤò¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &man.ppp.8; ¤âƱÍͤε¡Ç½¤ò»ý¤Ã¤Æ¤ª¤ê¡¢ ¥¹¥¤¥Ã¥Á¤ÇÍ­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤É¤Á¤é¤Î¾ì¹ç¤â alias ¥é¥¤¥Ö¥é¥ê (&man.libalias.3;) ¤¬»È¤ï¤ì¤Þ¤¹¡£ /dev/ed0 ¥Ç¥Ð¥¤¥¹¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£ Berkeley UNIX ¤Ë¤ª¤±¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤Î¹½À®¤Ë¤ª¤¤¤Æ¡¢ ¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¥«¡¼¥Í¥ë¥³¡¼¥É¤«¤é¤Î¤ß¡¢ ľÀܤ¢¤Ä¤«¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤è¤ê¾Ü¤·¤¯ÃΤꤿ¤¤¾ì¹ç¤Ï¡¢ /etc/rc.network ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ä¡¢ ¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë½ñ¤¤¤Æ¤¢¤ë¡¢ ¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤ì¤Ç¤â¤Þ¤Àʬ¤«¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ ¾¤Î BSD ·Ï¤Î OS ¤Î¥Í¥Ã¥È¥ï¡¼¥¯´ÉÍý¤Ë¤Ä¤¤¤Æ¤ÎËܤòÆÉ¤à¤Ù¤­¤Ç¤·¤ç¤¦¡£ ¤´¤¯¾¯¤·¤ÎÎã³°¤ò¤Î¤¾¤¤¤Æ¤Ï¡¢FreeBSD ¤Î¥Í¥Ã¥È¥ï¡¼¥¯´ÉÍý¤Ï SunOS 4.0 ¤ä Ultrix ¤È´ðËÜŪ¤ËƱ¤¸¤Ç¤¹¡£ Ethernet ¥¢¥É¥ì¥¹¤Î¥¨¥¤¥ê¥¢¥¹ (alias) ¤Ï¤É¤Î¤è¤¦¤Ë¤·¤ÆÀßÄê¤Ç¤­¤Þ¤¹¤«? &man.ifconfig.8; ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë netmask 0xffffffff ¤òÄɲ䷤ơ¢¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff 3C503 ¤Ç¾¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤«? ¾¤Î¥Ý¡¼¥È¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ &man.ifconfig.8; ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥Ñ¥é¥á¡¼¥¿¤òÄɲ䷤ʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï link0 ¤¬ÍѤ¤¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ BNC ¤Î¤«¤ï¤ê¤Ë AUI ¥Ý¡¼¥È¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ link2 ¤È¤¤¤¦¥Ñ¥é¥á¡¼¥¿¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ ¤³¤ì¤é¤Î¥Õ¥é¥°¤Ï¡¢ /etc/rc.conf (&man.rc.conf.5; »²¾È) ¤Ë¤¢¤ë ifconfig_* ¤ÎÊÑ¿ô¤ò»È¤Ã¤Æ»ØÄꤵ¤ì¤ë¤Ï¤º¤Ç¤¹¡£ FreeBSD ¤È¤Î´Ö¤Ç NFS ¤¬¤¦¤Þ¤¯¤Ç¤­¤Þ¤»¤ó¡£ PC ÍѤΥͥåȥ¥¯¥«¡¼¥É¤Ë¤è¤Ã¤Æ¤Ï¡¢ NFS ¤Î¤è¤¦¤Ê¡¢ ¥Í¥Ã¥È¥ï¡¼¥¯¤ò¹ó»È¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤ª¤¤¤ÆÌäÂê¤òµ¯¤³¤¹¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ÎÅÀ¤Ë´Ø¤·¤Æ¤Ï FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¡ÖNFS¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ²¿¸Î Linux ¤Î¥Ç¥£¥¹¥¯¤ò NFS ¥Þ¥¦¥ó¥È¤Ç¤­¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«? Linux ¤Î NFS ¤Î¥³¡¼¥É¤Ë¤Ï¡¢ µö²Ä¤µ¤ì¤¿¥Ý¡¼¥È¤«¤é¤Î¥ê¥¯¥¨¥¹¥È¤·¤«¼õ¤±¤Ä¤±¤Ê¤¤¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ °Ê²¼¤ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; mount -o -P linuxbox:/blah /mnt ²¿¸Î Sun ¤Î¥Ç¥£¥¹¥¯¤ò NFS ¥Þ¥¦¥ó¥È¤Ç¤­¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«? SunOS 4.X ¤¬Áö¤Ã¤Æ¤¤¤ë Sun Workstation ¤Ï¡¢ µö²Ä¤µ¤ì¤¿¥Ý¡¼¥È¤«¤é¤Î¥Þ¥¦¥ó¥ÈÍ׵ᤷ¤«¼õ¤±¤Ä¤±¤Þ¤»¤ó¡£ °Ê²¼¤ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; mount -o -P sunbox:/blah /mnt mountd ¤«¤é can't change attributes ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬¤º¤Ã¤È½Ð³¤±¤Æ¤¤¤Æ¡¢ FreeBSD ¤Î NFS ¥µ¡¼¥Ð¤Ç¤Ï bad exports list ¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï²¿¤¬¸¶°ø¤Ê¤Î¤Ç¤·¤ç¤¦? ºÇ¤âÎɤ¯¤¢¤ëÌäÂê¤Ï¡¢&man.exports.5; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Î°Ê²¼¤ÎÉôʬ¤òÀµ¤·¤¯Íý²ò¤·¤Æ¤¤¤Ê¤¤¤³¤È¤Ç¤¹¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Î³Æ¹Ô (# ¤Ç¤Ï¤¸¤Þ¤ë¥³¥á¥ó¥È¹Ô¤ò½ü¤¯) ¤Ï¡¢ NFS ¥µ¡¼¥Ð¤Î¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¸ºß¤¹¤ë¡¢ ¾¤Î¥Û¥¹¥È¤Ë¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È (Ê£¿ô²Ä) ¤È¡¢ ¤½¤ì¤ËÂФ¹¤ë¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥é¥°¤ò»ØÄꤷ¤Þ¤¹¡£ ÆÃÄê¤Î¥¨¥¯¥¹¥Ý¡¼¥ÈÀè¥Û¥¹¥È¤ª¤è¤Ó¡¢ ¤¹¤Ù¤Æ¤Î¥Û¥¹¥È¤ËŬÍѤµ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¥¨¥ó¥È¥ê¤ÏξÊý¤È¤â¡¢ ¥µ¡¼¥Ð¤Î³Æ¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂФ·¤Æ°ì²ó¤À¤±¤·¤«»ØÄê¤Ç¤­¤Þ¤»¤ó¡£
¤µ¤Æ¡¢¤¢¤ê¤¬¤Á¤Ê´Ö°ã¤¤¤ò¤´Í÷¤Ë¤Ê¤ì¤Ð¤Ï¤Ã¤­¤ê¤¹¤ë¤Ç¤·¤ç¤¦¡£ ¤â¤· /usr °Ê²¼¤¬Ã±°ì¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤¢¤ë (¤Ä¤Þ¤ê /usr ¤Ë²¿¤â¥Þ¥¦¥ó¥È¤µ¤ì¤Ê¤¤) ¾ì¹ç¡¢ ¼¡¤Î exports ¥ê¥¹¥È¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£ /usr/src client /usr/ports client °ì¤Ä¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂФ·¤ÆÂ°À­¤Î»ØÄ꤬Æó¹Ô¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ /usr ¤ÏƱ¤¸¥Û¥¹¥È client ¤Ë¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¤«¤é¡¢ Àµ¤·¤¤½ñ¤­Êý¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ /usr/src /usr/ports client ¤â¤¦°ìÅ٥ޥ˥奢¥ë¥Ú¡¼¥¸¤Îʸ¾Ï¤ò³Îǧ¤¹¤ë¤È¡¢ ¤¢¤ë¥Û¥¹¥È¤Ë¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë³Æ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î°À­¤Ï ¤¹¤Ù¤Æ°ì¹Ô¤Ë½ñ¤«¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹ (¤³¤³¤Ç¤Ï¡¢¡Ö¥¢¥¯¥»¥¹²Äǽ¤Ê¤¹¤Ù¤Æ¤Î¥Û¥¹¥È¡× ¤â°ì¤Ä¤ÎÆÈΩ¤·¤¿¥Û¥¹¥È¤È¤·¤Æ°·¤ï¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤)¡£ ¤³¤Î¤³¤È¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë ´ñ̯¤Ê½ñ¼°¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¸¶°ø¤Ë¤â¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢ ¤Û¤È¤ó¤É¤Î¿Í¤Ë¤È¤Ã¤Æ¡¢¤³¤ì¤ÏÌäÂê¤Ë¤Ï¤Ê¤é¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢Í­¸ú¤Ê exports ¥ê¥¹¥È¤ÎÎã¤Ç¤¹¡£ ¤³¤³¤Ç¤Ï¡¢/usr ¤È /exports ¤¬¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤¹¡£ # Export src and ports to client01 and client02, but only # client01 has root privileges on it /usr/src /usr/ports -maproot=0 client01 /usr/src /usr/ports client02 # The "client" machines have root and can mount anywhere # up /exports. The world can mount /exports/obj read-only /exports -alldirs -maproot=0 client01 client02 /exports/obj -ro
PPP ¤Ç NeXTStep ¤ËÀܳ¤¹¤ëºÝ¤ËÌäÂ꤬¤¢¤ë¤Î¤Ç¤¹¤¬¡£ /etc/rc.conf (&man.rc.conf.5; »²¾È) ¤ÎÃæ¤Ç¼¡¤ÎÊÑ¿ô¤ò NO ¤Ë¤·¤Æ¡¢ TCP extension ¤ò̵¸ú¤Ë¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ tcp_extensions=NO Xylogic ¤Î Annex ¤âƱÍͤÎÌäÂ꤬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ Annex ·Ðͳ¤Ç PPP ¤ò¹Ô¤Ê¤¦¾ì¹ç¤Ë¤â¤³¤ÎÊѹ¹¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£ IP ¥Þ¥ë¥Á¥­¥ã¥¹¥È (multicast) ¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï? FreeBSD 2.0 ¤«¤½¤ì°Ê¹ß¤Ç¤Ï¡¢ ɸ½à¤Î¾õÂ֤Ǵ°Á´¤Ë¥Þ¥ë¥Á¥­¥ã¥¹¥È¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ ¸½ºß»ÈÍѤ·¤Æ¤¤¤ë·×»»µ¡¤ò¥Þ¥ë¥Á¥­¥ã¥¹¥È¤Î¥ë¡¼¥¿ (router) ¤È¤·¤Æ»ÈÍѤ¹¤ë¤Ë¤Ï¡¢ MROUTING ¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤·¤¿¥«¡¼¥Í¥ë¤òºî¤Ã¤¿¤¦¤¨¤Ç¡¢ mrouted ¤òÁö¤é¤»¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£2.2 ¤«¤½¤ì°Ê¹ß¤Î FreeBSD ¤Ê¤é¤Ð¡¢ /etc/rc.conf ¤Ç¥Õ¥é¥° mrouted_enable ¤ò YES ¤Ë¥»¥Ã¥È¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢ µ¯Æ°»þ¤Ë mrouted ¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£ MBONE ÍѤΥġ¼¥ë¤Ï ports Æâ¤ÎÀìÍѤΥ«¥Æ¥´¥ê¡¼ mbone ¤Ë¤¢¤ê¤Þ¤¹¡£ vic ¤ä vat ¤È¤¤¤Ã¤¿²ñµÄÍѤΥġ¼¥ë¤òõ¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¤³¤Î¾ì½ê¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ ¾Ü¤·¤¤¾ðÊó¤Ï Mbone Information Web ¤Ë¤¢¤ê¤Þ¤¹¡£ DEC ¤Î PCI ¥Á¥Ã¥×¥»¥Ã¥È¤òÍѤ¤¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¤Ë¤Ï¡¢ ¤É¤Î¤è¤¦¤Êʪ¤¬¤¢¤ê¤Þ¤¹¤«? Glen Foster »á¤Ë¤è¤ë°ìÍ÷¤Ë¡¢ ºÇ¶á¤ÎÀ½ÉʤòÄɲä·¤¿¤â¤Î¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£ Vendor Model ---------------------------------------------- ASUS PCI-L101-TB Accton ENI1203 Cogent EM960PCI Compex ENET32-PCI D-Link DE-530 Dayna DP1203, DP2100 DEC DE435, DE450 Danpex EN-9400P3 JCIS Condor JC1260 Linksys EtherPCI Mylex LNP101 SMC EtherPower 10/100 (Model 9332) SMC EtherPower (Model 8432) TopWare TE-3500P Znyx (2.2.X) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348 (3.X) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd) ²¿¸Î¼«Ê¬¤Î¥µ¥¤¥È¤Î¥Û¥¹¥È¤ËÂФ·¤Æ FQDN ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¤¹¤«? ¼ÂºÝ¤Ë¤Ï¤½¤Î¥Û¥¹¥È¤ÏÊ̤Υɥᥤ¥ó¤Ë¤¢¤ë¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤¹¤«¡£ ¤¿¤È¤¨¤Ð¡¢foo.bar.edu ¤È¤¤¤¦¥É¥á¥¤¥ó¤ÎÃæ¤«¤é¡¢ bar.edu ¥É¥á¥¤¥ó¤Ë¤¢¤ë mumble ¤È¤¤¤¦¥Û¥¹¥È¤ò»ØÄꤷ¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ mumble ¤À¤±¤Ç¤Ï¥À¥á¤Ç¡¢ mumble.bar.edu ¤È¤¤¤¦ FQDN (fully-qualified domain name) ¤Ç»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ÅÁÅýŪ¤Ë¡¢BSD ¤Î BIND ¤Î¥ê¥¾¥ë¥Ð (resolver) ¤Ç¤Ï¤³¤Î¤è¤¦¤Ê»ö¤Ï²Äǽ¤Ç¤·¤¿¤¬¡¢ FreeBSD ¤ËÆþ¤Ã¤Æ¤¤¤ë bind (&man.named.8; »²¾È) ¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ ¼«Ê¬°Ê³°¤Î¥É¥á¥¤¥ó¤ËÂФ·¤Æ FQDN ¤Ç¤Ê¤¤ÊÌ̾¤ò¼«Æ°Åª¤Ë¤Ä¤±¤Æ¤¯¤ì¤ë¤è¤¦¤Ê»ö¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤·¤¿¤¬¤Ã¤Æ mumble ¤È¤¤¤¦¥Û¥¹¥È̾¤Ï¡¢ mumble.foo.bar.edu ¤È¤¤¤¦Ì¾Á°¤«¡¢¤â¤·¤¯¤Ï root ¥É¥á¥¤¥óÆâ¤Ë¤¢¤ë¾ì¹ç¤Ë¤·¤«Å¬ÍѤµ¤ì¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¡¢ mumble.bar.edu ¤È mumble.edu ¤È¤¤¤¦¤³¤È¤Ê¤Ã¤¿¥É¥á¥¤¥ó̾¤ËÂФ·¤Æ¥Û¥¹¥È̾¤Î¥µ¡¼¥Á¤¬¹Ô¤Ê¤ï¤ì¤Æ¤¤¤¿ °ÊÁ°¤Î¿¶¤ëÉñ¤¤¤È¤Ï°Û¤Ê¤Ã¤¿¤â¤Î¤Ç¤¹¡£¤³¤Î¤è¤¦¤Ê»ö¤¬°­¤¤Îã¤â¤·¤¯¤Ï ¥»¥­¥å¥ê¥Æ¥£¥Û¡¼¥ë¤È¤ß¤Ê¤µ¤ì¤ëÍýͳ¤Ë¤Ä¤¤¤Æ¤Ï RFC 1535 ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ /etc/resolv.conf ¥Õ¥¡¥¤¥ë (&man.resolv.conf.5; »²¾È) ¤ÎÃæ¤Ç domain foo.bar.edu ¤È½ñ¤¤¤Æ¤¢¤ë¹Ô¤ò¡¢ search foo.bar.edu bar.edu ¤Î¤è¤¦¤Ë½ñ¤­¤«¤¨¤ë¤³¤È¤Ç¡¢¾å¤Î¤è¤¦¤Ê»ö¤¬¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¡¢ RFC 1535 ¤Ë¤¢¤ë¤è¤¦¤Ë¡¢ ¸¡º÷½ç½ø¤¬¡ÖÆâÉô (local) ¤È³°Éô (public) ¤Î´ÉÍý¤Î¶­³¦¡×¤ò¤Þ¤¿¤¬¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤¹¤Ù¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÁàºî¤ËÂФ·¤Æ Permission denied ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¤¹¤¬¡£ IPFIREWALL ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¥«¡¼¥Í¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¾ì¹ç¤Ë¤Ï¡¢ 2.1-STABLE ¤Î³«È¯¤ÎÅÓÃæ¤«¤éÊѹ¹¤Ë¤Ê¤Ã¤¿ 2.1.7R ¤Îɸ½àŪ¤ÊÊý¿Ë¤È¤·¤Æ¡¢ ÌÀ¼¨Åª¤Ëµö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¥Ñ¥±¥Ã¥È¤ÏÍî¤È¤µ¤ì¤ëÀßÄê ¤Ë¤Ê¤Ã¤Æ¤¤¤ë»ö¤ò³Ð¤¨¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÀßÄê¤ò´Ö°ã¤¨¤¿¾ì¹ç¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÁàºî¤¬ºÆ¤Ó¤Ç¤­¤ë ¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢root ¤Ç¥í¥°¥¤¥ó¤·¤Æ¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; ipfw add 65534 allow all from any to any /etc/rc.conf ¤Ë firewall_type='open' ¤òÄɲ䷤Ƥâ¤è¤¤¤Ç¤·¤ç¤¦¡£ FreeBSD ¤Î¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÀßÄê¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¡Ö¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¡×¤Ë¤¢¤ê¤Þ¤¹¡£ IPFW ¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤Ï¤É¤Î¤¯¤é¤¤¤Ç¤·¤ç¤¦¤«? ¤³¤ÎÅú¤¨¤Ï¡¢ »È¤Ã¤Æ¤¤¤ë¥ë¡¼¥ë¥»¥Ã¥È¤È¥×¥í¥»¥Ã¥µ¤Î¥¹¥Ô¡¼¥É¤Ë¤è¤Ã¤Æ¤Û¤È¤ó¤É·è¤Þ¤ê¤Þ¤¹¡£ ¥¤¡¼¥µ¥Í¥Ã¥È¤ËÂФ·¤Æ¾¯¤·¤Î¥ë¡¼¥ë¥»¥Ã¥È¤À¤±¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¤Û¤È¤ó¤É¤½¤Î±Æ¶Á¤Ï̵»ë¤Ç¤­¤ëÄøÅ٤Ǥ¹¡£ ¼ÂºÝ¤Î¬ÄêÃͤò¸«¤Ê¤¤¤ÈËþ­¤Ç¤­¤Ê¤¤Êý¡¹¤Î¤¿¤á¤Ë¡¢ ¼ÂºÝ¤Î¬Äê·ë²Ì¤ò¤ª¸«¤»¤·¤Þ¤·¤ç¤¦¡£ ¼¡¤Î¬Äê¤Ï 486-66 (ÌõÃí: Intel ¼ÒÀ½ CPU i486¡¢66MHz ¤Î¤³¤È) ¾å¤Ç 2.2.5-STABLE ¤ò»ÈÍѤ·¤Æ¹Ô¤Ê¤ï¤ì¤Þ¤·¤¿¡£ IPFW ¤ÏÊѹ¹¤¬²Ã¤¨¤é¤ì¤Æ¡¢ip_fw_chk ¥ë¡¼¥Á¥óÆâ¤Ç¤«¤«¤ë»þ´Ö¤ò ¬Äꤷ¤Æ 1000 ¥Ñ¥±¥Ã¥ÈËè¤Ë·ë²Ì¤ò¥³¥ó¥½¡¼¥ë¤Ëɽ¼¨¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤ì¤¾¤ì 1000 ¤º¤Ä¤Î¥ë¡¼¥ë¤¬Æþ¤Ã¤Æ¤¤¤ë 2 ¤Ä¤Î¥ë¡¼¥ë¥»¥Ã¥È¤Ç¥Æ¥¹¥È¤¬¹Ô¤Ê¤ï¤ì¤Þ¤·¤¿¡£ ¤Ò¤È¤ÄÌܤΥ롼¥ë¥»¥Ã¥È¤ÏºÇ°­¤Î¥±¡¼¥¹¤ò¸«¤ë¤¿¤á¤Ë ipfw add deny tcp from any to any 55555 ¤È¤¤¤¦¥ë¡¼¥ë¤ò·«¤êÊÖ¤·¤¿¤â¤Î¤Ç¤¹¡£ IPFW ¤Î¥Ñ¥±¥Ã¥È¥Á¥§¥Ã¥¯¥ë¡¼¥Á¥ó¤Ï¡¢ ¥Ñ¥±¥Ã¥È¤¬ (¥Ý¡¼¥ÈÈÖ¹æ¤Î¤»¤¤¤Ç) ¤³¤Î¥ë¡¼¥ë¤Ë¥Þ¥Ã¥Á¤·¤Ê¤¤¤³¤È¤¬¤ï¤«¤ë¤Þ¤Ç¤Ë¡¢ ²¿ÅÙ¤â¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢¤³¤ì¤ÏºÇ°­¤Î¥±¡¼¥¹¤ò¼¨¤·¤Þ¤¹¡£ ¤³¤Î¥ë¡¼¥ë¤ò 999 ¸Ä·«¤êÊÖ¤·Ê¤٤¿¸å¤Ë allow ip from any to any ¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ 2¤ÄÌܤΥ롼¥ë¥»¥Ã¥È¤Ï¡¢¤Ê¤ë¤Ù¤¯Á᤯¥Á¥§¥Ã¥¯¤¬½ªÎ»¤¹¤ë¤è¤¦¤Ë½ñ¤«¤ì¤¿¤â¤Î¤Ç¤¹¡£ ipfw add deny ip from 1.2.3.4 to 1.2.3.4 ¤³¤Î¥ë¡¼¥ë¤Ç¤Ï¡¢È¯¿®¸µ¤Î IP ¥¢¥É¥ì¥¹¤¬¥Þ¥Ã¥Á¤·¤Ê¤¤¤Î¤Ç¡¢ ¥Á¥§¥Ã¥¯¤Ï¤¹¤°¤Ë½ªÎ»¤·¤Þ¤¹¡£¾å¤Î¥ë¡¼¥ë¥»¥Ã¥È¤È¤ª¤Ê¤¸¤è¤¦¤Ë¡¢ 1000 ¸ÄÌܤΥ롼¥ë¤Ï allow ip from any to any ¤Ç¤¹¡£ 1 ¤ÄÌܤΥ롼¥ë¥»¥Ã¥È¤Î¾ì¹ç¡¢ ¥Ñ¥±¥Ã¥È¤¢¤¿¤ê¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤Ï¤ª¤è¤½ 2.703ms/packet¡¢ ¤³¤ì¤Ï¤À¤¤¤¿¤¤ 1 ¤Ä¤Î¥ë¡¼¥ë¤¢¤¿¤ê 2.7 ¥Þ¥¤¥¯¥íÉ䫤«¤Ã¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ ¤³¤Î¥ë¡¼¥ë¤Ë¤ª¤±¤ë¥Ñ¥±¥Ã¥È½èÍý»þ´Ö¤ÎÍýÏÀŪ¤Ê¸Â³¦¤Ï¡¢ ËèÉÃÌó 370 ¥Ñ¥±¥Ã¥È¤Ç¤¹¡£ 10Mbps ¤Î¥¤¡¼¥µ¥Í¥Ã¥È¤Ç 1500 ¥Ð¥¤¥È°Ê²¼¤Î¥Ñ¥±¥Ã¥È¥µ¥¤¥º¤ò²¾Äꤹ¤ë¤È¡¢ ¥Ð¥ó¥ÉÉý¤ÎÍøÍѸúΨ¤Ï 55.5% ¤¬¸Â³¦¤È¤Ê¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ 2 ¤ÄÌܤΥ롼¥ë¥»¥Ã¥È¤Ç¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥Ñ¥±¥Ã¥È¤¬¤ª¤è¤½ 1.172ms¤Ç½èÍý¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ ¤À¤¤¤¿¤¤ 1 ¤Ä¤Î¥ë¡¼¥ë¤¢¤¿¤ê 1.2 ¥Þ¥¤¥¯¥íÉ䫤«¤Ã¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥Ñ¥±¥Ã¥È½èÍý»þ´Ö¤ÎÍýÏÀŪ¤Ê¸Â³¦¤Ï¡¢ ËèÉÃÌó 853 ¥Ñ¥±¥Ã¥È¤È¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ 10Mbps Ethernet ¤Î¥Ð¥ó¥ÉÉý¤ò»È¤¤Àڤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¥Æ¥¹¥È¤Ç¤Î¥ë¡¼¥ë¿ô¤Ï¿²á¤®¤ë¤¿¤á¡¢ ¼ÂºÝ¤Ë»ÈÍѤ¹¤ëºÝ¤Î·ë²Ì¤òÈ¿±Ç¤·¤Æ¤¤¤ëÌõ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤³¤ì¤é¤Ï¾å¤Ë¼¨¤·¤¿¿ôÃͤò½Ð¤¹¤¿¤á¤À¤±¤ËÍѤ¤¤é¤ì¤¿¤â¤Î¤Ç¤¹¡£ ¸úΨ¤ÎÎɤ¤¥ë¡¼¥ë¥»¥Ã¥È¤òºî¤ë¤¿¤á¤Ë¤Ï¡¢ ¼¡¤Î¤è¤¦¤Ê»ö¤ò¹Í¤¨¤Æ¤ª¤±¤Ð¤è¤¤¤Ç¤·¤ç¤¦¡£ ¡Ö³ÎÄꤷ¤Æ¤¤¤ë¡×¥ë¡¼¥ë¤ÏÀèÆ¬¤ÎÊý¤Ë»ý¤Ã¤Æ¤­¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤Ï¡¢Â¿¿ô¤Î TCP ¤Î¥È¥é¥Õ¥£¥Ã¥¯¤¬¤³¤Î¥ë¡¼¥ë¤Ç½èÍý¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£ ¤½¤·¤Æ¤³¤Î¥ë¡¼¥ë¤ÎÁ°¤Ë¤Ï allow tcp ¤È¤¤¤¦µ­½Ò¤òÃÖ¤«¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ Îɤ¯»È¤ï¤ì¤ë¥ë¡¼¥ë¤ò¡¢¤¢¤Þ¤êÎɤ¯»È¤ï¤ì¤Ê¤¤¥ë¡¼¥ë¤è¤ê¤â Á°¤ÎÊý¤Ë (¤â¤Á¤í¤ó¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤Îµö²ÄÀßÄê¤òÊѤ¨¤Ê¤¤ÈϰϤÇ) »ý¤Ã¤Æ¤­¤Æ¤¯¤À¤µ¤¤¡£ ipfw -a l ¤Î¤è¤¦¤·¤Æ¥Ñ¥±¥Ã¥È¿ô¤ÎÅý·×¤ò¼è¤ë¤³¤È¤Ç¡¢ ¤É¤Î¥ë¡¼¥ë¤¬ºÇ¤â¤è¤¯»È¤ï¤ì¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &man.ipfw.8; fwd ¥ë¡¼¥ë¤ò»È¤Ã¤ÆÂ¾¤Î¥Þ¥·¥ó¤Ë¥µ¡¼¥Ó¥¹¤ò¥ê¥À¥¤¥ì¥¯¥È¤·¤¿¤Î¤Ç¤¹¤¬¡¢ ¤¦¤Þ¤¯Æ°¤¤¤Æ¤¯¤ì¤Ê¤¤¤è¤¦¤Ç¤¹¡£¤É¤¦¤·¤Æ¤Ê¤ó¤Ç¤·¤ç¤¦? ¤ª¤½¤é¤¯¡¢¤¢¤Ê¤¿¤¬´üÂÔ¤·¤Æ¤¤¤ëưºî¤È¤Ï¡¢ ñ¤Ê¤ë¥Ñ¥±¥Ã¥ÈžÁ÷¤Ç¤Ï¤Ê¤¯¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹ÊÑ´¹ (NAT) ¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤À¤«¤é¤Ç¤·¤ç¤¦¡£ fwd ¥ë¡¼¥ë¤Ïʸ»ú¤É¤ª¤ê¡¢ËÜÅö¤ËžÁ÷¤·¤«¹Ô¤Ê¤¤¤Þ¤»¤ó¡£ ¥Ñ¥±¥Ã¥È¤ÎÃæ¿È¤Ë¤Ä¤¤¤Æ¤Ï°ìÀÚ¼ê¤ò²Ã¤¨¤Ê¤¤¤Î¤Ç¤¹¡£ ¤½¤Î¤¿¤á¡¢¼¡¤Î¤è¤¦¤Ê¥ë¡¼¥ë¤òÀßÄꤷ¤¿¤È¤¹¤ë¤È¡¢ 01000 fwd 10.0.0.1 from any to foo 21 °¸À襢¥É¥ì¥¹¤Ë foo ¤È½ñ¤«¤ì¤¿¥Ñ¥±¥Ã¥È¤¬ ¤³¤Î¥ë¡¼¥ë¤òÀßÄꤷ¤¿¥Þ¥·¥ó¤ËÅþÃ夷¤¿¾ì¹ç¡¢¤½¤Î¥Ñ¥±¥Ã¥È¤Ï 10.0.0.1 ¤ËžÁ÷¤µ¤ì¤Þ¤¹¤¬¡¢°¸À襢¥É¥ì¥¹¤Ï foo ¤Î¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¥Ñ¥±¥Ã¥È¤Ë°¸À襢¥É¥ì¥¹¤¬ 10.0.0.1 ¤Ë½ñ¤­´¹¤¨¤é¤ì¤ë¤È¤¤¤¦¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¼«Ê¬°¸¤Ç¤Ê¤¤¥Ñ¥±¥Ã¥È¤ò¼õ¤±¤È¤Ã¤¿¥Þ¥·¥ó¤Ï¡¢ ¤ª¤½¤é¤¯¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¤½¤Î¥Ñ¥±¥Ã¥È¤òÇË´þ¤¹¤ë¤È»×¤¤¤Þ¤¹¡£ ¤½¤Î¤¿¤á fwd ¥ë¡¼¥ë¤Ï¡¢ ¤½¤Î¥ë¡¼¥ë¤ò½ñ¤¤¤¿¥æ¡¼¥¶¤¬°Õ¿Þ¤·¤¿¤è¤¦¤Ë¤Ïư¤«¤Ê¤¤¤³¤È¤¬Îɤ¯¤¢¤ê¤Þ¤¹¡£ ¤³¤Îưºî¤Ï¥Ð¥°¤Ç¤Ï¤Ê¤¯¡¢»ÅÍͤʤΤǤ¹¡£ ¥µ¡¼¥Ó¥¹¤ÎžÁ÷¤ò¤­¤Á¤ó¤Èưºî¤µ¤»¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢ ¥µ¡¼¥Ó¥¹¤Î¥ê¥À¥¤¥ì¥¯¥È¤Ë´Ø¤¹¤ë FAQ ¤ä &man.natd.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¡¢ Ports Collection ¤Ë¤¤¤¯¤Ä¤«´Þ¤Þ¤ì¤Æ¤¤¤ë¥Ý¡¼¥ÈžÁ÷¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ê¤É¤ò¤´Í÷¤Ë¤Ê¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ ¥µ¡¼¥Ó¥¹Í×µá¤ò¾¤Î¥Þ¥·¥ó¤Ë¥ê¥À¥¤¥ì¥¯¥È¤¹¤ë¤Ë¤Ï? FTP ¤Ê¤É¤Î¥µ¡¼¥Ó¥¹¤Î¥ê¥¯¥¨¥¹¥È¤Ï¡¢socket ¥Ñ¥Ã¥±¡¼¥¸¤òÍøÍѤ·¤Æ¥ê¥À¥¤¥ì¥¯¥È¤Ç¤­¤Þ¤¹¡£ socket ¥Ñ¥Ã¥±¡¼¥¸¤Ï ports ¤Î sysutils ¥«¥Æ¥´¥ê¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ (/etc/inet.conf¤Ë½ñ¤«¤ì¤Æ¤¤¤ë) ¥³¥Þ¥ó¥É¹Ô¤ò¡¢¼¡¤Î¤è¤¦¤Ë socket ¤ò¸Æ¤Ö¤è¤¦¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp ¤³¤³¤Ç ftp.foo.com ¤Ï¥ê¥À¥¤¥ì¥¯¥ÈÀè¤Î¥Û¥¹¥È̾¡¢ ¹Ô¤ÎºÇ¸å¤Î ftp ¤Ï¥Ý¡¼¥È̾¤Ç¤¹¡£ ¥Ð¥ó¥ÉÉý¤Î´ÉÍý¤ò¹Ô¤Ê¤¨¤ë¥Ä¡¼¥ë¤Ï¤É¤³¤Ç¼ê¤ËÆþ¤ì¤é¤ì¤Þ¤¹¤«? FreeBSD ÍѤΥХó¥ÉÉý´ÉÍý¥Ä¡¼¥ë¤Ë¤Ï¡¢ÌµÎÁ¤Ç¼ê¤ËÆþ¤ì¤é¤ì¤ë ALTQ ¤È¡¢ Emerging Technologies ¤«¤éÆþ¼ê¤Ç¤­¤ë Bandwidth Manager ¤È¤¤¤¦»ÔÈΤΤâ¤Î¤Î 2 ¼ïÎब¤¢¤ê¤Þ¤¹¡£ BIND (named) ¤¬¡¢53 È֥ݡ¼¥È¤Î¤Û¤«¤Ë Â礭¤ÊÈÖ¹æ¤Î¥Ý¡¼¥È¤Ç¼õ¤±ÉÕ¤±¤Æ¤¤¤Þ¤¹¡£»ä¤Î¥Û¥¹¥È¤Ï ¾è¤Ã¼è¤é¤ì¤¿¤Î¤Ç¤·¤ç¤¦¤«¡£ ¤ª¤½¤é¤¯°ã¤¤¤Þ¤¹¡£FreeBSD 3.0 °Ê¹ß¤Ç¤Ï¡¢³°¸þ¤±¤ÎÌä¹ç¤»¤Ë ¥é¥ó¥À¥à¤ÊÂ礭¤ÊÈÖ¹æ¤Î¥Ý¡¼¥È¤òÍѤ¤¤ë¥Ð¡¼¥¸¥ç¥ó¤Î BIND ¤ò ÍѤ¤¤Æ¤¤¤Þ¤¹¡£¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤òÄ̤¹¤¿¤á¡¢¤Þ¤¿¤Ï¤¢¤Ê¤¿¤Î µ¤Ê¬¤Ç¡¢³°¸þ¤­¤ÎÌä¹ç¤»¤ò 53 È֥ݡ¼¥È¤«¤é¹Ô¤¤¤¿¤¤¤Ê¤é¤Ð¡¢ /etc/namedb/named.conf ¤Ë¼¡¤Î¤è¤¦¤Ë ÀßÄꤷ¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ options { query-source address * port 53; }; ¹¹¤Ë¸ÂÄꤷ¤¿¤±¤ì¤Ð¡¢* ¤òñ°ì¤Î IP ¥¢¥É¥ì¥¹¤ËÃÖ¤­´¹¤¨¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤½¤ì¤Ï¤È¤â¤«¤¯¡¢¤ª¤á¤Ç¤È¤¦¤´¤µ¤¤¤Þ¤¹¡£ sockstat ¤Î½ÐÎϤò¸«¤Æ¡¢¤ª¤«¤·¤Ê¸½¾Ý¤Ë ÃíÌܤ¹¤ë¤Î¤Ï¤è¤¤½¬´·¤Ç¤¹¡£ ¤Ê¤¼ /dev/bpf0: device not configured ¤¬½Ð¤ë¤Î¤Ç¤·¤ç¤¦¤«? ¥Ð¡¼¥¯¥ì¡¼¥Ñ¥±¥Ã¥È¥Õ¥£¥ë¥¿ (&man.bpf.4;) ¥É¥é¥¤¥Ð¤Ï¡¢¤½¤ì¤òÍøÍѤ¹¤ë¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ëÁ°¤ËÍ­¸ú¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤Ë¡¢¼¡¤Î¤è¤¦¤ËÄɲ䷤ƥ«¡¼¥Í¥ë¤ÎºÆ¹½ÃÛ¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£ pseudo-device bpfilter # Berkeley Packet Filter ¤½¤·¤ÆºÆµ¯Æ°¤·¤Æ¤«¤é¡¢¼¡¤Ë¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ·¡¢/dev ¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¹Ô¤Ê¤¤¤Þ¤¹¡£ &prompt.root; sh MAKEDEV bpf0 ¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤ÎºîÀ®¤Î¾ÜºÙ¤Ï¡¢ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¡Ö¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ Linux ¤Î smbmount ¤Î¤è¤¦¤Ë¡¢ ¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î Windows ¥Þ¥·¥ó¤Î¥Ç¥£¥¹¥¯¤ò¥Þ¥¦¥ó¥È¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤¿¤éÎɤ¤¤Î¤Ç¤·¤ç¤¦? Ports Collection ¤Ë´Þ¤Þ¤ì¤ë sharity light ¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡¢ icmp-response bandwidth limit 300/200 pps ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬¥í¥°¥Õ¥¡¥¤¥ë¤Ë¸½¤ì¤ë¤Î¤Ç¤¹¤¬¡¢ ¤É¤¦¤¤¤¦¤³¤È¤Ç¤·¤ç¤¦? ¤³¤ì¤Ï¡¢¥«¡¼¥Í¥ë¼«¿È¤«¤é¡ÖICMP ¤ä TCP ¤Î¥ê¥»¥Ã¥È (RST) ±þÅú¤ò¡¢ÂÅÅö¤Ê¿ô¤è¤ê¤â¿¤¯Á÷¤Ã¤Æ¤¤¤ë¡×¤È¤¤¤¦¤³¤È¤ò¡¢ ¤¢¤Ê¤¿¤ËÅÁ¤¨¤ë¥á¥Ã¥»¡¼¥¸¤Ç¤¹¡£ ICMP ±þÅú¤ÏÎɤ¯¡¢»È¤ï¤ì¤Æ¤¤¤Ê¤¤ UDP ¥Ý¡¼¥È¤ËÀܳ¤·¤è¤¦¤È¤·¤¿·ë²Ì¤È¤·¤ÆÀ¸À®¤µ¤ì¤Þ¤¹¡£ ¤Þ¤¿¡¢TCP ¥ê¥»¥Ã¥È¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤Ê¤¤ TCP ¥Ý¡¼¥È¤ËÀܳ¤·¤è¤¦¤È¤·¤¿·ë²Ì¤È¤·¤ÆÀ¸À®¤µ¤ì¤Þ¤¹¡£ ¤½¤Î¾¡¢¤³¤ì¤é¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¸¶°ø¤È¤Ê¤ë¾õ¶·¤È¤·¤Æ¡¢ °Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ (ÆÃÄê¤Î¥»¥­¥å¥ê¥Æ¥£¾å¤Î¼åÅÀ¤ò°­ÍѤ·¤è¤¦¤È¤¹¤ë¹¶·â¤Ç¤Ï¤Ê¤¯) ËÄÂç¤Ê¿ô¤Î¥Ñ¥±¥Ã¥È¤ò»È¤Ã¤¿¶¯°ú¤Ê¥µ¡¼¥Ó¥¹Ë¸³² (DoS) ¹¶·â¡£ (°ìÉô¤Î¥¦¥§¥ë¥Î¥¦¥ó¥Ý¡¼¥È¤òÁÀ¤Ã¤¿¤â¤Î¤Ç¤Ï¤Ê¤¯) Èó¾ï¤Ë¹­¤¤ÈϰϤΥݡ¼¥È¤ËÀܳ¤ò»î¤ß¤ë¥Ý¡¼¥È¥¹¥­¥ã¥ó¡£ ¥á¥Ã¥»¡¼¥¸Ãæ¤ÎºÇ½é¤Î¿ô»ú¤Ï¡¢ ¾å¸Â¤òÀßÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¥«¡¼¥Í¥ë¤¬Á÷¤Ã¤Æ¤¤¤¿¤Ç¤¢¤í¤¦¥Ñ¥±¥Ã¥È¤Î¿ô¤ò¼¨¤·¡¢ ÆóÈÖÌܤοô»ú¤Ï¡¢¥Ñ¥±¥Ã¥È¿ô¤Î¾å¸ÂÃͤò¼¨¤·¤Þ¤¹¡£ ¤³¤Î¾å¸ÂÃÍ¤Ï net.inet.icmp.icmplim ¤È¤¤¤¦ sysctl ÊÑ¿ô¤ò»È¤¦¤³¤È¤Ç¡¢°Ê²¼¤Î¤è¤¦¤ËÊѹ¹²Äǽ¤Ç¤¹¡£ ¤³¤³¤Ç¤Ï¾å¸Â¤ò 1 É䢤¿¤ê¤Î¥Ñ¥±¥Ã¥È¿ô¤Ç 300 ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ &prompt.root; sysctl -w net.inet.icmp.icmplim=300 ¥«¡¼¥Í¥ë¤Î±þÅúÀ©¸Â¤ò̵¸ú¤Ë¤»¤º¡¢ ¥í¥°¥Õ¥¡¥¤¥ëÃæ¤Î¥á¥Ã¥»¡¼¥¸¤À¤±¤òÍÞÀ©¤·¤¿¤¤¾ì¹ç¡¢ net.inet.icmp.icmplim_output sysctl ÊÑ¿ô¤ò¼¡¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç½ÐÎϤò»ß¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; sysctl -w net.inet.icmp.icmplim_output=0 ºÇ¸å¤Ë¡¢¤â¤·±þÅúÀ©¸Â¤ò̵¸ú¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢ net.inet.icmp.icmplim sysctl ÊÑ¿ô¤Ë (¾å¤ÎÎã¤Î¤è¤¦¤Ë¤·¤Æ) 0 ¤òÀßÄꤹ¤ë¤³¤È¤Ç¼Â¸½¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·±þÅúÀ©¸Â¤ò̵¸ú²½¤¹¤ë¤Î¤Ï¡¢¾åµ­¤ÎÍýͳ¤«¤é¤ª¤¹¤¹¤á¤·¤Þ¤»¤ó¡£
PPP ppp ¤¬Æ°¤­¤Þ¤»¤ó¡£¤É¤³¤ò´Ö°ã¤¨¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦? ¤Þ¤º &man.ppp.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¤È¡¢ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¡ÖPPP¡×¤òÆÉ¤ó¤Ç¤ß¤Þ¤·¤ç¤¦¡£ ¼¡¤Ë¡¢ set log Phase Chat Connect Carrier lcp ipcp ccp command ¤È¤¤¤¦Ì¿Îá¤ò ppp ¤Î¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤ËÂФ·¤ÆÂǤÁ¹þ¤à¤«¡¢ ÀßÄê¥Õ¥¡¥¤¥ë /etc/ppp/ppp.conf ¤Ë²Ã¤¨¤Æ (default ¥»¥¯¥·¥ç¥ó¤ÎÀèÆ¬¤Ë²Ã¤¨¤ë¤Î¤¬°ìÈÖÎɤ¤¤Ç¤·¤ç¤¦) ¥í¥°¤òÍ­¸ú¤Ë¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤ÎºÝ¡¢ /etc/syslog.conf (&man.syslog.conf.5; »²¾È) ¤Ë !ppp *.* /var/log/ppp.log ¤È½ñ¤«¤ì¤¿¹Ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¡¢¤Þ¤¿¡¢ /var/log/ppp.log ¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¤É¤¦¤«³Î¤«¤á¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ¤µ¤Æ¡¢¤³¤ì¤Ç²¿¤¬µ¯¤­¤Æ¤¤¤ë¤Î¤«ÆÍ¤­»ß¤á¤ë¤¿¤á¤Ë¡¢ ¥í¥°¥Õ¥¡¥¤¥ë¤«¤é¤¿¤¯¤µ¤ó¤Î¾ðÊó¤òÆÀ¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¥í¥°¤ËÌõ¤Îʬ¤é¤Ê¤¤Éôʬ¤¬¤¢¤Ã¤Æ¤â¿´ÇÛ¤´ÌµÍÑ¡£ ¤¢¤Ê¤¿¤¬½õ¤±¤òµá¤á¤¿Ã¯¤«¤Ë¤È¤Ã¤Æ¤Ï¡¢ ¤½¤ÎÉôʬ¤¬°ÕÌ£¤ò¤Ê¤¹¾ì¹ç¤¬¤¢¤ë¤Î¤Ç¤¹¡£ ÌõÃí ¥í¥°¤Î¼èÆÀ¤Ë syslog ¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ï 2.2.5 °Ê¹ß¤«¤é¤Ç¤¹¡£ »ÈÍÑÃæ¤Î ppp ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç set log Ì¿Îá¤ò²ò¼á¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ºÇ¿·ÈǤò¥À¥¦¥ó¥í¡¼¥É¤¹¤Ù¤­¤Ç¤¹¡£ FreeBSD ¤Î 2.1.5 °Ê¹ß¤Ç¥Ó¥ë¥É¤Ç¤­¤Þ¤¹¡£ ppp ¤ò¼Â¹Ô¤¹¤ë¤È¥Ï¥ó¥°¤·¤Þ¤¹ ¥Û¥¹¥È̾¤Î²ò·è¤¬¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¡£¤Þ¤º¡¢ ¥ê¥¾¥ë¥Ð (resolver) ¤¬ /etc/hosts¤ò»²¾È¤¹¤ë¤è¤¦¤Ë¡¢ /etc/host.conf ¤ÎºÇ½é¤Î¹Ô¤Ë host ¤È½ñ¤­¹þ¤ó¤Ç¤¯¤À¤µ¤¤¡£ ¤Ä¤®¤Ë¡¢/etc/hosts ¤Ë»ÈÍѤ·¤Æ¤¤¤ë¥Þ¥·¥ó¤Î¥¨¥ó¥È¥ê¤ò½ñ¤­²Ã¤¨¤Þ¤¹¡£ ¥í¡¼¥«¥ë¤Ç¥Í¥Ã¥È¥ï¡¼¥¯¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ localhost ¤Î¹Ô¤ò°Ê²¼¤Î¤è¤¦¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ 127.0.0.1 foo.bar.com foo localhost »ÈÍѤ·¤Æ¤¤¤ë¥Û¥¹¥È¤Î¥¨¥ó¥È¥ê¤òÄɲ䷤Ƥ⤫¤Þ¤¤¤Þ¤»¤ó¡£ ¾ÜºÙ¤Ï´ØÏ¢¤¹¤ë¥Þ¥ó¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ppp ¤¬ ¥â¡¼¥É¤Ç¥À¥¤¥¢¥ë¤·¤Æ¤¯¤ì¤Ê¤¤ ¤Þ¤ººÇ½é¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¥ë¡¼¥È¤¬³ÎΩ¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£ netstat -rn (&man.netstat.1; »²¾È) ¤ò¼Â¹Ô¤¹¤ë¤È¡¢°Ê²¼¤Î¤è¤¦¤Ê¾ðÊó¤¬É½¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¡£ Destination Gateway Flags Refs Use Netif Expire default 10.0.0.2 UGSc 0 0 tun0 10.0.0.2 10.0.0.1 UH 0 0 tun0 ¤³¤ì¤Ï¤¢¤Ê¤¿¤¬¥Ï¥ó¥É¥Ö¥Ã¥¯¤ä¥Þ¥Ë¥å¥¢¥ë¡¢ ppp.conf.sample ¤ÎÃæ¤Ç½Ð¤Æ¤¯¤ë¥¢¥É¥ì¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È²¾Äꤷ¤¿¾ì¹ç¤ÎÎã¤Ç¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¥ë¡¼¥È¤¬³ÎΩ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ ppp.conf ¤ÎÃæ¤Î HISADDR ¤¬Íý²ò¤Ç¤­¤Ê¤¤¡¢ ¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î &man.ppp.8; ¤¬Áö¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ FreeBSD 2.2.5 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ËÉÕ°¤·¤Æ¤¤¤¿ ppp ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢ add 0 0 HISADDR ¤È½ñ¤«¤ì¤¿¹Ô¤ò°Ê²¼¤Î¤è¤¦¤Ë½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£ add 0 0 10.0.0.2 netstat -rn ¤Ç¥Ç¥Õ¥©¥ë¥È¥ë¡¼¥È¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¤â¤¦°ì¤Ä¡¢ /etc/rc.conf (&man.rc.conf.5; »²¾È) (2.2.2 ¤è¤êÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï /etc/sysconfig ¤È¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤·¤¿) ¤ÎÃæ¤Ç¥Ç¥Õ¥©¥ë¥È¤Î¥ë¡¼¥¿¤ò¸í¤Ã¤ÆÀßÄꤷ¡¢ ppp.conf ¤«¤é delete ALL ¤Î¹Ô¤ò¤¦¤Ã¤«¤ê¾Ã¤·¤Æ¤·¤Þ¤Ã¤¿²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¡Ö¥·¥¹¥Æ¥à¤ÎºÇ½ªÀßÄê¡×¤Î¹à¤òÆÉ¤ßľ¤·¤Æ¤¯¤À¤µ¤¤¡£ No route to host ¤È¤Ï¤É¤¦¤¤¤¦°ÕÌ£¤Ç¤¹¤«? ¤³¤Î¥¨¥é¡¼¤ÏÄ̾ /etc/ppp/ppp.linkup ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¥»¥¯¥·¥ç¥ó¤¬Ìµ¤¤¾ì¹ç¤Ëµ¯¤³¤ê¤Þ¤¹¡£ MYADDR: delete ALL add 0 0 HISADDR ¤³¤ì¤ÏưŪ IP ¥¢¥É¥ì¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢ ¤Þ¤¿¤Ï¥²¡¼¥È¥¦¥§¥¤¤Î¥¢¥É¥ì¥¹¤òÃΤé¤Ê¤¤¾ì¹ç¤Ë¤Î¤ßɬÍפÊÀßÄê¤Ç¤¹¡£ ¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö¥â¡¼¥É¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢ ¥Ñ¥±¥Ã¥È¥â¡¼¥É¤ËÆþ¤Ã¤¿¸å¤Ç (¥×¥í¥ó¥×¥È¤¬ PPP ¤ÈÂçʸ»ú¤ËÊѤï¤Ã¤¿¤é¥Ñ¥±¥Ã¥È¥â¡¼¥É¤ËÆþ¤Ã¤¿¤·¤ë¤·¤Ç¤¹)¡¢ °Ê²¼¤ÎÌ¿Îá¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ delete ALL add 0 0 HISADDR ¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¡ÖPPP ¤ÈưŪ IP ÀßÄê¡×¤Î¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ 3 ʬ¤Û¤É·Ð¤Ä¤ÈÀܳ¤¬ÀÚ¤ì¤Æ¤·¤Þ¤¦ ppp ¤Î¥¿¥¤¥à¥¢¥¦¥È¤Ï ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 3 ʬ¤Ç¤¹¡£ ¤³¤ì¤Ï set timeout NNN ¤È¤¤¤¦Ì¿Îá¤Ë¤è¤Ã¤ÆÄ´À°¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ NNN ¤Ë¤Ï¡¢ Àܳ¤¬ÀÚ¤ì¤ë¤Þ¤Ç¤Î¥¢¥¤¥É¥ë»þ´Ö¤¬Éÿô¤ÇÆþ¤ê¤Þ¤¹¡£ NNN ¤¬ 0 ¤Î¾ì¹ç¡¢ ¥¿¥¤¥à¥¢¥¦¥È¤Ë¤è¤ëÀÚÃǤϵ¯¤³¤ê¤Þ¤»¤ó¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ï ppp.conf ¤ËÆþ¤ì¤ë¤³¤È¤â¡¢ ¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö¥â¡¼¥É¤Ç¥×¥í¥ó¥×¥È¤«¤éÆþÎϤ¹¤ë¤³¤È¤â ¤Ç¤­¤Þ¤¹¡£ ¥½¥±¥Ã¥È¤òÍѤ¤¤ë &man.telnet.1; ¤« &man.pppctl.8; ¤ò»ÈÍѤ·¡¢ ppp ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ²óÀþ¤¬¥¢¥¯¥Æ¥£¥Ö¤Ê´Ö¤Ë¸ÂÄꤷ¤Æ¥¿¥¤¥à¥¢¥¦¥È¤Î»þ´Ö¤òÄ´À°¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ ÌõÃí pppctl ¤Ï 2.2.5R ¤«¤é¤Ç¤¹¡£ ¾Ü¤·¤¤¾ðÊó¤Ï &man.ppp.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ Éé²Ù¤¬¹â¤¤¤ÈÀܳ¤¬ÀÚ¤ì¤Æ¤·¤Þ¤¦ Link Quality Reporting (LQR) ¤ÎÀßÄê¤ò¹Ô¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ ¥Þ¥·¥ó¤ÈÀܳÀè¤Î´Ö¤ÇÈó¾ï¤Ë¤¿¤¯¤µ¤ó¤Î LQR ¥Ñ¥±¥Ã¥È¤¬¼º¤ï¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£·ë²Ì¤È¤·¤Æ ppp ¤Ï²óÀþ¤Î¶ñ¹ç¤¤¤¬°­¤¤¤È¹Í¤¨¡¢ ²óÀþ¤òÀÚÃǤ¹¤ë¤Î¤Ç¤¹¡£2.2.5 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î FreeBSD ¤Ç¤Ï LQR ¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¸½ºß¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¾õÂÖ¤Ç̵¸ú¤Ç¤¹¡£ LQR ¤Ï°Ê²¼¤ÎÌ¿Îá¤Ç̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ disable lqr Àܳ¤¬¥é¥ó¥À¥à¤ËÀÚ¤ì¤Æ¤·¤Þ¤¦ ¥Î¥¤¥º¤Î¿¤¤²óÀþ¡¢¤¢¤ë¤¤¤ÏÂÔ¤Áµ¡Ç½ÉÕ¤­¤Î²óÀþ¤Ç¤Ï¡¢ »þ¡¹¥â¥Ç¥à¤¬ (¸í¤Ã¤Æ) ¥­¥ã¥ê¥¢¤ò¼º¤Ã¤¿¤È»×¤¤¹þ¤ß¡¢ ²óÀþ¤¬ÀÚÃǤµ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ Âç¿¿ô¤Î¥â¥Ç¥à¤Ç¤Ï¡¢ °ì»þŪ¤Ê¥­¥ã¥ê¥¢¤ÎÁÓ¼º¤ò¤É¤ì¤¯¤é¤¤¤Î»þ´Ö¤Ç¸¡½Ð¤¹¤ë¤«¤ò¡¢ ÀßÄê¤Ç·è¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð USR Sportster ¤Ç¤Ï¡¢S10 ¥ì¥¸¥¹¥¿ ¤ÎÃͤò 10 Çܤ·¤¿Éÿô¤¬¤½¤ÎÃͤˤʤê¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢¥â¥Ç¥à¤ò¤â¤Ã¤È¤Î¤ó¤Ó¤ê²°¤µ¤ó¤Ë¤¹¤ë¤Ë¤Ï¡¢ dial ¹Ô¤Ë¼¡¤Î¤è¤¦¤Êʸ»úÎó¤ò²Ã¤¨¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ set dial "...... ATS10=10 OK ......" ¾Ü¤·¤¯¤Ï¤ª»È¤¤¤Î¥â¥Ç¥à¤Î¥Þ¥Ë¥å¥¢¥ë¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ Àܳ¤¬ÉÔµ¬Â§¤Ë¥Ï¥ó¥°¥¢¥Ã¥×¤·¤Æ¤·¤Þ¤¦ ¤¿¤¯¤µ¤ó¤Î¿Í¤¬¡¢¸¶°øÉÔÌÀ¤Î¥Ï¥ó¥°¥¢¥Ã¥×¤ò·Ð¸³¤·¤Æ¤¤¤Þ¤¹¡£ ¸¡¾Ú¤Î¤¿¤á¤ËɬÍפʤΤϡ¢¤Þ¤º¤É¤Á¤é¦¤Î¥ê¥ó¥¯¤Ç¤½¤ì¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¤«¡¢ ¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ ³°ÉôÀܳ·¿¥â¥Ç¥à¤òÍøÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢ ñ¤Ë ping ¤ò»È¤¦¤³¤È¤Ç¡¢ ¥Ç¡¼¥¿¤òÁ÷¿®¤¹¤ë¤È¤­¤Ë TD ¥é¥ó¥×¤¬ÅÀÅô¤¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤â¤·¡¢TD ¥é¥ó¥×¤¬ÅÀÅô¤·¤Æ¡¢ RD ¥é¥ó¥×¤¬ÅÀÅô¤·¤Ê¤±¤ì¤Ð¡¢ ÌäÂê¤Ï²óÀþ¤Î¸þ¤³¤¦Â¦¤Ë¤¢¤ê¤Þ¤¹¡£TD ¤¬ÅÀÅô¤·¤Ê¤±¤ì¤Ð¡¢ ÌäÂê¤Ï²óÀþ¤Î¤³¤Á¤é¦¤Ç¤¹¡£Æâ¢·¿¥â¥Ç¥à¤Î¾ì¹ç¡¢ ppp.conf ¥Õ¥¡¥¤¥ë¤Ë set server ¥³¥Þ¥ó¥É¤òÆþ¤ì¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ ²óÀþ¤¬ÀÚÃǤµ¤ì¤¿¤È¤­¡¢pppctl ¤ò»È¤Ã¤Æ ppp ¤ËÀܳ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤Î¤È¤­¡¢ ¥Í¥Ã¥È¥ï¡¼¥¯Àܳ¤¬µÞ¤ËÉüµì (¿ÇÃÇ¥½¥±¥Ã¥È¤Ø¤Î¥¢¥¯¥»¥¹¤Ç¡¢ ppp ¤¬Éü³è¤·¤Þ¤¹) ¤¹¤ë¤«¡¢ ¤â¤·¤¯¤ÏÀܳ¼«ÂΤ¬Á´¤¯¤Ç¤­¤Ê¤¤ (¤¿¤À¤·¡¢ ppp µ¯Æ°»þ¤Ë set socket ¥³¥Þ¥ó¥É¤¬¤Á¤ã¤ó¤È¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¤·¤Þ¤¹) ¤È¤·¤¿¤é¡¢ ÌäÂê¤Ï²óÀþ¤Î¤³¤Á¤é¦¤Ç¤¹¡£ ¤â¤·¡¢Àܳ²Äǽ¤Ç¡¢¤«¤Ä¾õ¶·¤¬ÊѲ½¤·¤Ê¤±¤ì¤Ð¡¢ set log local async ¤ò»È¤Ã¤Æ¥í¡¼¥«¥ëÈ󯱴ü¥í¥° (async logging) ¤òÍ­¸ú¤Ë¤·¡¢ ping ¤ò¾¤Î¥¦¥£¥ó¥É¥¦¤«¥¿¡¼¥ß¥Ê¥ë¤«¤é»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£ È󯱴ü¥í¥°¤Ë¤Ï¡¢¤³¤Á¤é¦¤Î¥ê¥ó¥¯¤ÎÁ÷¼õ¿®¥Ç¡¼¥¿¤¬µ­Ï¿¤µ¤ì¤Þ¤¹¡£ ¤â¤·¡¢¥Ç¡¼¥¿¤¬Á÷¿®¤µ¤ì¤¿¤Ë¤â¤«¤«¤ï¤é¤ºÊ֤äÆÍè¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ ÌäÂê¤Ï²óÀþ¤Î¸þ¤³¤¦Â¦¤Ë¤¢¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ÌäÂ꤬²óÀþ¤Î¤É¤Á¤é¦¤«¤Ë¤¢¤ë¤³¤È¤¬Ê¬¤«¤Ã¤¿¤é¡¢ ¤Ä¤®¤ÎÆó¤Ä¤Î²ÄǽÀ­¤¬¹Í¤¨¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£ ²óÀþ¤Î¸þ¤³¤¦Â¦¤Ç¤ÎÈ¿±þ¤¬¤Ê¤¤ ¤³¤ì¤ËÂнè¤Ç¤­¤ë¤³¤È¤Ï¤Û¤È¤ó¤É¤¢¤ê¤Þ¤»¤ó¡£ÂçÉôʬ¤Î ISP ¤Ï¡¢Microsoft ¼ÒÀ½ OS °Ê³°¤ÎÍøÍѼԤËÂФ·¤Æ¤Î¥µ¥Ý¡¼¥È¤òµñÈݤ¹¤ë¤Ç¤·¤ç¤¦¡£ ppp.conf ¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë enable lqr ¤òµ­½Ò¤¹¤ë¤³¤È¤Ç ppp ¤¬²óÀþ¤Î¸þ¤³¤¦Â¦¤ÇȯÀ¸¤¹¤ëÀÚÃǤò¸¡½Ð¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢ ¤³¤Î¸¡½Ð¤ÏÈæ³ÓŪÃÙ¤¤¤¿¤á¡¢¤¢¤Þ¤êÌò¤ËΩ¤Á¤Þ¤»¤ó¡£¤Þ¤¿¡¢¤¢¤Ê¤¿¤Ï user-ppp ¤òÍøÍѤ·¤Æ¤¤¤ë¤³¤È¤ò ISP ¤ËÃΤé¤ì¤¿¤¯¤Ê¤¤¤È»×¤¦¤«¤âÃΤì¤Þ¤»¤ó¤Í¡£ ¤Þ¤ººÇ½é¤Ë¡¢¤³¤Á¤é¦¤Î°µ½Ìµ¡Ç½¤ò¤¹¤Ù¤ÆÌµ¸ú¤Ë¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤ì¤Ë¤Ï¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤ò¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ disable pred1 deflate deflate24 protocomp acfcomp shortseq vj deny pred1 deflate deflate24 protocomp acfcomp shortseq vj ¤½¤·¤ÆºÆÀܳ¤·¡¢Êѹ¹Á°¤ÈƱ¤¸¤è¤¦¤ËÄÌ¿®¤Ç¤­¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£ ¤â¤·¤³¤ì¤Ë¤è¤Ã¤Æ¾õ¶·¤¬²þÁ±¤µ¤ì¤ë¤«¡¢´°Á´¤Ë²ò·è¤·¤¿¤é¡¢ (¾å¤ÎÀßÄê¤Î¤¦¤Á) ¤É¤ÎÀßÄê¤Ç¾õ¶·¤¬ÊѲ½¤·¤¿¤Î¤«¤ò¡¢ ¿§¡¹¤ÊÁȹ礻¤Ç»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢ISP ¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤Ê¤¦¤È¤­¤ÎÍ­¸ú¤Ê¾ðÊó¤È¤Ê¤ê¤Þ¤¹ (¤¿¤À¤·¡¢ ¤¢¤Ê¤¿¤¬ Microsoft ¼ÒÀ½Éʰʳ°¤Î¤â¤Î¤òÍøÍѤ·¤Æ¤¤¤ë¤³¤È¤âÌÀ¤é¤«¤Ë¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¤¬)¡£ ISP ¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤Ê¤¦Á°¤Ë¡¢¤³¤Á¤é¦¤ÎÈ󯱴ü¥í¥°¤òÍ­¸ú¤Ë¤·¤Æ¡¢ Àܳ¤¬¥Ï¥ó¥°¥¢¥Ã¥×¤¹¤ë¤Þ¤ÇÂԤäƤ¯¤À¤µ¤¤¡£¤³¤Îºî¶È¤Ï¡¢ Èó¾ï¤Ë¿¤¯¤Î¥Ç¥£¥¹¥¯¶õ´Ö¤ò¾ÃÈñ¤¹¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£ ¶½Ì£¤ÎÂоݤȤʤäƤ¤¤ë¤Î¤Ï¡¢ÄÌ¿®¥Ý¡¼¥È¤«¤éºÇ¸å¤ËÆÉ¤ß¹þ¤Þ¤ì¤¿¥Ç¡¼¥¿¤Ç¤¹¡£ ¤½¤ì¤ÏÄ̾ï ASCII ¥Ç¡¼¥¿¤Ç¡¢ ÌäÂêÅÀ¤Î¾ÜºÙ (Memory fault, core dump ¤Ê¤É) ¤¬ µ­ºÜ¤µ¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ ²óÀþ¤Î¸þ¤³¤¦Â¦¤ÇÄÌ¿®¥í¥°¤ò´Æ»ë¤¹¤ë¤³¤È¤Ï²Äǽ¤Ê¤Ï¤º¤Ç¤¹¤Î¤Ç¡¢ ÀÚÃǤ¬È¯À¸¤·¤¿»þ¡¢ISP ¤ÎÂбþ¤¬¹¥°ÕŪ¤Ê¤é¤Ð ¤É¤¦¤·¤Æ ISP ¦¤ÇÌäÂ꤬ȯÀ¸¤·¤¿¤Î¤«¤³¤Á¤é¤ËÅÁ¤¨¤Æ¤¯¤ì¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£ brian@Awfulhak.org ¤Þ¤Ç¾ÜºÙ¤òÁ÷¤Ã¤ÆÄº¤¯¤«¡¢ISP ¤ËľÀÜ»ä¤ËÏ¢Íí¤¹¤ë¤è¤¦¤ËÅÁ¤¨¤Æ²¼¤µ¤Ã¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£ ppp ¤¬¥Ï¥ó¥°¥¢¥Ã¥×¤¹¤ë ¥Ù¥¹¥È¤ÊÊýË¡¤Ï¡¢ CFLAGS+=-g ¤È STRIP= ¤ò ppp ¤Î Makefile ¤ËÄɲ䷤ơ¢ ppp ¤òºÆ¹½ÃÛ¤·¡¢ ¤½¤·¤Æ make clean && make && make install ¤ò¹Ô¤Ê¤¦¤³¤È¤Ç¤¹¡£ ppp ¤¬¥Ï¥ó¥°¥¢¥Ã¥×¤·¤¿»þ¡¢ ps ajxww | fgrep ppp ¤ò»È¤Ã¤Æ ppp ¤Î¥×¥í¥»¥¹ ID ¤òÄ´¤Ù¡¢ gdb ppp PID ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ gdb ¤Î¥×¥í¥ó¥×¥È¤«¤é¡¢ bt ¤ò»È¤Ã¤Æ¥¹¥¿¥Ã¥¯¤ò¥È¥ì¡¼¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤Î·ë²Ì¤Ï¡¢brian@Awfulhak.org ¤Þ¤ÇÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£ Login OK! ¤Î¥á¥Ã¥»¡¼¥¸¤¬½Ð¤¿¸å¡¢²¿¤âµ¯¤³¤é¤Ê¤¤ 2.2.5 ¤è¤êÁ°¤Î¥ê¥ê¡¼¥¹¤Î FreeBSD ¤Ç¤Ï¡¢ &man.ppp.8; ¤Ï¥ê¥ó¥¯¤¬³ÎΩ¤·¤¿¸å¡¢ÀܳÀ褬 Line Control Protocol (LCP) ¤òȯ¿®¤¹¤ë¤Î¤òÂÔ¤Á¤Þ¤¹¡£¤·¤«¤·¡¢Â¿¤¯¤Î ISP ¤Ç¤Ï¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò¼«Ê¬¤«¤é¤Ïµ¯¤³¤µ¤º¡¢ ¥¯¥é¥¤¥¢¥ó¥È¤¬µ¯¤³¤¹¤Î¤òÂԤäƤ¤¤Þ¤¹¡£ ppp ¤Ë¶¯À©Åª¤Ë LCP ¤òȯ¿®¤µ¤»¤ë¤Ë¤Ï¡¢ ¼¡¤ÎÌ¿Îá¤ò»È¤¤¤Þ¤¹¡£ set openmode active ξÊý¤Î¦¤¬¥Í¥´¥¸¥§¡¼¥·¥ç¥ó¤òµ¯¤³¤·¤Æ¤â¡¢ ÂçÄñ¤Î¾ì¹ç¤Ï²¿¤ÎÌäÂê¤â¤¢¤ê¤Þ¤»¤ó¡£ ¤Ç¤¹¤«¤é¡¢¸½ºß¤Ç¤Ï openmode ¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¼¡¤Î¥»¥¯¥·¥ç¥ó¤Ç¤³¤ì¤¬ÌäÂê¤Ë¤Ê¤ë¾ì¹ç¤òÀâÌÀ¤·¤Þ¤¹¡£ ¤Ç¤â¤Þ¤À magic is the same ¤È¤¤¤¦¥¨¥é¡¼¤¬½Ð¤ë »þÀÞ¡¢Àܳľ¸å¤Î¥í¥°¤Ë magic is the same ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬¤¢¤é¤ï¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¥á¥Ã¥»¡¼¥¸¤¬¤¢¤é¤ï¤ì¤Æ¤â²¿¤âµ¯¤­¤Ê¤¤¾ì¹ç¤â¤¢¤ê¤Þ¤¹¤·¡¢ ¤É¤Á¤é¤«¤Î¦¤¬Àܳ¤òÀڤäƤ·¤Þ¤¦¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ ppp ¤Î¼ÂÁõ¤Î¿¤¯¤Ï¤³¤ÎÌäÂê¤ËÂбþ¤Ç¤­¤Æ¤ª¤é¤º¡¢ ¤½¤Î¾ì¹ç¤Ë¤Ï¤Á¤ã¤ó¤È link ¤¬¾å¤¬¤Ã¤Æ¤¤¤ë¾õÂ֤Ǥ¢¤Ã¤Æ¤â¡¢ ppp ¤¬ºÇ½ªÅª¤Ë¤¢¤­¤é¤á¤Æ¤·¤Þ¤¤¡¢ Àܳ¤òÀÚ¤ë¤Þ¤ÇÀßÄê¤Î¥ê¥¯¥¨¥¹¥È¤¬·«¤êÊÖ¤·Á÷¤é¤ì¡¢ ÀßÄ꤬¹Ô¤ï¤ì¤¿¤È¤¤¤¦ÄÌÃΤ¬¥í¥°¥Õ¥¡¥¤¥ë¤Ë»Ä¤ë¤È»×¤¤¤Þ¤¹¡£ ¤³¤ì¤ÏÄ̾ ¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤ÎÃÙ¤¤¥µ¡¼¥Ð¥Þ¥·¥ó¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤Ç getty ¤¬À¸¤­¤Æ¤¤¤Æ¡¢ ppp ¤¬¥í¥°¥¤¥ó¥¹¥¯¥ê¥×¥È¤«¡¢ ¥í¥°¥¤¥óľ¸å¤Ëµ¯Æ°¤µ¤ì¤¿¥×¥í¥°¥é¥à¤«¤é¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ëµ¯¤³¤ê¤Þ¤¹¡£ slirp ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤ËƱÍͤξɾõ¤¬¸«¤é¤ì¤¿¤È¤¤¤¦Êó¹ð¤â¤¢¤ê¤Þ¤¹¡£ ¸¶°ø¤Ï getty ¤Î½ªÎ»¤µ¤ì¤ë¤Þ¤Ç¤È¡¢ ppp ¤¬¼Â¹Ô¤µ¤ì¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Î ppp ¤¬ Line Control Protocol (LCP) ¤òÁ÷¤ê»Ï¤á¤ë¤Þ¤Ç¤Î¥¿¥¤¥ß¥ó¥°¤Ë¤¢¤ê¤Þ¤¹¡£ ¥µ¡¼¥Ð¦¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤Ç ECHO ¤¬Í­¸ú¤Ê¤Þ¤Þ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Î ppp ¤Ë¥Ñ¥±¥Ã¥È¤¬¡ÖÈ¿¼Í¡×¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¡£ LCP ¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Î°ìÉô¤È¤·¤Æ¡¢ ¥ê¥ó¥¯¤Îξ¥µ¥¤¥É¤Ç magic number ¤òÄê¤á¤Æ¡¢ ¡ÖÈ¿¼Í¡×¤¬µ¯¤­¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«³Î¤«¤á¤ëºî¶È¤¬¤¢¤ê¤Þ¤¹¡£ µ¬Ìó¤Ç¤Ï¡¢ÀܳÁê¼ê¤¬¤³¤Á¤é¤ÈƱ¤¸ magic number ¤òÄ󼨤·¤Æ¤­¤¿¤é¡¢ NAK ¤òÁ÷¤Ã¤Æ¿·¤·¤¤ magic number ¤òÁªÂò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤ÈÄê¤á¤Æ¤¤¤Þ¤¹¡£ ¤³¤Îºî¶È¤Î´Ö¡¢¥µ¡¼¥Ð¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤Î ECHO ¤¬¤º¤Ã¤ÈÍ­¸ú¤Ë¤Ê¤Ã¤¿¤Þ¤Þ¤Ê¤Î¤Ç¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Î ppp ¤Ï LCP ¥Ñ¥±¥Ã¥È¤òÁ÷¤ê¡¢ ¥Ñ¥±¥Ã¥È¤¬È¿¼Í¤·¤ÆÁ´¤¯Æ±¤¸ magic number ¤¬Á÷¤é¤ì¤Æ¤¯¤ë¤Î¤ò¸«¤Ä¤±¡¢ ¤½¤ì¤ËÂФ·¤Æ NAK ¤òÁ÷¤ë¤Î¤Ç¤¹¡£°ìÊý NAK ¼«ÂΤâ (¤³¤ì¤Ï ppp ¤¬ magic number ¤òÊѹ¹¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹) È¿¼Í¤·¤Æ¤¯¤ë¤Î¤Ç¡¢ ·ë²Ì¤È¤·¤Æ magic number ¤¬¿ô¤¨¤­¤ì¤Ê¤¤¤Û¤ÉÊѹ¹¤µ¤ì¡¢ ¤½¤Î¤¹¤Ù¤Æ¤¬¥µ¡¼¥Ð¤Î tty ¥Ð¥Ã¥Õ¥¡¤ÎÃæ¤ËÀѤ߽Ťʤ뤳¤È¤Ë¤Ê¤ë¤Î¤Ç¤¹¡£ ¥µ¡¼¥Ð¤Ç¥¹¥¿¡¼¥È¤·¤¿ ppp ¤Ï¡¢¤¹¤°¤Ë magic number ¤Ç¤¢¤Õ¤ì¤«¤¨¤Ã¤Æ¤·¤Þ¤¤¡¢ LCP ¤Î¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò½½Ê¬¤Ë¹Ô¤Ã¤¿¤â¤Î¤ÈȽÃǤ·¤Æ¡¢ ¤µ¤Ã¤µ¤ÈÀܳ¤òÀڤäƤ·¤Þ¤¤¤Þ¤¹¡£ °ìÊý¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤ÏÈ¿¼Í¤¬µ¢¤Ã¤Æ¤³¤Ê¤¯¤Ê¤Ã¤¿¤Î¤ÇËþ­¤·¤Þ¤¹¤¬¡¢ ¤½¤ì¤â¥µ¡¼¥Ð¤¬Àܳ¤òÀڤ俤³¤È¤òÃΤë¤Þ¤Ç¤Ç¤¹¡£ ¤³¤Î»öÂ֤ϡ¢°Ê²¼¤Î¹Ô¤ò ppp.conf ¤ÎÃæ¤Ë½ñ¤¤¤Æ¡¢ Áê¼ê¤¬¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò³«»Ï¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë»ö¤Ë¤è¤Ã¤Æ²óÈò¤Ç¤­¤Þ¤¹¡£ set openmode passive ¤³¤ì¤Ç ppp ¤Ï¥µ¡¼¥Ð¤¬ LCP ¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤òµ¯¤³¤¹¤Î¤òÂԤĤ褦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤·¤«¤·¡¢ ¼«Ê¬¤«¤é¤Ï·è¤·¤Æ¥Í¥´¥¸¥§¡¼¥·¥ç¥ó¤òµ¯¤³¤µ¤Ê¤¤¥µ¡¼¥Ð¤â¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤â¤·¤³¤Î¾õ¶·¤ËÁø¶ø¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ set openmode active 3 ¤³¤ì¤Ë¤è¤Ã¤Æ ppp ¤Ï 3 ÉÃ´Ö passive ¥â¡¼¥É¤ò³¤±¤¿¸å¤Ç¡¢ LCP ¥ê¥¯¥¨¥¹¥È¤òÁ÷¤ê»Ï¤á¤Þ¤¹¡£ ¤³¤Î´Ö¤ËÁê¼ê¤¬¥ê¥¯¥¨¥¹¥È¤òÁ÷¤ê»Ï¤á¤¿¾ì¹ç¤Ë¤Ï 3 ÉôÖÂÔ¤¿¤º¤Ë¤³¤Î¥ê¥¯¥¨¥¹¥È¤Ë¨ºÂ¤Ë±þÅú¤·¤Þ¤¹¡£ Àܳ¤¬ÀÚ¤ì¤ë¤Þ¤Ç LCP ¤Î¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤¬Â³¤¯¤Î¤Ç¤¹¤¬¡£ ¸½ºß¤Î ppp ¤Ï¡¢¤Þ¤À LCP ¤ä CCP¡¢ IPCP ¤ÎÊÖ»ö¤¬¡¢ ¸µ¤Î¥ê¥¯¥¨¥¹¥È¤ÈÏ¢·È¤·¤Æ¤¯¤ì¤ëµ¡Ç½¤¬¤­¤Á¤ó¤È¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¤½¤Î·ë²Ì¡¢¤¢¤ë ppp ¤Î¼ÂÁõ¤¬Áê¼ê¤è¤ê¤â 6 ÉðʾåÃÙ¤¤¾ì¹ç¤Ë¤Ï¡¢ LCP ÀßÄê¤Î¥ê¥¯¥¨¥¹¥È¤ò¤µ¤é¤Ë 2 ²óÁ÷¤ê¤Þ¤¹¡£ ¤³¤ì¤ÏÃ×̿Ū¤Êʪ¤Ç¤¹¡£ A ¤È B¤È¤¤¤¦ 2 ¤Ä¤Î¼ÂÁõ¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£ A ¤¬Àܳ¤Îľ¸å¤Ë LCP ¥ê¥¯¥¨¥¹¥È¤òÁ÷¤ê¡¢ °ìÊý B ¤ÎÊý¤Ï¥¹¥¿¡¼¥È¤¹¤ë¤Î¤Ë 7 É䫤«¤Ã¤¿¤È¤·¤Þ¤¹¡£B ¤¬¥¹¥¿¡¼¥È¤¹¤ë»þ¤Ë¤Ï A ¤Ï LCP ¥ê¥¯¥¨¥¹¥È¤ò 3 ²óÁ÷¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£ Á°¤ÎÀá¤Ç½Ò¤Ù¤¿ magic number ¤ÎÌäÂ꤬µ¯¤­¤Ê¤¤¤è¤¦¡¢ ECHO ¤Ï off ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ B ¤Ï REQ ¤òÁ÷¤ê¤Þ¤¹¡£ ¤¹¤ë¤È¤³¤ì¤Ï A ¤Î REQ ¤Î¤¦¤Á¡¢ ºÇ½é¤Îʪ¤ËÂФ¹¤ë ACK ¤È¤Ê¤ê¤Þ¤¹¡£ ·ë²Ì¤È¤·¤Æ¡¢A ¤Ï OPENED ¤Î¾õÂÖ¤ËÆþ¤ê¡¢ B ¤ËÂФ·¤Æ (ºÇ½é¤Î) ACK ¤òÁ÷¤ê¤Þ¤¹¡£ ¤½¤Î¤¦¤Á¤Ë B ¤Ï¡¢B ¤¬¥¹¥¿¡¼¥È¤¹¤ëÁ°¤Ë A ¤«¤éÁ÷¤é¤ì¤¿¤â¤¦ 2 ¤Ä¤Î REQ ¤ËÂФ¹¤ë ACK ¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£ B ¤Ï A ¤«¤é¤ÎºÇ½é¤Î ACK ¤ò¼õ¤±¼è¤ê OPENED ¤Î¾õÂÖ¤ËÆþ¤ê¤Þ¤¹¡£ A ¤Ï B ¤«¤é¤Î 2 ¤ÄÌܤΠACK ¤ò¼õ¤±¼è¤ê¤Þ¤¹¤Î¤Ç¡¢ REQ-SENT¤Î¾õÂÖ¤ËÌá¤ê¡¢ ¤µ¤é¤Ë¡¢RFC ¤Î¤È¤ª¤ê¤Ë (4 ¤ÄÌܤÎ) REQ ¤òÁ÷¤ê¤Þ¤¹¡£¤½¤·¤Æ 3 ¤ÄÌܤΠACK ¤ò¼õ¤±¼è¤Ã¤Æ OPENED ¾õÂÖ¤ËÆþ¤ê¤Þ¤¹¡£ °ìÊý¡¢B ¤Ï A ¤«¤é¤Î 4 ¤ÄÌܤΠREQ ¤ò¼õ¤±¼è¤ê¤Þ¤¹¤Î¤Ç¡¢ ACK-SENT ¤Î¾õÂÖ¤ËÆþ¤ê¡¢2 ¤ÄÌܤΠREQ ¤È 4 ¤ÄÌܤΠACK ¤ò RFC ¤Î¤È¤ª¤ê¤ËÁ÷¤ê¤Þ¤¹¡£ A¤Ï¡¢ REQ ¤ò¼õ¤±¤È¤ë¤È REQ-SENT ¤Î¾õÂ֤ˤʤꡢ¤µ¤é¤Ë REQ ¤òÁ÷¤ê¤Þ¤¹¡£ ¤½¤·¤Æ¤¹¤°¤Ë ACK ¤ò¼õ¤±¼è¤Ã¤Æ OPENED ¤Î¾õÂÖ¤ËÆþ¤ê¤Þ¤¹¡£ ¤³¤ì¤¬¡¢ÊÒÊý¤Î ppp ¤¬¤¢¤­¤é¤á¤Æ¤·¤Þ¤¦¤Þ¤Ç³¤­¤Þ¤¹¡£ ¤³¤ì¤ò²óÈò¤¹¤ëºÇ¤âÎɤ¤ÊýË¡¤Ï¡¢ ÊÒÊý¤ò passive ¥â¡¼¥É¤ËÀßÄꤹ¤ë¡¢ ¤¹¤Ê¤ï¤ÁÈ¿ÂЦ¤¬¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¤Þ¤ÇÂԤĤ褦¤Ë¤¹¤ë»ö¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢ set openmode passive ¤È¤¤¤¦¥³¥Þ¥ó¥É¤Ç¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¤¤òÉÕ¤±¤Æ»È¤ï¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£¤µ¤é¤Ë set stopped N ¤È¤¤¤¦¥³¥Þ¥ó¥É¤òÄɲ䷤ơ¢ ppp ¤¬¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤¬³«»Ï¤¹¤ë¤Þ¤ÇÂÔ¤Ä ºÇÂç¤Î»þ´Ö¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤â¤·¤¯¤Ï¡¢ set openmode active N ¤È¤¤¤¦¥³¥Þ¥ó¥É (¤³¤³¤Ç¡¢ N ¤Ï¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤¬»Ï¤Þ¤ë¤Þ¤ÇÂԤĻþ´Ö) ¤ò»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¾Ü¤·¤¯¤Ï¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ppp ¤¬Àܳľ¸å¤Ë¸Ç¤Þ¤Ã¤Æ¤·¤Þ¤¦ 2.2.5 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î FreeBSD ¤Ç¤Ï¡¢ppp ¤¬ Predictor1 °µ½Ì¤Î¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò¸í¤Ã¤Æ²ò¼á¤·¤Æ¡¢ Àܳľ¸å¤Ë¥ê¥ó¥¯¤ò̵¸ú¤Ë¤·¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤Ïξ¥µ¥¤¥É¤¬°Û¤Ê¤ë Compression Control Protocols (CCP) ¤ò»È¤Ã¤Æ¥Í¥´¥¸¥§¡¼¥·¥ç¥ó¤ò¹Ô¤Ã¤¿¾ì¹ç¤Ë¤Î¤ßȯÀ¸¤·¤Þ¤¹¡£ ¤³¤ÎÌäÂê¤Ï¸½ºß¤Ï²ò·è¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¤¢¤Ê¤¿¤ÎÁö¤é¤»¤Æ¤¤¤ë ppp ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¸Å¤¤¾ì¹ç¤Ç¤â¡¢¼¡¤ÎÌ¿Îá¤Ç²ò·è¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ disable pred1 ppp ¤ÎÆâÉô¤Ç¥·¥§¥ë¤òµ¯Æ°¤·¤è¤¦¤È¤¹¤ë¤È¸Ç¤Þ¤Ã¤Æ¤·¤Þ¤¦ shell ¤¢¤ë¤¤¤Ï ! ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤È¡¢ ppp ¤Ï¥·¥§¥ë¤òµ¯Æ°¤· (²¿¤«°ú¿ô¤òÅϤ·¤¿¾ì¹ç¤Ï¡¢ ppp ¤Ï°ú¿ô¤â¼Â¹Ô¤·¤Þ¤¹)¡¢ ¥³¥Þ¥ó¥É¤¬½ªÎ»¤¹¤ë¤Þ¤Ç½èÍý¤òÃæÃǤ·¤Þ¤¹¡£ ¥³¥Þ¥ó¥É¤ò¼Â¹ÔÃæ¤Ë ppp ¤Î¥ê¥ó¥¯¤ò»È¤ª¤¦¤È¤¹¤ë¤È¡¢ ¥ê¥ó¥¯¤¬¸Ç¤Þ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤Þ¤¹¤¬¡¢ ¤³¤ì¤Ï ppp ¤¬¥³¥Þ¥ó¥É¤Î½ªÎ»¤òÂԤäƤ¤¤ë¤«¤é¤Ç¤¹¡£ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢Âå¤ï¤ê¤Ë !bg ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ Í¿¤¨¤é¤ì¤¿¥³¥Þ¥ó¥É¤¬¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤µ¤ì¤ë¤Î¤Ç¡¢ ppp ¤Ï¥ê¥ó¥¯¤Ë´Ø¤¹¤ë¥µ¡¼¥Ó¥¹¤ò·Ñ³¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ì¥ë¥â¥Ç¥à¥±¡¼¥Ö¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¤­¡¢ ppp ¤¬½ªÎ»¤·¤Ê¤¤ ¥Ì¥ë¥â¥Ç¥à¥±¡¼¥Ö¥ë¤ò»ÈÍѤ·¤ÆÄ¾ÀÜÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¡¢ ppp ¤Ï¼«Æ°Åª¤Ë¤ÏÀܳ¤Î½ªÎ»¤òÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¥Ì¥ë¥â¥Ç¥à¥·¥ê¥¢¥ë¥±¡¼¥Ö¥ë¤ÎÇÛÀþ¤Ëµ¯°ø¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¼ï¤ÎÀܳ·ÁÂÖ¤òÍѤ¤¤ë¾ì¹ç¤Ï¡¢ °Ê²¼¤ÎÌ¿Îá¤òÍѤ¤¤Æ LQR ¤ò¾ï¤ËÍ­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ enable lqr ¤³¤¦¤¹¤ë¤È¡¢ÀܳÀ褬¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò¹Ô¤¦¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç LQR ¤Î»ÈÍѤò¼õ¤±Æþ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ppp ¤ò ¥â¡¼¥É¤Çư¤«¤¹¤È¡¢ ¾¡¼ê¤Ë¥À¥¤¥¢¥ë¤¹¤ë¤³¤È¤¬¤¢¤ë ppp ¤¬»×¤¤¤â¤·¤Ê¤¤¤È¤­¤Ë¥À¥¤¥¢¥ë¤ò»Ï¤á¤ë¾ì¹ç¡¢¤½¤Î¸¶°ø¤òÆÍ¤­»ß¤á¡¢ ËɻߤΤ¿¤á¤Ë¥À¥¤¥ä¥ë¥Õ¥£¥ë¥¿ (dfilters) ¤ò¤«¤±¤Æ¤ä¤ë ɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¸¶°ø¤òÆÍ¤­»ß¤á¤ë¤¿¤á¤Ë¤Ï¡¢°Ê²¼¤ÎÌ¿Îá¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ set log +tcp/ip ¤³¤ì¤ÇÀܳ¤òÄ̲᤹¤ë¤¹¤Ù¤Æ¤Î¥È¥é¥Õ¥£¥Ã¥¯¤ò¥í¥°¤Ë»Ä¤¹¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¼¡¤ËÆÍÁ³²óÀþ¤¬¤Ä¤Ê¤¬¤Ã¤¿¤È¤­¤Î¥í¥°¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò¤¿¤É¤ì¤Ð¡¢ ¸¶°ø¤òÆÍ¤­»ß¤á¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ï¤º¤Ç¤¹¡£ ¸¶°ø¤¬¤ï¤«¤Ã¤¿¤é¡¢¼¡¤Ë¡¢¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ç¤Ï¥À¥¤¥ä¥ë¤¬µ¯¤³¤é¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£ Ä̾¤³¤Î¼ê¤ÎÌäÂê¤Ï¡¢DNS ¤Ç̾Á°¤Î²ò·è¤ò¤·¤è¤¦¤È¤·¤¿¤¿¤á¤Ëµ¯¤³¤ê¤Þ¤¹¡£ DNS ¤Ë¤è¤ë̾Á°¤Î²ò·è¤Ë¤è¤Ã¤Æ¡¢ Àܳ¤¬¹Ô¤ï¤ì¤ë¤Î¤òËɻߤ¹¤ë¤Ë¤Ï¡¢ ¼¡¤Î¤è¤¦¤Ê¼êÃʤòÍѤ¤¤Þ¤¹ (¤³¤ì¤Ï ppp ¤Î´û¤Ë³ÎΩ¤·¤¿Àܳ¤Ë´Ø¤·¤Æ¥Ñ¥±¥Ã¥È¤Î¥Õ¥£¥ë¥¿¥ê¥ó¥°¤ò¤¹¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¡£ set dfilter 1 deny udp src eq 53 set dfilter 2 deny udp dst eq 53 set dfilter 3 permit 0/0 0/0 ¤³¤ì¤Ï¥Ç¥Þ¥ó¥É¥À¥¤¥ä¥ëµ¡Ç½¤ËÌäÂê¤òÀ¸¤¸¤µ¤»¤ë¤¿¤á¡¢ ¾ï¤ËŬÀڤǤ¢¤ë¤È¤Ï¤«¤®¤ê¤Þ¤»¤ó¡£ ¤Û¤È¤ó¤É¤Î¥×¥í¥°¥é¥à¤Ï¾¤Î¥Í¥Ã¥È¥ï¡¼¥¯´ØÏ¢¤Î½èÍý¤ò¹Ô¤Ê¤¦Á°¤Ë DNS ¤Ø¤ÎÌ䤤¹ç¤ï¤»¤¬É¬Íפˤʤê¤Þ¤¹¡£ DNS ¤Î¾ì¹ç¤Ï¡¢ ²¿¤¬¼ÂºÝ¤Ë¥Û¥¹¥È̾¤ò¸¡º÷¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤«¤òÆÍ¤­»ß¤á¤ë¤Ù¤­¤Ç¤·¤ç¤¦¡£ ÂçÄñ¤Î¾ì¹ç¤Ï¡¢ &man.sendmail.8; ¤¬ÈȿͤǤ¹¡£ ÀßÄê¥Õ¥¡¥¤¥ë¤Ç sendmail ¤¬ DNS ¤ËÌ䤤¹ç¤ï¤»¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«³Îǧ¤¹¤Ù¤­¤Ç¤¹¡£ ¼«Ê¬ÍѤÎÀßÄê¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Î¾Ü¤·¤¤ÊýË¡¤Ï¡¢ ¥á¡¼¥ë¤ÎÀßÄê ¤Î¹à¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¤Ï¡¢ .mc ¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¤è¤¦¤Ê¹Ô¤òÄɲ䷤Ƥâ¤è¤¤¤Ç¤·¤ç¤¦¡£ define(`confDELIVERY_MODE', `d')dnl ¤³¤Î¹Ô¤òÄɲ乤ë¤È¡¢sendmail ¤Ï¥á¡¼¥ë¥­¥å¡¼¤ò½èÍý¤¹¤ë (Ä̾ï sendmail ¤Ï 30 ʬ¤´¤È¤Ë¥­¥å¡¼¤ò½èÍý¤¹¤ë¤è¤¦¡¢ ¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æµ¯Æ°¤µ¤ì¤Þ¤¹) ¤Þ¤Ç¤«¡¢ ¤Þ¤¿¤Ï (¿ʬ ppp.linkup ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç) sendmail -q ¤È¤¤¤¦¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤Þ¤Ç¡¢ ¤¹¤Ù¤Æ¤Î¥á¡¼¥ë¤ò¥­¥å¡¼¤Ëί¤á¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ÌõÃí sendmail -q ¤Ï¤½¤Î»þÅÀ¤Î¥á¡¼¥ë¥­¥å¡¼¤ÎÆâÍÆ¤ò½èÍý¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ CCP ¥¨¥é¡¼¤È¤Ï¤É¤¦¤¤¤¦°ÕÌ£¤Ç¤¹¤« ¥í¥°¥Õ¥¡¥¤¥ëÃæ¤Î°Ê²¼¤Î¥¨¥é¡¼¤Ï¡¢ CCP: CcpSendConfigReq CCP: Received Terminate Ack (1) state = Req-Sent (6) ¤Î¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤Ë¤ª¤¤¤Æ ppp ¤Ï Predictor1 °µ½Ì¤òÍѤ¤¤ë¤Ù¤¯¼çÄ¥¤·¤¿¤Î¤ËÂФ·¤Æ¡¢ ÀܳÀè¤Ï°µ½Ì¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤ò¼çÄ¥¤·¤¿¾ì¹ç¤Ëµ¯¤³¤ê¤Þ¤¹¡£ ¤³¤Î¥á¥Ã¥»¡¼¥¸¤Ë¤Ï²¿¤Î³²¤â¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ½Ð¤ë¤Î¤¬·ù¤Ê¤é¡¢°Ê²¼¤ÎÌ¿Îá¤òÍѤ¤¤Æ¤³¤Á¤é¦¤Ç¤â Predictor1 °µ½Ì¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤ÇÂбþ¤Ç¤­¤Þ¤¹¡£ disable pred1 ¥Õ¥¡¥¤¥ëžÁ÷¤ÎÅÓÃæ¤Ç¡¢ppp ¤¬ IO ¥¨¥é¡¼¤ò½Ð¤·¤Æ¸Ç¤Þ¤Ã¤Æ¤·¤Þ¤¦ FreeBSD 2.2.2 °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î tun ¥É¥é¥¤¥Ð¤Ë¤Ï¡¢tun ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î MTU ¤Î¥µ¥¤¥º¤è¤êÂ礭¤Ê¥Ñ¥±¥Ã¥È¤ò¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤È¤¤¤¦¥Ð¥°¤¬¤¢¤ê¤Þ¤·¤¿¡£ MTU ¤Î¥µ¥¤¥º¤è¤êÂ礭¤Ê¥Ñ¥±¥Ã¥È¤ò¼õ¤±ÉÕ¤±¤ë¤È IO ¥¨¥é¡¼¤¬µ¯¤³¤ê¡¢ syslogd ·Ðͳ¤Çµ­Ï¿¤µ¤ì¤ë¤Î¤Ç¤¹¡£ ppp ¤Î»ÅÍͤǤϡ¢ LCP ¤Î¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤ò¹Ô¤¦¾ì¹ç¤ò´Þ¤à¤É¤Î¤è¤¦¤Ê¾ì¹ç¤Ç¤âºÇÄã 1500 ¥ª¥¯¥Æ¥Ã¥È¤Î Maximum Receive Unit (MRU) ¤ò¼õ¤±Æþ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤Ç¤¹¤«¤é¡¢MTU ¤ò 1500 °Ê²¼¤ËÀßÄꤷ¤¿¾ì¹ç¤Ç¤â¡¢ISP ¤Ï¤½¤ì¤Ë´Ø·¸¤Ê¤¯ 1500 ¤ÎÂ礭¤µ¤Î¥Ñ¥±¥Ã¥È¤òÁ÷¤Ã¤Æ¤¯¤ë¤Ç¤·¤ç¤¦¡£ ¤½¤·¤Æ¤³¤Î¥¤¥±¤Æ¤Ê¤¤µ¡Ç½¤Ë¤Ö¤Á¤¢¤¿¤Ã¤Æ¡¢ ¥ê¥ó¥¯¤¬¸Ç¤Þ¤ë¤Î¤òÌܤˤ¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¤¹¡£ FreeBSD 2.2.2 °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢MTU ¤ò·è¤·¤Æ 1500 ¤è¤ê¾®¤µ¤¯¤·¤Ê¤¤¤³¤È¤Ç¡¢ ¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤É¤¦¤·¤Æ ppp ¤ÏÀܳ®ÅÙ¤ò¥í¥°¤Ë»Ä¤µ¤Ê¤¤¤ó¤Ç¤·¤ç¤¦? ¥â¥Ç¥à¤È¤Î¡Ö¤ä¤ê¼è¤ê¡×¤¹¤Ù¤Æ¤Î¹Ô¤ò¥í¥°¤Ë»Ä¤¹¤Ë¤Ï¡¢ °Ê²¼¤Î¤è¤¦¤Ë¤·¤ÆÀܳ®ÅÙ¤Î¥í¥°¤ÎÍ­¸ú²½¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£ set log +connect ¤³¤ì¤Ï &man.ppp.8; ¤ËºÇ¸å¤Ë¤¯¤ë¤³¤È¤¬Í׵ᤵ¤ì¤Æ¤¤¤ë expect ¤È¤¤¤¦Ê¸»úÎ󤬤¯¤ë¤Þ¤Ç¤Î¤¹¤Ù¤Æ¤Î¤â¤Î¤ò¥í¥°¤Ëµ­Ï¿¤µ¤»¤Þ¤¹¡£ Àܳ®ÅÙ¤Ï¥í¥°¤Ë¤È¤ê¤¿¤¤¤±¤ì¤É¡¢PAP ¤ä CHAP ¤ò»È¤Ã¤Æ¤¤¤ë (¤½¤Î·ë²Ì¡¢¥À¥¤¥ä¥ë¥¹¥¯¥ê¥×¥ÈÃæ¤Î CONNECT °Ê¹ß¤ËÁ´¤¯¡Ö¤ä¤ê¤È¤ê¡×¤ò¹Ô¤ï¤Ê¤¤ - set login ¥¹¥¯¥ê¥×¥È¤Ë¤Ï²¿¤â½ñ¤«¤Ê¤¤) ¤Î¤Ç¤¢¤ì¤Ð¡¢ ppp ¤Ë expect ¤ò´Þ¤ó¤À CONNECT ¹Ô¤¹¤Ù¤Æ¤¬¤¯¤ë¤Þ¤ÇÂÔ¤¿¤»¤ë¤è¤¦¤Ë¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡¢ °Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n" ¤³¤³¤Ç¡¢CONNECT ¤ò¼õ¿®¤·¤Æ¤«¤é¡¢ ²¿¤âÁ÷¤é¤º¡¢Éüµ¢²þ¹Ô (linefeed) ¤òÂԤäƤ¤¤Þ¤¹¡¢ ppp ¤Ë CONNECT ¤Î±þÅú¤¹¤Ù¤Æ¤òÆÉ¤ß¹þ¤Þ¤»¤Æ¤¤¤ë¤ï¤±¤Ç¤¹¡£ »ä¤Î chat ¥¹¥¯¥ê¥×¥È¤Ç¤Ï \ ¤È¤¤¤¦Ê¸»ú¤ò PPP ¤¬²ò¼á¤·¤Æ¤¯¤ì¤Þ¤»¤ó¡£ PPP ¤ÏÀßÄê¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤È¤­¤Ë¡¢ set phone "123 456 789" ¤Î¤è¤¦¤Êʸ»úÎó¤òÀµ¤·¤¯²ò¼á¤·¡¢ Èֹ椬¼ÂºÝ¤Ë1 ¤Ä¤Î°ú¿ô¤Ç¤¢¤ë¤ÈÍý²ò¤·¤Þ¤¹¡£ " ¤È¤¤¤¦Ê¸»ú¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å (backslash; \) ¤Ç¥¨¥¹¥±¡¼¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ chat ¤Î³Æ°ú¿ô¤¬²ò¼á¤µ¤ì¤ë¤È¤­¤Ë¤Ï¡¢ \P ¤ä \T ¤Î¤è¤¦¤ÊÆÃÊ̤ʥ¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹ (¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸»²¾È¤Î¤³¤È) ¤ò¸«ÉÕ¤±¤ë¤¿¤á¤Ë¡¢ ¤â¤¦ 1 ²ó¡¢»ú¶ç²òÀϤò¹Ô¤¤¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ë»ú¶ç²òÀÏ¤Ï 2 ²ó·«¤êÊÖ¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢ Àµ¤·¤¤²ó¿ô¤À¤±¥¨¥¹¥±¡¼¥×½èÍý¤ò¹Ô¤ï¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£ ¥â¥Ç¥à¤Ë¤¿¤È¤¨¤Ð \ ¤Î¤è¤¦¤Êʸ»ú¤òÁ÷¤ê¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ ¼¡¤Î¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK" ¼ÂºÝ¤Ë¥â¥Ç¥à¤ËÁ÷¤é¤ì¤ëʸ»úÎó¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ATZ OK AT\X OK ¾¤ÎÎã¤Ç¤¹¤È set phone 1234567 set dial "\"\" ATZ OK ATDT\\T" ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ATZ OK ATDT1234567 ppp ¤¬ segmentation fault ¤Ë¤Ê¤ë¤Î¤Ç¤¹¤¬¡¢ ppp.core ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó ppp (¤ä¾¤Î¥×¥í¥°¥é¥à) ¤Ï·è¤·¤Æ core ¤òÅǤ¤¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ppp ¤Ï¼Â¸ú uid ¤¬ 0 ¤Çư¤¤¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ï ppp ¤ò½ªÎ»¤µ¤»¤ëÁ°¤Ë¥Ç¥£¥¹¥¯¤Ë core ¥¤¥á¡¼¥¸¤ò½ñ¤­¹þ¤ß¤Þ¤»¤ó¡£ ¤·¤«¤· ppp ¤Ï¼ÂºÝ¤Ë¤Ï¥»¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó°ãÈ¿¤ä¡¢ ¾¤Î core ¤òÅǤ¯¸¶°ø¤È¤Ê¤ë¤è¤¦¤Ê¥·¥°¥Ê¥ë¤Ë¤è¤Ã¤Æ½ªÎ»¤·¤Æ¤ª¤ê¡¢ ¤µ¤é¤ËºÇ¿·¤Î¥Ð¡¼¥¸¥ç¥ó (¤³¤Î¥»¥¯¥·¥ç¥ó¤Î»Ï¤á¤ò¸«¤Æ¤¯¤À¤µ¤¤) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.user; tar xfz ppp-*.src.tar.gz &prompt.user; cd ppp*/ppp &prompt.user; echo STRIP= >>Makefile &prompt.user; echo CFLAGS+=-g >>Makefile &prompt.user; make clean all &prompt.user; su &prompt.root; make install &prompt.root; chmod 555 /usr/sbin/ppp ¤³¤ì¤Ç¥Ç¥Ð¥Ã¥°²Äǽ¤Ê¥Ð¡¼¥¸¥ç¥ó¤Î ppp ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£ root ¤Ç ppp ¤ò¼Â¹Ô¤·¡¢ ¤¹¤Ù¤Æ¤ÎÆÃ¸¢¤¬Ìµ¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ ppp ¤ò¼Â¹Ô¤¹¤ë»þ¤Ë¤Ï¡¢ ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤¬ make ¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤Ç¡¢ppp ¤¬¥»¥°¥á¥ó¥Æ¡¼¥·¥ç¥óÎã³°¤ò¼õ¤±¼è¤Ã¤¿¤È¤­¤Ë¤Ï ppp.core ¤È¤¤¤¦Ì¾Á°¤Î core ¥Õ¥¡¥¤¥ë¤òÅǤ¯¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£core ¤¬ ÅǤ«¤ì¤¿¤é¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.user; su &prompt.root; gdb /usr/sbin/ppp ppp.core (gdb) bt ..... (gdb) f 0 .... (gdb) i args .... (gdb) l ..... ¼ÁÌ䤹¤ëºÝ¤Ë¤Ï¡¢¤³¤ì¤é¤¹¤Ù¤Æ¤Î¾ðÊó¤òÄ󶡤·¤Æ¡¢ ÌäÂêÅÀ¤ÎʬÀϤ¬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ gdb ¤Î»È¤¤Êý¤Ë´·¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¼ÂºÝ¤Ë dump ¤Î¸¶°ø¤È¤Ê¤Ã¤¿Íýͳ¤ä¤½¤Î¥¢¥É¥ì¥¹¡¢ ´ØÏ¢¤·¤¿ÊÑ¿ô¤ÎÃͤʤɤâÄ´¤Ù¤ë»ö¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ auto ¥â¡¼¥É¤Ç¥À¥¤¥¢¥ë¤ò¤¹¤ë¤è¤¦¤Ê¥×¥í¥»¥¹¤¬Àܳ¤µ¤ì¤Ê¤¤¡£ ¤³¤ì¤Ï ppp ¤¬¥í¡¼¥«¥ë¦¤Î IP ¥¢¥É¥ì¥¹¤ò¡¢ ưŪ¤ËÄÌ¿®Áê¼ê¤È¸ò¾Ä¤¹¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë»þ¤ËȯÀ¸¤¹¤ëÎɤ¯ÃΤé¤ì¤¿¾ã³²¤Ç¤·¤¿¡£ ºÇ¿·¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ ¤³¤ÎÌäÂê¤Ï½¤Àµ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ iface ¤ò¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤«¤é¸¡º÷¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤Ï¡¢ºÇ½é¤Î¥×¥í¥°¥é¥à¤¬ &man.connect.2; ¤ò¸Æ¤Ó½Ð¤·¤¿»þ¡¢tun ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Î IP ¥¢¥É¥ì¥¹¤¬¡¢ ¥½¥±¥Ã¥È¤Î½ªÃ¼¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤·¤Þ¤¦¤È¤¤¤¦ÌäÂê¤Ç¤¹¡£ ¥«¡¼¥Í¥ë¤Ï¡¢ ³°¤Ø½Ð¤Æ¤¤¤¯ºÇ½é¤Î¥Ñ¥±¥Ã¥È¤òºî¤ê¡¢¤½¤ì¤ò tun ¥Ç¥Ð¥¤¥¹¤Ø½ñ¤­¹þ¤ß¤Þ¤¹¡£ ¤½¤·¤Æ ppp ¤Ï¡¢ ¤½¤Î¥Ñ¥±¥Ã¥È¤òÆÉ¤ß¹þ¤ó¤ÇÀܳ¤ò³ÎΩ¤·¤Þ¤¹¡£ ppp ¤ÏưŪ¤Ë IP ¥¢¥É¥ì¥¹¤ò³ä¤êÅö¤Æ¤ë¤¿¤á¡¢ ¤â¤·¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Î¥¢¥É¥ì¥¹¤¬ÊѲ½¤·¤Æ¤·¤Þ¤¦¤È¡¢ ºÇ½é¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥½¥±¥Ã¥È½ªÃ¼¤Î IP ¥¢¥É¥ì¥¹¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢¤½¤ì°Ê¹ßÁê¼ê¤ËÁ÷¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ñ¥±¥Ã¥È¤ÏÄ̾ Áê¼ê¤ËÆÏ¤¯¤³¤È¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£¤â¤·²¾¤ËÆÏ¤¤¤¿¤È¤·¤Æ¤â¡¢ ´û¤Ë¤³¤Á¤é¤Î IP ¥¢¥É¥ì¥¹¤ÏÊѹ¹¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ ¤É¤ó¤ÊÈ¿±þ¤âºÇ½é¤Î¥Þ¥·¥ó¤Ë¤ÏÌá¤Ã¤Æ¤­¤Þ¤»¤ó¡£ ¤³¤ÎÌäÂê¤ËÂн褹¤ëÍýÏÀŪ¤ÊÊýË¡¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£¤â¤·²Äǽ¤Ê¤é¡¢ Áê¼ê¤¬ºÆÅÙ¡¢Æ±¤¸ IP ¥¢¥É¥ì¥¹¤ò³ä¤êÅö¤Æ¤Æ¤¯¤ì¤ë¤³¤È¤¬°ìÈ֤Ǥ¹ :-) ppp ¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¤³¤ì¤ò¹Ô¤Ê¤¤¤Þ¤¹¤¬¡¢ ¾¤Î¤Û¤È¤ó¤É¤Î¼ÂÁõ¤Ï¤½¤¦¤¤¤Ã¤¿Æ°ºî¤ò¤·¤Þ¤»¤ó¡£ ²æ¡¹¤Î¦¤«¤éÂнè¤Ç¤­¤ëºÇ¤â´Êñ¤ÊÊýË¡¤Ï¡¢tun ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Î IP ¥¢¥É¥ì¥¹¤ò¸ÇÄꤹ¤ë»ö¤Ç¤¹¡£¤Þ¤¿¤½¤Î¤«¤ï¤ê¤Ë¡¢ ³°¤Ë½Ð¤Æ¤¤¤¯¥Ñ¥±¥Ã¥È¤òÊѹ¹¤·¤Æ¡¢ ȯ¿®¸µ IP ¥¢¥É¥ì¥¹¤ò¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Î IP ¥¢¥É¥ì¥¹¤«¤é¡¢¸ò¾Ä¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤¿ IP ¥¢¥É¥ì¥¹¤Ë¡¢ Ŭµ¹½ñ¤­¤«¤¨¤ë»ö¤Ë¤è¤Ã¤Æ¤âÂнè¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢´ðËÜŪ¤Ë ppp ¤ÎºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤Ë¤¢¤ë iface-alias ¥ª¥×¥·¥ç¥ó¤¬¹Ô¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ÈƱ¤¸¤Ç¤¹ (&man.libalias.3; ¤ª¤è¤Ó¡¢ppp ¤Î ¥¹¥¤¥Ã¥Á¤Ë¤â´Ø·¸¤·¤Þ¤¹)¡£¤½¤ì¤Ï¡¢°ÊÁ°¤Î IP ¥¢¥É¥ì¥¹¤ò¤¹¤Ù¤Æ´ÉÍý¤·¡¢ ¤½¤ì¤é¤òºÇ¸å¤Î¸ò¾Ä¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤¿ IP ¥¢¥É¥ì¥¹¤ËÂФ·¤Æ NAT µ¡Ç½¤òÍ­¸ú²½¤·¤Þ¤¹¡£ ¤â¤¦ 1 ¤Ä¤Î (¤ª¤½¤é¤¯ºÇ¤â¿®Íê¤Ç¤­¤ë) ÊýË¡¤Ï¡¢bind ¤µ¤ì¤¿ ¤¹¤Ù¤Æ¤Î¥½¥±¥Ã¥È¤Î IP ¥¢¥É¥ì¥¹¤ò¡¢ °Û¤Ê¤ë¤â¤Î¤ËÊѹ¹¤Ç¤­¤ë¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò¼ÂÁõ¤¹¤ë¤³¤È¤Ç¤¹¡£ ppp¤Ï¡¢ ¿·¤·¤¤ IP ¥¢¥É¥ì¥¹¤¬³ä¤êÅö¤Æ¤é¤ì¤¿»þ¡¢ ¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤òÍѤ¤¤Æ¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Ë¤¢¤ë¡¢ ¤¹¤Ù¤Æ¤Î¥½¥±¥Ã¥È¤ò½ñ¤­¤«¤¨¤Æ¤ä¤ë¤ï¤±¤Ç¤¹¡£ Ʊ¤¸¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѤ¹¤ë¥½¥±¥Ã¥È¤ò ¶¯À©Åª¤ËºÆ bind ¤¹¤ë¤Î¤Ë¤â»È¤¦¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ 3 ¤ÄÌܤÎÊýË¡¤Ï¡¢IP ¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Ê¤¤¤Ç¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¤¹¡£ ³°¤Ë½Ð¤Æ¤¤¤¯¥Ñ¥±¥Ã¥È¤Ï¡¢ºÇ½é¤Î SIOCAIFADDR ioctl ¤Î´°Î»¤Þ¤Ç¡¢ 255.255.255.255 ¤È¤¤¤¦ IP ¥¢¥É¥ì¥¹¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤Ã¤Æ¡¢¥½¥±¥Ã¥È¤Ï¾ï¤Ë bind ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ȯ¿®¸µ IP ¥¢¥É¥ì¥¹¤òÊѹ¹¤¹¤ë¤Î¤Ï ppp ¤Î»Å»ö¤Ç¤¹¡£¤¿¤À¤·¡¢ ¤½¤ì¤Ïȯ¿®¸µ IP ¥¢¥É¥ì¥¹¤¬ 255.255.255.255 ¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢IP ¥¢¥É¥ì¥¹¤È IP ¥Á¥§¥Ã¥¯¥µ¥à¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤À¤±¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢¥«¡¼¥Í¥ë¤¬ÉÔŬÀÚ¤ËÀßÄꤵ¤ì¤¿¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Ø¤Ï °Û¾ï¤Ê¥Ñ¥±¥Ã¥È¤òÁ÷½Ð¤·¤è¤¦¤È¤¹¤ë¤³¤È¤òÍøÍѤ·¤Æ¡¢¤Ê¤Ë¤«Â¾¤Î »ÅÁȤߤ¬Á̵ÚŪ¤Ë½¤Àµ¤ò¹Ô¤Ã¤Æ¤¯¤ì¤ë¤³¤È¤òÁ°Äó¤Ë¤·¤Æ¤¤¤ë¡¢ ³ä¤êÀڤä¿ÊýË¡¤Ç¤Ï¤¢¤ê¤Þ¤¹¡£ ²¿¸Î¤Û¤È¤ó¤É¤Î¥²¡¼¥à¤¬ ¥¹¥¤¥Ã¥ÁÉÕ¤­¤À¤Èư¤«¤Ê¤¤¤ó¤Ç¤¹¤«? libalias ¤ò»È¤Ã¤Æ¤¤¤ë»þ¤Ë¥²¡¼¥à¤Ê¤É¤ÎÎà¤Î¤â¤Î¤¬Æ°ºî¤·¤Ê¤¤Íýͳ¤Ï¡¢ ³°Â¦¤Ë¤¢¤ë¥Þ¥·¥ó¤¬Àܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤«¡¢Æâ¦¤Ë¤¢¤ë¥Þ¥·¥ó¤Ë (;·×¤Ê) UDP ¥Ñ¥±¥Ã¥È¤òÁ÷¿®¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£ Æâ¦¤Î¥Þ¥·¥ó¤Ë¤³¤ì¤é¤Î¥Ñ¥±¥Ã¥È¤òÁ÷¤ë¤Ù¤­¤«¤Ë¤Ä¤¤¤Æ¡¢ NAT ¥½¥Õ¥È¥¦¥§¥¢¤Ï´ØÃΤ·¤Þ¤»¤ó¡£ ¤¦¤Þ¤¯Æ°¤«¤¹¤¿¤á¤Ë¤Ï¡¢ ¼Â¹ÔÃæ¤Î¤â¤Î¤¬ÌäÂê¤ÎȯÀ¸¤·¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤À¤±¤Ç¤¢¤ë¤«¤ò³Îǧ¤·¡¢ ¥²¡¼¥È¥¦¥§¥¤¤Î tun ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¤Æ tcpdump ¤ò¼Â¹Ô¤¹¤ë¤«¡¢ ¥²¡¼¥È¥¦¥§¥¤¾å¤Ç ppp ¤Î TCP/IP ¥í¥°µ­Ï¿¤òÍ­¸ú²½ (set log +tcp/ip) ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¹Ôµ·¤Î°­¤¤¥½¥Õ¥È¥¦¥§¥¢¤òµ¯Æ°¤¹¤ëºÝ¤Ë¡¢ ¥²¡¼¥È¥¦¥§¥¤¥Þ¥·¥ó¤òÄ̲᤹¤ë¥Ñ¥±¥Ã¥È¤ò´Æ»ë¤¹¤Ù¤­¤Ç¤¹¡£ ³°Â¦¤«¤é²¿¤«¥Ñ¥±¥Ã¥È¤¬Ìá¤Ã¤Æ¤­¤¿»þ¤Ë¡¢ ¤½¤Î¥Ñ¥±¥Ã¥È¤ÏÇË´þ¤µ¤ì¤ë¤Ç¤·¤ç¤¦ (¤½¤ì¤¬ÌäÂê¤Ê¤Î¤Ç¤¹)¡£ ¤³¤ì¤é¤Î¥Ñ¥±¥Ã¥È¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ËÃí°Õ¤·¤Æ¡¢ ¤½¤Î¹Ôµ·¤Î°­¤¤¥½¥Õ¥È¥¦¥§¥¢¤òÄä»ß¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤ò¿ô²ó·«¤êÊÖ¤·¤Æ¥Ý¡¼¥ÈÈֹ椬¾ï¤ËƱ¤¸¤Ç¤¢¤ë¤«¤ò³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ Ʊ¤¸¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ï¡¢ /etc/ppp/ppp.conf ¤ÎŬÀڤʥ»¥¯¥·¥ç¥ó¤Ë¼¡¤Î¹Ô¤òÆþ¤ì¤ë¤È¡¢ ¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ïưºî¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ nat port proto internalmachine:port port ¤³¤³¤Ç proto ¤Ï tcp ¤« udp ¤Ç¤¢¤ê¡¢ internalmachine ¤Ï¥Ñ¥±¥Ã¥È¤òÁ÷¤ê¤¿¤¤¥Þ¥·¥ó¡¢¤½¤·¤Æ port ¤Ï¥Ñ¥±¥Ã¥È¤ÎÁ÷¿®Àè¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹¡£ ¾åµ­¤Î¥³¥Þ¥ó¥É¤òÊѹ¹¤»¤º¤Ë¡¢ ¾¤Î¥Þ¥·¥ó¾å¤Ç¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ï¤·¤¿¤¯¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤½¤·¤ÆÆ±»þ¤ËÆó¤Ä¤ÎÆâÉô¤Î¥Þ¥·¥ó¾å¤Ç¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ï¡¢ ¤³¤Î¼ÁÌä¤ÎÈϰϤòͤ¨¤Æ¤¤¤Þ¤¹¡£·ë¶É¡¢³°Â¦¤ÎÀ¤³¦¤«¤é¤Ï¡¢ ÆâÉô¥Í¥Ã¥È¥ï¡¼¥¯Á´ÂΤ¬¤¿¤À°ì¤Ä¤Î¥Þ¥·¥ó¤È¤·¤Æ¸«¤¨¤ë¤Î¤Ç¤¹¡£ ¥Ý¡¼¥ÈÈֹ椬¾ï¤ËƱ¤¸¤È¤Ï¸Â¤é¤Ê¤¤¾ì¹ç¡¢¤µ¤é¤Ë»°¤Ä¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ libalias ¤Ç¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¤Ë¤·¡¢·ë²Ì¤òÁ÷¤êÉÕ¤±¤ë¡£ ÆÃÄê¤Î¾ì¹ç¤ÎÎã¤Ï /usr/src/lib/libalias/alias_*.c ¤Ë¤¢¤ê¤Þ¤¹ (alias_ftp.c ¤ÏÎɤ¤¥×¥í¥È¥¿¥¤¥×¤Ç¤¹)¡£¤³¤ì¤Ë¤ÏÄ̾³°¸þ¤­¤ÎÆÃÄê¤Î¥Ñ¥±¥Ã¥È¤òÆÉ¤ß¡¢ ÆâÉô¤Î·×»»µ¡¤Î¤¢¤ëÆÃÄê¤Î¥Ý¡¼¥È¤Ø¤ÎÀܳ¤ò³«»Ï¤¹¤ë¤è¤¦¤ÊÌ¿Î᤬¡¢ ³°Éô¤Î·×»»µ¡ÂФ·¤ÆÁ÷¤é¤ì¤Æ¤¤¤ë¤³¤È¤ò¸«Ê¬¤±¡¢ ¸å³¤Î¥Ñ¥±¥Ã¥È¤¬¤É¤³¤Ë¹Ô¤±¤Ð¤¤¤¤¤Î¤«¤¬Ê¬¤«¤ë¤è¤¦¤Ë¡¢ ¥¨¥¤¥ê¥¢¥¹¥Æ¡¼¥Ö¥ëÃæ¤Î route ¤ÎÉôʬ¤òÀßÄꤹ¤ë¡¢¤È¤¤¤¦ºî¶È¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ ¤³¤ì¤ÏºÇ¤âÆñ¤·¤¤ÊýË¡¤Ç¤¹¤¬¡¢ºÇ¤âÎɤ¤ÊýË¡¤Ç¤â¤¢¤ê¤Þ¤¹¤·¡¢¥½¥Õ¥È¥¦¥§¥¢¤¬ Ê£¿ô¤Î·×»»µ¡¤Çư¤¯¤è¤¦¤Ë¤Ç¤­¤Þ¤¹¡£ ¥×¥í¥­¥· (proxy) ¤ò»È¤¦¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¡¢¤¿¤È¤¨¤Ð socks5 ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤«¡¢(cvsup ¤Î¤è¤¦¤Ë) passive ¥ª¥×¥·¥ç¥ó¤ò»ý¤Ã¤Æ¤¤¤ë¤È¤³¤ÎÊýË¡¤¬»È¤¨¤Þ¤¹¡£ passive ¤È¤ÏÁê¼ê¦¤Î¤Û¤¦¤«¤éÀܳ¤òµá¤á¤Æ¤¯¤ë¤³¤È¤òÈò¤±¤ë¤¿¤á¤Ë¤¢¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ nat addr ¤ò»È¤Ã¤Æ¤Ê¤ó¤Ç¤â¤«¤ó¤Ç¤âÆâÉô¤Î·×»»µ¡¤Ë¸þ¤±¤ÆÎ®¤·¤Æ¤·¤Þ¤¦¡£ ¤³¤ì¤Ï¤Á¤ç¤Ã¤È̵ÍýÌðÍý¤Ê²ò·èË¡¤Ç¤¹¡£ Í­ÍѤʥݡ¼¥ÈÈÖ¹æ¤Î¥ê¥¹¥È¤Ï¤¢¤ê¤Þ¤»¤ó¤«? ¤Þ¤À½ÐÍè¤Æ¤¤¤Þ¤»¤ó¡£¤·¤«¤·¡¢ ¤³¤ì¤Ï (´Ø¿´¤ò»ý¤Ã¤ÆÄº¤±¤ë¤Ê¤é¤Ð) ¤½¤¦¤¤¤Ã¤¿¥ê¥¹¥È¤Ë¤·¤Æ¤¤¤¯Í½Äê¤Ç¤¹¡£ ¤½¤ì¤¾¤ì¤ÎÎã¤Ë¤¢¤ë internal ¤Ï¡¢ ¥²¡¼¥à¤ÇÍ·¤Ö¥Þ¥·¥ó¤Î IP ¥¢¥É¥ì¥¹¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£ Asheron's Call nat port udp internal:65000 65000 ¼êư¤Ç¥²¡¼¥à¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò 65000 ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Þ¥·¥ó¤¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥Þ¥·¥ó¤Ë½ÅÊ£¤·¤Ê¤¤¥Ý¡¼¥ÈÈÖ¹æ (¤Ä¤Þ¤ê 65001¡¢65002 ¤Ê¤É) ¤òÀßÄꤷ¡¢¤½¤ÎÀßÄꤴ¤È¤Ë nat port ¤Î¹Ô¤òÄɲä·¤Þ¤¹¡£ Half Life nat port udp internal:27005 27015 PCAnywhere 8.0 nat port udp internal:5632 5632 nat port tcp internal:5631 5631 Quake nat port udp internal:6112 6112 ¤³¤Î¤è¤¦¤ËÀßÄꤹ¤ëÂå¤ï¤ê¤Ë¡¢ www.battle.net ¤Ç Quake ¤Î¥×¥í¥­¥· (proxy) ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤«Ä´¤Ù¤Æ¤â¤¤¤¤¤Ç¤·¤ç¤¦¡£ Quake2 alias port udp internal:27901 27910 Red Alert nat port udp internal:8675 8675 nat port udp internal:5009 5009 FCS ¥¨¥é¡¼¤Ã¤Æ²¿? FCS ¤È¤Ï Frame Check Sequence (¥Õ¥ì¡¼¥à¥Á¥§¥Ã¥¯¥·¡¼¥±¥ó¥¹) ¤Îά¤Ç¤¹¡£ ¸Ä¡¹¤Î ppp ¥Ñ¥±¥Ã¥È¤Ë¤Ï¡¢ Á÷¼õ¿®¤¹¤ë¥Ç¡¼¥¿¤¬Àµ¤·¤¤¤«¤òÄ´¤Ù¤ë¤¿¤á¤Î¥Á¥§¥Ã¥¯¥µ¥à¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¼õ¿®¤·¤¿¥Ñ¥±¥Ã¥È¤Î FCS ¤¬Àµ¤·¤¯¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥Ñ¥±¥Ã¥È¤ÏÇÑ´þ¤µ¤ì¡¢ HDLC FCS ¥«¥¦¥ó¥È¤¬Áý¤ä¤µ¤ì¤Þ¤¹¡£ HDLC ¥¨¥é¡¼¤Î¿ô¤Ï¡¢ show hdlc ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÉ½¼¨¤Ç¤­¤Þ¤¹¡£ ¥ê¥ó¥¯¤ÎÉʼÁ¤¬°­¤«¤Ã¤¿¤ê¡¢ ¥·¥ê¥¢¥ë¥É¥é¥¤¥Ð¤¬¥Ñ¥±¥Ã¥È¤ò¼è¤ê¤³¤Ü¤·¤Æ¤¤¤¿¤ê¤¹¤ë¤È¡¢ FCS ¥¨¥é¡¼¤¬¤¿¤Ó¤¿¤ÓȯÀ¸¤·¤Þ¤¹¡£ FCS ¥¨¥é¡¼¤Ï¡¢ °µ½Ì¥×¥í¥È¥³¥ë¤Î®ÅÙÄã²¼¤Î¸¶°ø¤Ë¤Ï¤Ê¤ê¤Þ¤¹¤¬¡¢ ÆÃ¤Ë¿´ÇÛ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ³°ÉÕ¤±¥â¥Ç¥à¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¥±¡¼¥Ö¥ë¤¬¤Á¤ã¤ó¤È¥·¡¼¥ë¥É¤µ¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢ FCS ¥¨¥é¡¼¤Î¸¶°ø¤È¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ Àܳľ¸å¤«¤é¥ê¥ó¥¯¤¬¥Õ¥ê¡¼¥º¤·¡¢ÂçÎ̤ΠFCS ¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¾ì¹ç¤Ï¡¢ ¥ê¥ó¥¯¤¬ 8 ¥Ó¥Ã¥È¥¯¥ê¡¼¥ó¤Ç¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ ¥½¥Õ¥È¥¦¥§¥¢¥Õ¥í¡¼À©¸æ (XON/XOFF) ¤¬»È¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤É¤¦¤·¤Æ¤â¥½¥Õ¥È¥¦¥§¥¢¥Õ¥í¡¼À©¸æ¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤Ï¡¢ set accmap 0x000a0000 ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢ ppp ¤Ë ^Q ¤È ^S ¤ò¥¨¥¹¥±¡¼¥×¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£ ¥ê¥â¡¼¥È¥Û¥¹¥È¤¬ PPP ¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Æ¤Ê¤¤¾ì¹ç¤â¡¢ÂçÎ̤ΠFCS ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¥í¥°¤ò¤È¤ê¤Ê¤¬¤éÈ󯱴ü¤ÇÀܳ¤·¡¢ ¥í¥°¥¤¥ó¥×¥í¥ó¥×¥È¤ä¥·¥§¥ë¥×¥í¥ó¥×¥È¤¬Á÷¤é¤ì¤ÆÍè¤Æ¤¤¤Ê¤¤¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥í¥°¥Õ¥¡¥¤¥ë¤Ë¥ê¥ó¥¯¤ò½ªÎ»¤·¤¿¸¶°ø¤È¤Ê¤ë¤è¤¦¤Êµ­Ï¿¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢ ¥ê¥â¡¼¥È¥Û¥¹¥È (¥×¥í¥Ð¥¤¥À?) ¤Î´ÉÍý¼Ô¤Ë¡¢ ¥»¥Ã¥·¥ç¥ó¤ò½ªÎ»¤µ¤ì¤¿Íýͳ¤ò¿Ò¤Í¤Æ¤¯¤À¤µ¤¤¡£ ¥²¡¼¥È¥¦¥§¥¤¤Ç PPPoE ¤ò¼Â¹Ô¤¹¤ë¤È MacOS ¤ä Windows 98 ¤È¤ÎÀܳ¤¬¥Õ¥ê¡¼¥º¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¤¬¡¢ ¤³¤ì¤Ï¤Ê¤¼¤Ê¤Î¤Ç¤·¤ç¤¦¤«? Michael Wozniak mwozniak@netcom.ca »á¤¬¡¢¤³¤Î¸½¾Ý¤Ë´Ø¤·¤ÆÀâÌÀ¤·¤Æ¤¯¤ì¤Þ¤·¤¿¡£ ¤Þ¤¿¡¢Dan Flemming danflemming@mac.com »á¤Ï MacOS ¤Ç¤Î²ò·èºö¤òÄ󶡤·¤Æ¤¯¤ì¤Þ¤·¤¿¡£ ¾ðÊó¤ÎÄ󶡤˴¶¼Õ¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¤¤¤ï¤æ¤ë¡Ö¥Ö¥é¥Ã¥¯¥Û¡¼¥ë¥ë¡¼¥¿ (Black Hole router)¡×¤Ë¸¶°ø¤¬¤¢¤ê¤Þ¤¹¡£ Windows 98 ¤È MacOS (¤ª¤è¤Ó¡¢¤ª¤½¤é¤¯Â¾¤Î Microsoft ¼ÒÀ½ OS) ¤Î TCP ¥Ñ¥±¥Ã¥ÈÁ÷½Ð¤Ï¡¢ PPPoE ¤Î¥Õ¥ì¡¼¥à (Ethernet ¤Î MTU ¤Ïɸ½à¤Ç 1500) ¤ËÆþ¤é¤Ê¤¤¤è¤¦¤ÊÂ礭¤Ê¥»¥°¥á¥ó¥È¥µ¥¤¥º¤òÍ׵ᤷ¤Þ¤¹¡£ ¤½¤·¤Æ¤µ¤é¤Ëʬ³ä¶Ø»ß (don't fragment) ¥Õ¥é¥°¥Ó¥Ã¥È¤ò (TCP ¥Ñ¥±¥Ã¥È¤Ë¥Ç¥Õ¥©¥ë¥È¤Ç) ¥»¥Ã¥È¤¹¤ë¤Î¤Ç¤¹¤¬¡¢ Telco ¤Î¥ë¡¼¥¿¤Ï¡¢Ê¬³ä¤¬É¬¿Ü ("must fragment") ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹ ICMP ¥á¥Ã¥»¡¼¥¸¤ò¡¢Àܳ¤·¤è¤¦¤È¤¹¤ë¥¦¥§¥Ö¥µ¥¤¥È¤ËÂФ·¤ÆÁ÷½Ð¤·¤Þ¤»¤ó (¤Ä¤Þ¤ê¡¢¥ë¡¼¥¿¤ÏÀµ¤·¤¯ ICMP ¥Ñ¥±¥Ã¥È¤òÁ÷½Ð¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢ ¥¦¥§¥Ö¥µ¥¤¥È¤Î¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤¬¤½¤ì¤òÍî¤È¤·¤Æ¤¤¤ë¤Î¤Ç¤¹)¡£ ¤½¤Î¤¿¤á¥¦¥§¥Ö¥µ¡¼¥Ð¤¬ PPPoE Àܳ¤ËÂФ·¤ÆÂ礭¤¹¤®¤ë¥Õ¥ì¡¼¥à¤òÁ÷½Ð¤¹¤ë¤È Telco ¤Î¥ë¡¼¥¿¤Ï¤½¤Î¥Õ¥ì¡¼¥à¤ò¼Î¤Æ¤Æ¤·¤Þ¤¤¡¢ ¸«¤è¤¦¤È¤·¤¿¥Ú¡¼¥¸¤¬É½¼¨¤µ¤ì¤Ê¤¤¤È¤¤¤¦¾É¾õ¤¬¸½¤ï¤ì¤Þ¤¹ (MSS ¤è¤ê¾®¤µ¤¤¥Ú¡¼¥¸¤ä²èÁü¤Ïɽ¼¨¤µ¤ì¤Þ¤¹)¡£ ¤Û¤È¤ó¤É¤Î Telco PPPoE ÀßÄê¤Ï¡¢É¸½à¤Ç¤³¤Î¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£ (¤¢¤¢¡¢Èà¤é¤¬¥ë¡¼¥Æ¥£¥ó¥°¥×¥í¥°¥é¥à¤Îºî¤êÊý¤òÍý²ò¤·¤Æ¤µ¤¨¤¤¤ì¤Ð¡Ä)¡£ °ì¤Ä¤Î²ò·èË¡¤Ï¡¢Windows 95/98 ¥Þ¥·¥ó¤Ç regedit ¤ò»È¤¤¡¢ ¼¡¤Î¥ì¥¸¥¹¥È¥ê¥¨¥ó¥È¥ê¤òÄɲ乤뤳¤È¤Ç¤¹¡£ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU ¥ì¥¸¥¹¥È¥ê¥¨¥ó¥È¥ê¤Ï¡¢1450 ¤ÎÃÍ (¤â¤Ã¤ÈÀµ³Î¤Ë¸À¤¦¤È¡¢TCP ¥Ñ¥±¥Ã¥È¤ò PPPoE ¥Õ¥ì¡¼¥à¤Ë´°Á´¤ËŬ¹ç¤µ¤»¤ë¤Ë¤Ï 1464 ¤Ç¤¢¤ë¤Ù¤­¤Ç¤Ç¤¹¤¬¡¢ 1450 ¤È¤¹¤ë¤È¡¢¸½¤ï¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¾¤Î IP ¥×¥í¥È¥³¥ë¤ËÂФ·¤Æ¥¨¥é¡¼¥Þ¡¼¥¸¥ó¤ò³ÎÊݤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹) ¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¥ì¥¸¥¹¥È¥ê¥­¡¼¤Ï¡¢Windows2000 ¤Ç Tcpip\Parameters\Interfaces\ID for adapter\MTU ¤Ë°Ü¤µ¤ì¤¿¤È¤¤¤¦Êó¹ð¤¬¤¢¤ê¤Þ¤·¤¿¡£ FreeBSD/NAT/PPPoE ¥ë¡¼¥¿¤È¶¦Â¸¤µ¤»¤ë¤¿¤á¤Ë Windoze ¤Î MTU ¤òÊѹ¹¤¹¤ëÊýË¡¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ï¡¢ Microsoft Knowledge Base ¤Ë¤¢¤ë¡¢ ÈÖ¹æ Q158474 - Windows TCPIP Registry Entries¡¢ ¤ª¤è¤ÓÈÖ¹æ Q120642 - TCPIP & NBT Configuration Parameters for Windows NT ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ »Äǰ¤Ê¤³¤È¤Ë¡¢MacOS ¤Ë¤Ï TCP/IP ÀßÄê¤òÊѹ¹¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢Sustainable Softworks ¼Ò ¤¬ÈÎÇ䤷¤Æ¤¤¤ë OTAdvancedTuner (OT ¤Ï OpenTransport ¤È¤¤¤¦ MacOS ¤Î TCP/IP ¥¹¥¿¥Ã¥¯¤Î̾Á°¤Î¤³¤È) ¤Î¤è¤¦¤Ê¾¦ÍÑ¥½¥Õ¥È¥¦¥§¥¢¤¬Â¸ºß¤·¤Þ¤¹¡£ ¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ï¡¢¥æ¡¼¥¶¤«¤é TCP/IP ÀßÄê¤ÎÊѹ¹¤ò¹Ô¤Ê¤¦¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ MacOS NAT ¥æ¡¼¥¶¤Ï¥É¥í¥Ã¥×¥À¥¦¥ó¥á¥Ë¥å¡¼¤«¤é ip_interface_MTU ¤òÁªÂò¤·¡¢ ¥Ü¥Ã¥¯¥¹¤Ë¤¢¤ë 1500 ¤ÎÂå¤ï¤ê¤Ë 1450 ¤òÆþÎϤ·¡¢ Save as Auto Configure ¤ÎÎ٤Υܥ寥¹¤ò¥¯¥ê¥Ã¥¯¤·¤Æ Make Active ¤ò¥¯¥ê¥Ã¥¯¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ppp ¤ÎºÇ¿·ÈÇ (2.3 ¤«¤½¤ì°Ê¹ß) ¤Ë¤Ï¡¢¼«Æ°Åª¤Ë MSS ¤òŬÀÚ¤ÊÃͤËÄ´À᤹¤ë enable tcpmssfixup ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Îµ¡Ç½¤Ïɸ½à¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤â¤·µì¥Ð¡¼¥¸¥ç¥ó¤Î ppp ¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾õ¶·¤Ë¤¢¤ë¤Ê¤é¡¢ tcpmssd ¤Î port ¤ò¤´Í÷¤Ë¤Ê¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ ¤É¤ì¤Ë¤âÅö¤Æ¤Ï¤Þ¤é¤Ê¤¤! ¤É¤¦¤·¤¿¤é¤¤¤¤¤Î? ¤³¤ì¤Þ¤Ç¤Î¤¹¤Ù¤Æ¤Î¼ÁÌä¤ËÅö¤Æ¤Ï¤Þ¤é¤Ê¤¤¾ì¹ç¡¢ÀßÄê¥Õ¥¡¥¤¥ë¡¢ ppp ¤Î¼Â¹ÔÊýË¡¡¢¥í¥°¥Õ¥¡¥¤¥ë¤Î³ºÅöÉôʬ¤È netstat -rn ¥³¥Þ¥ó¥É¤Î½ÐÎÏ (ÀܳÁ°¤ÈÀܳ¸å) ¤ò´Þ¤à¡¢ ¤¢¤Ê¤¿¤Î»ý¤Ã¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¾ðÊó¤ò &a.questions; ¤ä comp.unix.bsd.freebsd.misc ¥Ë¥å¡¼¥¹¥°¥ë¡¼¥×¤ØÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£Ã¯¤«¤¬¤¢¤Ê¤¿¤òÀµ¤·¤¤Êý¸þ¤ØÆ³¤¤¤Æ¤¯¤ì¤ë¤Ç¤·¤ç¤¦¡£ ¥·¥ê¥¢¥ëÀܳ Ìõ: °ìµÜ μ ryo@azusa.shinshu-u.ac.jp¡¢ 1997 ǯ 11 ·î 16 Æü ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢FreeBSD ¤Ç¥·¥ê¥¢¥ëÀܳ¤ò¤¹¤ë»þ¤Î°ìÈÌŪ¤Ê¼ÁÌä¤ËÅú¤¨¤Þ¤¹¡£ PPP ¤ª¤è¤Ó SLIP ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ ¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤É¤¦¤ä¤Ã¤¿¤é FreeBSD ¤¬¥·¥ê¥¢¥ë¥Ý¡¼¥È¤òǧ¼±¤·¤¿¤³¤È¤òÃΤë»ö¤¬¤Ç¤­¤Þ¤¹¤«? FreeBSD ¤Î¥«¡¼¥Í¥ë¤¬µ¯Æ°¤¹¤ë»þ¡¢¥«¡¼¥Í¥ë¤Ï¤½¤ÎÀßÄê¤Ë¤·¤¿¤¬¤Ã¤Æ¡¢ ¥·¥¹¥Æ¥à¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ò¸¡½Ð¤·¤Þ¤¹¡£µ¯Æ°»þ¤Ëɽ¼¨¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤ò¤è¤¯´Ñ»¡¤¹¤ë¤«¡¢ µ¯Æ°¸å¤Ë¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë»ö¤Ë¤è¤Ã¤Æ³Îǧ¤Ç¤­¤Þ¤¹¡£ dmesg | grep sio ¤³¤³¤Ë¾å¤Ëµó¤²¤¿¥³¥Þ¥ó¥É¤Î½ÐÎÏÎã¤ò¼¨¤·¤Þ¤¹¡£ sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A ¤³¤ì¤Ï¡¢Æó¤Ä¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£1 ÈÖÌܤϡ¢ irq ¤¬ 4 ¤Ç 0x3f8 ¤Î¥Ý¡¼¥È¥¢¥É¥ì¥¹¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ ¤½¤·¤Æ¡¢16550A-type UART ¥Á¥Ã¥×¤¬Â¸ºß¤·¤Þ¤¹¡£ 2 ÈÖÌܤϡ¢Æ±¤¸¥Á¥Ã¥×¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢ irq ¤Ï 3 ¤Ç¡¢0x2f8 ¤Î¥Ý¡¼¥È¥¢¥É¥ì¥¹¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£Æâ¢¤Î¥â¥Ç¥à¥«¡¼¥É¤Ï¡¢ Ä̾ï¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ÈƱ¤¸¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹¤¬¡¢ ¾ï»þ¥·¥ê¥¢¥ë¥Ý¡¼¥È¤Ë¥â¥Ç¥à¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë¤È¤¤¤¦ÅÀ¤Ç°Û¤Ê¤ê¤Þ¤¹¡£ GENERIC ¥«¡¼¥Í¥ë¤Ï¡¢¾å¤ÎÎã¤ÈƱ¤¸ irq ¤È¥Ý¡¼¥È¥¢¥É¥ì¥¹¤ÎÀßÄê¤ÎÆó¤Ä¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÀßÄ꤬¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤Ë¹ç¤ï¤Ê¤¤¾ì¹ç¡¢ ¤Þ¤¿¤Ï¥â¥Ç¥à¥«¡¼¥É¤òÄɲä·¤¿¾ì¹ç¤ä¥«¡¼¥Í¥ë¤ÎÀßÄê°Ê¾å¤Ë¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¾Ü¤·¤¯¤Ï¡¢ ¥«¡¼¥Í¥ë¤Î¹½Ãۤιà¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤É¤¦¤ä¤Ã¤¿¤é FreeBSD ¤¬¥â¥Ç¥à¥«¡¼¥É¤òǧ¼±¤·¤¿¤³¤È¤òÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¤«? Á°¤Î¼ÁÌä¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD 2.0.5 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¤é tty0X ¤¬¸«¤Ä¤«¤é¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤¹¤¬ ¿´ÇÛ¤¢¤ê¤Þ¤»¤ó¡£ ttydX ¤ËÅý¹ç¤µ¤ì¤Þ¤·¤¿¡£ ¤¿¤À¡¢¸Å¤¤ÀßÄê¥Õ¥¡¥¤¥ë¤Î¤¹¤Ù¤Æ¤ò¹¹¿·¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤É¤¦¤ä¤Ã¤¿¤é FreeBSD ¤Ç¥·¥ê¥¢¥ë¥Ý¡¼¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¤«? 3 ÈÖÌܤΥݡ¼¥È sio2 (&man.sio.4; ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£DOS ¤Ç¤Ï¡¢COM3 ¤È¸Æ¤Ð¤ì¤Þ¤¹¡£) ¤Ë¤Ï¡¢ ¥À¥¤¥ä¥ë¥¢¥¦¥È¥Ç¥Ð¥¤¥¹¤È¤·¤Æ¤Ï /dev/cuaa2¡¢ ¥À¥¤¥ä¥ë¥¤¥ó¥Ç¥Ð¥¤¥¹¤È¤·¤Æ /dev/ttyd2 ¤¬¤¢¤ê¤Þ¤¹¡£ ¤½¤ì¤Ç¤Ï¤³¤Îξ¼Ô¤Ë¤Ï¤É¤Î¤è¤¦¤Ê°ã¤¤¤¬¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«? ¤Þ¤º¡¢¥À¥¤¥ä¥ë¥¤¥ó¤Î»þ¤Ë¤Ï ttydX ¤ò»È¤¤¤Þ¤¹¡£ /dev/ttydX ¤ò¥Ö¥í¥Ã¥­¥ó¥°¥â¡¼¥É¤Ç¥ª¡¼¥×¥ó¤¹¤ë¤È¡¢¥×¥í¥»¥¹¤ÏÂбþ¤¹¤ë cuaaX ¥Ç¥Ð¥¤¥¹¤¬¥¤¥ó¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤ë¤Î¤òÂÔ¤Á¤Þ¤¹¡£ ¼¡¤Ë CD ¿®¹æ¤¬¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤ë¤Î¤òÂÔ¤Á¤Þ¤¹¡£ cuaaX ¥Ç¥Ð¥¤¥¹¤ò¥ª¡¼¥×¥ó¤¹¤ë¤È¡¢¥·¥ê¥¢¥ë¥Ý¡¼¥È¤¬ ttydX ¥Ç¥Ð¥¤¥¹¤Ë¤è¤Ã¤Æ¤¹¤Ç¤Ë»È¤ï¤ì¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£ ¤â¤·¤³¤Î¥Ý¡¼¥È¤¬»ÈÍѲÄǽ¤Ç¤¢¤ì¤Ð¡¢¥Ý¡¼¥È¤Î»ÈÍѸ¢¤ò ttydX ¤«¤é¡ÖÃ¥¤¤¼è¤ë¡×¤Î¤Ç¤¹¡£¤Þ¤¿¡¢ cuaaX ¥Ç¥Ð¥¤¥¹¤Ï CD ¿®¹æ¤ò´Æ»ë¤·¤Þ¤»¤ó¡£ ¤³¤Î»ÅÁȤߤȼ«Æ°±þÅú¥â¥Ç¥à¤Ë¤è¤Ã¤Æ¡¢ ¥ê¥â¡¼¥È¥æ¡¼¥¶¡¼¤ò¥í¥°¥¤¥ó¤µ¤»¤¿¤ê¡¢ Ʊ¤¸¥â¥Ç¥à¤Ç¥À¥¤¥ä¥ë¥¢¥¦¥È¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢ ¥·¥¹¥Æ¥à¤Î¤¢¤é¤æ¤ë¥È¥é¥Ö¥ë¤ÎÌÌÅݤò¸«¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ ¥Þ¥ë¥Á¥Ý¡¼¥È¥·¥ê¥¢¥ë¥«¡¼¥É¤ò¥µ¥Ý¡¼¥È¤µ¤»¤ë¤Ë¤Ï¤É¤¦¤·¤¿¤é¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«? ·«¤êÊÖ¤·¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢ ¤¢¤Ê¤¿¤Î¥«¡¼¥Í¥ë¤ÎÀßÄê¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󤬯À¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£ ¥Þ¥ë¥Á¥Ý¡¼¥È¥·¥ê¥¢¥ë¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¥«¡¼¥Í¥ë¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ë¡¢ ¥«¡¼¥É¤Î»ý¤Ä¤½¤ì¤¾¤ì¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ËÂбþ¤¹¤ë &man.sio.4; ¤Î¹Ô¤òµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤·¤«¤·¡¢ irq ¤È¥Ù¥¯¥¿¥¢¥É¥ì¥¹¤Ï°ì¤Ä¤Î¥¨¥ó¥È¥ê¤Ë¤Î¤ßµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥«¡¼¥É¾å¤Î¤¹¤Ù¤Æ¤Î¥Ý¡¼¥È¤Ï°ì¤Ä¤Î irq ¤ò¶¦Í­¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ °ì´ÓÀ­¤ò»ý¤¿¤»¤ë¤¿¤á¤Ë¤â¡¢ ºÇ¸å¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤Î½ê¤Ç irq ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢COM_MULTIPORT ¥ª¥×¥·¥ç¥ó¤âÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£ ¼¡¤Ë¼¨¤¹Îã¤Ï¡¢AST ¤Î 4 ¥Ý¡¼¥È¥·¥ê¥¢¥ë¥«¡¼¥É¤ò irq 7 ¤ÇÀßÄꤷ¤¿¤â¤Î¤Ç¤¹¡£ options "COM_MULTIPORT" device sio4 at isa? port 0x2a0 tty flags 0x781 device sio5 at isa? port 0x2a8 tty flags 0x781 device sio6 at isa? port 0x2b0 tty flags 0x781 device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr ¤³¤Î¥Õ¥é¥°¤Ï¥Þ¥¹¥¿¥Ý¡¼¥È¤¬¥Þ¥¤¥Ê¡¼ÈÖ¹æ 7 (0x700) ¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢ ¸¡½Ð»þ¤Î¿ÇÃǵ¡Ç½¤òÍ­¸ú¤Ë¤· (0x080)¡¢ ¤½¤·¤Æ¤¹¤Ù¤Æ¤Î¥Ý¡¼¥È¤Ç irq ¤ò¶¦Í­¤¹¤ë (0x001) ¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£ FreeBSD ¤ÇÊ£¿ô¤Î¥Þ¥ë¥Á¥Ý¡¼¥È¥·¥ê¥¢¥ë¥«¡¼¥É´Ö¤Ç irq ¤ò¶¦Í­¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤«? ¸½ºß¤Î¤È¤³¤í¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤½¤ì¤¾¤ì¤Î¥«¡¼¥ÉËè¤Ë°Û¤Ê¤Ã¤¿ irq ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¥Ý¡¼¥È¤Ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥é¥á¡¼¥¿¤òÀßÄꤹ¤ë»ö¤Ï½ÐÍè¤Þ¤¹¤«? ttydX ¥Ç¥Ð¥¤¥¹ (¤Þ¤¿¤Ï cuaaX ¥Ç¥Ð¥¤¥¹) ¤Ï¡¢ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¤¿¤á¤Ë¥ª¡¼¥×¥ó¤¹¤ëɸ½àŪ¤Ê¥Ç¥Ð¥¤¥¹¤Ç¤¹¡£ ¥×¥í¥»¥¹¤¬¤½¤Î¥Ý¡¼¥È¤ò¥ª¡¼¥×¥ó¤¹¤ë»þ¡¢ ¥×¥í¥»¥¹¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎüËö I/O ÀßÄê¤ò¼èÆÀ¤·¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÀßÄê¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤Ç³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ stty -a -f /dev/ttyd1 ¤³¤Î¥Ç¥Ð¥¤¥¹¤ËÂФ¹¤ëÀßÄê¤òÊѹ¹¤·¤¿¾ì¹ç¡¢ ¤½¤ÎÀßÄê¤Ï¥Ç¥Ð¥¤¥¹¤ò¥¯¥í¡¼¥º¤¹¤ë¤Þ¤ÇÍ­¸ú¤Ç¤¹¡£ ¥Ç¥Ð¥¤¥¹¤òºÆ¥ª¡¼¥×¥ó¤·¤¿¾ì¹ç¡¢¤½¤ì¤é¤ÎÀßÄê¤Ï¥Ç¥Õ¥©¥ë¥È¤ËÌá¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ËÊѹ¹¤ò²Ã¤¨¤ë¤¿¤á¤Ë¡¢ ¡Ö½é´üÀßÄê¡×¥Ç¥Ð¥¤¥¹¤ò¥ª¡¼¥×¥ó¤·¡¢ ÀßÄê¤ò½¤Àµ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢CLOCAL ¥â¡¼¥É¡¢8 ¥Ó¥Ã¥È¡¢ XON/XOFF ¥Õ¥í¡¼À©¸æ¤È¤¤¤¦ÀßÄê¤ò ttyd5 ¤Î¥Ç¥Õ¥©¥ë¥È¤Ë¤·¤¿¤¤¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¹Ô¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£ stty -f /dev/ttyid5 clocal cs8 ixon ixoff ¤³¤ÎÀßÄê¤ò¹Ô¤Ê¤¦¤¿¤á¤Î¥³¥Þ¥ó¥É¤òµ­½Ò¤¹¤ë¤Î¤ËŬÀڤʥե¡¥¤¥ë¤Ï¡¢ /etc/rc.serial ¤Ç¤¹¡£ ¤³¤ì¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ ttyd5 ¤ò¥ª¡¼¥×¥ó¤·¤¿»þ¤Ë¡¢ ¤³¤ì¤é¤ÎÀßÄê¤ò¥Ç¥Õ¥©¥ë¥È¤Ç¼èÆÀ¤·¤Þ¤¹¡£ ¤·¤«¤·¡¢¤³¤¦¤¤¤Ã¤¿¥ê¥ó¥¯¤Ë¤è¤ëÀßÄê¤ÏÊѹ¹²Äǽ¤Ç¤¹¡£ ¡ÖÀßÄê¸ÇÄê¡×¥Ç¥Ð¥¤¥¹¤òÄ´À°¤·¤Æ¤ä¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤ëÀßÄê¤ÎÊѹ¹¤ò¶Ø»ß¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢ttyd5 ¤ÎÄÌ¿®Â®ÅÙ¤ò 57600bps ¤Ë¸ÇÄꤹ¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; stty -f /dev/ttyld5 57600 ¤³¤ì¤Ë¤è¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï ttyd5 ¤ò¥ª¡¼¥×¥ó¤·¡¢¥Ý¡¼¥È¤ÎÄÌ¿®Â®ÅÙ¤òÊѹ¹¤·¤è¤¦¤È¤·¤Þ¤¹¤¬¡¢ ÄÌ¿®Â®ÅÙ¤Ï 57600bps ¤Î¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤¹¡£ ÅöÁ³¤Î¤³¤È¤Ê¤¬¤é¡¢½é´üÀßÄê¥Ç¥Ð¥¤¥¹¤ª¤è¤Ó¡¢ÀßÄê¸ÇÄê¥Ç¥Ð¥¤¥¹¤Ï root ¤Î¤ß¤¬½ñ¤­¹þ¤ß¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢&man.MAKEDEV.8; ¥¹¥¯¥ê¥×¥È¤Ï¥Ç¥Ð¥¤¥¹¥¨¥ó¥È¥ê¤òºîÀ®¤¹¤ë»þ¤Ë¡¢ ¤³¤Î¤è¤¦¤ÊÀßÄê¤Ï¹Ô¤¤¤Þ¤»¤ó¡£ ¤É¤Î¤è¤¦¤Ë¤·¤¿¤é¥â¥Ç¥à·Ðͳ¤Ç¥À¥¤¥ä¥ë¥¢¥Ã¥×¥í¥°¥¤¥ó¤¬¤Ç¤­¤ë¤Î¤Ç¤·¤ç¤¦¤«? ¤Ä¤Þ¤ê¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¡¼¤Ë¤Ê¤ê¤¿¤¤¤Î¤Ç¤¹¤Í¡£ ¤½¤ì¤Ë¤Ï¤Þ¤º¡¢1 Âæ¤Ê¤¤¤·Ê£¿ô¤Î¼«Æ°±þÅú¥â¥Ç¥à¤¬É¬ÍפǤ¹¡£ ¥â¥Ç¥à¤Ë¤Ï¡¢¥­¥ã¥ê¥¢¡¼¤ò¸¡½Ð¤·¤¿»þ¤Ë¤Ï CD ¿®¹æ¤ò½ÐÎϤ·¡¢ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï½ÐÎϤ·¤Ê¤¤¤³¤È¤¬É¬ÍפȤµ¤ì¤Þ¤¹¡£ ¤Þ¤¿ DTR ¿®¹æ¤¬ on ¤«¤é off ¤Ë¤Ê¤Ã¤¿»þ¤Ë¤Ï¡¢ ÅÅÏòóÀþ¤òÀÚÃǤ·¡¢¥â¥Ç¥à¼«¿È¤ò¥ê¥»¥Ã¥È¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤ª¤½¤é¤¯¡¢RTS/CTS ¥Õ¥í¡¼À©¸æ¤ò»È¤¦¤«¡¢ ¥í¡¼¥«¥ë¥Õ¥í¡¼À©¸æ¤ò¤Þ¤Ã¤¿¤¯»È¤ï¤Ê¤¤¤«¤Î¤É¤Á¤é¤«¤Ç¤·¤ç¤¦¡£ ºÇ¸å¤Ë¡¢¥³¥ó¥Ô¥å¡¼¥¿¤È¥â¥Ç¥à¤Î´Ö¤Ï¸ÇÄê®Å٤Ǥʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤¿¤À¡¢(¥À¥¤¥ä¥ë¥¢¥Ã¥×¤Îȯ¸Æ¼Ô¤ËÂФ·¤Æ¿ÆÀڤǤ¢¤ë¤¿¤á¤Ë¤Ï¡¢ ) ¤³¤Á¤é¤Î¥â¥Ç¥à¤ÈÁê¼ê¦¤Î¥â¥Ç¥à¤Î´Ö¤Î®ÅÙ¤ò¡¢ ¥â¥Ç¥à´Ö¤Ç¼«Æ°Ä´À°¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤Ù¤­¤Ç¤·¤ç¤¦¡£ ¿¤¯¤¢¤ë¥Ø¥¤¥º¥³¥Þ¥ó¥É¸ß´¹¥â¥Ç¥à¤ËÂФ·¤Æ¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¤³¤ì¤é¤ÎÀßÄê¤ò¹Ô¤Ê¤¤¡¢ ¤½¤ÎÀßÄê¤òÉÔ´øÈ¯À­¥á¥â¥ê¡¼¤ËÊݸ¤·¤Þ¤¹¡£ AT&C1&D3&K3&Q6S0=1&W MS-DOS ¤Î¥¿¡¼¥ß¥Ê¥ë¥×¥í¥°¥é¥à¤ËÍê¤é¤º¤Ë AT ¥³¥Þ¥ó¥É¤òÁ÷½Ð¤¹¤ë¤Ë¤Ï¡¢ ¡ÖAT ¥³¥Þ¥ó¥É¤òÆþÎϤ¹¤ë¤Ë¤Ï¡×¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¼¡¤Ë¡¢¥â¥Ç¥àÍѤΥ¨¥ó¥È¥ê¤ò /etc/ttys (&man.ttys.5; »²¾È) ¤ËºîÀ®¤·¤Þ¤·¤ç¤¦¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢ ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬¥í¥°¥¤¥ó¤òÂԤäƤ¤¤ë¤¹¤Ù¤Æ¤Î¥Ý¡¼¥È¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ °Ê²¼¤Î¤è¤¦¤Ê¹Ô¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ ttyd1 "/usr/libexec/getty std.57600" dialup on insecure ¤³¤Î¹Ô¤Ï¡¢2 ÈÖÌܤΥ·¥ê¥¢¥ë¥Ý¡¼¥È (/dev/ttyd1) ¤Ë¤Ï¡¢ 57600bps ¤ÎÄÌ¿®Â®Å٤ǥΥó¥Ñ¥ê¥Æ¥£ (std.57600: ¤³¤ì¤Ï /etc/gettytab ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£&man.gettytab.5; »²¾È) ¤Î¥â¥Ç¥à¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¥Ý¡¼¥È¤ÎüËö¥¿¥¤¥×¤Ï dialup ¤Ç¤¹¡£ ¤Þ¤¿¤³¤Î¥Ý¡¼¥È¤Ï¡¢on ¤¹¤Ê¤ï¤Á¥í¥°¥¤¥ó²Äǽ¤Ç¤¢¤ê¡¢insecure ¤Ç¤¹¡£ ¤³¤ì¤Ï root ¤¬¤³¤Î¥Ý¡¼¥È¤«¤éľÀÜ¥í¥°¥¤¥ó¤¹¤ë¤Î¤Ï¡¢ µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¥À¥¤¥ä¥ë¥¤¥ó¥Ý¡¼¥È¤ËÂФ·¤Æ¤Ï¡¢ ttydX ¤Î¥¨¥ó¥È¥ê¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤¬°ìÈÌŪ¤Ê¡¢¥¿¡¼¥ß¥Ê¥ë¥¿¥¤¥×¤È¤·¤Æ dialup ¤ò»È¤¦ÊýË¡¤Ç¤¹¡£Â¿¤¯¤Î¥æ¡¼¥¶¡¼¤Ï¡¢ .profile ¤ä .login ¤Ç¡¢ ¥í¥°¥¤¥ó»þ¤ÎüËö¥¿¥¤¥×¤¬ dialup ¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ ¼ÂºÝ¤ÎüËö¥¿¥¤¥×¤ò¥æ¡¼¥¶¡¼¤ËÌ䤤¹ç¤ï¤»¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¤³¤ÎÎã¤Ï¡¢¥Ý¡¼¥È¤¬ insecure ¤Ç¤·¤¿¡£¤³¤Î¥Ý¡¼¥È¤Ç root ¤Ë¤Ê¤ë¤Ë¤Ï¡¢ °ìÈ̥桼¥¶¡¼¤È¤·¤Æ¥í¥°¥¤¥ó¤·¡¢¤½¤ì¤«¤é su ¤ò»È¤Ã¤Æ root ¤Ë¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¡¢secure ¤ò»ØÄꤷ¤¿¤Ê¤é¤Ð¡¢ ľÀÜ root ¤¬¤½¤Î¥Ý¡¼¥È¤«¤é¥í¥°¥¤¥ó¤Ç¤­¤Þ¤¹¡£ /etc/ttys ¤ËÊѹ¹¤ò²Ã¤¨¤¿¸å¤Ï¡¢HUP ¥·¥°¥Ê¥ë (SIGHUP) ¤ò &man.init.8; ¥×¥í¥»¥¹¤ËÁ÷¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ &prompt.root; kill -HUP 1 ¤³¤ÎÁàºî¤Ï init ¥×¥í¥»¥¹¤Ë /etc/ttys ¤òºÆÆÉ¤ß¹þ¤ß¤µ¤»¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢init ¥×¥í¥»¥¹¤Ï getty ¥×¥í¥»¥¹¤ò¤¹¤Ù¤Æ¤Î on ¤È¤Ê¤Ã¤Æ¤¤¤ë¥Ý¡¼¥È¤Ëµ¯Æ°¤µ¤»¤Þ¤¹¡£ ¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢¥Ý¡¼¥È¤¬¥í¥°¥¤¥ó²Äǽ¤«¤òÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.user; ps -ax | grep '[t]tyd1' ¥í¥°¥¤¥ó²Äǽ¤Ç¤¢¤ì¤Ð¡¢¼¡¤Î¤è¤¦¤Ê½ÐÎϤ¬ÆÀ¤é¤ì¤ë¤Ï¤º¤Ç¤¹¡£ 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 ¥À¥à¥¿¡¼¥ß¥Ê¥ë¤ò FreeBSD ¥Þ¥·¥ó¤ËÀܳ¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤¿¤é¤è¤¤¤Î¤Ç¤·¤ç¤¦¤«? ¤â¤·¡¢Â¾¤Î¥³¥ó¥Ô¥å¡¼¥¿¡¼¤ò FreeBSD ¤ÎüËö¤È¤·¤ÆÀܳ¤·¤¿¤¤¤Î¤Ê¤é¤Ð¡¢ ¤ª¸ß¤¤¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È´Ö¤ò¤Ä¤Ê¤°¥Ì¥ë¥â¥Ç¥à¥±¡¼¥Ö¥ë (ÌõÃí: ¥ê¥Ð¡¼¥¹¥±¡¼¥Ö¥ë¤â¤·¤¯¤Ï¥¯¥í¥¹¥±¡¼¥Ö¥ë¤È¤â¸Æ¤Ð¤ì¤Þ¤¹) ¤òÍѰդ·¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¡¢´ûÀ½¤ÎüËö¤ò»È¤¦¾ì¹ç¤Ï¡¢ÉÕ°¤¹¤ë¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤·¤Æ¡¢/etc/ttys (&man.ttys.5; »²¾È) ¤ò¾å¤ÈƱ¤¸¤è¤¦¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤¿¤È¤¨¤Ð¡¢WYSE-50 ¤È¤¤¤¦Ã¼Ëö¤ò 5 ÈÖÌܤΥݡ¼¥È¤ËÀܳ¤¹¤ë¤Ê¤é¤Ð¡¢ ¼¡¤Î¤è¤¦¤Ê¥¨¥ó¥È¥ê¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure ¤³¤ÎÎã¤Ï¡¢/dev/ttyd4 ¥Ý¡¼¥È¤Ë¥Î¥ó¥Ñ¥ê¥Æ¥£¡¢ üËö¥¿¥¤¥×¤¬ wyse50¡¢ÄÌ¿®Â®ÅÙ¤¬ 38400bps (std.38400: ¤³¤ÎÀßÄê¤Ï¡¢ /etc/gettytab ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£&man.gettytab.5; »²¾È) ¤ÎüËö¤¬Â¸ºß¤·¤Æ¤ª¤ê¡¢ root ¤Î¥í¥°¥¤¥ó¤¬µö²Ä¤µ¤ì¤Æ¤¤¤ë (secure) ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£ ¤É¤¦¤·¤Æ tip ¤ä cu ¤¬Æ°¤«¤Ê¤¤¤Î¤Ç¤¹¤«? ¤ª¤½¤é¤¯¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤Ç¤Ï &man.tip.1; ¤ä &man.cu.1; ¤Ï uucp ¥æ¡¼¥¶¡¼¤«¡¢ dialer ¥°¥ë¡¼¥×¤Ë¤è¤Ã¤Æ¤Î¤ß¼Â¹Ô²Äǽ¤Ê¤Î¤Ç¤·¤ç¤¦¡£ dialer ¥°¥ë¡¼¥×¤Ï¡¢ ¥â¥Ç¥à¤ä¥ê¥â¡¼¥È¥·¥¹¥Æ¥à¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥æ¡¼¥¶¡¼¤ò´ÉÍý¤¹¤ë¤¿¤á¤Ë¡¢ »ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤½¤ì¤Ë¤Ï¡¢/etc/group ¥Õ¥¡¥¤¥ë¤Î dialer ¥°¥ë¡¼¥×¤Ë¤¢¤Ê¤¿¼«¿È¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£ ¤½¤¦¤¹¤ëÂå¤ï¤ê¤Ë¡¢¼¡¤Î¤è¤¦¤Ë¥¿¥¤¥×¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ ¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤ÎÁ´¥æ¡¼¥¶¡¼¤¬ tip ¤ä cu ¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ &prompt.root; chmod 4511 /usr/bin/cu &prompt.root; chmod 4511 /usr/bin/tip »ä¤Î Hayes ¥â¥Ç¥à¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ ¤É¤¦¤·¤¿¤é¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«¡£ ¼ÂºÝ¡¢ &man.tip.1; ¤Î¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ï¸Å¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤¹¤Ç¤Ë¡¢Hayes ¥À¥¤¥¢¥é¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ /etc/remote ¥Õ¥¡¥¤¥ë (&man.remote.5; »²¾È) ¤Ç¡¢ at=hayes ¤È»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ Hayes ¥É¥é¥¤¥Ð¤Ï¡¢ºÇ¶á¤Î¥â¥Ç¥à¤Î¿·¤·¤¤µ¡Ç½¤Ç¤¢¤ë¡¢ BUSY¡¢ NO DIALTONE¡¢ CONNECT 115200 ¤Ê¤É¤Î¥á¥Ã¥»¡¼¥¸¤òǧ¼±¤Ç¤­¤ë¤Û¤É¸­¤¯¤Ï¤Ê¤¯¡¢ ñ¤Ëº®Íð¤òµ¯¤³¤¹¤À¤±¤Ç¤¹¡£ &man.tip.1; ¤ò»È¤¦¾ì¹ç¤Ë¤Ï (ATX0&W¤È¤¹¤ë¤Ê¤É¤·¤Æ)¡¢ ¤³¤ì¤é¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤µ¤»¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢tip ¤Î¥À¥¤¥ä¥ë¤Î¥¿¥¤¥à¥¢¥¦¥È¤Ï 60 ÉäǤ¹¡£ ¥â¥Ç¥à¤Î¥¿¥¤¥à¥¢¥¦¥ÈÀßÄê¤Ï¤½¤ì¤è¤êû¤¯¤¹¤Ù¤­¤Ç¤¢¤ê¡¢ ¤½¤¦¤·¤Ê¤¤¤È tip ¤ÏÄÌ¿®¤ËÌäÂ꤬¤¢¤ë¤ÈȽÃǤ¹¤ë¤Ç¤·¤ç¤¦¡£ ATS7=45&W ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ ¼ÂºÝ¡¢¥Ç¥Õ¥©¥ë¥È¤Î tip ¤Ï Hayes ¤Î´°Á´¤Ê¥µ¥Ý¡¼¥È¤ò¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ²ò·èÊýË¡¤Ï /usr/src/usr.bin/tip/tip ¤Î²¼¤Î tipconf.h ¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¤¹¡£ ¤â¤Á¤í¤ó¡¢¤³¤ì¤Ë¤Ï¥½¡¼¥¹ÇÛÉÛ¥Õ¥¡¥¤¥ë¤¬É¬ÍפǤ¹¡£ #define HAYES 0 ¤Èµ­½Ò¤µ¤ì¤Æ¤¤¤ë¹Ô¤ò #define HAYES1 ¤ÈÊѹ¹¤·¡¢¤½¤·¤Æ make ¤È make install ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤ì¤Ç¤¦¤Þ¤¯Æ°ºî¤¹¤ë¤Ç¤·¤ç¤¦¡£ ¤³¤ì¤é¤Î AT ¥³¥Þ¥ó¥É¤òÆþÎϤ¹¤ë¤Ë¤Ï? /etc/remote ¥Õ¥¡¥¤¥ë (&man.remote.5; »²¾È) ¤ÎÃæ¤Ç direct ¥¨¥ó¥È¥ê¤òºî¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¥â¥Ç¥à¤¬ 1 ÈÖÌܤΥ·¥ê¥¢¥ë¥Ý¡¼¥È¤Ç¤¢¤ë /dev/cuaa0¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ ¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ cuaa0:dv=/dev/cuaa0:br#19200:pa=none ¥â¥Ç¥à¤¬¥µ¥Ý¡¼¥È¤¹¤ëºÇÂç¤Î bps ¥ì¡¼¥È¤ò br ¥Õ¥£¡¼¥ë¥É¤Ë»È¤¤¤Þ¤¹¡£ ¤½¤·¤Æ tip cuaa0 (&man.tip.1; »²¾È) ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥â¥Ç¥à¤¬ÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ /dev/cuaa0¤¬¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; cd /dev &prompt.root; ./MAKEDEV cuaa0 ¤Þ¤¿¤Ï root ¤Ë¤Ê¤Ã¤Æ°Ê²¼¤Î¤è¤¦¤Ë cu ¤ò»È¤¤¤Þ¤¹¡£ &prompt.root; cu -lline -sspeed line ¤Ë¤Ï¥·¥ê¥¢¥ë¥Ý¡¼¥È (¤¿¤È¤¨¤Ð /dev/cuaa0)¤ò»ØÄꤷ¤Þ¤¹¡£ ¤½¤·¤Æ speed ¤Ë¤ÏÀܳ¤¹¤ë®ÅÙ (¤¿¤È¤¨¤Ð 57600) ¤ò»ØÄꤷ¤Þ¤¹¡£ ¤½¤Î¸å AT ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¤é¡¢ ~. ¤ÈÆþÎϤ¹¤ì¤Ð½ªÎ»¤·¤Þ¤¹¡£ pn µ¡Ç½¤Î <@> µ­¹æ¤¬»È¤¨¤Þ¤»¤ó! ÅÅÏÃÈÖ¹æ (pn) µ¡Ç½¤ÎÃæ¤Ç¤Î <@> µ­¹æ¤Ï¡¢ tip ¤Ë /etc/phones ¤Ë¤¢¤ëÅÅÏÃÈÖ¹æ¤ò»²¾È¤¹¤ë¤è¤¦¤ËÅÁ¤¨¤Þ¤¹¡£¤·¤«¤· <@> ¤Îʸ»ú¤Ï /etc/remote ¤Î¤è¤¦¤ÊÀßÄê¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤ÏÆÃ¼ìʸ»ú¤È¤Ê¤ê¤Þ¤¹¡£ ¤½¤³¤Ç¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ò»È¤Ã¤Æ¥¨¥¹¥±¡¼¥×¤ò¹Ô¤¤¤Þ¤¹¡£ pn=\@ ¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤éÅÅÏÃÈÖ¹æ¤ò»ØÄꤹ¤ë¤Ë¤Ï? generic ¥¨¥ó¥È¥ê¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤ò /etc/remote ¥Õ¥¡¥¤¥ë (&man.remote.5; »²¾È) ¤ËÄɲä·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: tip57600|Dial any phone number at 57600 bps:\ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: ¤½¤·¤Æ tip -115200 5551234 ¤Î¤è¤¦¤ËÍøÍѤǤ­¤Þ¤¹¡£ &man.tip.1; ¤è¤ê &man.cu.1; ¤ò»È¤¤¤¿¤¤¾ì¹ç¡¢ cu ¤Î generic ¥¨¥ó¥È¥ê¤ò»È¤¤¤Þ¤¹¡£ cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: ¤½¤·¤Æ cu 5551234 -s 115200 ¤È¼Â¹Ô¤·¤Þ¤¹¡£ Ëè²ó bps ¥ì¡¼¥È¤òÆþÎϤ·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¤«? tip1200 ¤ä cu1200 ÍѤΥ¨¥ó¥È¥ê¤òµ­½Ò¤·¡¢ ŬÀÚ¤ÊÄÌ¿®Â®ÅÙ¤ò br ¥Õ¥£¡¼¥ë¥É¤ËÀßÄꤷ¤Þ¤¹¡£ &man.tip.1; ¤Ï 1200bps ¤¬Àµ¤·¤¤¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¢¤ë¤È¤ß¤Ê¤¹¤Î¤Ç¡¢ tip1200 ¥¨¥ó¥È¥ê¤ò»²¾È¤·¤Þ¤¹¡£ ¤â¤Á¤í¤ó 1200bps ¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¥¿¡¼¥ß¥Ê¥ë¥µ¡¼¥Ð¤ò·Ðͳ¤·¤ÆÊ£¿ô¤Î¥Û¥¹¥È¤Ø¥¢¥¯¥»¥¹¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡£ Ëè²óÀܳ¤µ¤ì¤ë¤Î¤òÂÔ¤Ã¤Æ CONNECT <host> ¤ÈÆþÎϤ¹¤ë¤«¤ï¤ê¤Ë¡¢ tip ¤Î cm µ¡Ç½¤ò»È¤¤¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢/etc/remote (&man.remote.5; »²¾È) ¤Ë¼¡¤Î¤è¤¦¤Ê¥¨¥ó¥È¥ê¤òÄɲä·¤Þ¤¹¡£ pain|pain.deep13.com|Forrester's machine:\ :cm=CONNECT pain\n:tc=deep13: muffin|muffin.deep13.com|Frank's machine:\ :cm=CONNECT muffin\n:tc=deep13: deep13:Gizmonics Institute terminal server:\ :dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234: ¤³¤ì¤Ç¡¢tip pain ¤ä tip muffin ¤È¼Â¹Ô¤¹¤ë¤È pain ¤ä muffin ¤Î¥Û¥¹¥È¤ËÀܳ¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢ tip deep13 ¤ò¼Â¹Ô¤¹¤ë¤È¥¿¡¼¥ß¥Ê¥ë¥µ¡¼¥Ð¤ËÀܳ¤·¤Þ¤¹¡£ tip ¤ò»È¤Ã¤Æ¤½¤ì¤¾¤ì¤Î¥µ¥¤¥È¤ÎÊ£¿ô¤Î²óÀþ¤ËÀܳ¤Ç¤­¤Þ¤¹¤«? ¤³¤ì¤ÏÂç³Ø¤ËÅÅÏòóÀþ¤¬¤¤¤¯¤Ä¤«¤¢¤Ã¤Æ¡¢ ¿ôÀé¿Í¤Î³ØÀ¸¤¬Àܳ¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤Ë¤è¤¯¤¢¤ëÌäÂê¤Ç¤¹¡£ ¤¢¤Ê¤¿¤ÎÂç³Ø¤Î¥¨¥ó¥È¥ê¤ò /etc/remote ¥Õ¥¡¥¤¥ë (&man.remote.5; »²¾È) ¤ËºîÀ®¤·¤Æ¡¢ pn ¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤Ï <\@> ¤ò»È¤¤¤Þ¤¹¡£ big-university:\ :pn=\@:tc=dialout dialout:\ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: ¤½¤·¤Æ /etc/phones ¥Õ¥¡¥¤¥ë (&man.phones.5; »²¾È) ¤ËÂç³Ø¤ÎÅÅÏÃÈÖ¹æ¤Î°ìÍ÷¤ò½ñ¤­¤Þ¤¹¡£ big-university 5551111 big-university 5551112 big-university 5551113 big-university 5551114 &man.tip.1; ¤Ï°ìÏ¢¤ÎÅÅÏÃÈÖ¹æ¤ò¾å¤«¤é½ç¤Ë»î¤ß¤Æ¡¢ ºÇ½ªÅª¤ËÀܳ¤Ç¤­¤Ê¤±¤ì¤Ð¤¢¤­¤é¤á¤Þ¤¹¡£¥ê¥È¥é¥¤¤ò³¤±¤µ¤»¤¿¤¤¾ì¹ç¤Ï¡¢ tip ¤ò while ¥ë¡¼¥×¤ËÆþ¤ì¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ CTRL+P ¤ò 1 ²óÁ÷¤ë¤¿¤á¤Ë 2 ÅÙ²¡¤¹É¬Íפ¬¤¢¤ë¤Î¤Ï¤Ê¤¼? CTRL+P ¤ÏÄ̾ï¡Ö¶¯À© (force)¡×ʸ»ú¤Ç¤¢¤ê¡¢ &man.tip.1; ¤Ë¼¡¤Îʸ»ú¤¬¥ê¥Æ¥é¥ë¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤òÅÁ¤¨¤Þ¤¹¡£ ¶¯À©Ê¸»ú¤Ï¡ÖÊÑ¿ô¤ÎÀßÄê¡×¤ò°ÕÌ£¤¹¤ë ~s ¥¨¥¹¥±¡¼¥×¤Ë¤è¤Ã¤Æ¡¢ ¾¤Îʸ»ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ~sforce=<single-char> ¤ÈÆþÎϤ·¤Æ²þ¹Ô¤·¤Þ¤¹¡£ <single-char> ¤Ï¡¢Ç¤°Õ¤Î 1 ¥Ð¥¤¥Èʸ»ú¤Ç¤¹¡£ <single-char> ¤ò¾Êά¤¹¤ë¤È NUL ʸ»ú¤Ë¤Ê¤ê¡¢ ¤³¤ì¤Ï CTRL+2 ¤ä CTRL+SPACE ¤ò²¡¤·¤Æ¤âÆþÎϤǤ­¤Þ¤¹¡£ ¤¤¤¯¤Ä¤«¤Î¥¿¡¼¥ß¥Ê¥ë¥µ¡¼¥Ð¤Ç»È¤ï¤ì¤Æ¤¤¤ë¤Î¤ò¸«¤¿¤À¤±¤Ç¤¹¤¬¡¢ <single-char> ¤Ë SHIFT+CTRL+6 ¤Ë³ä¤êÅö¤Æ¤ë¤Î¤â¤è¤¤¤Ç¤·¤ç¤¦¡£ $HOME/.tiprc ¤Ë¼¡¤Î¤è¤¦¤ËÄêµÁ¤¹¤ë¤³¤È¤Ç¡¢ Ǥ°Õ¤Îʸ»ú¤ò¶¯À©Ê¸»ú¤È¤·¤ÆÍøÍѤǤ­¤Þ¤¹¡£ force=<single-char> ÂǤÁ¹þ¤ó¤Àʸ»ú¤¬ÆÍÁ³¤¹¤Ù¤ÆÂçʸ»ú¤Ë¤Ê¤ê¤Þ¤·¤¿?? CTRL+A ¤ò²¡¤·¤Æ¤·¤Þ¤¤¡¢caps-lock ¥­¡¼¤¬²õ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¤¿¤á¤ËÀ߷פµ¤ì¤¿ &man.tip.1; ¤Î raise character ¥â¡¼¥É¤ËÆþ¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¡£ ´û¤Ë½Ò¤Ù¤¿ ~s ¤ò»È¤Ã¤Æ¡¢ raisechar ¤ò¤è¤êŬÀÚ¤ÊÃͤËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¤³¤ì¤éξÊý¤Îµ¡Ç½¤ò»ÈÍѤ·¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ ¶¯À©Ê¸»ú¤ÈƱ¤¸ÀßÄê¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ °Ê²¼¤Ï CTRL+2 ¤ä CTRL+A ¤Ê¤É¤òÉÑÈˤ˻Ȥ¦É¬ÍפΤ¢¤ë Emacs ¥æ¡¼¥¶¤Ë¤¦¤Ã¤Æ¤Ä¤±¤Î .tiprc ¥Õ¥¡¥¤¥ë¤Î¥µ¥ó¥×¥ë¤Ç¤¹¡£ force=^^ raisechar=^^ ^ ¤Ï SHIFT+CTRL+6 ¤Ç¤¹¡£ tip ¤Ç¥Õ¥¡¥¤¥ë¤òžÁ÷¤¹¤ë¤Ë¤Ï? ¤â¤·Â¾¤Î UNIX ¤Î¥·¥¹¥Æ¥à¤ÈÀܳ¤·¤Æ¤¤¤ë¤Ê¤é¡¢ ~p (Á÷¿®) ¤ä ~t (¼õ¿®) ¤Ç¥Õ¥¡¥¤¥ë¤ÎÁ÷¼õ¿®¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤Ï¡¢Áê¼ê¤Î¥·¥¹¥Æ¥à¤Î¾å¤Ç &man.cat.1; ¤ä &man.echo.1; ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤ÇÁ÷¼õ¿®¤ò¤·¤Þ¤¹¡£½ñ¼°¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ~p <¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë̾> [<¥ê¥â¡¼¥È¤Î¥Õ¥¡¥¤¥ë̾>] ~t <¥ê¥â¡¼¥È¤Î¥Õ¥¡¥¤¥ë̾> [<¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë̾>] ¤³¤ÎÊýË¡¤Ç¤Ï¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤»¤ó¤Î¤Ç¡¢ zmodem ¤Ê¤É¤Î¾¤Î¥×¥í¥È¥³¥ë¤ò»È¤Ã¤¿Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£ tip ¤«¤é zmodem ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï? ¤Þ¤º»Ï¤á¤Ë¡¢FreeBSD Ports Collection ¤«¤é zmodem ¥×¥í¥°¥é¥à¤Î¤¤¤º¤ì¤« (lrzsz¤È rzsz ¤Î¡¢ÄÌ¿®¥«¥Æ¥´¥ê¡¼¤Î2 ¤Ä¤Î¥×¥í¥°¥é¥à¤Î¤É¤Á¤é¤«) ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¤ò¼õ¿®¤¹¤ë¤Ë¤Ï¡¢¥ê¥â¡¼¥È¦¤ÇÁ÷¿®¥×¥í¥°¥é¥à¤òµ¯Æ°¤·¤Þ¤¹¡£ ¤½¤·¤Æ¡¢Enter ¥­¡¼¤ò²¡¤·¤Æ¤«¤é ~C rz (lrzsz ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ï ~C lrz) ¤ÈÆþÎϤ¹¤ë¤È¡¢ ¥í¡¼¥«¥ë¦¤Ø¤Î¥Õ¥¡¥¤¥ë¤Î¼õ¿®¤¬»Ï¤Þ¤ê¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¤òÁ÷¿®¤¹¤ë¤Ë¤Ï¡¢¥ê¥â¡¼¥È¦¤Ç¼õ¿®¥×¥í¥°¥é¥à¤òµ¯Æ°¤·¤Þ¤¹¡£ ¤½¤·¤Æ¡¢Enter ¥­¡¼¤ò²¡¤·¤Æ¤«¤é ~C sz <files> (lrzsz ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ï ~C lsz <files>) ¤ÈÆþÎϤ¹¤ë¤È¡¢¥ê¥â¡¼¥È¦¤Ø¤Î¥Õ¥¡¥¤¥ë¤ÎÁ÷¿®¤¬»Ï¤Þ¤ê¤Þ¤¹¡£ ÀßÄ꤬Àµ¤·¤¤¤Î¤Ë¤â¤«¤«¤ï¤é¤º¡¢FreeBSD ¤¬¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ò¸«ÉÕ¤±¤é¤ì¤Þ¤»¤ó¡£ ¥Þ¥¶¡¼¥Ü¡¼¥É¤ä¥·¥ê¥¢¥ë¥«¡¼¥É¤¬ Acer ¤Î UART ¥Á¥Ã¥×¤ò»È¤Ã¤¿Êª¤Î¾ì¹ç¡¢ FreeBSD ¤Î sio ¥É¥é¥¤¥Ð¤Ç¤ÏÀµ¤·¤¯¸¡½Ð¤¹¤ë»ö¤¬½ÐÍè¤Þ¤»¤ó¡£ ¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ www.lemis.com ¤«¤é¥Ñ¥Ã¥Á¤òÆþ¼ê¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤Î¾¤Î¼ÁÌä Ìõ: &a.jp.yoshiaki;¡¢ &a.jp.sugimura;¡¢ Ê¡´Ö ¹¯¹° yasuf@big.or.jp¡¢ 1997 ǯ 11 ·î 10 Æü - 1999 ǯ 5 ·î 8 Æü FreeBSD ¤Ï Linux ¤è¤ê¿¤¯¤Î¥¹¥ï¥Ã¥×Îΰè¤ò¾ÃÈñ¤¹¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«? ¼ÂºÝ¤Ë¤Ï¤½¤¦¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ FreeBSD ¤Ï Linux ¤è¤ê¤â¥¹¥ï¥Ã¥×¤ò¿¤¯»È¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¤À¤±¤Ç¤¹¡£ ¤³¤ÎÅÀ¤Ë¤ª¤±¤ë FreeBSD ¤È Linux ¤Î¼ç¤Ê°ã¤¤¤Ï¡¢ FreeBSD ¤Ï¤è¤ê¿¤¯¤Î¥á¥¤¥ó¥á¥â¥ê¤òÍ­¸úÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¡¢ ´°Á´¤Ë¥¢¥¤¥É¥ë¤Ë¤Ê¤Ã¤¿¤â¤Î¤ä¥á¥¤¥ó¥á¥â¥ê¾å¤Î»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¥Ú¡¼¥¸¤ò¡¢ ¥¹¥ï¥Ã¥×¤Ë¤¢¤é¤«¤¸¤áÀѶËŪ¤Ë°Üư¤·¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ Linux ¤Ç¤Ï¡¢ ºÇ¸å¤Î¼êÃʤȤ·¤Æ¥Ú¡¼¥¸¤ò¥¹¥ï¥Ã¥×¤Ë°Üư¤µ¤»¤ë¤À¤±¤È¤¤¤¦·¹¸þ¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¥¹¥ï¥Ã¥×¤Î»È¤¤Êý¤Ï¡¢ ¥á¥¤¥ó¥á¥â¥ê¤ò¤è¤ê¸ú²ÌŪ¤Ë»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥Ð¥é¥ó¥¹¤¬Êݤ¿¤ì¤Æ¤¤¤Þ¤¹¡£ FreeBSD ¤Ï¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ç¤ÏÀè¼êºö¤ò¼è¤ê¤Þ¤¹¤¬¡¢ ¥·¥¹¥Æ¥à¤¬ËÜÅö¤Ë¶õ¤­¾õÂ֤λþ¤Ë¡¢ Íýͳ¤â̵¤¯¥Ú¡¼¥¸¤ò¥¹¥ï¥Ã¥×¤·¤è¤¦¤È·è¤á¤ë¤³¤È¤Ï¤Ê¤¤¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ ÌëÃæ¤Ë»È¤ï¤º¤Ë¤ª¤¤¤¿¥·¥¹¥Æ¥à¤¬Ä«µ¯¤­¤¿¤È¤­¡¢ ¤¹¤Ù¤Æ¥Ú¡¼¥¸¥¢¥¦¥È¤µ¤ì¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ï¤Ê¤¤¤Î¤Ç¤¹¡£ ¤Û¤È¤ó¤É¥×¥í¥°¥é¥à¤Ï¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ë¡¢ ¤É¤¦¤·¤Æ &man.top.1; ¤ÏÈó¾ï¤Ë¾¯¤Ê¤¤ free memory ¤òÊó¹ð¤¹¤ë¤Î¤Ç¤·¤ç¤¦¤«? ´Êñ¤Ë¸À¤¨¤Ð¡¢free memory ¤È¤Ï̵Â̤ˤʤäƤ¤¤ë¥á¥â¥ê¤Î¤³¤È¤À¤«¤é¤Ç¤¹¡£ ¥×¥í¥°¥é¥à¤¬³ÎÊݤ·¤Æ¤¤¤ë¥á¥â¥ê°Ê³°¤Î¤¹¤Ù¤Æ¤Î¥á¥â¥ê¤Ï¡¢ FreeBSD ¥«¡¼¥Í¥ëÆâ¤Ç¥Ç¥£¥¹¥¯¥­¥ã¥Ã¥·¥å¤È¤·¤ÆÍøÍѤµ¤ì¤Þ¤¹¡£ ¤³¤ÎÃÍ¤Ï &man.top.1; ¤Ë¤ª¤¤¤Æ Inact¡¢ Cache Buf ¤È¤·¤ÆÉ½¼¨¤µ¤ì¡¢ ¤½¤ì¤¾¤ì¤Ï°Û¤Ê¤ë¥¨¡¼¥¸¥ó¥°¥ì¥Ù¥ë (ÌõÃí: ¥Ç¡¼¥¿¤¬¤É¤ì¤À¤±¸Å¤¤¤«¤ò¼¨¤¹É¾²ÁÃÍ) ¤Ç¥­¥ã¥Ã¥·¥å¤µ¤ì¤¿Á´¥Ç¡¼¥¿¤òɽ¤·¤Þ¤¹¡£ ¥Ç¡¼¥¿¤¬¥­¥ã¥Ã¥·¥å¤µ¤ì¤ë¤È¸À¤¦¤Î¤Ï¡¢ ºÇ¶á¥¢¥¯¥»¥¹¤µ¤ì¤¿¥Ç¡¼¥¿¤Ç¤¢¤ì¤Ð¡¢ ºÆÅÙ¤½¤Î¥Ç¡¼¥¿¤ò¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë¥·¥¹¥Æ¥à¤¬ÃÙ¤¤¥Ç¥£¥¹¥¯¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤Ê¤¤¡¢ ¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢Á´ÂΤΥѥե©¡¼¥Þ¥ó¥¹¤¬¸þ¾å¤·¤Þ¤¹¡£ °ìÈÌŪ¤Ë¡¢&man.top.1; ¤Çɽ¼¨¤µ¤ì¤ë Free ¥á¥â¥ê¤¬¾®¤µ¤¤Ãͤò¼¨¤¹¤³¤È¤ÏÎɤ¤¤³¤È¤Ç¡¢ ¼«Í³¤Ë»È¤¨¤ë¥á¥â¥ê¤Î»ÄÎ̤¬ËÜÅö¤Ë¾¯¤Ê¤¤¡¢ ¤È¤¤¤¦¤³¤È¤òɽ¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ FreeBSD ¤Î¼Â¹Ô¥Õ¥©¡¼¥Þ¥Ã¥È¤Î a.out¡¢ELF ¤È¤Ï¤É¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¤«? ¤Þ¤¿¡¢a.out¡¢ELF ¤ò»È¤¦Íýͳ¤Ï²¿¤Ç¤·¤ç¤¦? FreeBSD ¤¬²¿¸Î ELF ¥Õ¥©¡¼¥Þ¥Ã¥È¤òÍøÍѤ·¤Æ¤¤¤ë¤Î¤«¤òÍý²ò¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ ¤Þ¤º UNIX¤Ë¤ª¤¤¤Æ¸½ºß¡ÖÍ¥Àª¡×¤Ê 3 ¼ïÎà¤Î¼Â¹Ô¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ä¤¤¤Æ ¤¤¤¯¤é¤«ÃΤäƤª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ FreeBSD 3.x ¤è¤êÁ°¤Î FreeBSD ¤Ç¤Ï a.out ¥Õ¥©¡¼¥Þ¥Ã¥È¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤·¤¿¡£ &man.a.out.5; ºÇ¤â¸Å¤¯ ¡Öͳ½ïÀµ¤·¤¤¡× unix ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¹¡£ ¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð¤ò´Þ¤àû¤¯¤Æ¥³¥ó¥Ñ¥¯¥È¤Ê¥Ø¥Ã¥À¤¬ÀèÆ¬¤Ë¤¢¤ê¡¢ ¤³¤ì¤¬¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÆÃħ¤È¤µ¤ì¤Æ¤¤¤Þ¤¹ (&man.a.out.5; ¤Ë¾ÜºÙ¤ÊÆâÍÆ¤¬¤¢¤ê¤Þ¤¹)¡£ ¥í¡¼¥É¤µ¤ì¤ë 3¼ïÎà¤Î¥»¥°¥á¥ó¥È¡¢ .text¡¢ .data¡¢ .bss ¤È²Ã¤¨¤Æ¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Èʸ»úÎ󥯡¼¥Ö¥ë¤ò´Þ¤ß¤Þ¤¹¡£ COFF SVR3 ¤Î¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¹¡£ ¥Ø¥Ã¥À¤Ïñ°ì¤Î¥»¥¯¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¤«¤éÀ®¤ê¡¢ .text¡¢ .data¡¢ .bss ¥»¥¯¥·¥ç¥ó°Ê³°¤ÎÉôʬ¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ELF COFF¤Î¸å·Ñ¤Ç¤¹¡£Ê£¿ô¤Î¥»¥¯¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¡¢32-bit ¤È 64-bit¤Î¤¤¤º¤ì¤ÎÃͤâ²Äǽ¤Ç¤¹¡£Â礭¤Ê·çÅÀ¤Î°ì¤Ä¤Ï¡¢ELF ¤Ï¤½¤ì¤¾¤ì¤Î¥·¥¹¥Æ¥à¥¢¡¼¥­¥Æ¥¯¥Á¥ãËè¤Ëñ°ì¤Î ABI ¤Î¤ß¤¬Â¸ºß¤¹¤ë¤È¤¤¤¦²¾Äê¤ÇÀ߷פµ¤ì¤Æ¤¤¤ë¤³¤È¤Ç¤¹¡£ ¤³¤Î²¾Äê¤Ï¤Þ¤Ã¤¿¤¯Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£ ¾¦ÍѤΠSYSV ¤ÎÀ¤³¦¤Ç¤µ¤¨¤½¤¦¤Ç¤¹ (¾¯¤Ê¤¯¤È¤â SVR4¡¢ Solaris¡¢SCO ¤Î 3¼ïÎà¤Î ABI ¤¬¤¢¤ê¤Þ¤¹)¡£ FreeBSD ¤Ï¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Î»î¤ß¤È¤·¤Æ¡¢ ´ûÃΤΠELF ¼Â¹Ô¥Õ¥¡¥¤¥ë¤Ë ABI ¤Ë±þ¤¸¤¿¾ðÊó¤ò ½ñ¤­²Ã¤¨¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ ¾Ü¤·¤¯¤Ï &man.brandelf.1; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD ¤ÏÅÁÅýŪ¤ÊΩ¾ì¤ò¤È¤ê¡¢¿ô¿¤¯¤ÎÀ¤Âå¤Î BSD ¤Î¥ê¥ê¡¼¥¹¤Ç»î¤µ¤ì¡¢¼Â¾Ú¤µ¤ì¤Æ¤­¤¿ &man.a.out.5; ¥Õ¥©¡¼¥Þ¥Ã¥È¤òÅÁÅýŪ¤Ë»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ ¤¤¤Ä¤«¤Ï FreeBSD ¥·¥¹¥Æ¥à¤Ç¥Í¥¤¥Æ¥£¥Ö ELF ¥Ð¥¤¥Ê¥ê¤òºî¤ê¡¢ ¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢ ½é´ü¤Îº¢ FreeBSD ¤Ç¤Ï ELF ¤ò¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÊѹ¹¤¹¤ë¤È¤¤¤¦Æ°¤­¤Ï ¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¤Ê¤¼¤Ç¤·¤ç¤¦¤«? ¤È¤³¤í¤Ç Linux ¤Ë¤ª¤¤¤Æ¤Ï¡¢ ELF ¤Ø¤Î¶ìÄˤò¤È¤â¤Ê¤Ã¤¿Êѹ¹¤Ï¡¢ ¤½¤Î»þ¤Ë a.out ¼Â¹Ô¥Õ¥©¡¼¥Þ¥Ã¥È¤«¤éƨ¤ì¤¿¤È¤¤¤¦¤è¤ê¤Ï¡¢ ¥¸¥ã¥ó¥×¥Æ¡¼¥Ö¥ë¥Ù¡¼¥¹¤Î¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥á¥«¥Ë¥º¥à¤Î½ÀÆðÀ­¤ÎÄ㤵¤«¤é¤ÎæµÑ¤Ç¤·¤¿¡£ ¤³¤ì¤Ï¥Ù¥ó¥À¤ä³«È¯¼ÔÁ´ÂΤˤȤäơ¢ ¶¦Í­¥é¥¤¥Ö¥é¥ê¤ÎºîÀ®¤¬Èó¾ï¤ËÆñ¤·¤«¤Ã¤¿¸¶°ø¤Ç¤·¤¿¡£ ELF ¤Î¥Ä¡¼¥ë¤Ë¤Ï¶¦Í­¥é¥¤¥Ö¥é¥ê¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤â¤Î¤¬Ä󶡤µ¤ì¤Æ¤ª¤ê¡¢ ¤Þ¤¿¤¤¤º¤ì¤Ë¤»¤è°ìÈÌŪ¤Ë¡Ö¿ÊÊâ¡×¤·¤Æ¤¤¤ë¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£ ¤³¤Î¤¿¤á°Ü¹Ô¤Î¥³¥¹¥È¤ÏɬÍפʤâ¤Î¤È¤·¤ÆÍÆÇ§¤µ¤ì¡¢ °Ü¹Ô¤Ï¹Ô¤Ê¤ï¤ì¤Þ¤·¤¿¡£ FreeBSD ¤Î¾ì¹ç¤Ï¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥á¥«¥Ë¥º¥à¤Ï Sun ¤Î SunOS ·Á¼°¤Î¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î ¥á¥«¥Ë¥º¥à¤Ë¶Ë¤á¤Æ¶á¤¤¤â¤Î¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢ Èó¾ï¤Ë»È¤¤¤ä¤¹¤¤¤â¤Î¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢FreeBSD ¤Ç¤Ï 3.0 ¤«¤é ELF ¥Ð¥¤¥Ê¥ê¤ò¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤È¤·¤Æ¸ø¼°¤Ë¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ a.out ¼Â¹Ô¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¤è¤¤¤â¤Î¤ò»äã¤ËÄ󶡤·¤Æ¤¯¤ì¤Æ¤¤¤ë¤â¤Î¤Î¡¢ »ä¤¿¤Á¤Î»È¤Ã¤Æ¤¤¤ë¥³¥ó¥Ñ¥¤¥é¤Îºî¼Ô¤Ç¤¢¤ë GNU ¤Î¿Í¡¹¤Ï a.out ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥µ¥Ý¡¼¥È¤ò¤ä¤á¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤·¤¿¡£ ¤³¤Î¤³¤È¤Ï¡¢ »ä¤¿¤Á¤ËÊ̥С¼¥¸¥ç¥ó¤Î¥³¥ó¥Ñ¥¤¥é¤È¥ê¥ó¥«¤òÊݼ餹¤ë¤³¤È¤ò;µ·¤Ê¤¯¤µ¤ì¤ë¤³¤È¤È¤Ê¤ê¡¢ ºÇ¿·¤Î GNU ³«È¯¤ÎÅØÎϤˤè¤ë²¸·Ã¤«¤é±ó¤¶¤«¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤½¤Î¾å¡¢ISO C++ ¤Î¡¢ ¤È¤¯¤Ë¥³¥ó¥¹¥È¥é¥¯¥¿¤ä¥Ç¥¹¥È¥é¥¯¥¿¤¬¤é¤ß¤ÎÍ×µá¤â¤¢¤Ã¤Æ¡¢º£¸å¤Î FreeBSD ¤Î¥ê¥ê¡¼¥¹¤Ç¥Í¥¤¥Æ¥£¥Ö¤Î ELF ¤Î¥µ¥Ý¡¼¥È¤µ¤ì¤ëÊý¸þ¤Ø¤ÈÏ䬿ʤó¤Ç¤¤¤Þ¤¹¡£ ¤½¤ì¤Ë¤·¤Æ¤â¡¢¤Ê¤¼¤½¤ó¤Ê¤Ë¿¤¯¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤¬¤¢¤ë¤Î¤Ç¤¹¤«? ¤â¤¦¤ª¤Ü¤í¤²¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿°Å¤¤²áµî¤Ë¡¢Ã±½ã¤Ê¥Ï¡¼¥É¥¦¥§¥¢¤¬¤¢¤ê¤Þ¤·¤¿¡£ ¤³¤Îñ½ã¤Ê¥Ï¡¼¥É¥¦¥§¥¢¤Ï¡¢Ã±½ã¤Ç¾®¤µ¤Ê¥·¥¹¥Æ¥à¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤·¤¿¡£ a.out ¤Ï¤³¤Îñ½ã¤Ê¥·¥¹¥Æ¥à (PDP-11) ¤Ç¤Îºî¶È¤ò¹Ô¤Ê¤¦¥Ð¥¤¥Ê¥ê¤È¤·¤Æ´°Á´¤ËŬ¤·¤¿¤â¤Î¤À¤Ã¤¿¤Î¤Ç¤¹¡£ ¿Í¡¹¤Ï¤³¤Îñ½ã¤Ê¥·¥¹¥Æ¥à¤«¤é UNIX ¤ò°Ü¿¢¤¹¤ëºÝ¤Ë¡¢a.out ¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¤½¤Î¤Þ¤Þ»È¤¤¤Þ¤·¤¿¡£¤È¤¤¤¦¤Î¤Ï Motorola 68k¡¢VAXen¡¢ ¤È¤¤¤Ã¤¿¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ø¤Î UNIX ¤Î½é´ü¤Î°Ü¿¢¤Ç¤Ï¤³¤ì¤Ç½½Ê¬¤À¤Ã¤¿¤«¤é¤Ç¤¹¡£ ¤ä¤¬¤Æ¤¢¤ëÁïÌÀ¤Ê¥¨¥ó¥¸¥Ë¥¢¤¬¡¢ ¥½¥Õ¥È¥¦¥§¥¢¤Ç¤Á¤ç¤Ã¤È¤·¤¿¥È¥ê¥Ã¥¯¤ò»È¤¦¤³¤È¤ò·è¤á¤Þ¤·¤¿¡£ Èà¤Ï¤¤¤¯¤Ä¤«¤Î¥²¡¼¥È¤òºï¤ê¼è¤Ã¤Æ CPU ¤Î¥³¥¢¤ò¤è¤ê®¤¯Áö¤é¤»¤ë¤³¤È¤¬¤Ç¤­¤¿¤Î¤Ç¤¹¡£ ¤³¤ì¤Ï¿·¤·¤¤¼ïÎà¤Î¥Ï¡¼¥É¥¦¥§¥¢ (º£Æü¤Ç¤Ï RISC ¤È¤·¤ÆÃΤé¤ì¤Æ¤¤¤Þ¤¹) ¤Çư¤¤¤¿¤Î¤Ç¤¹¡£ a.out ¤Ï¤³¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤ÏŬ¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢ ¤³¤Î¥Ï¡¼¥É¥¦¥§¥¢¾å¤Ç¿¤¯¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤¬¡¢ ¸ÂÄꤵ¤ì¤¿Ã±½ã¤Ê a.out ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤Î¤â¤Î¤è¤ê¤â¤è¤êÎɤ¤¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò½Ð¤¹¤³¤È¤òÌܻؤ·¤Æ³«È¯¤µ¤ì¤¿¤Î¤Ç¤¹¡£ COFF¡¢ECOFF¡¢ ¤½¤·¤Æ¤¤¤¯¤Ä¤«¤Îͭ̾¤Ç¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã¥È¤¬ ELF ¤¬É¸½à¤Ë¤Ê¤ëÁ°¤Ë³«È¯¤µ¤ì¡¢ ¤½¤ì¤é¤Î¸Â³¦¤¬Ãµµá¤µ¤ì¤¿¤Î¤Ç¤¹¡£ ¤µ¤é¤Ë¡¢¥×¥í¥°¥é¥à¥µ¥¤¥º¤ÏµðÂç¤Ë¤Ê¤ê¡¢ ¥Ç¥£¥¹¥¯ (¤ª¤è¤ÓʪÍý¥á¥â¥ê) ¤Ï°ÍÁ³¤È¤·¤ÆÁêÂÐŪ¤Ë¾®¤µ¤«¤Ã¤¿¤¿¤á¡¢ ¶¦Íѥ饤¥Ö¥é¥ê¤Î¥³¥ó¥»¥×¥È¤¬ÃÂÀ¸¤·¤Þ¤·¤¿¡£ ¤Þ¤¿¡¢VM ¥·¥¹¥Æ¥à¤Ï¤è¤êÊ£»¨¤Ê¤â¤Î¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¤³¤ì¤é¤Î¸Ä¡¹¤Î¿ÊÊâ¤Ï a.out ¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»ÈÍѤ·¤Æ¿ë¤²¤é¤ì¤Þ¤·¤¿¤¬¡¢ ¤½¤ÎÍ­ÍÑÀ­¤Ï¿·¤·¤¤µ¡Ç½¤È¤È¤â¤Ë¤É¤ó¤É¤ó¹­¤¬¤Ã¤Æ¤­¤Þ¤·¤¿¡£ ¤³¤ì¤é¤Ë²Ã¤¨¡¢¼Â¹Ô»þ¤ËɬÍפʤâ¤Î¤òưŪ¤Ë¥í¡¼¥É¤¹¤ë¡¢ ¤Þ¤¿¤Ï½é´ü²½¥³¡¼¥É¤Î¼Â¹Ô¸å¤Ë¥×¥í¥°¥é¥à¤Î°ìÉô¤òÇË´þ¤·¡¢ ¥³¥¢¥á¥â¥ê¤ª¤è¤Ó¥¹¥ï¥Ã¥×¶õ´Ö¤òÀáÌ󤹤ë¤È¤¤¤¦Í×˾¤¬¹â¤Þ¤ê¤Þ¤·¤¿¡£ ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ï¤µ¤é¤ËÊ£»¨¤Ë¤Ê¤ê¡¢main ´Ø¿ô¤ÎÁ°¤Ë¼«Æ°Åª¤Ë¥³¡¼¥ë¤µ¤ì¤ë¥³¡¼¥É¤ÎÍ×˾¤¬¹â¤Þ¤ê¤Þ¤·¤¿¡£ ¿¤¯¤Îµ¡Ç½³ÈÄ¥¤¬¹Ô¤Ê¤ï¤ì¡¢a.out ¥Õ¥©¡¼¥Þ¥Ã¥È¤¬¤³¤ì¤é¤¹¤Ù¤Æ¤ò¼Â¸½¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¡¢ ¤½¤ì¤é¤Ï¤·¤Ð¤é¤¯¤Ï´ðËÜŪ¤Ëưºî¤·¤Æ¤¤¤Þ¤·¤¿¡£ ¤ä¤¬¤Æ¡¢a.out ¤Ï¥³¡¼¥É¤Ç¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤ÈÊ£»¨¤µ¤òÁýÂ礵¤»¤º¤Ë¡¢ ¤³¤ì¤é¤ÎÌäÂꤹ¤Ù¤Æ¤ò½èÍý¤¹¤ë¤³¤È¤Ë̵Íý¤¬¤Ç¤Æ¤­¤Þ¤·¤¿¡£ °ìÊý¡¢ELF ¤Ï¤³¤ì¤é¤ÎÌäÂê¤Î¿¤¯¤ò²ò·è¤·¤Þ¤¹¤¬¡¢ ¸½¾õ²ÔƯ¤·¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤«¤é¤ÎÀÚÂØ¤¨¤ÏÌñ²ð¤Ê¤â¤Î¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ ¤½¤Î¤¿¤á ELF ¤Ï¡¢a.out ¤Î¤Þ¤Þ¤Ç¤¤¤ë¤³¤È¤¬ ELF ¤Ø¤Î°Ü¹Ô¤è¤ê¤â¤â¤Ã¤ÈÌñ²ð¤Ê¤â¤Î¤Ë¤Ê¤ë¤Þ¤ÇÂÔ¤ÄɬÍפ¬¤¢¤ê¤Þ¤·¤¿¡£ ¤·¤«¤·»þ¤¬·Ð¤Ä¤Ë¤Ä¤ì¡¢FreeBSD ¤Î¥Ó¥ë¥É¥Ä¡¼¥ë¤Î¸µ¤È¤Ê¤Ã¤¿¥Ä¡¼¥ë·² (ÆÃ¤Ë¥¢¥»¥ó¥Ö¥é¤È¥í¡¼¥À) ¤È FreeBSD ¤Î¥Ó¥ë¥É¥Ä¡¼¥ë·²¤Ï°Û¤Ê¤Ã¤¿¿Ê²½¤Î·ÐÏ©¤ò¤¿¤É¤ê¤Þ¤·¤¿¡£ FreeBSD ¤Î¥Ä¥ê¡¼¤Ç¤Ï¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê¤¬Äɲ䵤졢 ¥Ð¥°¥Õ¥£¥Ã¥¯¥¹¤â¹Ô¤ï¤ì¤Þ¤·¤¿¡£ ¤â¤È¤â¤È¤Î¥Ä¡¼¥ë·²¤òºîÀ®¤·¤¿ GNU ¤Î¿Í¤¿¤Á¤Ï¡¢¥×¥í¥°¥é¥à¤ò½ñ¤­Ä¾¤·¡¢ ¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥é¤Î¥µ¥Ý¡¼¥È¡¢ °Û¤Ê¤ë¥Õ¥©¡¼¥Þ¥Ã¥È¤òǤ°Õ¤Ë¼è¤ê¹þ¤àµ¡Ç½¤Ê¤É¤òÄɲ䷤Ƥ¤¤­¤Þ¤·¤¿¡£ ¿¤¯¤Î¿Í¡¹¤¬ FreeBSD ¤ò¥¿¡¼¥²¥Ã¥È¤È¤·¤¿¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥é¤Î¹½ÃÛ¤ò»î¤ß¤Þ¤·¤¿¤¬¡¢ FreeBSD ¤Î»È¤Ã¤Æ¤¤¤ë as ¤È ld ¤Î¸Å¤¤¥×¥í¥°¥é¥à¥³¡¼¥É¤Ï¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤ª¤é¤º¡¢ ¤¦¤Þ¤¯¤¤¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ ¿·¤·¤¤ GNU ¤Î¥Ä¡¼¥ë·² (binutils) ¤Ï¡¢ ¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê¡¢C++ ³ÈÄ¥¤Ê¤É¤Îµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ¤µ¤é¤Ë¿ô¿¤¯¤Î¥Ù¥ó¥À¤¬ ELF ¥Ð¥¤¥Ê¥ê¤ò¥ê¥ê¡¼¥¹¤·¤Æ¤¤¤Þ¤¹¡£ FreeBSD ¤Ë¤È¤Ã¤Æ ELF ¥Ð¥¤¥Ê¥ê¤¬¼Â¹Ô¤Ç¤­¤ë¤³¤È¤Ï¡¢ Èó¾ï¤Ë¥á¥ê¥Ã¥È¤¬¤¢¤ê¤Þ¤¹¡£ELF ¥Ð¥¤¥Ê¥ê¤¬ FreeBSD ¤Çư¤¯¤Î¤Ê¤é¡¢a.out ¤òư¤«¤¹¤Î¤Ë¼ê´Ö¤ò¤«¤±¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¤Í¡£ Ť¤´ÖÃé¼Â¤Ë¤è¤¯Æ¯¤¤¤¿Ï·¤¤¤¿ÇϤϡ¢ ¤½¤í¤½¤íËÒÁðÃϤǵ٤ޤ»¤Æ¤¢¤²¤Þ¤·¤ç¤¦¡£ ELF ¤Ï a.out ¤ËÈæ¤Ù¤Æ¤è¤êɽ¸½ÎϤ¬¤¢¤ê¡¢ ¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¤ËÂФ·¤Æ¤è¤êÉý¹­¤¤³ÈÄ¥À­¤òÄ󶡤Ǥ­¤Þ¤¹¡£ ELF ÍѤΥġ¼¥ë¤Ï¤è¤ê¤è¤¯Êݼ餵¤ì¤Æ¤¤¤Þ¤¹¡£ ¤Þ¤¿Â¿¤¯¤Î¿Í¤Ë¤È¤Ã¤Æ½ÅÍפʥ¯¥í¥¹¥³¥ó¥Ñ¥¤¥ë¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ELF ¤Î¼Â¹Ô®Å٤ϡ¢¤Û¤ó¤Î¾¯¤· a.out ¤è¤êÃÙ¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢ ¼ÂºÝ¤Ë®Å٤κ¹¤ò¤Ï¤«¤ë¤Î¤Ïº¤Æñ¤Ç¤·¤ç¤¦¡£ ELF ¤È a.out ¤Î´Ö¤Ë¤Ï¡¢¥Ú¡¼¥¸¥Þ¥Ã¥Ô¥ó¥°¡¢ ½é´ü²½¥³¡¼¥É¤Î½èÍý¤Ê¤É¿¤¯¤Î°ã¤¤¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ ¤È¤ê¤¿¤Æ¤Æ½ÅÍפʤâ¤Î¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·°ã¤¤¤¬¤¢¤ë¤Î¤Ï³Î¤«¤Ç¤¹¡£¤Û¤É¤Ê¤¯¡¢ GENERIC ¥«¡¼¥Í¥ë¤«¤é a.out ¤Î¥µ¥Ý¡¼¥È¤¬³°¤µ¤ì¤Þ¤¹¡£ a.out ¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ëɬÍ×À­¤¬¤Ê¤¯¤Ê¤ì¤Ð¡¢ ºÇ½ªÅª¤Ë a.out ¤Î¥µ¥Ý¡¼¥È¤Ï¥«¡¼¥Í¥ë¤«¤éºï½ü¤µ¤ì¤Þ¤¹¡£ ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Îµö²Ä°À­¤ò chmod ¤ÇÊѤ¨¤é¤ì¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«? ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ïµö²Ä°À­¤ò»ý¤Á¤Þ¤»¤ó¡£ ¤Þ¤¿ &man.chmod.1; ¤Î¥Ç¥Õ¥©¥ë¥Èưºî¤Ï¡¢ ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤Ã¤Æ¥ê¥ó¥¯Àè¤Î¥Õ¥¡¥¤¥ë¤Îµö²Ä°À­¤òÊѹ¹¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ ¤½¤Î¤¿¤á¡¢ foo ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¡¢ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯ bar ¤¬¤¢¤Ã¤¿¤È¤¹¤ë¤È¡¢ °Ê²¼¤Î¥³¥Þ¥ó¥É¤Ï¾ï¤ËÀ®¸ù¤·¤Þ¤¹¡£ &prompt.user; chmod g-w bar ¤·¤«¤·¤³¤Î¾ì¹ç¡¢foo ¤Îµö²Ä°À­¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£ ¤³¤Î¾ì¹ç¡¢ ¤« ¤Î¤É¤Á¤é¤«¤Î¥ª¥×¥·¥ç¥ó¤ò ¤ÈƱ»þ¤Ë»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ &man.chmod.1; ¤È &man.symlink.7; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë¤Ï¤â¤Ã¤È¾Ü¤·¤¤¾ðÊ󤬤¢¤ê¤Þ¤¹¡£ ¥ª¥×¥·¥ç¥ó¤ÏºÆµ¢Åª¤Ë &man.chmod.1; ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤ä¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò chmod ¤¹¤ë¾ì¹ç¤Ïµ¤¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£ ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ëñ°ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ï¡¢ &man.chmod.1; ¤ò¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤º¤Ë¡¢ ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î̾Á°¤Î¸å¤í¤Ë¥¹¥é¥Ã¥·¥å (/) ¤ò¤Ä¤±¤Æ»È¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢foo ¤¬¥Ç¥£¥ì¥¯¥È¥ê bar ¤Ø¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¢¤ë¾ì¹ç¡¢ foo (¼ÂºÝ¤Ë¤Ï bar) ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.user; chmod 555 foo/ ¸å¤í¤Ë¥¹¥é¥Ã¥·¥å¤ò¤Ä¤±¤ë¤È¡¢ &man.chmod.1; ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯ foo ¤òÄɤ¤¤«¤±¤Æ¥Ç¥£¥ì¥¯¥È¥ê bar ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÊѹ¹¤·¤Þ¤¹¡£ ¥í¥°¥¤¥ó̾¤¬¤¤¤Þ¤À¤Ë 8 ʸ»ú¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«? UT_NAMESIZE ¤òÊѹ¹¤·¤Æ¥·¥¹¥Æ¥àÁ´ÂΤòºî¤êľ¤»¤Ð½½Ê¬¤Ç¡¢ ¤½¤ì¤À¤±¤Ç¤¦¤Þ¤¯¤¤¤¯¤À¤í¤¦¤È¤¢¤Ê¤¿¤Ï¹Í¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ »Äǰ¤Ê¤¬¤é¿¤¯¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¥æ¡¼¥Æ¥£¥ê¥Æ¥£ (¥·¥¹¥Æ¥à¥Ä¡¼¥ë¤â´Þ¤á¤Æ) ¤Ï¡¢ ¾®¤µ¤Ê¿ôÃͤò¹½Â¤ÂΤä¥Ð¥Ã¥Õ¥¡¤Ê¤É¤Ë»È¤Ã¤Æ¤¤¤Þ¤¹ (ɬ¤º¤·¤â 8 ¤ä 9 ¤Ç¤Ï¤Ê¤¯¡¢ 15 ¤ä 20 ¤Ê¤É¤ÎÊѤä¿Ãͤò»È¤¦¤â¤Î¤â¤¢¤ê¤Þ¤¹)¡£ (¸ÇÄêĹ¤Î¥ì¥³¡¼¥É¤ò´üÂÔ¤¹¤ë¤È¤³¤í¤Ç²ÄÊÑĹ¥ì¥³¡¼¥É¤Ë¤Ê¤ë¤¿¤á¡¢ ) ÂæÌµ¤·¤Ë¤Ê¤Ã¤¿¥í¥°¥Õ¥¡¥¤¥ë¤òÆÀ¤ë¤³¤È¤Ë¤Ê¤ë¤È¤¤¤¦¤³¤È¤À¤±¤Ç¤Ê¤¯¡¢ Sun ¤Î NIS ¤Î¥¯¥é¥¤¥¢¥ó¥È¤Î¾ì¹ç¤ÏÌäÂ꤬µ¯¤­¤Þ¤¹¤·¡¢Â¾¤Î UNIX ¥·¥¹¥Æ¥à¤È¤Î´ØÏ¢¤Ë¤ª¤¤¤Æ¤³¤ì¤é°Ê³°¤ÎÌäÂê¤âµ¯¤­¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ ¤·¤«¤·¡¢FreeBSD 3.0 °Ê¹ß¤Ç¤Ï 16 ʸ»ú¤È¤Ê¤ê¡¢ ¿¤¯¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤¿Ì¾Á°¤ÎŤµ¤ÎÌäÂê¤â²ò·è¤µ¤ì¤Þ¤¹¡£ ¼ÂºÝ¤Ë¤Ï¥·¥¹¥Æ¥à¤Î¤¢¤Þ¤ê¤Ë¿¤¯¤ÎÉôʬ¤ò½¤Àµ¤¹¤ë¤¿¤á¤Ë¡¢ 3.0 ¤Ë¤Ê¤ë¤Þ¤Ç¤ÏÊѹ¹¤¬¹Ô¤ï¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ ¤½¤ì°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÌäÂ꤬µ¯¤³¤Ã¤¿¾ì¹ç¤Ë¡¢ ÌäÂê¤ò¼«Ê¬¼«¿È¤Çȯ¸«¤·¡¢²ò·è¤Ç¤­¤ë¤³¤È¤ËÀäÂÐŪ¤Ê¼«¿®¤¬¤¢¤ë¾ì¹ç¤Ï /usr/include/utmp.h ¤òÊÔ½¸¤·¡¢ UT_NAMESIZE ¤ÎÊѹ¹¤Ë¤·¤¿¤¬¤Ã¤Æ¡¢ Ť¤¥æ¡¼¥¶Ì¾¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢ UT_NAMESIZE ¤ÎÊѹ¹¤È°ìÃפ¹¤ë¤è¤¦¤Ë /usr/include/sys/param.h ¤Î MAXLOGNAME ¹¹¿·¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ ºÇ¸å¤Ë¡¢¥½¡¼¥¹¤«¤é¥Ó¥ë¥É¤¹¤ë¾ì¹ç¤Ï /usr/include ¤òËè²ó¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë! /usr/src/.. ¾å¤Î¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Æ¤ª¤¤¤ÆÃÖ¤­´¹¤¨¤Þ¤·¤ç¤¦¡£ FreeBSD ¾å¤Ç DOS ¤Î¥Ð¥¤¥Ê¥ê¤òư¤«¤¹¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤«? ¤Ï¤¤¡¢FreeBSD 3.0 ¤«¤é¤Ï¡¢ Åý¹ç¤È²þÎɤ¬½Å¤Í¤é¤ì¤¿ BSDI ¤Î doscmd DOS ¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¥µ¥Ö¥·¥¹¥Æ¥à¤ò»È¤Ã¤Æ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ º£¤Ê¤ªÂ³¤±¤é¤ì¤Æ¤¤¤ë¤³¤ÎÅØÎϤ˶½Ì£¤ò»ý¤Ã¤Æ»²²Ã¤·¤Æ¤¤¤¿¤À¤±¤ë¤Ê¤é¡¢ &a.emulation; ¤Ø¥á¡¼¥ë¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD 3.0 °ÊÁ°¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ pcemu ¤È¤¤¤¦¹ªÌ¯¤Ê¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬ FreeBSD Ports Collection ¤Ë¤¢¤ê¡¢ 8088 ¤Î¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¤È DOS ¤Î¥Æ¥­¥¹¥È¥â¡¼¥É¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òư¤«¤¹¤Ë½½Ê¬¤Ê BIOS ¥µ¡¼¥Ó¥¹¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤Ï X ¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤¬É¬ÍפǤ¹ (XFree86 ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹)¡£ ¤É¤³¤Ç̵ÎÁ¤Î FreeBSD ¤Î¥¢¥«¥¦¥ó¥È¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¤«? FreeBSD ¤Ï¤¤¤º¤ì¤Î¥µ¡¼¥Ð¡¼¤Ë¤â¥¢¥¯¥»¥¹¤ò³«Êü¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢ Unix ¥·¥¹¥Æ¥à¤Ø¤Î¼«Í³¤Ê¥¢¥¯¥»¥¹¤òÄ󶡤·¤Æ¤¤¤ë¤È¤³¤í¤¬¤¢¤ê¤Þ¤¹¡£ ÈñÍѤϤޤÁ¤Þ¤Á¤Ç¡¢¸ÂÄꤵ¤ì¤¿¥µ¡¼¥Ó¥¹¤¬ÍøÍѤǤ­¤Þ¤¹¡£ M-Net ¤È¤·¤Æ¤âÃΤé¤ì¤ë Arbornet, Inc ¤Ï 1983 ǯ¤«¤é Unix ¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ System III ¤¬Æ°ºî¤¹¤ë Altos ¤Ë»Ï¤Þ¤ê¡¢1991 ǯ¤Ë¤Ï BSD/OS ¤Ë°Ü¹Ô¤·¤Þ¤·¤¿¡£2000 ǯ 6 ·î¤Ë¤Ï¡¢ºÆ¤Ó FreeBSD ¤Ë °Ü¹Ô¤·¤Æ¤¤¤Þ¤¹¡£M-Net ¤Ë¤Ï SSH ¤Þ¤¿¤Ï telnet ·Ðͳ¤Ç ¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢FreeBSD ¥½¥Õ¥È¥¦¥§¥¢°ì¼°¤¬ ÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥Í¥Ã¥È¥ï¡¼¥¯Àܳ¤Ï ²ñ°÷¤È¡¢Èó±ÄÍøÁÈ¿¥¤È¤·¤Æ±¿±Ä¤µ¤ì¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ë´óÉÕ¤ò¤¹¤ë ¸å±ç¼Ô¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢M-Net ¤Ï·Ç¼¨ÈÄ¥·¥¹¥Æ¥à¤È ÁÐÊý¸þ¥Á¥ã¥Ã¥È¤âÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ Grex ¤Ï¡¢ ·Ç¼¨ÈÄ¥·¥¹¥Æ¥à¤ÈÁÐÊý¸þ¥Á¥ã¥Ã¥È¥½¥Õ¥È¥¦¥§¥¢¤¬Æ±¤¸¤Ç¤¢¤ë¤³¤È¤â´Þ¤á¡¢ M-Net ¤È¤è¤¯»÷¤¿¥µ¥¤¥È¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£¤·¤«¤·¡¢ ¥Þ¥·¥ó¤Ï Sun 4M ¤Ç¡¢SunOS ¤¬Æ°ºî¤·¤Æ¤¤¤Þ¤¹¡£ sup ¤È¤Ï²¿¤Ç¡¢ ¤É¤Î¤è¤¦¤Ë¤·¤Æ»È¤¦¤â¤Î¤Ê¤Î¤Ç¤·¤ç¤¦¤«? SUP ¤È¤Ï¡¢¥½¥Õ¥È¥¦¥§¥¢¥¢¥Ã¥×¥Ç¡¼¥È¥×¥í¥È¥³¥ë (Software Update Protocol) ¤Ç ¥«¡¼¥Í¥®¡¼¥á¥í¥óÂç³Ø (CMU) ¤Ç³«È¯¥Ä¥ê¡¼¤ÎƱ´ü¤Î¤¿¤á¤Ë³«È¯¤µ¤ì¤Þ¤·¤¿¡£ »ä¤¿¤Á¤ÎÃæ¿´³«È¯¥Ä¥ê¡¼¤ò¥ê¥â¡¼¥È¥µ¥¤¥È¤ÇƱ´ü¤µ¤»¤ë¤¿¤á¤Ë»È¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ SUP ¤Ï¥Ð¥ó¥ÉÉý¤òϲÈñ¤·¤Þ¤¹¤Î¤Ç¡¢º£¤Ï»È¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ ¥½¡¼¥¹¥³¡¼¥É¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Î¸½ºß¤Î¤ª¤¹¤¹¤á¤ÎÊýË¡¤Ï FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¡ÖCVSup¡×¤Ë¤¢¤ê¤Þ¤¹¡£ FreeBSD ¤ò¥¯¡¼¥ë¤Ë»È¤¦¤Ë¤Ï? FreeBSD ¤òư¤«¤¹»þ¤Ë²¹ÅÙ¬Äê¤ò¹Ô¤Ê¤Ã¤¿¿Í¤Ï¤¤¤Þ¤¹¤«? Linux ¤Ï dos ¤è¤ê¤â²¹ÅÙ¤¬²¼¤¬¤ë¤È¤¤¤¦¤³¤È¤ÏÃΤäƤ¤¤Þ¤¹¤¬¡¢FreeBSD ¤Ë¤Ä¤¤¤Æ¤Ï¤³¤Î¤è¤¦¤Ê¤³¤È¤Ë¿¨¤ì¤¿¤â¤Î¤ò¸«¤¿¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¼ÂºÝÇ®¤¯¤Ê¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£ ¤¤¤¤¤¨¡£ »ä¤¿¤Á¤Ï 250 ¥Þ¥¤¥¯¥í¥°¥é¥à¤Î LSD-25 ¤ò¤¢¤é¤«¤¸¤áÍ¿¤¨¤Æ¤ª¤¤¤¿¥Ü¥é¥ó¥Æ¥£¥¢¤ËÂФ¹¤ë¡¢ Ìܱ£¤·Ì£³Ð¥Æ¥¹¥È¤òÂçÎ̤˹ԤʤäƤ¤¤Þ¤¹¡£ 35% ¤Î¥Ü¥é¥ó¥Æ¥£¥¢¤Ï FreeBSD ¤Ï¥ª¥ì¥ó¥¸¤Î¤è¤¦¤ÊÌ£¤¬¤¹¤ë¤È¸À¤Ã¤Æ¤¤¤ë¤Î¤ËÂФ·¡¢ Linux ¤Ï»ç±ì¤Î¤è¤¦¤ÊÌ£¤ï¤¤¤¬¤¢¤ë¤È¸À¤Ã¤Æ¤¤¤ë¿Í¤â¤¤¤Þ¤¹¡£ ξÊý¤Î¥°¥ë¡¼¥×¤È¤â²¹ÅÙ¤ÎÉÔ°ìÃפˤĤ¤¤Æ¤Ï²¿¤â¿¨¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¤³¤ÎÄ´ºº¤Ç¡¢Èó¾ï¤Ë¿¤¯¤Î¥Ü¥é¥ó¥Æ¥£¥¢¤¬¥Æ¥¹¥È¤ò¹Ô¤Ê¤Ã¤¿Éô²°¤«¤éÉԻ׵Ĥ½¤¦¤Ë½Ð¤Æ¤­¤Æ¡¢ ¤³¤Î¤è¤¦¤Ê¤ª¤«¤·¤Ê·ë²Ì¤ò¼¨¤·¤¿¤³¤È¤Ë»ä¤¿¤Á¤ÏÅöÏǤµ¤»¤é¤ì¤Þ¤·¤¿¡£ »ä¤¿¤Á¤Ï¡¢¤Û¤È¤ó¤É¤Î¥Ü¥é¥ó¥Æ¥£¥¢¤Ï Apple ¤Ë¤¤¤ÆÈà¤é¤ÎºÇ¿·¤Î¡Ö°ú¤Ã¤«¤¤¤ÆÆ÷¤¤¤ò¤«¤°¡×GUI ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ »ä¤¿¤Á¤Ï´ñ̯¤Ê¸Å¤¤»Å»ö¤ò¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦! ¿¿ÌÌÌܤ˸À¤¦¤È¡¢FreeBSD ¤ä Linux ¤Ï¶¦¤Ë HLT (Ää»ß) Ì¿Îá¤ò¥·¥¹¥Æ¥à¤Î¥¢¥¤¥É¥ë (idle) »þ¤Ë»È¤¤¡¢ ¥¨¥Í¥ë¥®¡¼¤Î¾ÃÈñ¤ò²¡¤¨¤Æ¤¤¤Þ¤¹¤Î¤ÇÇ®¤ÎȯÀ¸¤â¾¯¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢APM (advanced power management) ¤òÀßÄꤷ¤Æ¤¢¤ë¤Ê¤é FreeBSD ¤Ï CPU ¤ò¥í¡¼¥Ñ¥ï¡¼¥â¡¼¥É¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ 狼¤¬»ä¤Î¥á¥â¥ê¥«¡¼¥É¤ò¤Ò¤Ã¤«¤¤¤Æ¤¤¤ë¤Î¤Ç¤¹¤«?? FreeBSD¤Ç¥«¡¼¥Í¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤ò¤·¤Æ¤¤¤ë»þ¡¢ ¥á¥â¥ê¤«¤é°ú¤Ã¤«¤¤¤Æ¤¤¤ë¤è¤¦¤Ê´ñ̯¤Ê²»¤¬Ê¹¤³¤¨¤ë¤è¤¦¤Ê¤³¤È¤Ï¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«? ¥³¥ó¥Ñ¥¤¥ë¤ò¤·¤Æ¤¤¤ë»þ (¤¢¤ë¤¤¤Ïµ¯Æ°»þ¤Ë¥Õ¥í¥Ã¥Ô¥É¥é¥¤¥Ö¤òǧ¼±¤·¤¿¸å¤Îû¤¤´Ö¤Ê¤É)¡¢ ´ñ̯¤Ê°ú¤Ã¤«¤¯¤è¤¦¤Ê²»¤¬¥á¥â¥ê¥«¡¼¥É¤Î¤¢¤¿¤ê¤«¤éʹ¤³¤¨¤Æ¤­¤Þ¤¹¡£ ¤½¤ÎÄ̤ê! BSD ¤Îʸ½ñ¤Ë¤ÏÎɤ¯¡¢¥Ç¡¼¥â¥ó (daemon) ¤È¤¤¤¦¸ÀÍÕ¤¬½Ð¤Æ¤­¤Þ¤¹¡£ ¤Û¤È¤ó¤É¤Î¿Í¤ÏÃΤé¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ ¥Ç¡¼¥â¥ó¤È¤Ï¡¢¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ò°Í¤êÂå¤È¤¹¤ë¡¢ ½ã¿è¤ÇÈóʪ¼ÁŪ¤Ê¸ºß¤Î¤³¤È¤Ç¤¹¡£ ¥á¥â¥ê¤«¤éʹ¤³¤¨¤ë¤Ò¤Ã¤«¤¯¤è¤¦¤Ê²»¤Ï¡¢ ¤µ¤Þ¤¶¤Þ¤¢¤ë¥·¥¹¥Æ¥à´ÉÍý¥¿¥¹¥¯¤Î°·¤¤¤ò¤¤¤«¤ËºÇÁ±¤Ê¤â¤Î¤Ë¤¹¤ë¤«¡¢ ¤È¤¤¤Ã¤¿¤³¤È¤ò·è¤á¤ë¤È¤­¤Ë¥Ç¡¼¥â¥ó¤¿¤Á¤¬¸ò¤ï¤¹¡¢ ¤«¤ó¹â¤¤¤µ¤µ¤ä¤­À¼¤Ê¤Î¤Ç¤¹¡£ ¤³¤Î»¨²»¤¬Ê¹¤³¤¨¤¿¤È¤­¡¢DOS ¤«¤é fdisk /mbr ¤È¤¤¤¦¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ì¤Ð¡¢ ¤¦¤Þ¤¯¥Ç¡¼¥â¥ó¤òÄɤ¤½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ ¤Ç¤â¡¢¥Ç¡¼¥â¥ó¤Ï¤½¤ì¤Ë»õ¸þ¤«¤Ã¤Æ fdisk ¤Î¼Â¹Ô¤ò¤ä¤á¤µ¤»¤è¤¦¤È¤¹¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£ ¤â¤·¡¢¤½¤ì¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤È¤­¤Ë¥¹¥Ô¡¼¥«¤Ê¤é¥Ó¥ë ¥²¥¤¥Ä (Bill Gates) ¤Î°­Ëâ¤Î¤µ¤µ¤ä¤­¤¬Ê¹¤³¤¨¤Æ¤­¤¿¤é¡¢ ¤¹¤°¤ËΩ¤Á¾å¤¬¤Ã¤ÆÆ¨¤²¤Æ¤¯¤À¤µ¤¤¡£·è¤·¤Æ¿¶¤êÊ֤äƤϤ¤¤±¤Þ¤»¤ó! BSD ¤Î¥Ç¡¼¥â¥ó¤¿¤Á¤¬²¡¤¨¹þ¤ó¤Ç¤¤¤¿ÁлҤΥǡ¼¥â¥ó¡¢DOS ¤È Windows ¤¬²òÊü¤µ¤ì¡¢ ¤¢¤Ê¤¿¤Îº²¤ò±Ê±ó¤ÎÇËÌÇ¤ØÆ³¤³¤¦¤È¥Þ¥·¥ó¤òºÆ¤Ó»ÙÇÛ¤·¤Æ¤·¤Þ¤¦¤³¤È¤Ç¤·¤ç¤¦¡£ ¤½¤ì¤òÃΤ俺£¤ä¡¢Áª¤Ù¤È¸À¤ï¤ì¤¿¤é¡¢ ¤à¤·¤í¤Ò¤Ã¤«¤­²»¤Ë´·¤ì¤ëÊý¤òÁª¤Ö¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤«? "MFC" ¤È¤Ï¤É¤¦¤¤¤¦°ÕÌ£¤Ç¤¹¤« MFC ¤È¤Ï¡¢ ¡ÖCURRENT ¤È¤Î¹çή (Merged From -CURRENT)¡×¤ÎƬʸ»ú¤ò¤È¤Ã¤¿¤â¤Î¤Ç¤¹¡£ CVS ¥í¥°¤Ç -CURRENT ¤«¤é -STABLE ¥Ö¥é¥ó¥Á¤Ø¤Î¹çή¤ò¼¨¤·¤Þ¤¹¡£ "BSD" ¤È¤Ï¤É¤¦¤¤¤¦°ÕÌ£¤Ç¤¹¤«? ¤³¤Î¸ÀÍդϡ¢Ãç´Ö¤¦¤Á¤À¤±¤Ëʬ¤«¤ë±£¸ì¤Ç²¿¤È¤«¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£ ʸ»ú¤É¤ª¤ê¤ËÌõ¤¹¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤¬¡¢ BSD ¤ÎÌõ¤Ï¡ÖF1 ¤Î¥ì¡¼¥·¥ó¥°¥Á¡¼¥à¡×¤«¡Ö¥Ú¥ó¥®¥ó¤Ï¤ª¤¤¤·¤¤¥¹¥Ê¥Ã¥¯¡×¡¢ ¤¢¤ë¤¤¤Ï¡Ö²¶¤¿¤Á¤ã Linux ¤è¤êÞ¯Íî¤ÏÍø¤¤¤Æ¤ë¤¼¡×¤È¤«¤½¤Î¤Ø¤ó¤À¤È¸À¤Ã¤Æ¤ª¤±¤Ð¤ª¤Ã¤±¡¼¤Ç¤·¤ç¤¦¡£ :-) ¾éÃ̤Ϥµ¤Æ¤ª¤­¡¢BSD ¤È¤Ï¡¢Berkeley CSRG (¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥àɾµÄ²ñ) ¤¬Èà¤é¤Î UNIX ¤ÎÇÛÉÛ·ÁÂÖ¤Î̾Á°¤È¤·¤ÆÅö»þÁª¤ó¤À "Berkeley Software Distribution" ¤Îά¤Ç¤¹¡£ ¥ê¥Ý¥¸¥È¥ê¡¦¥³¥Ô¡¼ (repo-copy) ¤È¤Ï°ìÂβ¿¤Î¤³¤È¤Ç¤·¤ç¤¦? repo-copy (repository copy ¤Îά) ¤È¤Ï¡¢ CVS ¥ê¥Ý¥¸¥È¥ê¤ÎÃæ¤ÇľÀÜ¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤¹¤ë¤³¤È¤ò¼¨¤¹ÍѸì¤Ç¤¹¡£ repo-copy ¤ò¹Ô¤Ê¤ï¤Ê¤¤¾ì¹ç¤ò¹Í¤¨¤Þ¤¹¡£ ¥ê¥Ý¥¸¥È¥ê¤ÎÃæ¤Î°Û¤Ê¤ë¾ì½ê¤Ë¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤¿¤ê¡¢ °Üư¤·¤¿¤ê¤¹¤ëɬÍ×À­¤¬À¸¤¸¤ë¤È¡¢¥³¥ß¥Ã¥¿¡¼¤Ï ¥Õ¥¡¥¤¥ë¤ò¿·¤·¤¤¾ì½ê¤ËÃÖ¤¯¤¿¤á¤Ë cvs add ¤ò¡¢ ¤½¤·¤Æ¸Å¤¤¥Õ¥¡¥¤¥ë¤¬ºï½ü¤µ¤ì¤ë¾ì¹ç¤Ï¡¢¸Å¤¤¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ cvs rm ¤ò¼Â¹Ô¤¹¤ë¤Ç¤·¤ç¤¦¡£ ¤³¤ÎÊýË¡¤Î·çÅÀ¤Ï¡¢¥Õ¥¡¥¤¥ë¤ÎÊѹ¹ÍúÎò (¤¿¤È¤¨¤Ð CVS ¥í¥°¤Î¥¨¥ó¥È¥ê) ¤¬¿·¤·¤¤¾ì½ê¤Ë¥³¥Ô¡¼¤µ¤ì¤Ê¤¤¤³¤È¤Ç¤¹¡£ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¤³¤ÎÊѹ¹ÍúÎò¤ò¤È¤Æ¤âÍ­ÍѤʤâ¤Î¤À¤È¹Í¤¨¤Æ¤¤¤ë¤¿¤á¡¢ Á°½Ò¤ÎÊýË¡¤ÎÂå¤ï¤ê¤Ë¥ê¥Ý¥¸¥È¥ê¥³¥Ô¡¼¤¬Îɤ¯ÍѤ¤¤é¤ì¤Þ¤¹¡£ ¤³¤ÎÁàºî¤Ï cvs ¥×¥í¥°¥é¥à¤òÍøÍѤ¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢ ¥ê¥Ý¥¸¥È¥ê¤Î´ÉÍýôÅö¼Ô¤¬¥ê¥Ý¥¸¥È¥ê¤ÎÃæ¤Ç¥Õ¥¡¥¤¥ë¤òľÀÜ¥³¥Ô¡¼¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£ ¤Ê¤ó¤Ç¥Ð¥¤¥¯¾®²° (bikeshed) ¤Î¿§¤Ë¤Þ¤Çµ¤¤ò»È¤ï¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤ó¤Ç¤¹¤«? °ì¸À¤Ç¸À¤Ã¤Æ¤·¤Þ¤¨¤Ð¡¢¤½¤¦¤¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤â¤¦¾¯¤·¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤·¤ç¤¦¡£ ¤¿¤È¤¨¤Ð¡¢¤¢¤Ê¤¿¤¬¥Ð¥¤¥¯¾®²°¤ò·ú¤Æ¤ëµ»½Ñ¤ò»ý¤Ã¤Æ¤¤¤¿¤È¤·¤Þ¤¹¡£ ¤·¤«¤·¤½¤ì¤Ï¡¢ÅÉ¤í¤¦¤È¤·¤Æ¤¤¤ë¿§¤¬µ¤¤ËÆþ¤é¤Ê¤¤¤«¤é¤È¸À¤Ã¤Æ¡¢ ¾¿Í¤¬¥Ð¥¤¥¯¾®²°¤ò·ú¤Æ¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤ò»ß¤á¤ÆÎɤ¤Íýͳ¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¤è¤Í¡£ ¤³¤ì¤Ï¡¢¼«Ê¬¤Î¹Ôư¤Ë¤Ä¤¤¤Æ½½Ê¬¤ÊÍý²ò¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢ ¤¢¤Ê¤¿¤ÏºÙ¤«¤Êµ¡Ç½¤¹¤Ù¤Æ¤Ë¤ï¤¿¤Ã¤ÆµÄÏÀ¤¹¤ëɬÍפϤʤ¤¤³¤È¤ò¼¨¤¹ÈæÓȤǤ¹¡£ ¤¢¤ëÊѹ¹¤Ë¤è¤Ã¤Æ»º¤ß½Ð¤µ¤ì¤ë¥Î¥¤¥º¤ÎÁíÎ̤ϡ¢ ¤½¤ÎÊѹ¹¤ÎÊ£»¨¤µ¤ËÈ¿ÈæÎ㤹¤ë¤Î¤À¤È¸À¤Ã¤Æ¤¤¤ë¿Íã¤â¤¤¤Þ¤¹¡£ ¤µ¤é¤Ë¾Ü¤·¤¯¡¢´°Á´¤Ê²óÅú¤ò¾Ò²ð¤·¤Þ¤·¤ç¤¦¡£ Poul-Henning Kamp ¤Ï¡¢ ¡Ö&man.sleep.1; ¤Ïʬ¿ô¤ÎÉÿô¤ò°ú¿ô¤È¤·¤Æ¼è¤ë¤Ù¤­¤«¡×¤È¤¤¤¦ Èó¾ï¤ËŤ¤µÄÏÀ¤Î¸å¤Ç¡¢ A bike shed (any colour will do) on greener grass... ¤È¤¤¤¦¥¿¥¤¥È¥ë¤ÎĹʸ¤òÅê¹Æ¤·¤Þ¤·¤¿¡£ ´Ø·¸¤Î¤¢¤ëÉôʬ¤À¤±¤ò°Ê²¼¤Ë·ÇºÜ¤·¤Þ¤¹¡£
1999 ǯ 10 ·î 2 Æü freebsd-hackers ¤Ë¤Æ Poul-Henning Kamp ¤³¤Î¥Ð¥¤¥¯¾®²°¡¢¤É¤¦¤À¤í¤¦? 狼¤¬¤¿¤º¤Í¤Þ¤·¤¿¡£ Ť¤¡Ä¤È¤¤¤¦¤«¡¢¤à¤·¤í¸Å¤¤Ïäˤʤê¤Þ¤¹¤¬¡¢ Ãæ¿È¤Ï¤ï¤ê¤È´Êñ¤ÊÏäǤ¹¡£¥Ñ¡¼¥­¥ó¥½¥ó (C. Northcote Parkinson) ¤Ï 1960 ǯÂå½éƬ¤Ë ¥Ñ¡¼¥­¥ó¥½¥ó¤Îˡ§ ¤È¸Æ¤Ð¤ì¤ëËܤò½ñ¤­¤Þ¤·¤¿¡£ ¤³¤ÎÃæ¤Ë¤Ï¤µ¤Þ¤¶¤Þ¤Ê·Ð±Ä¤ÎÎϳؤ˴ؤ¹¤ëƶ»¡¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ [ ¤³¤ÎËܤ˴ؤ¹¤ë²òÀ⤬¤¢¤Ã¤¿¤¬¾Êά ] ¥Ð¥¤¥¯¾®²°¤Ë´ØÏ¢¤¹¤ëÎã¤È¤·¤Æ¡¢ ¤â¤¦°ì¤Ä¤Î½ÅÍפʹ½À®Í×ÁǤȤʤäƤ¤¤ë¤Î¤Ï¸¶»ÒÎÏȯÅŽê¤Ç¤¹¡£ ¤³¤ÎËܤÎǯÂ夬¤ï¤«¤ê¤Þ¤¹¤Í¡£ ¥Ñ¡¼¥­¥ó¥½¥ó¤Ï¡¢¤¢¤Ê¤¿¤¬½ÅÌò²ñ¤Ë½ÐÀʤ·¤Æ ¿ôÉ´Ëü¤«¤é¿ô10²¯¥É¥ëµ¬ÌϤθ¶»ÒÎÏȯÅŽê¤Î·úÀߤξµÇ§¤òÆÀ¤ë ¤³¤È¤Ï¤Ç¤­¤ë¤Ç¤·¤ç¤¦¤¬¡¢¤¢¤Ê¤¿¤¬·ú¤Æ¤¿¤¤¤Î¤¬¥Ð¥¤¥¯¾®²°¤Ê¤é¤Ð¡¢ ½ª¤ï¤ê¤Ê¤­µÄÏÀ¤Ë´¬¤­¹þ¤Þ¤ì¤ë¤À¤í¤¦¤È¸À¤Ã¤Æ¤¤¤Þ¤¹¡£ ¥Ñ¡¼¥­¥ó¥½¥ó¤Ï¤³¤Î¤è¤¦¤ËÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¸¶È¯¤¬Í¾¤ê¤ËµðÂç¤Ç¹â²Á¤ÇÊ£»¨¤Ê¤Î¤Çï¤â¤³¤ì¤ò°ì¼ê¤Ë°®¤ë¤³¤È¤¬¤Ç¤­¤º¡¢ ¤½¤ì¤ò»î¤ß¤ë¤¯¤é¤¤¤Ê¤é¤à¤·¤í¡¢¼ê¤¬½Ð¤»¤Ê¤¯¤Ê¤ëÁ°¤Ë ¾¤Î狼¤¬¤¹¤Ù¤Æ¤ò¾ÜºÙ¤Ë¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤ò °ú¤­¼õ¤±¤ë¤³¤È¤ËÍê¤ë¤Î¤Ç¤¹¡£ ¥ê¥Á¥ã¡¼¥É¡¦¥Õ¥¡¥¤¥ó¥Þ¥ó (Richard P. Feynmann) ¤Ï¡¢ ¥í¥¹¥¢¥é¥â¥¹¤Ç¤³¤Î¼ê¤Î½ÅÍפʷи³¤ò²¿Å٤⸫¤Æ¤­¤¿¤ÈËܤ˽ñ¤¤¤Æ¤¤¤Þ¤¹¡£ °ìÊý¤Ç¥Ð¥¤¥¯¾®²°¤Î¾ì¹ç¤Ï¡¢Ã¯¤Ç¤â½µËö¤Ë¤³¤ì¤òºî¤ê¾å¤²¤ë¤³¤È¤¬¤Ç¤­¡¢ ¤·¤«¤â TV ¤Î»î¹ç¤ò¸«¤ë»þ´Ö¤¬¤¢¤Þ¤ë¤Û¤É¤Ç¤¹¡£ ¤Ê¤Î¤Ç¡¢¤É¤ó¤Ê¤Ë½àÈ÷¤¬À°¤¨¤Æ¤¢¤Ã¤Æ¡¢¤É¤ó¤Ê¤Ë·×²è¤¬½çÅö¤Ç¤¢¤Ã¤¿¤È¤·¤Æ¤â¡¢ ¤ï¤¿¤·¤Ï»Å»ö¤ò¤ä¤Ã¤Æ¤¤¤ë¤è¡¢ ¤ï¤¿¤·¤ÏÃí°Õ¤òʧ¤Ã¤Æ¤¤¤ë¤è¡¢¤½¤·¤Æ ¤ï¤¿¤·¤Ï¤³¤³¤Ë¤¤¤ë¤è¡¢ ¤È¤¤¤¦¤³¤È¤ò¼¨¤½¤¦¤È¤¹¤ë¿Í¤¬É¬¤º¸½¤ì¤Þ¤¹¡£ ¥Ç¥ó¥Þ¡¼¥¯¤Ç¤Ï¤³¤ì¤ò¡Ö»ØÌæ¤ò¤Ä¤±¤ë¡×¤È¸Æ¤ó¤Ç¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¸Ä¿ÍŪ¤Ê¥×¥é¥¤¥É¤ä̾À¼¤òµá¤á¡¢ ¤¢¤ë¾ì½ê¤ò»Ø¤·¼¨¤·¤Æ¡Ö¤³¤³! ¤³¤³¤Ï²¶¤¬ ¤ä¤Ã¤¿¤ó¤À¤¼¡Á¡×¤È¤¤¤¦¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£ ¤³¤ì¤ÏÀ¯¼£²È¤Ë¸«¤é¤ì¤ë¶¯¤¤ÆÃħ¤Ç¤¹¤¬¡¢ ¤½¤Î¾¤Î¤Û¤È¤ó¤É¤Î¿Í¤â¤³¤¦¤¤¤¦É÷¤Ë¿¶Éñ¤¦²ÄǽÀ­¤Ï¤¢¤ë¤Î¤Ç¤¹¡£ À¸´¥¤­¤Î¥»¥á¥ó¥È¤Ë¤Ä¤±¤é¤ì¤¿Â­ÀפΤ³¤È¤ò¹Í¤¨¤ì¤Ð¤ªÊ¬¤«¤ê¤Ç¤·¤ç¤¦¡£
¤Ò¤È¤Ä¤ÎÅŵå¤ò¼è¤êÂØ¤¨¤ë¤Î¤Ë¡¢²¿¿Í¤Î FreeBSD ¥Ï¥Ã¥«¡¼¤¬É¬Í×? 1,172¿Í¤Ç¤¹¡£ Åŵ夬¾Ã¤¨¤Æ¤¤¤ë¤È -CURRENT ¤Çʸ¶ç¤ò¸À¤¦¤Î¤Ë 23 ¿Í¡£ ÀßÄê¾å¤ÎÌäÂê¤Ç -questions ¤ÇÏäò¤¹¤Ù¤­¤³¤È¤Ë¤Ä¤¤¤ÆÁû¤°¤Î¤Ë 4 ¿Í¡£ ¤½¤ì¤ò send-pr (ÌõÃí: ¾ã³²Êó¹ð) ¤¹¤ë¤Î¤Ë 3 ¿Í (¤½¤Î¤¦¤Á¤Î¤Ò¤È¤Ä¤Ï´Ö°ã¤Ã¤Æ doc ¥«¥Æ¥´¥ê¤ËÁ÷¤ê¤Ä¤±¤é¤ì¤¿¤¦¤¨¤Ë¡¢ ÆâÍÆ¤¬¡Ö°Å¤¯¤Ê¤Ã¤¿¡×¤È¤¤¤¦¤À¤±¤Î¤â¤Î)¡£ buildworld ¤ò¼ºÇÔ¤µ¤»¡¢5 ʬ¸å¤Ë¤Ï¸µ¤ËÌᤵ¤ì¤ë¤è¤¦¤ÊÅŵå¤ò ¥Æ¥¹¥È¤â¤»¤º¤Ë¥³¥ß¥Ã¥È¤¹¤ë¤Î¤Ë 1 ¿Í¡£ send-pr ¤·¤¿¿Í¤Ë¡¢¥Ñ¥Ã¥Á¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤È¡Ö¤¤¤Á¤ã¤â¤ó¡×¤òÉÕ¤±¤ë¤Î¤Ë 8 ¿Í¡£ buildworld ¤¬¼ºÇÔ¤¹¤ë¤Èʸ¶ç¤ò¸À¤¦¤Î¤Ë 5 ¿Í¡£ ¼«Ê¬¤Î¤È¤³¤í¤Ç¤Ï¤Á¤ã¤ó¤Èư¤¯¡¢ cvsup ¤·¤¿¥¿¥¤¥ß¥ó¥°¤¬°­¤«¤Ã¤¿¤ó¤À¤í¤¦¤ÈÅú¤¨¤ë¤Î¤Ë 31 ¿Í¡£ ¿·¤·¤¤Åŵå¤Î¤¿¤á¤Î¥Ñ¥Ã¥Á¤ò -hackers ¤ËÅꤲ¤ë¤Î¤Ë 1 ¿Í¡£ ¼«Ê¬¤Ï 3 ǯ¤âÁ°¤Ë¥Ñ¥Ã¥Á¤òºî¤Ã¤¿¤¬¡¢¤½¤ì¤ò -CURRENT ¤ËÅꤲ¤¿¤È¤­¤Ë¤Ï̵»ë¤µ¤ì¤¿¤À¤±¤À¤Ã¤¿¡¢ ¼«Ê¬¤Ï send-pr ¤Î¥·¥¹¥Æ¥à¤Ë¤Ï·ù¤Ê·Ð¸³¤¬¤¢¤ë¤È (¤ª¤Þ¤±¤Ë¡¢ Ä󰯤µ¤ì¤¿¿·¤·¤¤Åŵå¤Ë¤Ï½ÀÆðÀ­¤¬Ìµ¤¤¤È¤Þ¤Ç) ʸ¶ç¤ò¸À¤¦¤Î¤Ë 1 ¿Í¡£ Åŵ夬´ðËÜ¥·¥¹¥Æ¥à¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¡¢ committer ¤Ï¥³¥ß¥å¥Ë¥Æ¥£¤Î°Õ¸«¤òʹ¤¯¤³¤È̵¤·¤Ë¤³¤ó¤Ê¤³¤È¤ò¤¹¤ë¸¢Íø¤Ï̵¤¤¤È¶«¤Ó¡¢ ¡Ö¤³¤ó¤Ê¤È¤­¤Ë -core ¤Ï²¿¤ò¤ä¤Ã¤Æ¤ë¤ó¤À!?¡×¤È¤ï¤á¤­¤Á¤é¤¹¤Î¤Ë 37 ¿Í¡£ ¼«Å¾¼ÖÃÖ¤­¾ì¤Î¿§¤Ëʸ¶ç¤ò¸À¤¦¤Î¤Ë 200 ¿Í¡£ ¥Ñ¥Ã¥Á¤¬ &man.style.9; °ãÈ¿¤À¤È»ØÅ¦¤¹¤ë¤Î¤Ë 3 ¿Í¡£ Ä󰯤µ¤ì¤¿¿·¤·¤¤Åŵå¤Ï GPL ¤Î²¼¤Ë¤¢¤ë¤Èʸ¶ç¤ò¸À¤¦¤Î¤Ë 70 ¿Í¡£ GPL ¤È BSD ¥é¥¤¥»¥ó¥¹¤È MIT ¥é¥¤¥»¥ó¥¹¤È NPL ¤È¡¢ Ë¿ FSF ÁÏΩ¼Ô¤é¤Î¸Ä¿ÍŪ¤Ê·ò¹¯Ë¡¤ÎÍ¥°ÌÀ­¤Ë¤Ä¤¤¤Æ¤ÎÏÀÁè¤òÀï¤ï¤¹¤Î¤Ë 586 ¿Í¡£ ¥¹¥ì¥Ã¥É¤Î¤¢¤Á¤³¤Á¤Î»Þ¤ò -chat ¤ä -advocacy ¤Ë°Üư¤¹¤ë¤Î¤Ë 7 ¿Í¡£ Ä󰯤µ¤ì¤¿Åŵå¤ò¡¢¸Å¤¤¤Î¤è¤ê¤º¤Ã¤ÈÇö°Å¤¤¤Î¤Ë¥³¥ß¥Ã¥È¤·¤Æ¤·¤Þ¤¦¤Î¤Ë 1 ¿Í¡£ FreeBSD ¤ËÇö°Å¤¤Åŵå¤òÉÕ¤±¤ë¤¯¤é¤¤¤Ê¤é¿¿¤Ã°Å¤Î¤Û¤¦¤¬¤Þ¤·¤À¤È¤¤¤¦¡¢ ¥³¥ß¥Ã¥È¥á¥Ã¥»¡¼¥¸¤Ø¤ÎÀ¨¤Þ¤¸¤¤ÈóÆñ¤ÎÍò¤Ë¤è¤Ã¤Æ¡¢ ¤½¤ì¤ò¸µ¤ËÌ᤹¤Î¤Ë 2 ¿Í¡£ Çö°Å¤¤Åŵ夬Ģ¾Ã¤·¤Ë¤µ¤ì¤¿¤³¤È¤ËÂФ·¤Æ¤É¤Ê¤êÀ¼¤Ç¸ýÏÀ¤·¡¢ -core ¤ÎÀ¼ÌÀ¤òÍ׵᤹¤ë¤Î¤Ë 46 ¿Í¡£ ¤â¤· FreeBSD ¤ò¤¿¤Þ¤´¤Ã¤Á¤Ë°Ü¿¢¤¹¤ë¤³¤È¤Ë¤Ê¤Ã¤¿¤È¤­¤ËÅԹ礬¤¤¤¤¤è¤¦¤Ë¡¢ ¤â¤Ã¤È¾®¤µ¤ÊÅŵå¤òÍ׵᤹¤ë¤Î¤Ë 11 ¿Í¡£ -hackers ¤È -chat ¤Î S/NÈæ¤Ëʸ¶ç¤ò¸À¤¤¡¢ ¹³µÄ¤Î¤¿¤á¹ÖÆÉ¤ò¼è¤ê¤ä¤á¤ë¤Î¤Ë 73 ¿Í¡£ ¡Öunsubscribe¡×¡Ö¤É¤¦¤ä¤Ã¤¿¤é¹ÖÆÉ¤ò¤ä¤á¤é¤ì¤ë¤ó¤Ç¤¹¤«?¡× ¡Ö¤³¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤«¤é¤ï¤¿¤·¤ò³°¤·¤Æ¤¯¤À¤µ¤¤¡×¤È¤¤¤Ã¤¿ ¥á¥Ã¥»¡¼¥¸¤ò¡¢Îã¤Î¥Õ¥Ã¥¿¤ò¤¯¤Ã¤Ä¤±¤ÆÅê¹Æ¤¹¤ë¤Î¤Ë 13 ¿Í¡£ ¤ß¤ó¤Ê¤¬·ãÏÀ¤òÀï¤ï¤»¤ë¤Î¤ËË»¤¬¤·¤¯¤Æµ¤ÉÕ¤«¤Ê¤¤´Ö¤Ë¡¢ ºî¶ÈÃæ¤ÎÅŵå¤ò¥³¥ß¥Ã¥È¤¹¤ë¤Î¤Ë 1 ¿Í¡£ ¿·¤·¤¤Åŵå¤Ï TenDRA ¤ò»È¤Ã¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¾ì¹ç¤Ë 0.364% ¤âÌÀ¤ë¤¯¤Ê¤ë (¤¿¤À¤·Åŵå¤òΩÊýÂΤˤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)¡¢ ¤À¤«¤é FreeBSD ¤Ï EGCS ¤«¤é TenDRA ¤ËÊѤ¨¤ë¤Ù¤­¤À¤È»ØÅ¦¤¹¤ë¤Î¤Ë 31 ¿Í¡£ ¿·¤·¤¤Åŵå¤ÏÈþ¤·¤µ¤Ë·ç¤±¤Æ¤¤¤ë¤Èʸ¶ç¤ò¸À¤¦¤Î¤Ë 1 ¿Í¡£ ¡ÖMFC ¤Ã¤Æ²¿¤Ç¤¹¤«?¡×¤Èʹ¤¯¤Î¤Ë 9 ¿Í (send-pr ¤·¤¿¿Í¤â´Þ¤à)¡£ Åŵ夬¼è¤êÂØ¤¨¤é¤ì¤Æ¤«¤é 2 ½µ´Ö¤â¾Ã¤¨¤Ã¤Ñ¤Ê¤·¤À¤Èʸ¶ç¤ò¸À¤¦¤Î¤Ë 57 ¿Í¡£ &a.nik; ¤Ë¤è¤ëÄɵ­ ¤³¤ì¤Ë¤ÏÇú¾Ð¤·¤Þ¤·¤¿¡£ ¤½¤ì¤«¤é¤ï¤¿¤·¤Ï¹Í¤¨¤Þ¤·¤¿¡£ ¡Ö¤Á¤ç¤Ã¤ÈÂԤƤè? ¤³¤Î¥ê¥¹¥È¤Î¤É¤³¤«¤Ë¡¢ ¡Ø¤³¤ì¤òʸ½ñ¤Ë¤Þ¤È¤á¤ë¤Î¤Ë 1¿Í¡Ù¤È¤¤¤¦¤Î¤¬¤¢¤Ã¤Æ¤â¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¤«?¡× ¤½¤ì¤«¤é¤ï¤¿¤·¤Ï¸ç¤ê¤ò³«¤¤¤¿¤Î¤Ç¤¹ :-) ¤³¤Î¹àÌܤÎÃøºî¸¢¤Ï Copyright (c) 1999 &a.des; ¤Ë¤¢¤ê¤Þ¤¹¡£ ̵ÃǤǻÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
¤Þ¤¸¤á¤Ê FreeBSD ¥Ï¥Ã¥«¡¼¤À¤±¤ÎÏÃÂê Ìõ: &a.iwasaki;¡¢ 1997 ǯ 11 ·î 8 Æü SNAP ¤È¤« RELEASE ¤È¤«¤Ï²¿? ¸½ºß¡¢FreeBSD ¤Î CVS ¥ê¥Ý¥¸¥È¥ê ¤Ë¤Ï¡¢»°¤Ä¤Î¥¢¥¯¥Æ¥£¥Ö/½à¥¢¥¯¥Æ¥£¥Ö¤Ê¥Ö¥é¥ó¥Á¤¬¤¢¤ê¤Þ¤¹ (¥¢¥¯¥Æ¥£¥Ö¤Ê³«È¯¥Ö¥é¥ó¥Á¤Ï»°¤Ä¤·¤«Â¸ºß¤·¤Ê¤¤¤¿¤á¡¢ ¤ª¤½¤é¤¯ RELENG_2 ¥Ö¥é¥ó¥Á¤ÎÊѹ¹¤Ïǯ¤Ë 2 ²ó¤À¤±¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦)¡£ RELENG_2_2 Ä̾Π2.2-STABLE RELENG_3 Ä̾Π3.X-STABLE RELENG_4 Ä̾Π4-STABLE HEAD Ä̾Π¤¢¤ë¤¤¤Ï 5.0-CURRENT HEAD ¤Ï¾¤ÎÆó¤Ä¤È°ã¤Ã¤Æ¡¢ ¼ÂºÝ¤Î¥Ö¥é¥ó¥Á¥¿¥°¤Ç¤Ï¤Ê¤¯¡¢ ¡Öcurrent¡¢ ʬ´ô¤·¤Æ¤¤¤Ê¤¤³«È¯ËÜή¡×¤Î¤¿¤á¤Îñ¤Ê¤ë¥·¥ó¥Ü¥ê¥Ã¥¯¤ÊÄê¿ô¤Ç¤¹¡£ »ä¤¿¤Á¤Ï¤³¤ì¤ò -CURRENT ¤È¸Æ¤ó¤Ç¤¤¤Þ¤¹¡£ ¸½ºß¡¢ -CURRENT ¤Ï 5.0 ¤Î³«È¯ËÜή¤Ç¤¢¤ê¡¢ 4.0-STABLE ¥Ö¥é¥ó¥Á¡¢ ¤Ä¤Þ¤ê RELENG_4 ¤Ï 2000 ǯ 3 ·î¤Ë -CURRENT ¤«¤éʬ´ô¤·¤Æ¤¤¤Þ¤¹¡£ 2.2-STABLE ¥Ö¥é¥ó¥Á¡¢ RELENG_2_2 ¤Ï 1996 ǯ 11 ·î¤Ë -CURRENT ¤«¤éʬ´ô¤·¤Þ¤·¤¿¡£ ¤³¤ì¤ÏÊݼ餬´°Á´¤Ë½ªÎ»¤·¤Æ¤¤¤Þ¤¹¡£ ¼«Ê¬ÍѤΥ«¥¹¥¿¥à¥ê¥ê¡¼¥¹¤ò¹½ÃÛ¤¹¤ë¤Ë¤Ï? ¥ê¥ê¡¼¥¹¤ò¹½ÃÛ¤¹¤ë¤Ë¤Ï»°¤Ä¤Î¤³¤È¤¬É¬ÍפǤ¹¡£¤Þ¤º¡¢ &man.vn.4; ¥É¥é¥¤¥Ð¤¬ÁȤ߹þ¤Þ¤ì¤¿¥«¡¼¥Í¥ë¤ò¼Â¹Ô¤µ¤»¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ °Ê²¼¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ËÄɲä·¡¢ ¥«¡¼¥Í¥ë¤òºî¤êľ¤·¤Æ¤¯¤À¤µ¤¤¡£ pseudo-device vn #Vnode driver (turns a file into a device) ¼¡¤Ë¡¢CVS ¥ê¥Ý¥¸¥È¥êÁ´ÂΤò¼ê¸µ¤Ë¤ª¤¤¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤òÆþ¼ê¤¹¤ë¤Ë¤Ï CVSUP ¤¬»ÈÍѤǤ­¤Þ¤¹¤¬¡¢supfile ¤Ç release ¤Î̾¾Î¤ò cvs ¤Ë¤·¤Æ ¾¤Î¥¿¥°¤ä date ¥Õ¥£¡¼¥ë¥É¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ *default prefix=/home/ncvs *default base=/a *default host=cvsup.FreeBSD.org *default release=cvs *default delete compress use-rel-suffix ## Main Source Tree src-all src-eBones src-secure # Other stuff ports-all www doc-all ¤½¤·¤Æ cvsup -g supfile ¤ò¼Â¹Ô¤·¤Æ¼«Ê¬¤Î¥Þ¥·¥ó¤Ë CVS ¥ê¥Ý¥¸¥È¥êÁ´ÂΤò¥³¥Ô¡¼¤·¤Þ¤¹¡Ä¡£ ºÇ¸å¤Ë¡¢¥Ó¥ë¥ÉÍѤˤ«¤Ê¤ê¤Î¶õ¤­Îΰè¤òÍѰդ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò /some/big/filesystem ¤È¤·¤Æ¡¢ ¾å¤ÎÎã¤Ç CVS ¥ê¥Ý¥¸¥È¥ê¤ò /home/ncvs ¤ËÃÖ¤¤¤¿¤â¤Î¤È¤¹¤ë¤È¡¢ °Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¥ê¥ê¡¼¥¹¤ò¹½ÃÛ¤·¤Þ¤¹¡£ &prompt.root; setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs &prompt.root; cd /usr/src &prompt.root; make buildworld &prompt.root; cd /usr/src/release &prompt.root; make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release ¤¿¤À¤·¡¢¤¹¤Ç¤Ë /usr/obj °Ê²¼¤Ë¹½ÃÛʪ¤¬Â¸ºß¤·¤Æ¤¤¤ë¤Ê¤é¡¢buildworld ¤ÎɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ½èÍý¤¬½ªÎ»¤¹¤ë¤È¡¢ ¥ê¥ê¡¼¥¹Á´ÂΤ¬ /some/big/filesystem/release ¤Ë¹½ÃÛ¤µ¤ì¡¢´°Á´¤Ê FTP ¥¤¥ó¥¹¥È¡¼¥ëÍѤÎÇÛÉÛʪ¤¬ /some/big/filesystem/release/R/ftp ¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ -current °Ê³°¤Î³«È¯¥Ö¥é¥ó¥Á¤Î SNAP ¤ò¼«Ê¬¤Ç¹½ÃÛ¤·¤¿¤¤¾ì¹ç¤Ï¡¢ RELEASETAG=SOMETAG ¤ò¾å¤Î make release ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤ËÄɲä·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢RELEASETAG=RELENG_2_2 ¤È¤¹¤ë¤ÈºÇ¿·¤Î 2.2-STABLE snapshot ¤¬¹½ÃÛ¤µ¤ì¤Þ¤¹¡£ ¥«¥¹¥¿¥à¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥¹¥¯¤òºî¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¤«? /usr/src/release/Makefile ¤Î¤¤¤í¤¤¤í¤Ê¥¿¡¼¥²¥Ã¥È¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥¹¥¯¡¢ ¥½¡¼¥¹¡¢¥Ð¥¤¥Ê¥ê¥¢¡¼¥«¥¤¥Ö¤òºî¤ë´°Á´¤Ê½èÍý¤ò¼«Æ°Åª¤Ë¹Ô¤Ê¤¦¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ Makefile ¤Ë½½Ê¬¤Ê¾ðÊ󤬤¢¤ê¤Þ¤¹¡£ ¤·¤«¤·¡¢¼Â¹Ô¤Ë¤Ï make world ¤¬É¬Íפǡ¢ ¿¤¯¤Î»þ´Ö¤È¥Ç¥£¥¹¥¯¤ÎÍÆÎ̤¬É¬ÍפǤ¹¡£ make world ¤ò¹Ô¤Ê¤¦¤È´û¸¤Î¥Ð¥¤¥Ê¥ê¤ò¾å½ñ¤­¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¤¬¡£ ¤¨¤¨¡¢¤½¤ì¤¬°ìÈÌŪ¤Ê¹Í¤¨Êý¤Ç¤¹¡£Ì¾Á°¤¬¼¨¤·¤Æ¤¤¤ë¤è¤¦¤Ë make world ¤Ï¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¤Î¥Ð¥¤¥Ê¥ê¤òºÇ½é¤«¤éºî¤êľ¤·¤Þ¤¹¤Î¤Ç¡¢·ë²Ì¤È¤·¤Æ¡¢ ¥¯¥ê¡¼¥ó¤Ç°ì´ÓÀ­¤Î¤¢¤ë´Ä¶­¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹ (¤³¤ì¤¬¤½¤ì¤À¤±Ä¹¤¤»þ´Ö¤¬¤«¤«¤ëÍýͳ¤Ç¤¹)¡£ ´Ä¶­ÊÑ¿ô DESTDIR ¤ò make world ¤ä make install ¤ò¼Â¹Ô¤¹¤ë»þ¤ËÄêµÁ¤·¤Æ¤ª¤¯¤È¡¢¿·¤·¤¯ºî¤é¤ì¤¿¥Ð¥¤¥Ê¥ê¤Ï ${DESTDIR}¤ò root ¤È¤ß¤Ê¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£ ¤¢¤ë¤Ç¤¿¤é¤á¤Ê¶¦Í­¥é¥¤¥Ö¥é¥ê¤ÎÊѹ¹¤ä¥×¥í¥°¥é¥à¤ÎºÆ¹½Ãۤˤè¤Ã¤Æ make world ¤Ï¼ºÇÔ¤¹¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ ¥·¥¹¥Æ¥àµ¯Æ°»þ¤Ë (bus speed defaulted) ¤È¥á¥Ã¥»¡¼¥¸¤¬½Ð¤Þ¤¹¡£ Adaptec ¤Î 1542 SCSI ¥Û¥¹¥È¥¢¥À¥×¥¿¤Ï¡¢ ¥æ¡¼¥¶¤¬¥½¥Õ¥È¥¦¥§¥¢Åª¤Ë¥Ð¥¹¥¢¥¯¥»¥¹Â®ÅÙ¤ÎÀßÄê¤ò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î 1542 ¥É¥é¥¤¥Ð¤Ï¡¢ »ÈÍѲÄǽ¤ÊºÇÂç¤Î®ÅÙ¤òµá¤á¤Æ¥¢¥À¥×¥¿¤ò¤½¤ÎÀßÄê¤Ë¤·¤è¤¦¤È¤·¤Þ¤·¤¿¡£ ¤³¤ì¤ÏÆÃÄê¤Î¥æ¡¼¥¶¤Î¥·¥¹¥Æ¥à¤Ç¤ÏÌäÂ꤬¤¢¤ë»ö¤¬¤ï¤«¤ê¡¢ ¸½ºß¤Ç¤Ï¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ª¥×¥·¥ç¥ó¤Ë TUNE_1542 ¤¬²Ã¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤ì¤¬Æ¯¤¯¥·¥¹¥Æ¥à¤Ç¤Ï¥Ç¥£¥¹¥¯¤¬Â®¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢ ¥Ç¡¼¥¿¤Î¾×ÆÍ¤¬µ¯¤­¤ÆÂ®¤¯¤Ï¤Ê¤é¤Ê¤¤¥·¥¹¥Æ¥à¤â¤¢¤ë¤Ç¤·¤ç¤¦ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥¢¥¯¥»¥¹¤ËÀ©¸Â¤¬¤¢¤Ã¤Æ¤â current ¤òÄɤ¤¤«¤±¤é¤ì¤Þ¤¹¤«? ¤Ï¤¤¡¢ CTM ¥·¥¹¥Æ¥à¤ò»È¤Ã¤Æ¡¢ ¥½¡¼¥¹¥Ä¥ê¡¼Á´ÂΤΥÀ¥¦¥ó¥í¡¼¥É¤ò¹Ô¤Ê¤ï¤º¤ËÄɤ¤¤«¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤É¤Î¤è¤¦¤Ë¤·¤ÆÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò 240KB ¤Ëʬ³ä¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤«? Èæ³ÓŪ¿·¤·¤¤ BSD ¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ split ¤ËǤ°Õ¤Î¥Ð¥¤¥È¶­³¦¤Çʬ³ä¤¹¤ë ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ °Ê²¼¤Ï /usr/src/Makefile ¤«¤é¤ÎÎã¤Ç¤¹¡£ bin-tarball: (cd ${DISTDIR}; \ tar cf - . \ gzip --no-name -9 -c | \ split -b 240640 - \ ${RELEASEDIR}/tarballs/bindist/bin_tgz.) »ä¤Ï¥«¡¼¥Í¥ë¤Ë³ÈÄ¥¤ò¹Ô¤Ê¤¤¤Þ¤·¤¿¡£ ï¤ËÁ÷¤ì¤Ð¤¤¤¤¤Ç¤¹¤«? FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î¡ÖFreeBSD ¤Ø¤Î¹×¸¥¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤¢¤Ê¤¿¤Î¥¢¥¤¥Ç¥£¥¢¤Ë´¶¼Õ¤·¤Þ¤¹! PnP ISA ¥«¡¼¥É¤Î¸¡½Ð¤È½é´ü²½¤Ï¤É¤Î¤è¤¦¤Ë¹Ô¤Ê¤¦¤Î¤Ç¤¹¤«? Frank Durda IV »á ¤è¤ê:
Í×ÅÀ¤Ï¡¢¥Û¥¹¥È¤¬Ç§¼±¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ü¡¼¥É¤òõ¤¹»þ¤Ë¡¢¤¹¤Ù¤Æ¤Î PnP ¥Ü¡¼¥É¤¬±þÅú¤¹¤ë¤³¤È¤Î¤Ç¤­¤ë¾¯¿ô¤Î I/O ¥Ý¡¼¥È¤¬¤¢¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ ¤½¤ì¤Ë¤è¤ê¡¢PnP ¥×¥í¡¼¥Ö¥ë¡¼¥Á¥ó¤¬³«»Ï¤·¤¿¤È¤­¡¢PnP ¥Ü¡¼¥É¤¬Â¸ºß¤¹¤ë¤Ê¤é¡¢¤¹¤Ù¤Æ¤Î PnP ¥Ü¡¼¥É¤Ï¼«Ê¬¤Î¥â¥Ç¥ëÈÖ¹æ¤òÊÖ¤·¤Þ¤¹¡£ ¤½¤Î¥Ý¡¼¥È¤ò I/O read ¤¹¤ë¤È¥×¥í¡¼¥Ö¥ë¡¼¥Á¥ó¤ÏÌ䤤¤ËÂФ¹¤ë¥ï¥¤¥¢¡¼¥É-OR ¤µ¤ì¤¿ yes ¤òÆÀ¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï ¾¯¤Ê¤¯¤È¤â 1 ¥Ó¥Ã¥È¤¬ ON ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¥×¥í¡¼¥Ö¥ë¡¼¥Á¥ó¤Ï¥â¥Ç¥ë ID (Microsoft/Intel ¤Ë¤è¤Ã¤Æ³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤¹)¤¬ X ¤è¤ê¾®¤µ¤¤¥Ü¡¼¥É¤ò ¥ª¥Õ¥é¥¤¥ó ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ÎÁàºî¤ò¹Ô¤Ê¤¤¡¢Ì䤤¹ç¤ï¤»¤Ë±þÅú¤·¤Æ¤¤¤ë¥Ü¡¼¥É¤¬¤Þ¤À »Ä¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤Þ¤¹¡£ ¤â¤· 0 ¤¬Ê֤äƤ¯¤ë¤Ê¤é X ¤è¤êÂ礭¤Ê ID ¤ò»ý¤Ä¥Ü¡¼¥É¤Ï¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ º£ÅÙ¤Ï X ¤è¤ê¤â¾®¤µ¤ÊÃͤò»ý¤Ä¥Ü¡¼¥É¤Ë¤Ä¤¤¤ÆÌ䤤¹ç¤ï¤»¤Þ¤¹¡£ ¤â¤·¤¢¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¥×¥í¡¼¥Ö¥ë¡¼¥Á¥ó¤Ï¥â¥Ç¥ëÈֹ椬 X ¤è¤ê¾®¤µ¤¤¤³¤È¤òÃΤê¤Þ¤¹¡£ º£Å٤ϡ¢X-(limit/4) ¤è¤êÂ礭¤ÊÃͤò»ý¤Ä¥Ü¡¼¥É¤ò¥ª¥Õ¥é¥¤¥ó¤Ë¤·¤ÆÌ䤤¹ç¤ï¤»¤ò·«¤êÊÖ¤·¤Þ¤¹¡£ ¤³¤Î ID ¤ÎÈϰϤˤè¤ë½à¥Ð¥¤¥Ê¥ê¥µ¡¼¥Á¤ò½½Ê¬·«¤êÊÖ¤¹¤³¤È¤Ë¤è¤ê¡¢ ¥×¥í¡¼¥Ö¥ë¡¼¥Á¥ó¤Ï¥Þ¥·¥ó¤Ë¸ºß¤¹¤ë¤¹¤Ù¤Æ¤Î PnP ¥Ü¡¼¥É¤ÎÃͤòºÇ½ªÅª¤ËÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤Î·«¤êÊÖ¤·¤Î²ó¿ô¤Ï 2^64 ¤è¤ê¤Ï¤ë¤«¤Ë¾¯¤Ê¤¤²ó¿ô¤Ç¤¹¡£ ID ¤ÏÆó¤Ä¤Î 32-bit (¤Ä¤Þ¤ê 64bit) ¥Õ¥£¡¼¥ë¥É + 8 bit ¥Á¥§¥Ã¥¯¥µ¥à¤«¤é¤Ê¤ê¤Þ¤¹¡£ºÇ½é¤Î 32 bits ¤Ï¥Ù¥ó¥À¤Î¼±Ê̻ҤǤ¹¡£ ¤³¤ì¤Ï¸øÉ½¤µ¤ì¤Æ¤Ï¤¤¤Þ¤»¤ó¤¬¡¢ Ʊ°ì¤Î¥Ù¥ó¥À¤«¤é¶¡µë¤µ¤ì¤Æ¤¤¤ë°Û¤Ê¤ë¥¿¥¤¥×¤Î¥Ü¡¼¥É¤Ç¤Ï°Û¤Ê¤ë 32-bit ¥Ù¥ó¥À ID ¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¹Í¤¨¤é¤ì¤Þ¤¹¡£ À½Â¤¸µ¤òÆÃÄꤹ¤ë¤À¤±¤Î¤¿¤á¤Ë 32-bit ¤Ï¤¤¤¯¤é¤«²á¾ê¤Ç¤¹¡£ ²¼°Ì¤Î 32-bit ¤Ï¥·¥ê¥¢¥ëÈֹ桢 ¥¤¡¼¥µ¥Í¥Ã¥È¥¢¥É¥ì¥¹¤Ê¤É¤Î¥Ü¡¼¥É¤òÆÃÄꤹ¤ë¤â¤Î¤Ç¤¹¡£ ¥Ù¥ó¥À¤Ï¾å°Ì 32 bits ¤¬°Û¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ ²¼°Ì 32-bit ¤¬Æ±°ì¤Ç¤¢¤ë 2ËçÌܤΥܡ¼¥É¤òÀ½Â¤¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢Æ±¤¸¥¿¥¤¥×¤ÎÊ£¿ô¤Î¥Ü¡¼¥É¤ò¥Þ¥·¥ó¤Ë¤¤¤ì¤ë¤³¤È¤¬¤Ç¤­¡¢ ¤³¤Î¾ì¹ç¤Ç¤â 64-bit Á´ÂΤǤϥæ¥Ë¡¼¥¯¤Ç¤¹¡£ 32-bit ¤Î¥Õ¥£¡¼¥ë¥É¤Ï¤¹¤Ù¤Æ¤ò 0 ¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤³¤ì¤Ï½é´ü²½¤Î¥Ð¥¤¥Ê¥ê¥µ¡¼¥Á¤Î´Ö¥ï¥¤¥¢¡¼¥É-OR ¤Ë¤è¤Ã¤Æ 0 ¤Ç¤Ï¤Ê¤¤ ¥Ó¥Ã¥È¤ò»²¾È¤¹¤ë¤«¤é¤Ç¤¹¡£ ¥·¥¹¥Æ¥à¤¬¤¹¤Ù¤Æ¤Î¥Ü¡¼¥É¤ÎÍ¿¤¨¤é¤ì¤¿ ID ¤òǧ¼±¤¹¤ë¤È¡¢ ¤½¤ì¤¾¤ì¤Î¥Ü¡¼¥É¤ËÂбþ¤·¤¿½èÍý¤ò°ì¤Ä¤º¤Ä (Ʊ°ì¤Î I/O ¥Ý¡¼¥È¤òÄ̤·¤Æ) ¹Ô¤Ê¤¤¤Þ¤¹¡£ ¤½¤·¤Æ¡¢ÍøÍѤǤ­¤ë³ä¤ê¹þ¤ß¤ÎÁªÂò¤Ê¤É¤Î¥Ü¡¼¥É¤¬É¬ÍפȤ¹¤ë¥ê¥½¡¼¥¹¤ò¸¡½Ð¤·¤Þ¤¹¡£ ¤¹¤Ù¤Æ¤Î¥Ü¡¼¥É¤Ë¤Ä¤¤¤Æ¤³¤Î¾ðÊó¤ò½¸¤á¤Þ¤¹¡£ ¤³¤Î¾ðÊó¤Ï¥Ï¡¼¥É¥Ç¥£¥¹¥¯¾å¤Î ECU ¥Õ¥¡¥¤¥ë¤Ê¤É¤Î¾ðÊó¤È¤Þ¤È¤á¤é¤ì¡¢ ¥Þ¥¶¡¼¥Ü¡¼¥É¤Î BIOS ¤Ë¤â·ë¹ç¤µ¤ì¤Þ¤¹¡£ ¥Þ¥¶¡¼¥Ü¡¼¥É¾å¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Ø¤Î ECU ¤È BIOS PnP ¤Î¥µ¥Ý¡¼¥È¤ÏÄ̾ï¤ÏÅý¹ç¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢ ¼þÊÕµ¡´ï¤Ë¤Ä¤¤¤Æ¤Ï¿¿¤Î PnP¤Ç¤¢¤ë¤È¤Ï¤¤¤¨¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢BIOS ¤Î¾ðÊó¤Ë ECU ¤Î¾ðÊó¤ò²Ã¤¨¤ÆÄ´ºº¤¹¤ë¤³¤È¤Ç¡¢ ¥×¥í¡¼¥Ö¥ë¡¼¥Á¥ó¤Ï PnP ¥Ç¥Ð¥¤¥¹¤¬ºÆÇÛÃ֤Ǥ­¤Ê¤¯¤Ê¤ë¤³¤È¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤½¤ì¤«¤é¡¢ºÆÅÙ PnP ¥Ç¥Ð¥¤¥¹¤Ë¥¢¥¯¥»¥¹¤·¡¢I/O¡¢DMA¡¢IRQ¡¢ ¥á¥â¥ê¥Þ¥Ã¥×¥¢¥É¥ì¥¹¤ÎÀßÄê¤ò¤·¤Þ¤¹¡£ ¥Ç¥Ð¥¤¥¹¤Ï¤³¤Î¥¢¥É¥ì¥¹¤Ë¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¡¢ ¼¡¤ËºÆµ¯Æ°¤¹¤ë¤Þ¤Ç¤³¤Î°ÌÃÖ¤òÀê¤á¤Þ¤¹¡£¤·¤«¤·¡¢ ¤¢¤Ê¤¿¤Î˾¤à»þ¤Ë°Üư¤µ¤»¤ë¤³¤È¤¬ÉÔ²Äǽ¤Ç¤¢¤ë¡¢ ¤È¤¤¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ °Ê¾å¤ÎÏäǤÏÂ礭¤¯Ã±½ã²½¤ò¤·¤Æ¤¢¤ê¤Þ¤¹¤¬¡¢ ´ðËÜŪ¤Ê¹Í¤¨Êý¤ÏÆÀ¤é¤ì¤¿¤Ç¤·¤ç¤¦¡£ ¥Þ¥¤¥¯¥í¥½¥Õ¥È¤Ï¡¢¥Ü¡¼¥É¤Î¥í¥¸¥Ã¥¯¤¬ÂÐΩ¤¹¤ë I/O ¥µ¥¤¥¯¥ë¤Ç¤Ï¥Ç¥³¡¼¥É¤·¤Æ¤¤¤Ê¤¤ (ÌõÃí: ¤ª¤½¤é¤¯ read »þ¤·¤«¥Ç¥³¡¼¥É¤µ¤ì¤Æ¤¤¤º write »þ¤Ï¥Ý¡¼¥È¤¬¶õ¤¤¤Æ¤¤¤ë¤È¤¤¤¦°ÕÌ£¤Ç¤·¤ç¤¦)¡¢ ¥×¥é¥¤¥Þ¥ê¥×¥ê¥ó¥¿¤Î¥¹¥Æ¡¼¥¿¥¹¥Ý¡¼¥È¤Î¤¤¤¯¤Ä¤«¤ò PnP ¤Î¤¿¤á¤ËÀêÍ­¤·¤Þ¤·¤¿¡£ »ä¤Ï½é´ü¤Î PnP ¤ÎÄó°Æ¥ì¥Ó¥å¡¼»þ¤Ë IBM ½ãÀµ¤Î¥×¥ê¥ó¥¿¥Ü¡¼¥É¤Ç¥¹¥Æ¡¼¥¿¥¹¥Ý¡¼¥È¤Î write ¤Î¥Ç¥³¡¼¥É¤¬¤µ¤ì¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ëµ¤¤¬¤Ä¤­¤Þ¤·¤¿¤¬¡¢ MS ¤Ï tough (´è¸Ç¡¢ÉÔ±¿¡¢ÌµË¡¤Ê) ¤È¸À¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤·¤Æ¥×¥ê¥ó¥¿¤Î¥¹¥Æ¡¼¥¿¥¹¥Ý¡¼¥È¤Ø¥¢¥É¥ì¥¹¤ÎÀßÄê¤Î¤¿¤á¤Ë write ¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢ ¤½¤Î¥¢¥É¥ì¥¹ + 0x800 ¤È read ¤Î¤¿¤á¤Î 3ÈÖÌܤΠI/O ¥Ý¡¼¥È¤¬ 0x200 ¤«¤é 0x3ff ¤Î´Ö¤Î¤É¤³¤«¤ËÃÖ¤«¤ì¤ë¤Ç¤·¤ç¤¦¡£
FreeBSD ¤Ï¡¢Â¾¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤¤ó¤Ç¤¹¤«? ¤¤¤¯¤Ä¤«¤Î¥°¥ë¡¼¥×¤Î¿Í¡¹¤¬¡¢FreeBSD ¤Î¾¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ø¤Î°Ü¿¢¤Ë´Ø¿´¤ò¼¨¤·¤Æ¤ª¤ê¡¢ FreeBSD/AXP (ALPHA) ¤Ï¤³¤ì¤é¤ÎÀ®²Ì¤È¤·¤Æ¤Ï¤È¤Æ¤âÀ®¸ù¤·¤¿¤â¤Î¤Î°ì¤Ä¤Ç¤¹¡£ FreeBSD/AXP ¤Ï¸½ºß ftp://ftp.FreeBSD.org/pub/FreeBSD/alpha ¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£ ALPHA ¤Ø¤Î°Ü¿¢ÈǤ¬¸½ºßư¤¯µ¡¼ï¤ÏÁý¤¨¤Ä¤Ä¤¢¤ê¡¢ ¤½¤ÎÃæ¤Ë¤Ï AlphaStation¡¢AXPpci¡¢PC164¡¢Miata ¤½¤·¤Æ Multia ¤È¤¤¤Ã¤¿¥â¥Ç¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¸½¾õ¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÆÀ¤ë¤Ë¤Ï freebsd-alpha@FreeBSD.org¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤Î¾¤Ë FreeBSD ¤Î SPARC ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ø¤Î°Ü¿¢¤¬¤¢¤ê¤Þ¤¹¡£ ¥×¥í¥¸¥§¥¯¥È¤Ø¤Î»²²Ã¤Ë¶½Ì£¤¬¤¢¤ëÊý¤Ï freebsd-sparc@FreeBSD.org¥á¡¼¥ê¥ó¥°¥ê¥¹¥È ¤Ë»²²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£ ¿Ê¹ÔÃæ¤Î¥×¥é¥Ã¥È¥Û¡¼¥à¤Î¥ê¥¹¥È¤Ë¤â¤Ã¤È¤âºÇ¶áÄɲ䵤줿¤Î¤¬ IA-64 ¤È PowerPC¤Ç¤¹¡£¾ÜºÙ¤Ï freebsd-ia64@FreeBSD.org ¤ª¤è¤Ó/¤¢¤ë¤¤¤Ï freebsd-ppc@FreeBSD.org¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£ ¿·¤·¤¤¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë´Ø¤¹¤ë°ìÈÌŪ¤ÊµÄÏÀ¤Ë¤Ä¤¤¤Æ¤Ï ¿·¤·¤¤¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë´Ø¤¹¤ë°ìÈÌŪ¤ÊµÄÏÀ¤Ë¤Ä¤¤¤Æ¤Ï freebsd-platforms@FreeBSD.org¥á¡¼¥ê¥ó¥°¥ê¥¹¥È ¤Ø»²²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ò³«È¯¤·¤¿¤Î¤Ç¡¢¥á¥¸¥ã¡¼Èֹ椬Íߤ·¤¤¤Î¤Ç¤¹¤¬¡£ ¤³¤ì¤Ï¡¢³«È¯¤·¤¿¥É¥é¥¤¥Ð¤ò¸ø³«¤¹¤ë¤«¤É¤¦¤«¤Ë°Í¸¤·¤Þ¤¹¡£ ¸ø³«¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¥É¥é¥¤¥Ð¤Î¥½¡¼¥¹¥³¡¼¥É¡¢ files.i386 ¤ÎÊѹ¹¡¢ ¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤Î¥µ¥ó¥×¥ë¡¢ ¥Ç¥Ð¥¤¥¹¤¬»È¤¦¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë &man.MAKEDEV.8; ¤Î¥³¡¼¥É¤ò»ä¤¿¤Á¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¸ø³«¤¹¤ë¤Ä¤â¤ê¤¬¤Ê¤¤¾ì¹ç¡¢¥é¥¤¥»¥ó¥¹¤ÎÌäÂê¤Ë¤è¤ê¸ø³«¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢ ¥­¥ã¥é¥¯¥¿¥á¥¸¥ã¡¼ÈÖ¹æ 32 ¤ª¤è¤Ó¡¢ ¥Ö¥í¥Ã¥¯¥á¥¸¥ã¡¼ÈÖ¹æ 8 ¤¬¤³¤Î¤è¤¦¤ÊÌÜŪ¤Î¤¿¤á¤ËͽÌó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÈÖ¹æ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ¤É¤Á¤é¤Î¾ì¹ç¤Ç¤¢¤ì¡¢¥É¥é¥¤¥Ð¤Ë´Ø¤¹¤ë¾ðÊó¤ò &a.hackers; ¤Ëή¤·¤ÆÄº¤±¤ë¤È½õ¤«¤ê¤Þ¤¹¡£ ÂåÂØ¤Î¥Ç¥£¥ì¥¯¥È¥êÇÛÃ֥ݥꥷ¡¼ ¸½ºß»È¤ï¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ÎÇÛÃ֥ݥꥷ¡¼¤Ï¡¢ »ä¤¬ 1983 ǯ¤Ë½ñ¤¤¤¿¤â¤Î¤«¤éÁ´¤¯Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ »ä¤ÏÅö½é¤ÎÇÛÃ֥ݥꥷ¡¼¤ò¡¢¥ª¥ê¥¸¥Ê¥ë¤Î fast filesystem ¤Î¤¿¤á¤Ë½ñ¤­¡¢ ¤Þ¤Ã¤¿¤¯²þÄꤷ¤Æ¤¤¤Þ¤»¤ó¡£ ¤³¤Î¥Ý¥ê¥·¡¼¤Ï¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤ò»È¤¤¿Ô¤¯¤¹¤Î¤òËɤ°¤Ë¤Ï¤¦¤Þ¤¯¤¤¤­¤Þ¤·¤¿¤¬¡¢ ¤ªµ¤¤Å¤­¤ÎÊý¤â¤¤¤ëÄ̤ê find ¤Îưºî¤Ë¤ÏÉÔŬÀڤǤ¹¡£ ¤Û¤È¤ó¤É¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÆâÍÆ¤Ï¡¢ ¿¼¤µÍ¥À踡º÷ (ftw ¤È¤â¸Æ¤Ð¤ì¤Þ¤¹) ¤Ë¤è¤Ã¤Æºî¤é¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤«¤é¡¢ Ãê½Ð (restore) ¤·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤ÎºÝ¡¢ ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤Ë¤Þ¤¿¤¬¤Ã¤ÆÇÛÃÖ¤µ¤ì¡¢ °Ê¹ß¤Î¿¼¤µÍ¥À踡º÷¤ò¹Ô¤¦¤Ë¤Ï¡¢ ¹Í¤¨ÆÀ¤ë¸Â¤êºÇ°­¤Î¾õÂ֤ˤʤê¤Þ¤¹¡£ ¤â¤·ºîÀ®¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ÎÁí¿ô¤¬¤ï¤«¤Ã¤Æ¤¤¤ì¤Ð¡¢ ²ò·èÊýË¡¤Ï¤¢¤ê¤Þ¤¹¡£(Áí¿ô/¥·¥ê¥ó¥À¥°¥ë¡¼¥×¿ô) ¸Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¡¢ ¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤´¤È¤Ë¤Þ¤È¤á¤ÆºîÀ®¤¹¤ì¤ÐÎɤ¤¤Î¤Ç¤¹¡£ ¤â¤Á¤í¤óºÇŬ¤Ê¥Ç¥£¥ì¥¯¥È¥êÇÛÃ֤ˤʤë¤è¤¦¤Ë¡¢ Áí¿ô¤òͽ¬¤¹¤ëÊýË¡¤ò¹Í¤¨¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤·¤«¤·²¾¤Ë¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤¢¤¿¤ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¿ô¤ò 10 ¤¯¤é¤¤¤Î¾®¤µ¤Ê¿ô¤Ë¸ÇÄꤷ¤Æ¤·¤Þ¤Ã¤¿¤È¤·¤Æ¤â¡¢ ÂçÉý¤Ê²þÁ±¤¬Ë¾¤á¤ë¤Ç¤·¤ç¤¦¡£ ¤³¤Î¥Ý¥ê¥·¡¼¤òÍѤ¤¤ë¤Ù¤­¥ê¥¹¥È¥¢ºî¶È¤ò¡¢Ä̾ï¤Îºî¶È (¤ª¤½¤é¤¯´û¸¤Î¥Ý¥ê¥·¡¼¤ò»ÈÍѤ·¤¿¤Û¤¦¤¬Îɤ¤¤Ç¤·¤ç¤¦) ¤ò¶èÊ̤¹¤ë¤Ë¤Ï¡¢ 10 Éô֤δ֤˺îÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤òºÇÂç 10 ¸Ä¤Þ¤Ç¤Þ¤È¤á¤ÆÃ±°ì¤Î¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤Ë½ñ¤­¹þ¤à¤È¤¤¤¦¼ê½ç¤¬»È¤¨¤ë¤Ç¤·¤ç¤¦¡£ ¤È¤Ë¤«¤¯»ä¤Î·ëÏÀ¤Ï¡¢¤½¤í¤½¤í¼Â¸³¤ò»Ï¤á¤Æ¸«¤ë»þ´ü¤À¤í¤¦¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ ¥«¡¼¥Í¥ë¥Ñ¥Ë¥Ã¥¯¤òºÇÂç¸Â¤ËÍøÍѤ¹¤ë ¤³¤ÎÀá¤Ï¡¢freebsd-current ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë &a.wpaul; »á¤¬Åê¹Æ¤·¤¿¥á¡¼¥ë¤ò¡¢ &a.des; »á¤¬¹»Àµ¤·¡¢[] Æâ¤Î¥³¥á¥ó¥È¤òÄɲ䷤ưúÍѤ·¤¿¤â¤Î¤Ç¤¹¡£ From: Bill Paul <wpaul@skynet.ctr.columbia.edu> Subject: Re: the fs fun never stops To: ben@rosengart.com Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT) Cc: current@FreeBSD.ORG [<ben@rosengart.com> ¤¬°Ê²¼¤Î¥Ñ¥Ë¥Ã¥¯¥á¥Ã¥»¡¼¥¸¤òÅê¹Æ¤·¤Þ¤·¤¿¡£] > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x40 > fault code = supervisor read, page not present > instruction pointer = 0x8:0xf014a7e5 ^^^^^^^^^^ > stack pointer = 0x10:0xf4ed6f24 > frame pointer = 0x10:0xf4ed6f28 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 80 (mount) > interrupt mask = > trap number = 12 > panic: page fault ¤³¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤¿¾ì¹ç¡¢ÌäÂ꤬µ¯¤­¤ë¾õ¶·¤ò³Îǧ¤·¤Æ¡¢ ¾ðÊó¤òÁ÷¤ë¤À¤±¤Ç¤Ï½½Ê¬¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ²¼Àþ¤ò¤Ä¤±¤¿Ì¿Îá¥Ý¥¤¥ó¥¿ÃͤϽÅÍפÊÃͤǤ¹¤¬¡¢ »Äǰ¤Ê¤¬¤é¤³¤ÎÃͤϹ½À®¤Ë°Í¸¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ ¤³¤ÎÃͤϻȤäƤ¤¤ë¥«¡¼¥Í¥ë¤Î¥¤¥á¡¼¥¸¤Ë°Í¸¤¹¤ë¤Î¤Ç¤¹¡£ ¤â¤·¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ê¤É¤Î GENERIC ¥«¡¼¥Í¥ë¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¾¤Î¿Í´Ö¤¬ÌäÂê¤Î¤¢¤ë´Ø¿ô¤Ë¤Ä¤¤¤ÆÄÉ»î¤ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢ ¥«¥¹¥¿¥Þ¥¤¥º¤µ¤ì¤¿¥«¡¼¥Í¥ë¤Î¾ì¹ç¤Ï¡¢ »È¤Ã¤Æ¤¤¤ëËܿͤˤ·¤«ÌäÂê¤Îµ¯¤³¤Ã¤¿¾ì½ê¤ÏÆÃÄê¤Ç¤­¤Ê¤¤¤Î¤Ç¤¹¡£ ²¿¤ò¤¹¤ì¤ÐÎɤ¤¤Î¤Ç¤·¤ç¤¦? Ì¿Îá¥Ý¥¤¥ó¥¿Ãͤò¥á¥â¤·¤Þ¤¹¡£ 0x8: ¤È¤¤¤¦Éôʬ¤Ïº£²óɬÍפ¢¤ê¤Þ¤»¤ó¡£ ɬÍ×¤Ê¤Î¤Ï 0xf0xxxxxx ¤È¤¤¤¦Éôʬ¤Ç¤¹¡£ ¥·¥¹¥Æ¥à¤¬ºÆµ¯Æ°¤·¤¿¤é¡¢°Ê²¼¤ÎÁàºî¤ò¹Ô¤¤¤Þ¤¹¡£ &prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxxx ¤³¤³¤Ç¡¢f0xxxxxx ¤ÏÌ¿Îá¥Ý¥¤¥ó¥¿ÃͤǤ¹¡£ ¥«¡¼¥Í¥ë¥·¥ó¥Ü¥ë¤Î¥Æ¡¼¥Ö¥ë¤Ï´Ø¿ô¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò´Þ¤ß¡¢ Ì¿Îá¥Ý¥¤¥ó¥¿Ãͤϡ¢´Ø¿ôÆâÉô¤Î¤¢¤ëÅÀ¤Ç¤¢¤êºÇ½é¤ÎÅÀ¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢ ¤³¤ÎÁàºî¤ò¹Ô¤Ã¤Æ¤â´°Á´¤Ë°ìÃפ¹¤ë¤â¤Î¤¬É½¼¨¤µ¤ì¤Ê¤¤¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï¡¢ ºÇ¸å¤Î·å¤ò¾Ê¤¤¤Æ¤â¤¦¤¤¤Á¤É¤ä¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ &prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxx ¤³¤ì¤Ç¤â°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢ ·å¤ò¸º¤é¤·¤Ê¤¬¤é²¿¤é¤«¤Î½ÐÎϤ¬¤¢¤ë¤Þ¤Ç·«¤êÊÖ¤·¤Æ¤¯¤À¤µ¤¤¡£ ²¿¤«½ÐÎϤµ¤ì¤¿¤é¡¢ ¤½¤ì¤¬¥«¡¼¥Í¥ë¥Ñ¥Ë¥Ã¥¯¤ò°ú¤­µ¯¤³¤·¤¿²ÄǽÀ­¤Î¤¢¤ë´Ø¿ô¤Î¥ê¥¹¥È¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢ÌäÂêÅÀ¤ò¸«ÉÕ¤±¤ëÀµ³Î¤ÊÊýË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢²¿¤â¤Ê¤¤¤è¤ê¤Þ¤·¤Ç¤¹¡£ ¤³¤Î¤è¤¦¤Ê¥Ñ¥Ë¥Ã¥¯¥á¥Ã¥»¡¼¥¸¤òÅê¹Æ¤·¤Æ¤¤¤ë¿Í¤Ï¤è¤¯¸«³Ý¤±¤Þ¤¹¤¬¡¢ ¤³¤Î¤è¤¦¤Ë¡¢Ì¿Îá¥Ý¥¤¥ó¥¿Ãͤò¡¢ ¥«¡¼¥Í¥ë¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤ÎÃæ¤Î´Ø¿ô¤È¤Ä¤­¹ç¤ï¤»¤ÆÄ´¤Ù¤Æ¤¤¤ë¿Í¤Ï¤Þ¤ì¤Ç¤¹¡£ ¥Ñ¥Ë¥Ã¥¯¤Î¸¶°ø¤òÆÍ¤­»ß¤á¤ëºÇÎɤÎÊýË¡¤Ï¡¢¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤ò¤È¤ê¡¢ &man.gdb.1; ¤Ç¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò¹Ô¤¦¤³¤È¤Ç¤¹¡£ ¤É¤Ã¤Á¤Ë¤·¤í¡¢»ä¤ÏÉáÄ̰ʲ¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¥Ç¥Ð¥Ã¥¬¤¬É¬Íפ½¤¦¤Ç¤¢¤ì¤Ð options 'DDB' ¤ò²Ã¤¨¤Æ¤âÎɤ¤¤Ç¤¹ (»ä¤Ï±Êµ×¥ë¡¼¥×¤¬µ¯¤³¤Ã¤Æ¤¤¤½¤¦¤Ê¾ì¹ç¤Ë¡¢ ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤹ¤ë¤Î¤Ë»È¤Ã¤Æ¤¤¤Þ¤¹)¡£ config -g KERNELCONFIG ¤È¤·¤Æ¥Ó¥ë¥É¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£ cd /sys/compile/KERNELCONFIG; make ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¤Î¥³¥ó¥Ñ¥¤¥ë¤¬½ªÎ»¤¹¤ë¤Î¤òÂÔ¤Á¤Þ¤¹¡£ make install ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ ºÆµ¯Æ°¤·¤Þ¤¹¡£ &man.make.1; ¥×¥í¥»¥¹¤Ï£²¤Ä¤Î¥«¡¼¥Í¥ë¡¢ kernel ¤È kernel.debug ¤ò¥Ó¥ë¥É¤·¤Þ¤¹¡£ kernel ¤Ï /kernel ¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢ kernel.debug ¤Ï &man.gdb.1; ¤Î¥Ç¥Ð¥Ã¥°ÍÑ¥·¥ó¥Ü¥ë¾ðÊó¤ò¼è¤ê½Ð¤¹¤¿¤á¤ËÍøÍѤµ¤ì¤Þ¤¹¡£ ³Î¼Â¤Ë¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤ò¤È¤ë¤Ë¤Ï¡¢/etc/rc.conf ¤òÊÔ½¸¤·¤Æ dumpdev ¤ò»ÈÍѤ·¤Æ¤¤¤ë¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤¦¤¹¤ë¤È &man.rc.8; ¥¹¥¯¥ê¥×¥È¤«¤é &man.dumpon.8; ¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¡¢ ¥¯¥é¥Ã¥·¥å¥À¥ó¥×µ¡Ç½¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ ¼êư¤Ç &man.dumpon.8; ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ ¥Ñ¥Ë¥Ã¥¯¤Î¸å¡¢¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤Ï &man.savecore.8; ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¼è¤ê½Ð¤¹¤³¤È ¤¬¤Ç¤­¤Þ¤¹¡£ dumpdev ¤¬ /etc/rc.conf ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢ &man.rc.8; ¥¹¥¯¥ê¥×¥È¤«¤é &man.savecore.8; ¤¬¼«Æ°Åª¤Ë¼Â¹Ô¤µ¤ì¡¢¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤ò /var/crash ¤ËÊݸ¤·¤Þ¤¹¡£ FreeBSD ¤Î¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤Î¥µ¥¤¥º¤Ï¡¢ ¤Õ¤Ä¤¦ÊªÍý¥á¥â¥ê¥µ¥¤¥º¤ÈƱ¤¸¤Ç¤¹¡£ ¤Ä¤Þ¤ê 64MB ¤Î¥á¥â¥ê¤òÀѤó¤Ç¤¤¤ì¤Ð¡¢ 64MB ¤Î¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤¬À¸À®¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ /var/crash ¤Ë½½Ê¬¤Ê¶õ¤­ÍÆÎ̤¬¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£¼êư¤Ç &man.savecore.8; ¤ò¼Â¹Ô¤¹¤ì¤Ð¡¢ ¤â¤Ã¤È¶õ¤­ÍÆÎ̤Τ¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤òÊݸ¤Ç¤­¤Þ¤¹¡£ options MAXMEM=(foo) ¤È¤¤¤¦¹Ô¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤ËÄɲ乤뤳¤È¤Ç¡¢ ¥«¡¼¥Í¥ë¤Î¥á¥â¥ê»ÈÍÑÎ̤òÀ©¸Â¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð 128MB ¤Î¥á¥â¥ê¤¬¤¢¤ë¾ì¹ç¤â¡¢ ¥«¡¼¥Í¥ë¤Î¥á¥â¥ê»ÈÍÑÎ̤ò 16MB ¤ËÀ©¸Â¤·¡¢¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤Î¥µ¥¤¥º¤â 128MB ¤Ç¤Ï¤Ê¤¯ 16MB ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤ò¼è¤ê½Ð¤»¤¿¤é¡¢ °Ê²¼¤Î¤è¤¦¤Ë &man.gdb.1; ¤ò»È¤Ã¤Æ¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤ò¤È¤ê¤Þ¤¹¡£ &prompt.user; gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0 (gdb) where ɬÍפʾðÊó¤¬ 1 ²èÌ̤˼ý¤Þ¤é¤Ê¤¤¤³¤È¤â¿¤¤¤Î¤Ç¡¢¤Ç¤­¤ì¤Ð &man.script.1; ¤ò»È¤Ã¤Æ½ÐÎϤòµ­Ï¿¤·¤Þ¤¹¡£ strip ¤·¤Æ¤¤¤Ê¤¤¥«¡¼¥Í¥ë¥¤¥á¡¼¥¸¤ò»È¤¦¤³¤È¤Ç¡¢ ¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¥·¥ó¥Ü¥ë¤¬»²¾È¤Ç¤­¡¢ ¥Ñ¥Ë¥Ã¥¯¤ÎȯÀ¸¤·¤¿¥«¡¼¥Í¥ë¤Î¥½¡¼¥¹¥³¡¼¥É¤Î¹Ô¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£ Ä̾Àµ³Î¤Ê¥¯¥é¥Ã¥·¥å¤Ø¤Î²áÄø¤òÄÉÀפ¹¤ë¤Ë¤Ï¡¢ ½ÐÎϤòºÇ¸å¤Î¹Ô¤«¤éµÕÊý¸þ¤ËÆÉ¤Þ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤Þ¤¿ &man.gdb.1; ¤ò»È¤Ã¤Æ¡¢ ÊÑ¿ô¤ä¹½Â¤ÂÎ¤ÎÆâÍÆ¤òɽ¼¨¤µ¤»¡¢ ¥¯¥é¥Ã¥·¥å¤·¤¿»þ¤Î¥·¥¹¥Æ¥à¤Î¾õÂÖ¤òÄ´¤Ù¤é¤ì¤Þ¤¹¡£ ¤â¤·¤¢¤Ê¤¿¤¬¥Ç¥Ð¥Ã¥°¶¸¤Ç¡¢Æ±»þ¤ËÊ̤Υ³¥ó¥Ô¥å¡¼¥¿¤òÍøÍѤǤ­¤ë´Ä¶­¤Ë¤¢¤ì¤Ð¡¢ &man.gdb.1; ¤ò¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¤Ë»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¤ò»È¤¦¤È¡¢¤¢¤ë¥³¥ó¥Ô¥å¡¼¥¿¾å¤Î &man.gdb.1; ¤ò»È¤Ã¤Æ¡¢ Ê̤Υ³¥ó¥Ô¥å¡¼¥¿¤Î¥«¡¼¥Í¥ë¤ò¥Ç¥Ð¥Ã¥°¤Ç¤­¤Þ¤¹¡£ ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤ÎÀßÄê¡¢¥«¡¼¥Í¥ë¥³¡¼¥É¤Î¥¹¥Æ¥Ã¥×¼Â¹Ô¤Ê¤É¡¢ ¤Õ¤Ä¤¦¤Î¥×¥í¥°¥é¥à¤Î¥Ç¥Ð¥Ã¥°¤ÈÊѤï¤ê¤Þ¤»¤ó¡£ ¥³¥ó¥Ô¥å¡¼¥¿¤ò 2 ÂæÊ¤٤ƥǥХå°¤¹¤ë¥Á¥ã¥ó¥¹¤Ë¤Ï¤Ê¤«¤Ê¤«·Ã¤Þ¤ì¤Ê¤¤¤Î¤Ç¡¢ »ä¤Ï¤Þ¤À¥ê¥â¡¼¥È¥Ç¥Ð¥Ã¥°¤ò»î¤·¤¿¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ Bill ¤Ë¤è¤ëÄɵ­ DDB ¤òÍ­¸ú¤Ë¤·¤Æ¤¤¤Æ¥«¡¼¥Í¥ë¤¬¥Ç¥Ð¥Ã¥¬¤Ë Íî¤Á¤¿¤é¡¢ddb ¤Î¥×¥í¥ó¥×¥È¤Ç "panic" ¤ÈÆþÎϤ¹¤ì¤Ð¡¢¶¯À©Åª¤Ë¥Ñ¥Ë¥Ã¥¯¤òµ¯¤³¤·¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ñ¥Ë¥Ã¥¯¤ÎÅÓÃæ¤Ç¡¢ºÆ¤Ó¥Ç¥Ð¥Ã¥¬¤ËÍî¤Á¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢ "continue" ¤ÈÆþÎϤ¹¤ì¤Ð¡¢ ¥¯¥é¥Ã¥·¥å¥À¥ó¥×¤òºÇ¸å¤Þ¤Ç¼Â¹Ô¤µ¤»¤é¤ì¤Þ¤¹¡£ dlsym() ¤¬ ELF ¼Â¹Ô·Á¼°¤Ç¤Ïưºî¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹! ELF ¤Î¥Ä¡¼¥ëÎà¤Ï¡¢ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¼Â¹Ô·Á¼°¤ÎÃæ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¤ò¡¢ ¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥«¤«¤é¸«¤¨¤ë¤è¤¦¤Ë¤Ï¤·¤Þ¤»¤ó¡£ ¤³¤Î¤¿¤á¡¢dlopen(NULL, flags) ¤ò¸Æ¤Ó½Ð¤·¤ÆÆÀ¤é¤ì¤¿¥Ï¥ó¥É¥ë¤ËÂФ·¤Æ¡¢ dlsym() ¤Çõº÷¤ò¹Ô¤Ã¤Æ¤â¡¢ ¤³¤¦¤¤¤Ã¤¿¥·¥ó¥Ü¥ë¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó¡£ ¤â¤·¡¢¤¢¤Ê¤¿¤¬¥×¥í¥»¥¹¤ÎÃæ¿´¤Ë¤¢¤¿¤ë¼Â¹Ô·Á¼°¤ÎÃæ¤Ë¤¢¤ë¥·¥ó¥Ü¥ë¤òõº÷¤·¤¿¤±¤ì¤Ð¡¢ ELF ¥ê¥ó¥« (&man.ld.1;) ¤Ë ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¼Â¹Ô·Á¼°¤ò¥ê¥ó¥¯¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥«¡¼¥Í¥ë¥¢¥É¥ì¥¹¶õ´Ö¤òÂ礭¤¯¤·¤¿¤ê¡¢ ¾®¤µ¤¯¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤¿¤éÎɤ¤¤Î¤Ç¤¹¤«? ¥«¡¼¥Í¥ë¥¢¥É¥ì¥¹¶õ´Ö¤Ï¡¢FreeBSD 3.X ¾å¤Ç 256MB¡¢FreeBSD 4.X ¾å¤Ç 1GB ¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ Éé²Ù¤Î¹â¤¤¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ð (¤¿¤È¤¨¤ÐÂ礭¤Ê FTP¡¢HTTP ¥µ¡¼¥Ð) ¤ò±¿ÍѤ¹¤ë¾ì¹ç¤Ï¡¢256MB ¤Ç¤Ï­¤ê¤Ê¤¤¤³¤È¤Ëµ¤ÉÕ¤¯¤«¤âÃΤì¤Þ¤»¤ó¡£ ¤Ç¤Ï¡¢¥¢¥É¥ì¥¹¶õ´Ö¤òÂ礭¤¯¤¹¤ë¤Ë¤Ï¤É¤¦¤·¤¿¤éÎɤ¤¤Î¤Ç¤·¤ç¤¦¤«? ¤½¤ì¤Ë¤Ï¡¢Æó¤Ä¤ÎÃʳ¬¤òƧ¤ß¤Þ¤¹¡£¤Þ¤º¡¢ ¤è¤êÂ礭¤¤¥¢¥É¥ì¥¹¶õ´Ö¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤ò¥«¡¼¥Í¥ë¤ËÃΤ餻¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤Ë¡¢¥«¡¼¥Í¥ë¤Ï¥¢¥É¥ì¥¹¶õ´Ö¤ÎÀèÆ¬¤Ë¥í¡¼¥É¤µ¤ì¤ë¤¿¤á¡¢ ¥¢¥É¥ì¥¹¤ÎÀèÆ¬¤¬Å·°æ (ÌõÃí:¥«¡¼¥Í¥ë¥¢¥É¥ì¥¹¶õ´Ö¤ÎºÇ²¼Ã¼¥¢¥É¥ì¥¹¤Î¤³¤È) ¤È ¤Ö¤Ä¤«¤ë¤³¤È¤Î¤Ê¤¤¤è¤¦¤Ë¡¢¥í¡¼¥É¥¢¥É¥ì¥¹¤òº£¤Þ¤Ç¤è¤êÄã°Ì¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ºÇ½é¤ÎÃʳ¬¤Ï¡¢src/sys/i386/include/pmap.h ¤Ë¤¢¤ë NKPDE ¤ÎÃͤòÁý²Ã¤µ¤»¤ë¤³¤È¤Ç¹Ô¤Ê¤¤¤Þ¤¹¡£ ¤³¤³¤Ë 1GB ¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¤É¤Î¤è¤¦¤Ë¤¹¤ì¤ÐÎɤ¤¤«¤ò¼¨¤·¤Þ¤¹¡£ #ifndef NKPDE #ifdef SMP #define NKPDE 254 /* addressable number of page tables/pde's */ #else #define NKPDE 255 /* addressable number of page tables/pde's */ #endif /* SMP */ #endif Àµ³Î¤Ê NKPDE ¤ÎÃͤò·×»»¤¹¤ë¤Ë¤Ï¡¢ ˾¤ß¤Î¥¢¥É¥ì¥¹¶õ´Ö¤ÎÂ礭¤µ (¥á¥¬¥Ð¥¤¥Èñ°Ì) ¤ò 4 ¤Ç³ä¤Ã¤Æ¡¢ ¤½¤ì¤«¤éñ°ì¥×¥í¥»¥Ã¥µ (UP) ¤Ê¤é 1¡¢SMP ¤Ê¤é 2 ¤ò°ú¤­»»¤·¤Æ¤¯¤À¤µ¤¤¡£ ¼¡¤ÎÃʳ¬¤ò¹Ô¤Ê¤¦¤Ë¤Ï¡¢¥í¡¼¥É¥¢¥É¥ì¥¹¤òÀµ³Î¤Ë·×»»¤¹¤ë¤³¤È¤¬É¬ÍפǤ¹¡£ ñ½ã¤Ë¡¢¥¢¥É¥ì¥¹¶õ´Ö¤ÎÂ礭¤µ (¥Ð¥¤¥Èñ°Ì) ¤ò 0x100100000 ¤«¤é°ú¤­»»¤·¤Æ¤¯¤À¤µ¤¤¡£ 1GB ¥¢¥É¥ì¥¹¶õ´Ö¤Î¾ì¹ç¡¢¤½¤Î·ë²Ì¤Ï 0xc0100000 ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤½¤·¤Æ¡¢src/sys/i386/conf/Makefile.i386 ¤Ë¤¢¤ë LOAD_ADDRESS ¤Ë¡¢º£·×»»¤·¤¿ÃͤòÆþ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¼¡¤Î¤è¤¦¤Ë src/sys/i386/conf/kernel.script ¤Î¥»¥¯¥·¥ç¥ó¤Î»Ï¤á¤ÎÊý¤Ë¤¢¤ë¥í¥±¡¼¥·¥ç¥ó¥«¥¦¥ó¥¿¤Ë¤âƱ¤¸ÃͤòÆþ¤ì¤Æ¤¯¤À¤µ¤¤¡£ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(btext) SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/obj/elf/home/src/tmp/usr/i386-unknown-freebsdelf/lib); SECTIONS { /* Read-only sections, merged into text segment: */ . = 0xc0100000 + SIZEOF_HEADERS; .interp : { *(.interp) } ¤½¤ì¤¬´°Î»¤·¤¿¤é¡¢config ¤·Ä¾¤·¤Æ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤ª¤½¤é¤¯¡¢&man.ps.1;¡¢&man.top.1; ¤Ê¤É¤ËÉÔ¶ñ¹ç¤¬½Ð¤ë¤Ç¤·¤ç¤¦¡£ ¤½¤ì¤é¤òÀµ¾ï¤Ë¤¹¤ë¤¿¤á¤Ë¡¢make world (¤â¤·¤¯¤Ï¡¢Êѹ¹¤·¤¿ pmap.h ¤ò /usr/include/vm/ ¤Ë¥³¥Ô¡¼¤·¤¿¸å¤Ë¡¢ libkvm¡¢ ps ¤ª¤è¤Ó top ¤ò¼êư¤ÇºÆ¹½ÃÛ¤¹¤ë¤³¤È) ¤ò¹Ô¤Ê¤¦¤Ù¤­¤Ç¤¹¡£ ¥«¡¼¥Í¥ë¥¢¥É¥ì¥¹¶õ´Ö¤ÎÂ礭¤µ¤Ï¡¢4MB ¤ÎÇÜ¿ô¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ &a.dg; »á¤Ë¤è¤ëÊä­ ¥«¡¼¥Í¥ë¥¢¥É¥ì¥¹¶õ´Ö¤Ï 2 ¤Î¾è¿ô¤Ç¤¢¤ëɬÍפ¬¤¢¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢ ¤½¤ì¤¬³Î¤«¤Ê¤³¤È¤«¤É¤¦¤«¤Ï¤Ï¤Ã¤­¤ê¤·¤Æ¤¤¤Þ¤»¤ó¡£ ÀΤε¯Æ°¥³¡¼¥É¤Ë¤Ï¡¢Îɤ¯¹â°Ì¥¢¥É¥ì¥¹¥Ó¥Ã¥È¤Î¥È¥ê¥Ã¥¯¤¬»È¤ï¤ì¤Æ¤¤¤¿¤¿¤á¡¢ ¾¯¤Ê¤¯¤È¤â 256MB ¤ÎγÅ٤Ǥ¢¤ë¤³¤È¤¬ÁÛÄꤵ¤ì¤Æ¤¤¤¿¤È»×¤¤¤Þ¤¹¡£
¼Õ¼­ Ìõ: &a.jp.y-koga;¡¢ 1997 ǯ 11 ·î 10 Æü
FreeBSD Core Team ¤³¤Î FAQ ¤Ë¤Ä¤¤¤ÆÌäÂê¤ò¸«¤Ä¤±¤¿¤ê¡¢²¿¤«ÅÐÏ¿¤·¤¿¤¤¾ì¹ç¤Ï¡¢ &a.faq; ¤Þ¤Ç¥á¡¼¥ë¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤·¤Æ¤¯¤ì¤ë¤ß¤Ê¤µ¤ó¤Ë¤Ï´¶¼Õ´¶¼Õ¤Ê¤Î¤Ç¤¹¡£ ¤ß¤Ê¤µ¤ó¤Ë¼êÅÁ¤Ã¤Æ¤â¤é¤ï¤Ê¤¤¤È¤³¤Î FAQ ¤Ï¤è¤¯¤Ê¤ê¤Þ¤»¤ó¤«¤é!
&a.jkh; ¤¿¤Þ¤Ëµ¯¤³¤¹ FAQ ¤ÎʤÙÂØ¤¨¤ä¹¹¿·¤Îȯºî &a.dwhite; freebsd-questions ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç¤ÎµÁ̳¤òͤ¨¤¿¥µ¡¼¥Ó¥¹ &a.joerg; Usenet (NetNews) ¤Ç¤ÎµÁ̳¤òͤ¨¤¿¥µ¡¼¥Ó¥¹ &a.wollman; ¥Í¥Ã¥È¥ï¡¼¥¯Àá¤Î¼¹É®¤Èʸ½ñÀ°·Á Jim Lowe ¥Þ¥ë¥Á¥­¥ã¥¹¥È¤Ë¤Ä¤¤¤Æ &a.pds; FreeBSD FAQ ¥¿¥¤¥Ô¥ó¥°µ¡³£ÅÛÎì FreeBSD ¥Á¡¼¥à ÉÔÊ¿¤ò¸À¤Ã¤¿¤ê¡¢¤¦¤á¤¤¤¿¤ê¡¢¾ðÊóÄ󶡤·¤Æ¤¯¤ì¤¿¤ê ¤¢¤È¡¢È´¤±¤Æ¤·¤Þ¤Ã¤¿Â¾¤ÎÊý¡¹¤ËÂФ·¤Æ¡¢¼Õºá¤È¿´¤«¤é¤Î´¶¼Õ¤òÊû¤²¤Þ¤¹!
FreeBSD FAQ ÆüËܸ첽¤Ë¤Ä¤¤¤Æ FreeBSD ÆüËܸì¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤Ï¡¢ FreeBSD ´Ø·¸¤ÎÆüËܸìʸ½ñ¤¬¾¯¤Ê¤¤¤³¤È¤òò¤¤¤¿¿ô¿Í¤Î FreeBSD ¥æ¡¼¥¶¤ÎÄ󾧤ˤè¤Ã¤Æ 1996 ǯ 2 ·î 26 Æü¤Ë¥¹¥¿¡¼¥È¤·¡¢ FreeBSD ÆüËܸì¥Ï¥ó¥É¥Ö¥Ã¥¯¤ÎºîÀ®¤ò¤Ï¤¸¤á¤È¤·¤¿³èư¤ò¹Ô¤Ê¤Ã¤Æ¤­¤Þ¤·¤¿¡£ FreeBSD FAQ ¤ÎÆüËܸ첽¤Ë¤Ä¤¤¤Æ¤Ï¥ª¥ê¥¸¥Ê¥ë¤ÎËÝÌõºî¶È¤À¤±¤Ç¤Ê¤¯¡¢ ÆüËܹñÆâ¤Ë¸ÇÍ­¤ÎÏÃÂê¤Ë¤Ä¤¤¤Æ¤â¹­¤¯¾ðÊó¤ò½¸¤á¡¢ ÆüËܤΠFreeBSD ¥æ¡¼¥¶¤Ë¤È¤Ã¤Æ¿¿¤ËÍ­±×¤Ê¥É¥­¥å¥á¥ó¥È¤òÄ󶡤·¤è¤¦¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ ¥ª¥ê¥¸¥Ê¥ë¤Î FAQ ¤ÏÆüËè¤Ë¹¹¿·¤µ¤ì¤Æ¤ª¤ê¡¢ »ä¤¿¤Á¤â¤Þ¤¿¤³¤ì¤ËÄɤ¤ÉÕ¤¯¤¿¤á¤Ëºî¶È¤ò³¤±¤Æ¤¤¤­¤Þ¤¹¡£¤â¤Á¤í¤ó¡¢¿·¤·¤¤¥á¥ó¥Ð¤âÂç´¿·Þ¤Ç¤¹¡£ ÆüËܸìËÝÌõÈǤˤĤ¤¤Æ¡¢²¿¤«¤ªµ¤¤Å¤­¤ÎÅÀ¤¬¤¢¤ê¤Þ¤·¤¿¤é¡¢ &a.jp.doc-jp; ¤Þ¤Ç¤´Ï¢Íí¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢¤â¤·»ä¤¿¤Á¤Îºî¶È¤ò¼êÅÁ¤Ã¤Æ¤¯¤ì¤ë¤Ê¤é¡¢ FreeBSD ÆüËܸì¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤Î¥Ú¡¼¥¸¤ò¤´Í÷¤Î¾å¡¢À§È󻲲䷤Ƥ¯¤À¤µ¤¤¡£ ËÝÌõ¼Ô (¸Þ½½²»½ç) &a.jp.arimura; °ìµÜ μ ryo@azusa.shinshu-u.ac.jp &a.iwasaki; &a.jp.yoshiaki; &a.kuriyama; &a.jp.y-koga; &a.motoyuki; &a.jp.sugimura; &a.jp.nakai; ¤Ë¤·¤« nishika@cheerful.com &a.hanai; &a.jp.kiroh; &a.jp.shou; Ê¡´Ö ¹¯¹° yasuf@big.or.jp &a.jp.mrt; »³²¼ ½ß junkun@esys.tsukuba.ac.jp ººÆÉ¼Ô (¸Þ½½²»½ç) &a.asami; &a.iwasaki; &a.jp.yoshiaki; Âç¶¶ ·ò ohashi@mickey.ai.kyutech.ac.jp &a.kuriyama; &a.motoyuki; &a.jp.saeki; &a.jp.sugimura; &a.hanai; &a.jp.nao; &a.jp.kiroh; &a.jp.hino; ÛØ»³ Âî shiyama@intercity.or.jp &a.jp.shou; &a.jp.mrt; ¼ã°æ µ×»Ë earth@hokuto7.or.jp ºî¶È´Ä¶­À°È÷ (¸Þ½½²»½ç) °ìµÜ μ ryo@azusa.shinshu-u.ac.jp &a.jp.iwasaki; &a.jp.simokawa; ÎëÌÚ ½¨¹¬ hideyuki@jp.FreeBSD.org Í­ÍѤʽñÀÒ 4.4BSD System Manager's Manual Computer Systems Research Group, University of California, Berkeley O'Reilly and Associates 1st Edition June 1994 804 pages ISBN 1-56592-080-5 4.4BSD User's Reference Manual Computer Systems Research Group, University of California, Berkeley O'Reilly and Associates 1st Edition June 1994 905 pages ISBN 1-56592-075-9 4.4BSD User's Supplementary Documents Computer Systems Research Group, University of California, Berkeley O'Reilly and Associates 1st Edition June 1994 712 pages ISBN 1-56592-076-7 4.4BSD Programmer's Reference Manual Computer Systems Research Group, University of California, Berkeley O'Reilly and Associates 1st Edition June 1994 866 pages ISBN 1-56592-078-3 4.4BSD Programmer's Supplementary Documents Computer Systems Research Group, University of California, Berkeley O'Reilly and Associates 1st Edition June 1994 596 pages ISBN 1-56592-079-1 The Design and Implementation of the 4.4BSD Operating System M. K. McKusick Kirk Marshall Keith Bostic Michael J Karels John Quarterman Addison-Wesley
Reading MA
1996 ISBN 0-201-54979-4
Unix System Administration Handbook Evi Nemeth Garth Snyder Scott Seebass Trent R. Hein John Quarterman Prentice-Hall 3rd edition 2000 ISBN 0-13-020601-6 The Complete FreeBSD Greg Lehey Walnut Creek 3rd edition June 1999 773 pages ISBN 1-57176-246-9 McKusick et al, 1994 Berkeley Software Architecture Manual, 4.4BSD Edition M. K. McKusick M. J. Karels S. J. Leffler W. N. Joy R. S. Faber 5:1-42
diff --git a/ja_JP.eucJP/books/handbook/disks/chapter.xml b/ja_JP.eucJP/books/handbook/disks/chapter.xml index 3b2928c5eb..f92e6884be 100644 --- a/ja_JP.eucJP/books/handbook/disks/chapter.xml +++ b/ja_JP.eucJP/books/handbook/disks/chapter.xml @@ -1,3340 +1,3333 @@ ¥¹¥È¥ì¡¼¥¸ ¤³¤Î¾Ï¤Ç¤Ï ¤³¤Î¾Ï¤Ç¤Ï¡¢FreeBSD ¤Ë¤ª¤±¤ë¥Ç¥£¥¹¥¯¤Î»ÈÍÑÊýË¡¤òÀâÌÀ¤·¤Þ¤¹¡£ ¤³¤ì¤Ë¤Ï¥á¥â¥ê¥Ç¥£¥¹¥¯¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤ËÀܳ¤µ¤ì¤¿¥Ç¥£¥¹¥¯¡¢ ¤ª¤è¤Óɸ½àŪ¤Ê SCSI/IDE µ­²±¥Ç¥Ð¥¤¥¹¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ ¤³¤Î¾Ï¤Ç¤Ï¡¢°Ê²¼¤ÎʬÌî¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ ʪÍý¥Ç¥£¥¹¥¯¾å¤Î¥Ç¡¼¥¿¹½À® ¤Ë¤Ä¤¤¤Æµ­½Ò¤¹¤ë¤¿¤á¤Ë FreeBSD ¤¬»ÈÍѤ¹¤ëÍѸì (¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ª¤è¤Ó¥¹¥é¥¤¥¹) ¥·¥¹¥Æ¥à¤Ë¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤òÄɲ乤ëÊýË¡ ¥á¥â¥ê¥Ç¥£¥¹¥¯¤Î¤è¤¦¤Ê²¾ÁÛ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÀßÄꤹ¤ëÊýË¡ »ÈÍѤǤ­¤ë¥Ç¥£¥¹¥¯ÍÆÎ̤òÀ©¸Â¤¹¤ë¤¿¤á¤Ë¥¯¥©¡¼¥¿¤òÀßÄꤹ¤ëÊýË¡ ¹¶·â¼Ô¤«¤éÊݸ¤ë¤¿¤á¤Ë¥Ç¥£¥¹¥¯¤ò°Å¹æ²½¤¹¤ëÊýË¡ FreeBSD ¤Ç CD ¤ä DVD ¤òºîÀ®¤¹¤ëÊýË¡ ¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î¤¿¤á¤Î¤µ¤Þ¤¶¤Þ¤Êµ­²±¥á¥Ç¥£¥¢¥ª¥×¥·¥ç¥ó FreeBSD ¤ÇÍøÍѤǤ­¤ë¥Ð¥Ã¥¯¥¢¥Ã¥×¥×¥í¥°¥é¥à¤Î»ÈÍÑÊýË¡ ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ëÊýË¡ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤È¤Ï²¿¤«¡¢¤½¤·¤Æ¤½¤ì¤ò¸ú²ÌŪ¤Ë»ÈÍѤ¹¤ëÊýË¡ ¥Ç¥Ð¥¤¥¹Ì¾ °Ê²¼¤Ï¡¢FreeBSD ¤ÇÂбþ¤·¤Æ¤¤¤ëʪÍýµ­²±¥Ç¥Ð¥¤¥¹¤È¤½¤ì¤ËÂбþ¤¹¤ë¥Ç¥Ð¥¤¥¹Ì¾¤Î¥ê¥¹¥È¤Ç¤¹¡£ ʪÍý¥Ç¥£¥¹¥¯¤Ø¤Î̾Á°ÉÕ¤± ¥É¥é¥¤¥Ö¤Î¼ïÎà ¥É¥é¥¤¥Ö¤Î¥Ç¥Ð¥¤¥¹Ì¾ IDE ¥Ï¡¼¥É¥É¥é¥¤¥Ö ad IDE CD-ROM ¥É¥é¥¤¥Ö acd SCSI ¥Ï¡¼¥É¥É¥é¥¤¥Ö¤ª¤è¤Ó USB ÂçÍÆÎ̵­²±¥Ç¥Ð¥¤¥¹ da SCSI CD-ROM ¥É¥é¥¤¥Ö cd ¤½¤Î¾¤ÎÈóɸ½àŪ CD-ROM ¥É¥é¥¤¥Ö ¥ß¥Ä¥ß CD-ROM ¤Ï mcd, Sony CD-ROM ¤Ï scd, ¾¾²¼/¥Ñ¥Ê¥½¥Ë¥Ã¥¯ CD-ROM ¤Ï matcd - - &man.matcd.4; ¥É¥é¥¤¥Ð¤Ï 2002 ǯ 10 ·î 5 Æü¤Ë - FreeBSD 4.X ¥Ö¥é¥ó¥Á¤«¤éºï½ü¤µ¤ì¤Þ¤·¤¿¡£ - ¤Þ¤¿¡¢FreeBSD 5.0 ¤ª¤è¤Ó 5.1 ¥ê¥ê¡¼¥¹¤Ë¤Ï¸ºß¤·¤Þ¤»¤ó¤¬¡¢ - 2003 ǯ 6 ·î 16 Æü¤Ë - FreeBSD 5.X ¥Ö¥é¥ó¥Á¤ËÉüµ¢¤·¤Þ¤·¤¿¡£ - ¥Õ¥í¥Ã¥Ô¡¼¥É¥é¥¤¥Ö fd SCSI ¥Æ¡¼¥×¥É¥é¥¤¥Ö sa IDE ¥Æ¡¼¥×¥É¥é¥¤¥Ö ast ¥Õ¥é¥Ã¥·¥å¥É¥é¥¤¥Ö &diskonchip; ¥Õ¥é¥Ã¥·¥å¥Ç¥Ð¥¤¥¹¤Ï fla RAID ¥É¥é¥¤¥Ö &adaptec; AdvancedRAID ¤Ï aacd, &mylex; ¤Ï mlxd ¤ª¤è¤Ó mlyd, AMI &megaraid; ¤Ï amrd, Compaq Smart RAID ¤Ï idad, &tm.3ware; RAID ¤Ïtwed
David O'Brien ¸¶ºî: ¥Ç¥£¥¹¥¯¤ÎÄɲà ¥Ç¥£¥¹¥¯ Äɲà ¸½ºß°ì¤Ä¤·¤«¥É¥é¥¤¥Ö¤¬¤Ê¤¤·×»»µ¡¤Ë¿·¤·¤¯ SCSI ¥Ç¥£¥¹¥¯¤òÄɲä·¤¿¤¤¤È¤·¤Þ¤·¤ç¤¦¡£¤Þ¤º¥³¥ó¥Ô¥å¡¼¥¿¤ÎÅŸ»¤òÀڤꡢ ¥³¥ó¥Ô¥å¡¼¥¿¤ä¥³¥ó¥È¥í¡¼¥é¡¢ ¥É¥é¥¤¥Ö¤ÎÀ½Â¤¸µ¤ÎÀâÌÀ½ñ¤Ë½¾¤Ã¤Æ¥É¥é¥¤¥Ö¤ò¼è¤êÉÕ¤±¤Þ¤¹¡£ ¤³¤Î¤¢¤¿¤ê¤Î¼ê½ç¤ÏÈó¾ï¤Ë¿´ô¤Ë¤ï¤¿¤ë¤¿¤á¡¢ ¾ÜºÙ¤Ï¤³¤Îʸ½ñ¤ÎÈϰϳ°¤Ç¤¹¡£ root ¥æ¡¼¥¶¤Ç¥í¥°¥¤¥ó¤·¤Þ¤¹¡£ ¥É¥é¥¤¥Ö¤Î¼è¤êÉÕ¤±¸å¤Ï /var/run/dmesg.boot ¤òÄ´¤Ù¤Æ¿·¤·¤¤¥Ç¥£¥¹¥¯¤¬¸«¤Ä¤«¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤ª¤­¤Þ¤¹¡£ ¤³¤ÎÎã¤Ç¤Ï¡¢¿·¤·¤¯ÉÕ¤±¤¿¥É¥é¥¤¥Ö¤Ï da1 ¤Ç¡¢ ²æ¡¹¤Ï¤½¤ì¤ò /1 ¤Ë¥Þ¥¦¥ó¥È¤·¤¿¤¤¤È¤·¤Þ¤·¤ç¤¦ (¤â¤· IDE ¥É¥é¥¤¥Ö¤òÉÕ¤±¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤Ê¤é¡¢¥Ç¥Ð¥¤¥¹Ì¾¤Ï 4.0 °ÊÁ°¤Î¥·¥¹¥Æ¥à¤Ç¤Ï wd1, ¤Û¤È¤ó¤É¤Î 4.x ¥·¥¹¥Æ¥à¤Ç¤Ï ad1 ¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦)¡£ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¥¹¥é¥¤¥¹ fdisk FreeBSD ¤Ï IBM-PC ¸ß´¹¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Çư¤¯¤¿¤á¡¢ PC BIOS ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¹Íθ¤ËÆþ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï½¾Íè¤Î BSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¤Ï°Û¤Ê¤ê¤Þ¤¹¡£PC ¥Ç¥£¥¹¥¯¤Ï 4 ¤Ä¤Þ¤Ç¤Î BIOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥ó¥È¥ê¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤â¤·¤½¤Î¥Ç¥£¥¹¥¯¤òËÜÅö¤Ë FreeBSD ÀìÍѤˤ·¤¿¤¤¾ì¹ç¤Ë¤Ï ÀìÍÑ ¥â¡¼¥É¤ÇÍѤ¤¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢FreeBSD ¤Ï PC BIOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¤É¤ì¤«°ì¤Ä¤ÎÃæ¤ËÆþ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ FreeBSD ¤Ç¤Ï¡¢½¾Íè¤Î BSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Èº®Í𤷤ʤ¤¤è¤¦¤Ë PC BIOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¤³¤È¤ò¥¹¥é¥¤¥¹¤È¸Æ¤Ó¤Þ¤¹¡£ ¤Þ¤¿¡¢Ê̤ΠOS ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤¿¥³¥ó¥Ô¥å¡¼¥¿¤Ç»È¤ï¤ì¤Æ¤¤¤¿¤¬ FreeBSD ÀìÍѤˤ¹¤ë¥Ç¥£¥¹¥¯¾å¤Ç¤â¥¹¥é¥¤¥¹¤òÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢Â¾¤Î OS ¤Î fdisk ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤òº®Í𤵤»¤Ê¤¤¤¿¤á¤Ç¤¹¡£ ¥¹¥é¥¤¥¹¤Î¾ì¹ç¡¢¥É¥é¥¤¥Ö¤Ï /dev/da1s1e ¤È¤·¤Æ²Ã¤¨¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£¤³¤ì¤Ï¡¢SCSI ¥Ç¥£¥¹¥¯¤Ç¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤Ï 1 (Æó¤Ä¤á¤Î SCSI ¥Ç¥£¥¹¥¯), ¥¹¥é¥¤¥¹¤Ï 1 (PC BIOS ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬ 1) ¤Ç BSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó e, ¤ÈÆÉ¤ß¤Þ¤¹¡£ ÀìÍѥǥ£¥¹¥¯¤Î¾ì¹ç¤À¤Èñ½ã¤Ë /dev/da1e ¤È¤·¤Æ²Ã¤¨¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£ &man.sysinstall.8; ¤ÎÍøÍÑ sysinstall ¥Ç¥£¥¹¥¯¤ÎÄɲà su <application>sysinstall</application> ¤ÎÁàºî sysinstall ¤Î»È¤¤°×¤¤¥á¥Ë¥å¡¼¤òÍøÍѤ·¤Æ¡¢ ¿·¤·¤¤¥Ç¥£¥¹¥¯¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥óʬ¤±¤ä¥é¥Ù¥ëÉÕ¤±¤ò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ root ¥æ¡¼¥¶¤Ç¥í¥°¥¤¥ó¤¹¤ë¤« su ¥³¥Þ¥ó¥É¤òÍѤ¤¤ë¤«¤·¤Æ root ¸¢¸Â¤ò¼èÆÀ¤·¤Þ¤¹¡£ /stand/sysinstall ¤ò¼Â¹Ô¤·¤Æ Configure ¥á¥Ë¥å¡¼¤ËÆþ¤ê¤Þ¤¹¡£FreeBSD Configuration Menu ¤ÎÃæ¤Ç¥¹¥¯¥í¡¼¥ë¥À¥¦¥ó¤·¤Æ Fdisk ¤Î¹àÌܤòÁª¤Ó¤Þ¤¹¡£ <application>fdisk</application> ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿ fdisk ¤Ç¤Ï¡¢¥Ç¥£¥¹¥¯Á´ÂΤò FreeBSD ¤Ç»È¤¦¤¿¤á¤Ë A ¤òÆþÎϤ·¤Þ¤¹¡£ remain cooperative with any future possible operating systems ¤Èʹ¤«¤ì¤¿¤é YES ¤ÈÅú¤¨¤Þ¤¹¡£ W ¤ÇÊѹ¹¤ò¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤³¤Ç q ¤ÈÆþÎϤ·¤Æ FDISK ¥¨¥Ç¥£¥¿¤òÈ´¤±¤Þ¤¹¡£ ¼¡¤Ë¥Þ¥¹¥¿¥Ö¡¼¥È¥ì¥³¡¼¥É¤Ë¤Ä¤¤¤ÆÊ¹¤«¤ì¤Þ¤¹¡£ ¤³¤³¤Ç¤Ï´û¤Ëư¤¤¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ë¥Ç¥£¥¹¥¯¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤Î¤Ç None ¤òÁª¤Ó¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¥¨¥Ç¥£¥¿ BSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¼¡¤Ë sysinstall ¤ò½ªÎ»¤·¡¢ ¤â¤¦°ìÅÙµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Æ±¤¸¼ê½ç¤òƧ¤ó¤Çº£ÅÙ¤Ï Label ¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¡¢ Disk Label Editor ¤ËÆþ¤ê¤Þ¤¹¡£ ¤³¤³¤Ç¤Ï½¾Íè¤Î BSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹¡£ °ì¤Ä¤Î¥Ç¥£¥¹¥¯¤Ï a ¤«¤é h ¤Þ¤Ç¤Î¥é¥Ù¥ë¤¬¤Ä¤¤¤¿ºÇÂç 8 ¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¤¤¯¤Ä¤«¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥é¥Ù¥ë¤ÏÆÃÊ̤ÊÍÑÅÓ¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£ a ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó (/) ¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥·¥¹¥Æ¥à¥Ç¥£¥¹¥¯ (¤Ä¤Þ¤êµ¯Æ°¥Ç¥£¥¹¥¯) ¤Î¤ß¤Ë a ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ë¤Ù¤­¤Ç¤¹¡£b ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÍѤ¤¤é¤ì¡¢ Ê£¿ô¤Î¥Ç¥£¥¹¥¯¤Ë¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ c ¤ÏÀìÍѥ⡼¥É¤Ë¤ª¤±¤ë¥Ç¥£¥¹¥¯Á´ÂΡ¢ ¤â¤·¤¯¤Ï¥¹¥é¥¤¥¹¥â¡¼¥É¤Ë¤ª¤±¤ë¥¹¥é¥¤¥¹Á´ÂΤò»Ø¤·¤Þ¤¹¡£ ¾¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÏÈÆÍÑŪ¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£ sysinstall ¤Î¥é¥Ù¥ë¥¨¥Ç¥£¥¿ ¤Ï¡¢¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤â¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤â¤Ê¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ï¡¢e ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºÎÍѤ·¤è¤¦¤È¤·¤Þ¤¹¡£¥é¥Ù¥ë¥¨¥Ç¥£¥¿¤Ç¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤Ë¤Ï C ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ FS (¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à) ¤«¥¹¥ï¥Ã¥×¤«¤òʹ¤«¤ì¤¿¤é FS ¤òÁª¤Ó¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È (¤¿¤È¤¨¤Ð /mnt) ¤òÆþÎϤ·¤Þ¤¹¡£ ¥¤¥ó¥¹¥È¡¼¥ë¸å¤Î¥â¡¼¥É¤Ç¥Ç¥£¥¹¥¯¤òÄɲ乤ë¾ì¹ç¡¢ sysinstall ¤Ï /etc/fstab ¤Ë¥¨¥ó¥È¥ê¤òÄɲ䷤ʤ¤¤¿¤á¡¢ ¤³¤³¤Ç»ØÄꤹ¤ë¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Ï¤½¤ì¤Û¤É½ÅÍפǤϤ¢¤ê¤Þ¤»¤ó¡£ ¤µ¤Æ¡¢¥Ç¥£¥¹¥¯¤Ë¿·¤·¤¤¥é¥Ù¥ë¤ò½ñ¤­¹þ¤ß¡¢ ¤½¤³¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºî¤ë½àÈ÷¤¬À°¤¤¤Þ¤·¤¿¡£Áá® W ¤òᤤ¤Æ¼Â¹Ô¤·¤Þ¤·¤ç¤¦¡£ sysinstall ¤«¤é¤Î¡¢ ¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤Ê¤¤¡¢ ¤È¤¤¤¦¥¨¥é¡¼¤Ï̵»ë¤·¤Æ¤¯¤À¤µ¤¤¡£Label Editor ¤«¤éÈ´¤±¡¢ sysinstall ¤ò½ªÎ»¤·¤Þ¤¹¡£ ½ªÎ» ºÇ¸å¤Ë /etc/fstab ¤òÊÔ½¸¤·¡¢ ¿·¤·¤¤¥Ç¥£¥¹¥¯¤Î¥¨¥ó¥È¥ê¤òÄɲä·¤Þ¤¹¡£ ¥³¥Þ¥ó¥É¥é¥¤¥ó¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ÎÍøÍÑ ¥¹¥é¥¤¥¹¤ÎÍøÍÑ ¤³¤Î¥»¥Ã¥È¥¢¥Ã¥×ÊýË¡¤Ç¤Ï¡¢ ¤¹¤Ç¤Ë¥³¥ó¥Ô¥å¡¼¥¿¤Ë¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Æ¤â Àµ¤·¤¯¶¨Ä´Æ°ºî¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¡¢Â¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î fdisk ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤òº®Í𤵤»¤ë¤³¤È¤â¤¢¤ê¤Þ¤»¤ó¡£ ¿·¤·¤¤¥Ç¥£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ï¡¢ ¤³¤ÎÊýË¡¤òÍѤ¤¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¸å½Ò¤¹¤ë ÀìÍѥ⡼¥É ¤Ï¡¢ ¤½¤¦¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤Íýͳ¤¬¤¢¤ë»þ¤Ë¤Î¤ß¡¢ ÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; fdisk -BI da1 # ¿·¤·¤¤¥Ç¥£¥¹¥¯¤Î½é´ü²½ &prompt.root; disklabel -B -w -r da1s1 auto # ¥Ç¥£¥¹¥¯¤Ë¥é¥Ù¥ë¤òÉÕ¤±¤ë &prompt.root; disklabel -e da1s1 # ºîÀ®¤·¤¿¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤òÊÔ½¸¤·¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÄɲ乤ë &prompt.root; mkdir -p /1 &prompt.root; newfs /dev/da1s1e # ºîÀ®¤·¤¿¤¹¤Ù¤Æ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÂФ·¤Æ¤³¤ì¤ò·«¤êÊÖ¤¹ &prompt.root; mount /dev/da1s1e /1 # ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥Þ¥¦¥ó¥È¤¹¤ë &prompt.root; vi /etc/fstab # /etc/fstab ¤ËŬÀڤʥ¨¥ó¥È¥ê¤òÄɲ乤ë IDE ¥Ç¥£¥¹¥¯¤ò»È¤¦¾ì¹ç¤Ï da ¤ÎÉôʬ¤ò ad ¤È¤·¤Þ¤¹¡£4.X ¤è¤êÁ°¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ (ÌõÃí: ad ¤Ç¤Ï¤Ê¤¯) wd ¤È¤·¤Æ¤¯¤À¤µ¤¤¡£ ÀìÍѥ⡼¥É OS/2 ¿·¤·¤¤¥É¥é¥¤¥Ö¤ò¾¤Î OS ¤È¶¦Í­¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï ÀìÍÑ ¥â¡¼¥É¤òÍѤ¤¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¥â¡¼¥É¤Ï¥Þ¥¤¥¯¥í¥½¥Õ¥È¤Î OS ¤òº®Í𤵤»¤ë¤³¤È¤ò²±¤¨¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤ (¤·¤«¤·¡¢¤½¤ì¤é¤Ë¤è¤Ã¤Æ²õ¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó)¡£ °ìÊý¡¢IBM ¤Î &os2; ¤Ï¤É¤ó¤Ê¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤â¸«¤Ä¤±¤¿¤éÍý²ò¤Ç¤­¤Ê¤¯¤Æ¤â ÀìÍ­ ¤·¤Þ¤¹¡£ &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; disklabel -Brw da1 auto &prompt.root; disklabel -e da1 # `e' ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎºîÀ® &prompt.root; newfs -d0 /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # /dev/da1e ¥¨¥ó¥È¥ê¤ÎÄɲà &prompt.root; mount /1 ¤â¤¦°ì¤Ä¤ÎÊýË¡¤Ï¼¡¤ÎÄ̤ꡣ &prompt.root; dd if=/dev/zero of=/dev/da1 count=2 &prompt.root; disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin &prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # /dev/da1e ¥¨¥ó¥È¥ê¤ÎÄɲà &prompt.root; mount /1 &os; 5.1-RELEASE ¤«¤é¡¢½¾Íè¤Î &man.disklabel.8; ¥×¥í¥°¥é¥à¤Ï &man.bsdlabel.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤·¤¿¡£&man.bsdlabel.8; ¤Ç¤Ï¡¢ »ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¿ô¿¤¯¤Î¥ª¥×¥·¥ç¥ó¤ä¥Ñ¥é¥á¥¿¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£ ¤¿¤È¤¨¤Ð ¥ª¥×¥·¥ç¥ó¤Ï &man.bsdlabel.8; ¤Ç¤Ï¼è¤ê½ü¤«¤ì¤Þ¤·¤¿¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï &man.bsdlabel.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ RAID ¥½¥Õ¥È¥¦¥§¥¢ RAID Christopher Shumway ¸¶ºî: Jim Brown ²þÄû: Concatenated Disk Driver (CCD) ¤ÎÀßÄê RAID ¥½¥Õ¥È¥¦¥§¥¢ RAID CCD ÂçÍÆÎ̵­Ï¿¤Ë´Ø¤¹¤ë²ò·èË¡¤òÁªÂò¤¹¤ëºÝ¤Ë¤â¤Ã¤È¤â½Å»ë¤¹¤Ù¤­Í×ÁǤϡ¢ ®ÅÙ¡¢¿®ÍêÀ­¡¢¤½¤·¤ÆÈñÍѤǤ¹¡£ »°¤Ä¤òƱ»þ¤Ë¥Ð¥é¥ó¥¹¤è¤¯¼Â¸½¤¹¤ë¤³¤È¤Ïµ©¤Ç¤¹¡£ Ä̾®¤¯¤Æ¿®ÍêÀ­¤Î¤¢¤ëÂçÍÆÎ̵­Ï¿ÁõÃ֤Ϲâ²Á¤Ç¤¢¤ê¡¢ ÈñÍѤòÍÞ¤¨¤è¤¦¤È¤¹¤ë¤È®ÅÙ¤Þ¤¿¤Ï¿®ÍêÀ­¤Î¤É¤Á¤é¤«¤¬µ¾À·¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤³¤ÇÎã¤Ë¤¢¤²¤ë¥·¥¹¥Æ¥à¤ÎÀ߷פˤª¤¤¤Æ¤Ï¡¢ ÈñÍѤ¬ºÇ¤â½ÅÍפÊÍ×ÁǤȤ·¤Æ¡¢¼¡¤Ë®ÅÙ¡¢ºÇ¸å¤Ë¿®ÍêÀ­¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¥·¥¹¥Æ¥à¤Ç¤Î¥Ç¡¼¥¿Å¾Á÷®Å٤Ϸë¶É¤Î¤È¤³¤í¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¤è¤Ã¤ÆÀ©¸Â¤µ¤ì¤Þ¤¹¡£ ¿®ÍêÀ­¤ÏÂçÊѽÅÍפǤ¹¡£¤¿¤À¤·¡¢°Ê²¼¤ÇÀâÌÀ¤¹¤ë CCD ¥É¥é¥¤¥Ö¤Ï¡¢ ¥Ç¡¼¥¿¼«ÂΤϤ¹¤Ç¤Ë CD-R ¤Ë´°Á´¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Æ¤¢¤ë¤â¤Î (¤·¤¿¤¬¤Ã¤Æ¸ò´¹¤Ï´Êñ¤Ë¤Ç¤­¤Þ¤¹) ¤Î¡¢¥ª¥ó¥é¥¤¥ó¥Ç¡¼¥¿¤ÎÌò³ä¤ò¤µ¤»¤Æ¤¤¤Þ¤¹¡£ ¤¢¤Ê¤¿¼«¿È¤ÎÍ×µá»ö¹à¤ò·èÄꤹ¤ë¤³¤È¤Ï¡¢ ÂçÍÆÎ̵­Ï¿¤Ë´Ø¤¹¤ë²ò·èË¡¤òÁªÂò¤¹¤ë¤³¤È¤ÎºÇ½é¤ÎÃʳ¬¤Ç¤¹¡£ ¤â¤·¤¢¤Ê¤¿¤ÎÍ×µá»ö¹à¤¬ÈñÍѤè¤ê®ÅÙ¤Þ¤¿¤Ï¿®ÍêÀ­¤òÍ¥À褹¤ë¤Ê¤é¡¢ ²ò·èË¡¤Ï¤³¤Î¥·¥¹¥Æ¥à¤È¤Ï°ã¤¦¤â¤Î¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ ¥Ï¡¼¥É¥¦¥§¥¢¤Î¥¤¥ó¥¹¥È¡¼¥ë IDE ¥·¥¹¥Æ¥à¥Ç¥£¥¹¥¯¤Ë²Ã¤¨¤Æ¡¢Western Digital À½¤Î 30GB, 5400RPM ¤Î IDE ¥Ç¥£¥¹¥¯»°Âæ¤ò»È¤Ã¤Æ¡¢ °Ê²¼¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤ÊÌó 90GB ¤Î¥ª¥ó¥é¥¤¥ó¥¹¥È¥ì¡¼¥¸¤È¤Ê¤ë CCD ¥Ç¥£¥¹¥¯¤òºîÀ®¤·¤Þ¤·¤¿¡£³Æ IDE ¥Ç¥£¥¹¥¯¤¬¤½¤ì¤¾¤ì¤Î IDE ¥³¥ó¥È¥í¡¼¥é¤È¥±¡¼¥Ö¥ë¤ò¤â¤Ã¤Æ¤¤¤ë¤³¤È¤¬ÍýÁÛŪ¤Ç¤¹¤¬¡¢ ÈñÍѤòºÇÄã¸Â¤Ë¤¹¤ë¤¿¤á¤Ë¡¢ IDE ¥³¥ó¥È¥í¡¼¥é¤òÄɲ䷤Ƥ¤¤Þ¤»¤ó¡£¤½¤ÎÂå¤ï¤ê¡¢¤½¤ì¤¾¤ì¤Î IDE ¥³¥ó¥È¥í¡¼¥é¤¬¥Þ¥¹¥¿¥Ç¥Ð¥¤¥¹¤ò°ì¤Ä¡¢ ¥¹¥ì¡¼¥Ö¥Ç¥Ð¥¤¥¹¤ò°ì¤Ä»ý¤Ä¤è¤¦¤Ë¡¢ ¥Ç¥£¥¹¥¯¤Ï¥¸¥ã¥ó¥Ñ¤ò»È¤Ã¤ÆÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ ºÆµ¯Æ°¤ÎºÝ¤Ë¡¢¥·¥¹¥Æ¥à BIOS ¤¬Àܳ¤µ¤ì¤¿¥Ç¥£¥¹¥¯¤ò¼«Æ°Åª¤Ë¸¡½Ð¤¹¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Þ¤·¤¿¡£ ¤è¤ê½ÅÍפʤ³¤È¤Ï¡¢FreeBSD ¤¬ºÆµ¯Æ°¤ÎºÝ¤Ë¤½¤ì¤é¤ò¸¡½Ð¤¹¤ë¤³¤È¤Ç¤¹¡£ ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33 ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33 ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33 ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33 FreeBSD ¤¬¥Ç¥£¥¹¥¯¤ò¤¹¤Ù¤Æ¸¡½Ð¤·¤Ê¤¤¤È¤­¤Ï¡¢ ¥¸¥ã¥ó¥Ñ¤òÀµ¤·¤¯ÀßÄꤷ¤Æ¤¢¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£Â¿¤¯¤Î IDE ¥É¥é¥¤¥Ö¤Ï ¥±¡¼¥Ö¥ë¥»¥ì¥¯¥È ¥¸¥ã¥ó¥Ñ¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¥Þ¥¹¥¿/¥¹¥ì¡¼¥Ö¤Î´Ø·¸¤òÀßÄꤹ¤ë¥¸¥ã¥ó¥Ñ¤Ç¤Ï ¤¢¤ê¤Þ¤»¤ó¡£¥É¥é¥¤¥Ö¤Îʸ½ñ¤ò»²¾È¤·¤Æ¡¢ Àµ¤·¤¤¥¸¥ã¥ó¥ÑÀßÄê¤ò¸«¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£ ¼¡¤Ë¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î°ìÉôʬ¤È¤·¤Æ¡¢ ¤½¤ì¤é¤ò¤É¤Î¤è¤¦¤ËÀܳ¤¹¤ë¤Î¤«¤ò¹Íθ¤·¤Þ¤¹¡£&man.vinum.8; ¤ª¤è¤Ó &man.ccd.4; ¤ÎξÊý¤ò¸¡Æ¤¤¹¤Ù¤­¤Ç¤·¤ç¤¦¡£¤³¤ÎÀßÄê¤Ç¤Ï¡¢&man.ccd.4; ¤òÁªÂò¤·¤Þ¤·¤¿¡£ CCD ¤ÎÀßÄê &man.ccd.4; ¥É¥é¥¤¥Ð¤Ï¡¢¤¤¤¯¤Ä¤«¤ÎƱ¤¸¥Ç¥£¥¹¥¯¤ò»È¤Ã¤Æ¡¢ °ì¤Ä¤ÎÏÀÍýŪ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÏ¢·ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &man.ccd.4; ¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¥«¡¼¥Í¥ë¤¬ &man.ccd.4; ¤ËÂбþ¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤Î¹Ô¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ËÄɲ䷤ơ¢ ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¡¢ºÆ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ pseudo-device ccd 4 5.X ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ ¾åµ­¤ÎÂå¤ï¤ê¤Ë¼¡¤Î¹Ô¤òÄɲ䷤ʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ device ccd FreeBSD 5.X ¤Ç¤Ï &man.ccd.4; ¥Ç¥Ð¥¤¥¹¤Î¿ô¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£&man.ccd.4; ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï¼«¸ÊÊ£À½¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿ — ¿·¤·¤¤¥Ç¥Ð¥¤¥¹¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¡¢ ɬÍפ˱þ¤¸¤Æ¤½¤ÎÅÔÅÙ¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ FreeBSD 3.0 °Ê¹ß¤Ç¤Ï¡¢ ¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤òÆÉ¤ß¹þ¤ó¤Ç &man.ccd.4; ¤ËÂбþ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ &man.ccd.4; ¤òÀßÄꤹ¤ë¤¿¤á¤Ë¡¢¤Þ¤º &man.disklabel.8; ¤ò»ÈÍѤ·¤Æ¥Ç¥£¥¹¥¯¤Ë¥é¥Ù¥ë¤ò½ñ¤­¹þ¤Þ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ disklabel -r -w ad1 auto disklabel -r -w ad2 auto disklabel -r -w ad3 auto ¤³¤Î¥³¥Þ¥ó¥É¤Ï¥Ç¥£¥¹¥¯Á´ÂΤò¼¨¤¹ ad1c, ad2c ¤ª¤è¤Ó ad3c ¤ËÂФ¹¤ë¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤òºîÀ®¤·¤Þ¤¹¡£ &os; 5.1-RELEASE ¤«¤é¡¢½¾Íè¤Î &man.disklabel.8; ¥×¥í¥°¥é¥à¤Ï &man.bsdlabel.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤·¤¿¡£&man.bsdlabel.8; ¤Ç¤Ï¡¢ »ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¿ô¿¤¯¤Î¥ª¥×¥·¥ç¥ó¤ä¥Ñ¥é¥á¥¿¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£ ¤¿¤È¤¨¤Ð ¥ª¥×¥·¥ç¥ó¤Ï &man.bsdlabel.8; ¤Ç¤Ï¼è¤ê½ü¤«¤ì¤Þ¤·¤¿¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï &man.bsdlabel.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¼¡¤Ë¡¢¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤Î¥¿¥¤¥×¤òÊѹ¹¤·¤Þ¤¹¡£ &man.disklabel.8; ¤ò»ÈÍѤ·¤Æ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤òÊÔ½¸¤·¤Æ¤¯¤À¤µ¤¤¡£ disklabel -e ad1 disklabel -e ad2 disklabel -e ad3 ¤³¤Î¥³¥Þ¥ó¥É¤Ï EDITOR ´Ä¶­ÊÑ¿ô¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¥¨¥Ç¥£¥¿ (°ìÈÌŪ¤Ë¤Ï &man.vi.1;) ¤Ç¤½¤ì¤¾¤ì¤Î¥Ç¥£¥¹¥¯¤Î¸½ºß¤Î¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤ò³«¤­¤Þ¤¹¡£ Êѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) &man.ccd.4; ¤Ç»ÈÍѤ¹¤ë e ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤¹¡£Ä̾ï¤Ç¤Ï c ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¹Ô¤ò¥³¥Ô¡¼¤¹¤ì¤ÐÎɤ¤¤Ç¤·¤ç¤¦¡£¤·¤«¤·¡¢ ¤Ï 4.2BSD ¤Ç¤Ê¤±¤ì¤Ð ¤Ê¤ê¤Þ¤»¤ó¡£ ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597) ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¹½ÃÛ ccd0c ¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤Ï¤Þ¤À¸ºß¤·¤Æ¤¤¤Ê¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£ ¤½¤Î¤È¤­¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤ÆºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£ cd /dev sh MAKEDEV ccd0 FreeBSD 5.0 ¤Ç¤Ï &man.devfs.5; ¤¬ /dev °Ê²¼¤Î¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤ò¼«Æ°Åª¤Ë´ÉÍý¤¹¤ë¤Î¤Ç¡¢ MAKEDEV¤ò»ÈÍѤ¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¤¹¤Ù¤Æ¤Î¥Ç¥£¥¹¥¯¤Ë¥é¥Ù¥ë¤ò½ñ¤­¹þ¤ó¤À¤Î¤Ç¡¢ &man.ccd.4; ¤ò¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤Ç &man.ccdconfig.8; ¤ò»È¤¤¤Þ¤¹¡£ ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e ³Æ¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑË¡¤È°ÕÌ£¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ °ìÈÖÌܤΰú¿ô¤ÏÀßÄꤹ¤ë¥Ç¥Ð¥¤¥¹¤Ç¤¹¡£¤³¤ÎÎã¤Î¾ì¹ç¤Ï /dev/ccd0c ¤Ç¤¹¡£ /dev/ ¤ÎÉôʬ¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂФ¹¤ë¥¤¥ó¥¿¥ê¡¼¥Ö¤Ç¤¹¡£¥¤¥ó¥¿¥ê¡¼¥Ö¤Ï¡¢ ¥Ç¥£¥¹¥¯¥Ö¥í¥Ã¥¯Æâ¤Î¥¹¥È¥é¥¤¥×¥µ¥¤¥º¤òÄêµÁ¤·¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¥Ö¥í¥Ã¥¯¤ÏÄ̾ï 512 ¥Ð¥¤¥È¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ 32 ¥¤¥ó¥¿¥ê¡¼¥Ö¤Ï 16,384 ¥Ð¥¤¥È¤È¤Ê¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï &man.ccdconfig.8; ¤ËÂФ¹¤ë¥Õ¥é¥°¤Ç¤¹¡£ ¥É¥é¥¤¥Ö¥ß¥é¡¼¥ê¥ó¥°¤òÍ­¸ú¤Ë¤·¤¿¤¤¾ì¹ç¡¢ ¤³¤³¤Ë¥Õ¥é¥°¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤ÎÀßÄê¤Ç¤Ï &man.ccd.4; ¤ËÂФ¹¤ë¥ß¥é¡¼¥ê¥ó¥°¤ÏÄ󶡤·¤Þ¤»¤ó¤Î¤Ç¡¢ 0 (¥¼¥í) ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î &man.ccdconfig.8; ¤ËÂФ¹¤ëºÇ¸å¤Î°ú¿ô¤Ï¡¢ ¥¢¥ì¥¤Æâ¤ËÃÖ¤¯¥Ç¥Ð¥¤¥¹¤Ç¤¹¡£ ¤½¤ì¤¾¤ì¤Î¥Ç¥Ð¥¤¥¹¤ËÂФ¹¤ë´°Á´¤Ê¥Ñ¥¹Ì¾¤ò»ÈÍѤ·¤Þ¤¹¡£ &man.ccdconfig.8; ¤ò¼Â¹Ô¤¹¤ë¤È &man.ccd.4; ¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ç¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ &man.newfs.8; ¤ò»²¾È¤¹¤ë¤«¡¢ ¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ newfs /dev/ccd0c ¼«Æ°Åª¤ËÀßÄꤹ¤ë °ìÈÌŪ¤Ë¡¢ºÆµ¯Æ°¤¹¤ë¤¿¤Ó¤Ë &man.ccd.4; ¤ò¥Þ¥¦¥ó¥È¤·¤¿¤¤¤È»×¤¦¤Ç¤·¤ç¤¦¡£¤³¤ì¤ò¹Ô¤¦¤¿¤á¤Ë¡¢ ¤Þ¤ºÀßÄê¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¼¡¤Î¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¡¢ ¸½ºß¤ÎÀßÄê¤ò /etc/ccd.conf ¤Ë½ñ¤­½Ð¤·¤Þ¤¹¡£ ccdconfig -g > /etc/ccd.conf /etc/ccd.conf ¤¬Â¸ºß¤¹¤ë¤È¡¢ ºÆµ¯Æ°¤ÎºÝ¤Ë /etc/rc ¥¹¥¯¥ê¥×¥È¤¬ ccdconfig -C ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢ &man.ccd.4; ¤Ï¼«Æ°Åª¤ËÀßÄꤵ¤ì¤¿¸å¡¢¥Þ¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£ ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Çµ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ &man.ccd.4; ¤ò &man.mount.8; ¤¹¤ëÁ°¤Ë¡¢ ¥¢¥ì¥¤¤òÀßÄꤹ¤ë¤¿¤á¤Ë¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ccdconfig -C ¼«Æ°Åª¤Ë &man.ccd.4; ¤ò¥Þ¥¦¥ó¥È¤¹¤ë¤Ë¤Ï¡¢ /etc/fstab ¤Ë &man.ccd.4; ¤Î¥¨¥ó¥È¥êÄɲä·¤Þ¤¹¡£¤³¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤Èµ¯Æ°»þ¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£ /dev/ccd0c /media ufs rw 2 2 Vinum ¥Ü¥ê¥å¡¼¥à¥Þ¥Í¡¼¥¸¥ã RAID ¥½¥Õ¥È¥¦¥§¥¢ RAID Vinum Vinum ¥Ü¥ê¥å¡¼¥à¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢ ²¾Áۥǥ£¥¹¥¯¥É¥é¥¤¥Ö¤ò¼ÂÁõ¤·¤¿¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ç¤¹¡£ Vinum ¤Ï¡¢¥Ç¥£¥¹¥¯¥Ï¡¼¥É¥¦¥§¥¢¤ò¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é ʬΥ¤·¡¢¥Ç¡¼¥¿¤òÇÛÃÖ¤·¤Þ¤¹¡£ ¤½¤Î·ë²Ì¡¢¥Ç¥£¥¹¥¯µ­²±ÁõÃÖ¤ò½¾Íè¤Î¥¹¥é¥¤¥¹¤Ç°·¤¦¤Î¤ÈÈæ³Ó¤·¤Æ¡¢ ½ÀÆðÀ­¡¢À­Ç½¤ª¤è¤Ó¿®ÍêÀ­¤¬¸þ¾å¤·¤Æ¤¤¤Þ¤¹¡£ &man.vinum.8; ¤Ï RAID-0, RAID-1 ¤ª¤è¤Ó RAID-5 ¥â¥Ç¥ë¡¢ ¤½¤·¤Æ¤½¤ì¤¾¤ì¤ÎÁȹ礻¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£ &man.vinum.8; ¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï Vinum ¥Ü¥ê¥å¡¼¥à¥Þ¥Í¥¸¥ã ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ï¡¼¥É¥¦¥§¥¢ RAID RAID ¥Ï¡¼¥É¥¦¥§¥¢ FreeBSD ¤Ï¡¢¤µ¤Þ¤¶¤Þ¤Ê¥Ï¡¼¥É¥¦¥§¥¢ RAID ¥³¥ó¥È¥í¡¼¥é¤Ë¤âÂбþ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ç¥Ð¥¤¥¹¤Ï¥¢¥ì¥¤¤òÀ©¸æ¤¹¤ë¤¿¤á¤Î ÆÃÊ̤ʥ½¥Õ¥È¥¦¥§¥¢¤ò FreeBSD ¤ÇɬÍפ¹¤ë¤³¤È¤Ê¤¯¡¢ RAID ¥µ¥Ö¥·¥¹¥Æ¥à¤òÀ©¸æ¤·¤Þ¤¹¡£ ¥«¡¼¥É¾å¤Î BIOS ¤ò»ÈÍѤ·¤Æ¡¢ ¥«¡¼¥É¤Ï¤½¤ì¼«¿È¤Ç¥Ç¥£¥¹¥¯Áàºî¤Î¤Û¤È¤ó¤É¤òÀ©¸æ¤·¤Þ¤¹¡£°Ê²¼¤Ï Promise IDE RAID ¥³¥ó¥È¥í¡¼¥é¤ò»ÈÍѤ·¤¿ÀßÄê¤Î´Êñ¤ÊÀâÌÀ¤Ç¤¹¡£ ¤³¤Î¥«¡¼¥É¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢¥·¥¹¥Æ¥à¤¬µ¯Æ°¤·¤¿¤È¤­¤Ë¤Ï¡¢ ¾ðÊó¤ÎÆþÎϤòÂ¥¤¹¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£ »Ø¼¨¤Ë¤·¤¿¤¬¤Ã¤Æ¥«¡¼¥É¤ÎÀßÄê²èÌ̤˿ʤó¤Ç¤¯¤À¤µ¤¤¡£ Àܳ¤µ¤ì¤¿¥É¥é¥¤¥Ö¤òÁȤ߹ç¤ï¤»¤ë¤è¤¦¤ËÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ÀßÄê¸å¡¢¥Ç¥£¥¹¥¯¤Ï FreeBSD ¤ËÂФ·¤ÆÃ±°ì¤Î¥É¥é¥¤¥Ö¤Î¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£ ¾¤Î RAID ¥ì¥Ù¥ë¤ÏŬµ¹ÀßÄê¤Ç¤­¤Þ¤¹¡£ ATA RAID1 ¥¢¥ì¥¤¤ÎºÆ¹½ÃÛ FreeBSD ¤Ï¥¢¥ì¥¤Æâ¤Î¾ã³²¥Ç¥£¥¹¥¯¤òưºîÃæ¤Ë¸ò´¹¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·¡¢ºÆµ¯Æ°Á°¤Ë¤½¤ì¤ò¸¡ÃΤ·¤Æ¤¤¤ë¤³¤È¤¬É¬ÍפǤ¹¡£ /var/log/messages ¤Þ¤¿¤Ï &man.dmesg.8; ¤Î½ÐÎϤ˼¡¤Î¤è¤¦¤Ê¹Ô¤¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ ad6 on monster1 suffered a hard error. ad6: READ command timeout tag=0 serv=0 - resetting ad6: trying fallback to PIO mode ata3: resetting devices .. done ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11) status=59 error=40 ar0: WARNING - mirror lost &man.atacontrol.8; ¤ò»ÈÍѤ·¤Æ¾ÜºÙ¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; atacontrol list ATA channel 0: Master: no device present Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0 ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ATA channel 3: Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED ¥Ç¥£¥¹¥¯¤ò°ÂÁ´¤Ë¼è¤ê³°¤¹¤¿¤á¤Ë¡¢ ¤Þ¤º¥¢¥ì¥¤¤«¤éÀÚ¤êÎ¥¤·¤Þ¤¹¡£ &prompt.root; atacontrol detach 3 ¥Ç¥£¥¹¥¯¤ò¼è¤ê³°¤·¤Þ¤¹¡£ ¥¹¥Ú¥¢¤Î¥Ç¥£¥¹¥¯¤ò¼è¤êÉÕ¤±¤Þ¤¹¡£ &prompt.root; atacontrol attach 3 Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ¥¢¥ì¥¤¤òºÆ¹½ÃÛ¤·¤Þ¤¹¡£ &prompt.root; atacontrol rebuild ar0 ºÆ¹½ÃÛ¥³¥Þ¥ó¥É¤Ï´°Î»¤¹¤ë¤Þ¤Ç¾¤ÎÁàºî¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó¡£¤·¤«¤·¡¢ ¤â¤¦°ì¤ÄÊ̤Υ¿¡¼¥ß¥Ê¥ë¤ò (Alt Fn ¤ò²¡¤·¤Æ) ³«¤­¡¢ ¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¿Ê¹Ô¾õÂÖ¤ò³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; dmesg | tail -10 [output removed] ad6: removed from configuration ad6: deleted from ar0 disk1 ad6: inserted into ar0 disk1 as spare &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed Áàºî¤¬´°Î»¤¹¤ë¤Þ¤Ç¤ªÂÔ¤Á¤¯¤À¤µ¤¤¡£ Mike Meyer ´ó¹Æ: ¸÷¥á¥Ç¥£¥¢ (CD & DVD) ¤ÎºîÀ®¤È»ÈÍÑ CDROM ºîÀ® ¤Ï¤¸¤á¤Ë CD ¤Ï¾¤Î°ìÈÌŪ¤Ê¥Ç¥£¥¹¥¯¤È°Û¤Ê¤ëÍÍ¡¹¤ÊÆÃħ¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤â¤½¤â¥æ¡¼¥¶¤¬½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£ ¤Þ¤¿ÃÙ±ä¤Ê¤·¤ÇϢ³Ū¤ËÆÉ¤ß½Ð¤»¤ë¤è¤¦¤Ë¡¢ ¥È¥é¥Ã¥¯´Ö¤ò¥Ø¥Ã¥É¤¬°Üư¤·¤Ê¤¤¤Ç¤¹¤à¤è¤¦¤Ë¥Ç¥¶¥¤¥ó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤µ¤é¤Ë¤³¤Î¥µ¥¤¥º¤Î¥á¥Ç¥£¥¢¤ÎÃæ¤Ç¤Ï¥·¥¹¥Æ¥à¤ò¤Þ¤¿¤°¥Ç¡¼¥¿¤Î °Üư¤¬Èæ³ÓŪ´Êñ¤Ç¤â¤¢¤ê¤Þ¤¹¡£ CD ¤Ï¥È¥é¥Ã¥¯¤Î³µÇ°¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢ ¤³¤ì¤Ï¥Ç¡¼¥¿¤òϢ³Ū¤ËÆÉ¤ß½Ð¤¹¤¿¤á¤Î¤â¤Î¤Ç¤¢¤Ã¤Æ¥Ç¥£¥¹¥¯¤ÎʪÍýÆÃÀ­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ FreeBSD ¤Ç CD ¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º CD ¤Î¥È¥é¥Ã¥¯¤È¤Ê¤ë¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤òÍѰդ·¡¢ ¤½¤Î¥È¥é¥Ã¥¯¤ò CD ¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£ ISO 9660 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ISO 9660 ISO 9660 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¤³¤ÎÍͤʺ¹°Û¤ò°·¤¦¤Ù¤¯À߷פµ¤ì¤Þ¤·¤¿¡£ ¤½¤Î·ë²Ì¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï°ìÈÌŪ¤Ë»ÈÍѤ¹¤ë¤Î¤Ëº¹¤·¤Ä¤«¤¨¤Ê¤¤ÄøÅÙ¤Ë À©¸Â¤µ¤ì¤ÆÉ¸½à²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¹¬¤¤¤Ê¤³¤È¤Ë¡¢ISO 9660 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤Ï³ÈÄ¥µ¡¹½¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£Å¬Àڤ˽ñ¤«¤ì¤¿ CD ¤Ï¡¢ ³ÈÄ¥µ¡¹½¤ËÂбþ¤·¤¿¥·¥¹¥Æ¥à¤Ç¤Ï³ÈÄ¥¤òÍøÍѤ·¤Æ¡¢¤½¤¦¤Ç¤Ê¤¤¥·¥¹¥Æ¥à¤Ç¤Ï ³ÈÄ¥µ¡¹½¤ò»ÈÍѤ·¤Ê¤¤ÈÏ°Ï¤ÇÆ°ºî¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ sysutils/mkisofs sysutils/mkisofs ¥×¥í¥°¥é¥à¤Ï ISO 9660 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò´Þ¤à¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£ ¤³¤ì¤Ë¤ÏÍÍ¡¹¤Ê³ÈÄ¥¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¡¢ °Ê²¼¤ÇÀâÌÀ¤·¤Þ¤¹¡£ ¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ï¡¢ports ¤Î sysutils/mkisofs ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ CD ¥é¥¤¥¿ ATAPI CD ¤Ë½ñ¤­¹þ¤à¤¿¤á¤Î¥Ä¡¼¥ë¤Ï¡¢¤ª»È¤¤¤Î CD ¥é¥¤¥¿¤¬ ATAPI Àܳ¤«Èݤ«¤Ë¤â°Í¸¤·¤Þ¤¹¡£ATAPI CD ¥é¥¤¥¿¤Ê¤é¡¢¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Î°ìÉô¤Ç¤¢¤ë burncd ¥×¥í¥°¥é¥à¤ò»È¤¤¤Þ¤¹¡£SCSI ¤ä USB ¤Î CD ¥é¥¤¥¿¤Ê¤é¡¢ports ¤Î sysutils/cdrecord ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ cdrecord ¥×¥í¥°¥é¥à¤ò»È¤¦¤Ù¤­¤Ç¤·¤ç¤¦¡£ burncd ¤¬Âбþ¤·¤Æ¤¤¤ë¥É¥é¥¤¥Ö¤Ï¸ÂÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥É¥é¥¤¥Ö¤¬Âбþ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢ CD-R/RW supported drives ¤Ë¤¢¤ë°ìÍ÷¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ CD ¥é¥¤¥¿ ATAPI/CAM ¥É¥é¥¤¥Ð &os; 5.X ¤Þ¤¿¤Ï &os; 4.8-RELEASE °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢ ATAPI/CAM ¥â¥¸¥å¡¼¥ë ¤ò»ÈÍѤ¹¤ë¤È ATAPI ¥Ï¡¼¥É¥¦¥§¥¢¾å¤Ç SCSI ¥É¥é¥¤¥ÖÍѤΠcdrecord ¤ª¤è¤Ó¾¤Î¥Ä¡¼¥ë¤ò»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ mkisofs sysutils/mkisofs ¤Ï &unix; ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î̾Á°¶õ´Ö¤Ë¤ª¤±¤ë¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Î¥¤¥á¡¼¥¸¤È¤·¤Æ ISO 9660 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤·¤Þ¤¹¡£ ºÇ¤â´Êñ¤Ê»È¤¤Êý¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ &prompt.root; mkisofs -o imagefile.iso /path/to/tree ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ISO 9660 ¤³¤Î¥³¥Þ¥ó¥É¤Ï /path/to/tree °Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Î¥³¥Ô¡¼¤Ç¤¢¤ë ISO 9660 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò´Þ¤ó¤À imagefile.iso ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤³¤Î²áÄø¤Ë¤ª¤¤¤Æ¡¢¥Õ¥¡¥¤¥ë̾¤Ïɸ½àŪ¤Ê ISO 9660 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÀ©¸Â¤ËŬ¹ç¤¹¤ë¤è¤¦¤Ê¥Õ¥¡¥¤¥ë̾¤ËÂбþ¤Å¤±¤é¤ì¡¢ ISO ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¥Õ¥¡¥¤¥ë̾¤òʸ»ú²½¤Ç¤­¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ï½ü³°¤µ¤ì¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à HFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à Joliet ¤³¤ÎÀ©¸Â¤ò²óÈò¤¹¤ë¤¿¤á¤ËÍøÍѤǤ­¤ë¥ª¥×¥·¥ç¥ó¤Ï¤¤¤¯¤Ä¤â¤¢¤ê¤Þ¤¹¡£ ÆÃ¤Ë ¥ª¥×¥·¥ç¥ó¤Ï &unix; ¥·¥¹¥Æ¥à¤Çɸ½àŪ¤Ê Rock Ridge ³ÈÄ¥¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£ ¥ª¥×¥·¥ç¥ó¤Ï Microsoft ¤Î¥·¥¹¥Æ¥à¤Çɸ½àŪ¤Ê Joliet ³ÈÄ¥¤òÍ­¸ú¤Ë¤·¡¢ ¥ª¥×¥·¥ç¥ó¤Ï &macos; ¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë HFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£ FreeBSD ¤Ç¤·¤«»È¤ï¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¤¢¤é¤æ¤ë¥Õ¥¡¥¤¥ë̾À©¸Â¤ò̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£ ¤µ¤é¤Ë ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë»È¤¦¤³¤È¤Ç FreeBSD ¤ÈƱ°ì¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥á¡¼¥¸¤òºîÀ®¤Ç¤­¤Þ¤¹¤¬¡¢ ¤³¤ì¤Ï ISO 9660 ɸ½à¤Î¿¤¯¤ò̵»ë¤·¤Æ¤¤¤Þ¤¹¡£ CDROM ¥Ö¡¼¥¿¥Ö¥ë (µ¯Æ°²Äǽ¤Ê) CDROM ¤ÎºîÀ® °ìÈÌŪ¤Ë»È¤ï¤ì¤ëºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤Ï ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ ¤³¤ì¤Ï El Torito ¥Ö¡¼¥¿¥Ö¥ë CD ¤òºîÀ®¤¹¤ë¤Î¤Ë»È¤¦µ¯Æ°¥¤¥á¡¼¥¸¤Î¤¢¤ê¤«¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ú¿ô¤È¤·¤Æµ¯Æ°¥¤¥á¡¼¥¸¤Ø¤Î¥Ñ¥¹¤ò¡¢ CD ¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤ÎĺÅÀ¤«¤é¤ÎÁêÂаÌÃ֤Ǽè¤ê¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ /tmp/myboot ¤¬¥Ö¡¼¥È²Äǽ¤Ê FreeBSD ¥·¥¹¥Æ¥à¤Ç /tmp/myboot/boot/cdboot ¤Ë¥Ö¡¼¥È¥¤¥á¡¼¥¸¤¬¤¢¤ë¤Ê¤é¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç ISO 9660 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¤¥á¡¼¥¸¤ò /tmp/bootable.iso ¤ËºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; mkisofs -U -R -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot ¤³¤Î¸å¡¢¥«¡¼¥Í¥ë¤Ç vn (FreeBSD 4.X) ¤Þ¤¿¤Ï md (FreeBSD 5.X) ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; vnconfig -e vn0c /tmp/bootable.iso &prompt.root; mount -t cd9660 /dev/vn0c /mnt FreeBSD 4.X ¤ª¤è¤Ó FreeBSD 5.X ¤ËÂФ·¤Æ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ &prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0 &prompt.root; mount -t cd9660 /dev/md0 /mnt /mnt ¤È /tmp/myboot ¤¬Æ±°ì¤«¤É¤¦¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ sysutils/mkisofs ¤Ë¤Ïµóư¤òºÙ¤«¤¯À©¸æ¤¹¤ë¤¿¤á¤Ë¾¤Ë¤â¤¿¤¯¤µ¤ó¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ ÆÃ¤Ë¡¢ISO 9660 ¥ì¥¤¥¢¥¦¥È¤ÎÊѹ¹¤ä Joliet ¤ª¤è¤Ó HFS ¥Ç¥£¥¹¥¯ºîÀ®¤Ê¤É¤Î ¾ÜºÙ¤Ï &man.mkisofs.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ burncd CDROM ½ñ¤­¹þ¤ß ¤¢¤Ê¤¿¤¬»ý¤Ã¤Æ¤¤¤ë¤Î¤¬ ATAPI CD ¥é¥¤¥¿¤Ê¤é¡¢CD ¤Ë ISO ¥¤¥á¡¼¥¸¤ò½ñ¤­¹þ¤à¤¿¤á¤Ë burncd ¥³¥Þ¥ó¥É¤¬»È¤¨¤Þ¤¹¡£ burncd ¤Ï¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Î°ìÉô¤Ç /usr/sbin/burncd ¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ »È¤¤Êý¤Ï¤È¤Æ¤âñ½ã¤Ç¥ª¥×¥·¥ç¥ó¤â¾¯¤·¤·¤«¤¢¤ê¤Þ¤»¤ó¡£ &prompt.root; burncd -f cddevice data imagefile.iso fixate °Ê¾å¤Î¥³¥Þ¥ó¥É¤Ï imagefile.iso ¤Î¥³¥Ô¡¼¤ò cddevice ¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Î¥Ç¥Ð¥¤¥¹¤Ï /dev/acd0c ¤Ç¤¹¡£ ½ñ¤­¹þ¤ß®ÅÙ¤äÁàºî´°Î»¸å¤Ë CD ¤ò¼«Æ°Åª¤Ë¼è¤ê½Ð¤¹ÊýË¡¡¢ ¥ª¡¼¥Ç¥£¥ª¥Ç¡¼¥¿¤Î½ñ¤­¹þ¤ß¤Ê¤É¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï &man.burncd.8; ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ cdrecord ¤¢¤Ê¤¿¤¬»ý¤Ã¤Æ¤¤¤ë CD ¥é¥¤¥¿¤¬ ATAPI ¤Ç¤Ï¤Ê¤±¤ì¤Ð¡¢ CD ¤ò½ñ¤­¹þ¤à¤Î¤Ë cdrecord ¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ cdrecord ¤Ï¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Î°ìÉô¤Ç¤Ï¤Ê¤¯¡¢ sysutils/cdrtools ¤Î port ¤Þ¤¿¤Ï ŬÀÚ¤Ê package ¤òÍøÍѤ·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤Ê¤ª¡¢¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤òÊѹ¹¤¹¤ë¤È¥Ð¥¤¥Ê¥ê¤ËÌ·½â¤¬È¯À¸¤·¡¢ ¥³¡¼¥¹¥¿¡¼ ¤òºî¤Ã¤Æ¤·¤Þ¤¦¤ª¤½¤ì¤¬¤¢¤ê¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¥·¥¹¥Æ¥à¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ëÅ٤ˤ³¤Î port ¤âºî¤êľ¤¹¤«¡¢ ¤¢¤ë¤¤¤ÏFreeBSD ¤Î°ÂÄêÈǤòÄɤ¤¤«¤±¤Æ¤¤¤ë¤Î¤Ê¤é¤Ð¡¢ ¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤¬ÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿»þ¤Ë ports ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ cdrecord ¤Ë¤Ï¤¿¤¯¤µ¤ó¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ ´ðËÜŪ¤Ê»È¤¤Êý¤Ï burncd ¤è¤ê¤â¤µ¤é¤Ë´Êñ¤Ç¤¹¡£ ISO 9660 ¥¤¥á¡¼¥¸¤ò½ñ¤­¹þ¤à¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; cdrecord dev=device imagefile.iso cdrecord ¤Î¥È¥ê¥Ã¥­¡¼¤ÊÉôʬ¤Ï¡¢»ÈÍѤ¹¤ë ¤ò¸«¤Ä¤±¤ë¤È¤³¤í¤Ë¤¢¤ê¤Þ¤¹¡£ ŬÀÚ¤ÊÀßÄê¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë¤Ï cdrecord ¤Î ¥Õ¥é¥°¤ò»È¤¤¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ê·ë²Ì¤¬½ÐÎϤµ¤ì¤ë¤Ç¤·¤ç¤¦¡£ CDROM ½ñ¤­¹þ¤ß &prompt.root; cdrecord -scanbus Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 Jörg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) * ¥ê¥¹¥È¤Ë¤¢¤ë¥Ç¥Ð¥¤¥¹¤ËÂФ¹¤ëŬÀÚ¤Ê ¤ÎÃͤ¬¤³¤³¤Ë¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¢¤Ê¤¿¤Î CD ¥é¥¤¥¿¤ò¤³¤Î¥ê¥¹¥È¤«¤é¸«¤Ä¤±¡¢ ¥«¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿ 3 ¤Ä¤Î¿ôÃͤò ¤ÎÃͤȤ·¤Æ»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤³¤ÎÎã¤Ç¤Ï CRW ¥Ç¥Ð¥¤¥¹¤Ï 1,5,0 ¤Ê¤Î¤Ç¡¢Å¬ÀÚ¤ÊÆþÎÏ¤Ï ¤È¤Ê¤ê¤Þ¤¹¡£ ÃͤòÌÀ¼¨¤¹¤ë¤â¤Ã¤È´Êñ¤ÊÊýË¡¤â¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï &man.cdrecord.1; ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£¤½¤³¤Ë¤Ï¥ª¡¼¥Ç¥£¥ª¥È¥é¥Ã¥¯¤ò½ñ¤­¹þ¤àÊýË¡¤ä¡¢ ½ñ¤­¹þ¤ß®ÅÙ¤½¤Î¾¤òÁàºî¤¹¤ëÊýË¡¤â½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¥ª¡¼¥Ç¥£¥ª CD ¤ÎÊ£À½ CD ¤«¤é¥ª¡¼¥Ç¥£¥ª¥Ç¡¼¥¿¤òϢ³¤·¤¿¥Õ¥¡¥¤¥ë¤ËŸ³«¤·¡¢¥Ö¥é¥ó¥¯ CD ¤Ë¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò½ñ¤­¹þ¤à¤³¤È¤Ç¡¢¥ª¡¼¥Ç¥£¥ª CD ¤òÊ£À½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¼ê½ç¤Ï ATAPI ¤ª¤è¤Ó SCSI ¥É¥é¥¤¥Ö¤Î´Ö¤Ç¾¯¤·°Û¤Ê¤ê¤Þ¤¹¡£ SCSI ¥É¥é¥¤¥Ö cdda2wav ¤ò»ÈÍѤ·¤Æ¥ª¡¼¥Ç¥£¥ª¤òŸ³«¤·¤Þ¤¹¡£ &prompt.user; cdda2wav -v255 -D2,0 -B -Owav cdrecord ¤ò»ÈÍѤ·¤Æ .wav ¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤·¤Þ¤¹¡£ &prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë 2.0 ¤¬Å¬Àڤ˻ØÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£ ATAPI ¥É¥é¥¤¥Ö ATAPI CD ¥É¥é¥¤¥Ð¤Ç¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥È¥é¥Ã¥¯¤ò /dev/acddtnn ¤Î¤è¤¦¤ËÍøÍѤǤ­¤Þ¤¹¡£ ¤³¤³¤Ç d ¤Ï¥É¥é¥¤¥ÖÈÖ¹æ¤Ç¤¢¤ê¡¢ nn ¤ÏÆó·å½½¿Ê¤Î¥È¥é¥Ã¥¯ÈÖ¹æ¤Ç¤¹¡£ °ì·å¤Î¾ì¹ç 0 ¤òÁ°¤ËÉղ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢°ìÈÖÌܤΥǥ£¥¹¥¯¤Î°ìÈÖÌܤΥȥé¥Ã¥¯¤Ï /dev/acd0t01¡¢ÆóÈÖÌܤΥȥé¥Ã¥¯¤Ï /dev/acd0t02¡¢»°ÈÖÌܤΥȥé¥Ã¥¯¤Ï /dev/acd0t03 ¤Ê¤É¤È¤Ê¤ê¤Þ¤¹¡£ ŬÀڤʥǥХ¤¥¹¥Õ¥¡¥¤¥ë¤¬ /dev ¤Ë¸ºß¤¹¤ë¤³¤È¤ò³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£ ¸ºß¤·¤Ê¤±¤ì¤Ð¡¢¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë¤·¤ÆºîÀ®¤·¤Þ¤¹¡£ &prompt.root; cd /dev &prompt.root; sh MAKEDEV acd0t99 FreeBSD 5.0 ¤Ç¤Ï &man.devfs.5; ¤¬ /dev ¤Ë¥¨¥ó¥È¥ê¤ò¼«Æ°Åª¤ËºîÀ®¡¢ ´ÉÍý¤¹¤ë¤Î¤Ç¡¢MAKEDEV ¤ò»ÈÍѤ¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ &man.dd.1; ¤ò»ÈÍѤ·¤Æ³Æ¥È¥é¥Ã¥¯¤òŸ³«¤·¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¤òŸ³«¤¹¤ëºÝ¡¢¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ &prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352 &prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352 ... burncd ¤ò»ÈÍѤ·¤Æ¡¢ Ÿ³«¤·¤¿¥Õ¥¡¥¤¥ë¤ò¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£ ¤³¤ì¤é¤¬¥ª¡¼¥Ç¥£¥ª¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤³¤È¡¢ ¤½¤·¤Æ½ñ¤­¹þ¤ß¤¬½ªÎ»¤·¤¿¤È¤­¤Ë burncd ¤¬¥Ç¥£¥¹¥¯¤ò¸ÇÄê (fixate) ¤¹¤ë¤³¤È¤òÌÀ¼¨¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ &prompt.root; burncd -f /dev/acd0c audio track1.cdr track2.cdr ... fixate ¥Ç¡¼¥¿ CD ¤ÎÊ£À½ ¥Ç¡¼¥¿ CD ¤ò¡¢sysutils/mkisofs ¤òÍѤ¤¤ÆºîÀ®¤µ¤ì¤¿¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤Èµ¡Ç½Åª¤ËÅù²Á¤Ê¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤ò»ÈÍѤ·¤Æ¡¢¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿ CD ¤òÊ£À½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤³¤Ç¤ÎÎã¤Ï CDROM ¥Ç¥Ð¥¤¥¹¤¬ acd0 ¤Ç¤¢¤ë¤È¤·¤Æ¤¤¤Þ¤¹¡£¤¢¤Ê¤¿¤Î CDROM ¥Ç¥Ð¥¤¥¹¤ËÆÉ¤ßÂØ¤¨¤Æ¤¯¤À¤µ¤¤¡£ CDROM ¤Î¾ì¹ç¤Ë¤Ï¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥óÁ´ÂΤޤ¿¤Ï¥Ç¥£¥¹¥¯Á´ÂÎ ¤ò»ØÄꤹ¤ë¤¿¤á¤Ë c ¤ò¥Ç¥Ð¥¤¥¹Ì¾¤Î¸å¤ËÄɲ䷤ʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ &prompt.root; dd if=/dev/acd0c of=file.iso bs=2048 ¤³¤ì¤Ç¥Ç¥£¥¹¥¯¥¤¥á¡¼¥¸¤ò¼è¤ê½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿¡£ ¤¹¤Ç¤ËÀâÌÀ¤·¤¿ÊýË¡¤òÍѤ¤¤Æ CD ¤Ë½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ç¡¼¥¿ CD ¤Î»ÈÍÑ ¤µ¤Æ¡¢É¸½àŪ¤Ê¥Ç¡¼¥¿ CDROM ¤òºîÀ®¤·¤¿¤Î¤Ç¡¢ ¤ª¤½¤é¤¯¼¡¤Ï¤½¤ì¤ò¥Þ¥¦¥ó¥È¤·¤Æ¥Ç¡¼¥¿¤òÆÉ¤ß½Ð¤·¤¿¤¤¤È»×¤¦¤Ç¤·¤ç¤¦¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï &man.mount.8; ¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¿¥¤¥×¤ò ufs ¤È¤·¤Æ¤¤¤Þ¤¹¡£ ¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤è¤¦¤È¤¹¤ë¤È¡¢ &prompt.root; mount /dev/cd0c /mnt Incorrect super block ¤È¤¤¤¦¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤Æ¥Þ¥¦¥ó¥È¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¡£ CDROM ¤Ï UFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¤Ê¤¤¤¿¤á¤Ë¡¢ ¤³¤Î¤è¤¦¤Ê¼ê½ç¤Ç¥Þ¥¦¥ó¥È¤·¤è¤¦¤¹¤ë¤È¼ºÇÔ¤·¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¿¥¤¥×¤¬ ISO9660 ¤Ç¤¢¤ë¤È &man.mount.8; ¤Ë¶µ¤¨¤µ¤¨¤¹¤ì¤Ð¡¢¤¹¤Ù¤Æ¤Ï¤¦¤Þ¤¯Æ°ºî¤·¤Þ¤¹¡£ &man.mount.8; ¤Ë ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ç¤³¤ì¤ò¹Ô¤¤¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð /dev/cd0c ¤Î CDROM ¥Ç¥Ð¥¤¥¹¤ò /mnt ¤Ë¥Þ¥¦¥ó¥È¤·¤¿¤¤¾ì¹ç¤Ï¡¢ °Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£ &prompt.root; mount -t cd9660 /dev/cd0c /mnt »ÈÍѤ·¤Æ¤¤¤ë CDROM ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤Æ¤Ï¡¢ ¥Ç¥Ð¥¤¥¹Ì¾ (¤³¤ÎÎã¤Ç¤Ï /dev/cd0c) ¤¬°Û¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢ ¥ª¥×¥·¥ç¥ó¤Ï¡¢Ã±¤Ë &man.mount.cd9660.8; ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ ¤³¤ÎÎã¤ò°Ê²¼¤Î¤è¤¦¤Ëû½Ì¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ &prompt.root; mount_cd9660 /dev/cd0c /mnt °ìÈÌŪ¤Ë¤³¤ÎÊýË¡¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥á¡¼¥«¤Î ¥Ç¡¼¥¿ CDROM ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢ÆÃÄê¤Î ISO 9660 ³ÈÄ¥¤¬»Ü¤µ¤ì¤¿¥Ç¥£¥¹¥¯¤Ç¤Ï´ñ̯¤Êưºî¤ò¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤¿¤È¤¨¤Ð Joliet ¥Ç¥£¥¹¥¯¤Ï¡¢ ¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤ò 2 ¥Ð¥¤¥È¤Î Unicode ʸ»ú¤Ç³ÊǼ¤·¤Þ¤¹¡£ FreeBSD ¥«¡¼¥Í¥ë¤Ï (¤Þ¤À) Unicode ¤òÍý²ò¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢ Èó±Ñ¸ìʸ»ú¤Ï¥¯¥¨¥¹¥Á¥ç¥ó¥Þ¡¼¥¯¤Çɽ¼¨¤µ¤ì¤Þ¤¹ (FreeBSD 4.3 °Ê¹ß¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢CD9660 ¥É¥é¥¤¥Ð¤Ë¤ÏŬÀÚ¤Ê Unicode ÊÑ´¹É½¤òÆÉ¤ß¹þ¤à¤¿¤á¤ÎµÞ¤´¤·¤é¤¨¤Î¥Õ¥Ã¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤¤¤¯¤Ä¤«¤Î¶¦Ä̤Υ¨¥ó¥³¡¼¥É¤ËÂФ¹¤ë¥â¥¸¥å¡¼¥ë¤Ï sysutils/cd9660_unicode port ¤«¤éÍøÍѲÄǽ¤Ç¤¹)¡£ CDROM ¤ò¥Þ¥¦¥ó¥È¤·¤è¤¦¤È¤¹¤ë»þ¤Ë¡¢ Device not configured ¤Èɽ¼¨¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¥Ç¥£¥¹¥¯¤¬¥È¥ì¡¼¤Ë¤Ê¤¤¤È CDROM ¥É¥é¥¤¥Ö¤¬È½ÃǤ·¤Æ¤¤¤ë¤«¡¢ ¥É¥é¥¤¥Ö¤¬¥Ð¥¹¾å¤Ëǧ¼±¤Ç¤­¤Ê¤¤¤³¤È¤òÄ̾ï°ÕÌ£¤·¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¤¬ÁÞÆþ¤µ¤ì¤¿¤³¤È¤ò CDROM ¥É¥é¥¤¥Ö¤¬Ç§¼±¤¹¤ë¤Ë¤Ï¿ôÉ䫤«¤ê¤Þ¤¹¤Î¤Ç¡¢ ¿ÉÊú¶¯¤¯ÂԤäƤ¯¤À¤µ¤¤¡£ ¥Ð¥¹¤Î¥ê¥»¥Ã¥È¤ËÊÖÅú¤¹¤ë¤¿¤á¤Î¥¿¥¤¥à¥¢¥¦¥È¤¬Ã»¤¤¤¿¤á¤Ë¡¢»þ¡¹ SCSI CDROM ¤Ïǧ¼±¤Ë¼ºÇÔ¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£SCSI CDROM ¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ËÄɲ䷤ơ¢ ¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£ options SCSI_DELAY=15000 ¤³¤ì¤è¤ê¡¢SCSI ¥Ð¥¹¤òµ¯Æ°»þ¤Ë 15 ÉôÖÄä»ß¤µ¤»¤Æ¡¢ CDROM ¥É¥é¥¤¥Ö¤¬¥Ð¥¹¥ê¥»¥Ã¥È¤Ë±þÅú¤¹¤ëµ¡²ñ¤òÍ¿¤¨¤Þ¤¹¡£ Raw ¥Ç¡¼¥¿ CD ¤Î½ñ¤­¹þ¤ß ISO 9660 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤³¤È̵¤¯¡¢ ¥Õ¥¡¥¤¥ë¤òľÀÜ CD ¤Ë½ñ¤­¹þ¤à¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤³¤ÎÊýË¡¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×ÌÜŪ¤Ë»ÈÍѤ·¤Æ¤¤¤ë¿Í¤â¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢É¸½à CD ¤ò½ñ¤­¹þ¤à¤è¤ê¤â¤µ¤é¤Ë®¤¯¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; burncd -f /dev/acd1c -s 12 data archive.tar.gz fixate ¤³¤Î¤è¤¦¤Ë CD ¤Ë½ñ¤­¹þ¤Þ¤ì¤¿¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢ raw ¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤«¤é¥Ç¡¼¥¿¤òÆÉ¤ß¹þ¤Þ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ &prompt.root; tar xzvf /dev/acd1c ¤³¤Î¥Ç¥£¥¹¥¯¤òÄ̾ï¤Î CDROM ¤È¤·¤Æ¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤³¤Î¤è¤¦¤Ê CDROM ¤Ï FreeBSD ¤ò½ü¤¤¤Æ¡¢ ¾¤Î¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤ÏÆÉ¤ß¹þ¤à¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ CD ¤ò¥Þ¥¦¥ó¥È¤·¤¿¤¤¤«¡¢ ¤½¤Î¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¥Ç¡¼¥¿¤ò¶¦Í­¤·¤¿¤¤¾ì¹ç¤Ï¡¢ ¾åµ­¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë sysutils/mkisofs ¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ ATAPI/CAM ¥É¥é¥¤¥Ð¤Î»ÈÍÑ CD ¥é¥¤¥¿ ATAPI/CAM ¥É¥é¥¤¥Ð ¤³¤Î¥É¥é¥¤¥Ð¤Ï¡¢ATAPI ¥Ç¥Ð¥¤¥¹ (CD-ROM, CD-RW, DVD ¥É¥é¥¤¥Ö¤Ê¤É) ¤Ø SCSI ¥µ¥Ö¥·¥¹¥Æ¥à¤òÄ̤¸¤Æ¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢sysutils/cdrdao ¤Þ¤¿¤Ï &man.cdrecord.1; ¤Î¤è¤¦¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤Î¥É¥é¥¤¥Ð¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¹Ô¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ device atapicam device scbus device cd device pass ¼¡¤Î¹Ô¤â¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ËɬÍפǤ¹¡£ device ata device atapicd ξÊý¤¬¤¹¤Ç¤Ë¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤½¤ì¤«¤éºÆ¹½ÃÛ¤·¡¢¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤òºÆµ¯Æ°¤·¤Þ¤¹¡£ µ¯Æ°¥×¥í¥»¥¹Ãæ¤Ë¥Ç¥£¥¹¥¯¥é¥¤¥¿¤Ï°Ê²¼¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£ acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed ¥É¥é¥¤¥Ö¤Ï /dev/cd0 ¥Ç¥Ð¥¤¥¹¤òÄ̤¸¤Æ¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ CD-ROM ¤ò /mnt ¤Ë¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ &prompt.root; mount -t cd9660 /dev/cd0c /mnt root ¸¢¸Â¤Ç¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢ ¥é¥¤¥¿¤Î SCSI ¥¢¥É¥ì¥¹¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; camcontrol devlist <MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0) ¤·¤¿¤¬¤Ã¤Æ¡¢1,0,0 ¤¬ &man.cdrecord.1; ¤ª¤è¤Ó¤½¤Î¾¤Î SCSI ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç»ÈÍѤ¹¤ë SCSI ¥¢¥É¥ì¥¹¤Ç¤¹¡£ ATAPI/CAM ¤ª¤è¤Ó SCSI ¥·¥¹¥Æ¥à¤Î¾ÜºÙ¤Ï &man.atapicam.4; ¤ª¤è¤Ó &man.cam.4; ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ Julio Merino ¸¶ºî: Martin Karlsson ²þÄû: ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ÎºîÀ®¤È»ÈÍÑ ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ë¥Ç¡¼¥¿¤ò³ÊǼ¤¹¤ë¤³¤È¤Ï¤·¤Ð¤·¤ÐÌò¤Ë¤¿¤Á¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¤¢¤ë¿Í¤¬Â¾¤Î¥ê¥à¡¼¥Ð¥Ö¥ëµ­Ï¿¥á¥Ç¥£¥¢¤ò²¿¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¤È¤­¤ä¡¢ ¾®¤µ¤Ê¥Ç¡¼¥¿¤ò¾¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ë°Üư¤µ¤»¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ç¤¹¡£ ¤³¤ÎÀá¤Ç¤Ï¡¢FreeBSD ¤Ë¤ª¤±¤ë¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Î»ÈÍÑÊýË¡¤òÀâÌÀ¤·¤Þ¤¹¡£ ¼ç¤Ë 3.5 ¥¤¥ó¥Á¤Î DOS ¥Õ¥í¥Ã¥Ô¡¼¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ÈÁàºîÊýË¡¤ò°·¤¤¤Þ¤¹¤¬¡¢ ¾¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Î·Á¼°¤Ë¤Ä¤¤¤Æ¤â³µÇ°¤Ï»÷¤Æ¤¤¤Þ¤¹¡£ ¥Õ¥í¥Ã¥Ô¡¼¤Î¥Õ¥©¡¼¥Þ¥Ã¥È ¥Ç¥Ð¥¤¥¹ ¾¤Î¥Ç¥Ð¥¤¥¹¤ÈƱÍͤˡ¢¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ï /dev ¤Ë¤¢¤ë¥¨¥ó¥È¥ê¤òÄ̤¸¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£4.X ¤ª¤è¤Ó¤½¤ì°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ë¤ª¤¤¤Æ raw ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï /dev/fdN ¤Þ¤¿¤Ï /dev/fdNX ¤ò»ÈÍѤ·¤Þ¤¹¡£N ¤Ï¥É¥é¥¤¥ÖÈÖ¹æ¤òɽ¤·¡¢ ÂçÄñ¤Ï 0 ¤Ç¤¹¡£X ¤Ïʸ»ú¤òɽ¤·¤Þ¤¹¡£ 5.0 ¤ª¤è¤Ó¤½¤ì°Ê¹ß¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢Ã±¤Ë /dev/fdN ¤ò»ÈÍѤ·¤Þ¤¹¡£ 4.X ¤ª¤è¤Ó¤½¤ì°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Î¥Ç¥£¥¹¥¯¥µ¥¤¥º /dev/fdN.size ¤È¤¤¤¦¥Ç¥Ð¥¤¥¹¤â¤¢¤ê¤Þ¤¹¡£ size ¤Ï¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Î¥µ¥¤¥º¤ò¥­¥í¥Ð¥¤¥È¤Ç¼¨¤·¤¿¤â¤Î¤Ç¤¹¡£ ¤³¤ì¤é¤Î¥¨¥ó¥È¥ê¤ÏÄã¥ì¥Ù¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎºÝ¤Ë¡¢ ¥Ç¥£¥¹¥¯¥µ¥¤¥º¤ò·èÄꤹ¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ 1440kB ¤Ï°Ê²¼¤ÎÎã¤Ç»ÈÍѤµ¤ì¤ë¥µ¥¤¥º¤Ç¤¹¡£ »þ¡¹ /dev ²¼¤Î¥¨¥ó¥È¥ê¤Ï (ºÆ) ºîÀ®¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤³¤ì¤ò¹Ô¤¤¤Þ¤¹¡£ &prompt.root; cd /dev && ./MAKEDEV "fd*" 5.X ¤ª¤è¤Ó¤½¤ì°Ê¹ß¤Î¥ê¥ê¡¼¥¹¤Ç¤Î¥Ç¥£¥¹¥¯¥µ¥¤¥º FreeBSD 5.0 ¤Ç¤Ï &man.devfs.5; ¤¬ /dev Æâ¤Î¥¨¥ó¥È¥ê¤ò¼«Æ°Åª¤Ë´ÉÍý¤¹¤ë¤Î¤Ç¡¢ MAKEDEV¤ò»ÈÍѤ¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ½ê˾¤Î¥Ç¥£¥¹¥¯¥µ¥¤¥º¤Ï &man.fdformat.1; ¤Ë ¥Õ¥é¥°¤òÄ̤·¤ÆÅϤµ¤ì¤Þ¤¹¡£Âбþ¤·¤Æ¤¤¤ë¥µ¥¤¥º¤Ï &man.fdcontrol.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë·ÇºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢ºÇÎÉ¤ËÆ°ºî¤¹¤ë¤Î¤Ï 1440kB ¤À¤È½õ¸À¤·¤Æ¤ª¤­¤Þ¤¹¡£ ¥Õ¥©¡¼¥Þ¥Ã¥È ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ï¡¢ »ÈÍÑÁ°¤ËÄã¥ì¥Ù¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ Ä̾¥Ù¥ó¥À¤ÏÄã¥ì¥Ù¥ë¥Õ¥©¡¼¥Þ¥Ã¥ÈºÑ¤ß¤Î¥Ç¥£¥¹¥¯¤ò½Ð²Ù¤·¤Æ¤¤¤Þ¤¹¤¬¡¢ ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¥á¥Ç¥£¥¢¤ÎÉʼÁ¤ò³Îǧ¤¹¤ë¤è¤¤ÊýË¡¤Ç¤¹¡£ ¤è¤êÂ礭¤Ê (¤Þ¤¿¤Ï¾®¤µ¤Ê) ¥Ç¥£¥¹¥¯¥µ¥¤¥º¤Ë¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¤¬¡¢ ¤Û¤È¤ó¤É¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Î¥µ¥¤¥º¤Ï 1440kB ¤Çưºî¤¹¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤òÄã¥ì¥Ù¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤¹¤ë¤Ë¤Ï &man.fdformat.1; ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï°ú¿ô¤È¤·¤Æ¥Ç¥Ð¥¤¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¤¬Îɹ¥¤«¤¢¤ë¤¤¤ÏÉÔÎɤǤ¢¤ë¤«¤ò·èÄꤹ¤ë¤Î¤ËÌòΩ¤Ä¤Î¤Ç¡¢ ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¤¹¤Ù¤Æ¥á¥â¤Ë¼è¤Ã¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ 4.X °ÊÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Î¥Õ¥©¡¼¥Þ¥Ã¥È /dev/fdN.size ¥Ç¥Ð¥¤¥¹¤ò»È¤Ã¤Æ¥Õ¥í¥Ã¥Ô¡¼¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤Þ¤¹¡£ ¿·¤·¤¤ 3.5 ¥¤¥ó¥Á¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ò¥É¥é¥¤¥Ö¤ËÁÞÆþ¤·¡¢ °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; /usr/sbin/fdformat /dev/fd0.1440 5.0 °Ê¹ß¤Î¥ê¥ê¡¼¥¹¤Ç¤Î¥Õ¥©¡¼¥Þ¥Ã¥È /dev/fdN ¥Ç¥Ð¥¤¥¹¤ò»ÈÍѤ·¤Æ¥Õ¥í¥Ã¥Ô¡¼¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤Þ¤¹¡£ ¿·¤·¤¤ 3.5 ¥¤¥ó¥Á¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ò¥É¥é¥¤¥Ö¤ËÁÞÆþ¤·¡¢ °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0 ¥Ç¥£¥¹¥¯¥é¥Ù¥ë ¥Ç¥£¥¹¥¯¤òÄã¥ì¥Ù¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤¿¤é¡¢ ¼¡¤Ë¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤Ï¸å¤ÇÇË´þ¤µ¤ì¤Þ¤¹¤¬¡¢ ¥·¥¹¥Æ¥à¤¬¥Ç¥£¥¹¥¯¤Î¥µ¥¤¥º¤È¥¸¥ª¥á¥È¥ê¤ò·èÄꤹ¤ë¤Î¤ËɬÍפˤʤê¤Þ¤¹¡£ ¿·¤·¤¤¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤Ï¥Ç¥£¥¹¥¯Á´ÂΤò°ú¤­·Ñ¤®¡¢ ¥Õ¥í¥Ã¥Ô¡¼¤Î¥¸¥ª¥á¥È¥ê¤Ë´Ø¤¹¤ëŬÀڤʾðÊó¤Î¤¹¤Ù¤Æ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤ËÂФ¹¤ë¥¸¥ª¥á¥È¥ê¤ÎÃÍ¤Ï /etc/disktab ¤Ë·ÇºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¼¡¤Î¤è¤¦¤Ë &man.disklabel.8; ¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ &prompt.root; /sbin/disklabel -B -r -w /dev/fd0 fd1440 &os; 5.1-RELEASE ¤«¤é¡¢½¾Íè¤Î &man.disklabel.8; ¥×¥í¥°¥é¥à¤Ï &man.bsdlabel.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤·¤¿¡£&man.bsdlabel.8; ¤Ç¤Ï¡¢ »ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó¥Ñ¥é¥á¥¿¤Î¿ô¿¤¯¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£ ¤¿¤È¤¨¤Ð ¥ª¥×¥·¥ç¥ó¤Ï &man.bsdlabel.8; ¤Ç¤Ï¼è¤ê½ü¤«¤ì¤Þ¤·¤¿¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï &man.bsdlabel.8; ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ¤³¤ì¤Ç¥Õ¥í¥Ã¥Ô¡¼¤ò¹â¥ì¥Ù¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤¹¤ë½àÈ÷¤¬¤Ç¤­¤Þ¤·¤¿¡£¤³¤ì¤Ï FreeBSD ¤¬¥Ç¥£¥¹¥¯¤òÆÉ¤ß½ñ¤­¤¹¤ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤·¤Þ¤¹¡£ ¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤È¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤ÏÇË´þ¤µ¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¥Ç¥£¥¹¥¯¤òºÆ¥Õ¥©¡¼¥Þ¥Ã¥È¤¹¤ë¤È¤­¤Ë¤Ï¡¢ ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤òºÆºîÀ®¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ ¥Õ¥í¥Ã¥Ô¡¼¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤Ï UFS ¤Þ¤¿¤Ï FAT ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ ¥Õ¥í¥Ã¥Ô¡¼¤ËÂФ·¤Æ¤Ï FAT ¤¬°ìÈÌŪ¤Ë¤è¤ê¤è¤¤ÁªÂò¤Ç¤¹¡£ ¥Õ¥í¥Ã¥Ô¡¼¾å¤Ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; /sbin/newfs_msdos /dev/fd0 ¤³¤ì¤Ç¥Ç¥£¥¹¥¯¤¬»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¥Õ¥í¥Ã¥Ô¡¼¤Î»ÈÍÑ ¥Õ¥í¥Ã¥Ô¡¼¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¡¢&man.mount.msdos.8; (4.X °ÊÁ°¤Î¥ê¥ê¡¼¥¹) ¤Þ¤¿¤Ï &man.mount.msdosfs.8; (5.0 °Ê¸å¤Î¥ê¥ê¡¼¥¹) ¤òÍѤ¤¤Æ¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ Ports Collection ¤«¤é emulators/mtools ¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¥Ç¡¼¥¿¥Æ¡¼¥×¤ÎºîÀ®¤È»ÈÍÑ ¥Æ¡¼¥×¥á¥Ç¥£¥¢ °ìÈÌŪ¤Ê¥Æ¡¼¥×¥á¥Ç¥£¥¢¤Ë¤Ï 4mm, 8mm, QIC, ¥ß¥Ë¥«¡¼¥È¥ê¥Ã¥¸¡¢ DLT ¤¬¤¢¤ê¤Þ¤¹¡£ 4mm (DDS: Digital Data Storage) ¥Æ¡¼¥×¥á¥Ç¥£¥¢ DDS (4mm) ¥Æ¡¼¥× ¥Æ¡¼¥×¥á¥Ç¥£¥¢ QIC ¥Æ¡¼¥× 4mm ¥Æ¡¼¥×¤Ï¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥á¥Ç¥£¥¢¤È¤·¤Æ QIC ¤Ë¼è¤Ã¤ÆÂå¤ï¤ê¤Ä¤Ä¤¢¤ê¤Þ¤¹¡£¤³¤Î·¹¸þ¤Ï QIC ¥É¥é¥¤¥Ö¤Î¼çÍפʥ᡼¥«¤Ç¤¢¤Ã¤¿ Archive ¤ò Conner ¤¬Çã¼ý¤· QIC ¥É¥é¥¤¥Ö¤ÎÀ½Â¤¤òÃæ»ß¤·¤¿¤³¤È¤Ç²Ã®¤·¤Þ¤·¤¿¡£ 4mm ¥É¥é¥¤¥Ö¤Ï¾®·¿¤ÇÀŤ«¤Ç¤¹¤¬ 8mm ¥É¥é¥¤¥Ö¤¬»ý¤Ã¤Æ¤¤¤ë¿®ÍêÀ­¤Û¤É¡¢¤½¤ÎɾȽ¤ÏÎɤ¯¤¢¤ê¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢4mm ¥«¡¼¥È¥ê¥Ã¥¸¤Ï 8mm ¥«¡¼¥È¥ê¥Ã¥¸¤è¤ê¤â°Â²Á¤Ç¾®·¿ (3 x 2 x 0.5 ¥¤¥ó¥Á¡¢76 x 51 x 12 mm) ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤¿¤À¤·¡¢8mm ¤ÈƱÍͤˡ¢4mm ¤Î¥Ø¥Ã¥É¤Ï¥Ø¥ê¥«¥ë¥¹¥­¥ã¥óÊý¼° (ÌõÃí: VTR ¤ÈƱÍͤβóž¥Ø¥Ã¥É¤ò»È¤¦Êý¼°) ¤òºÎÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢Èæ³ÓŪ¼÷Ì¿¤¬Ã»¤¤¤Ç¤¹¡£ ¥É¥é¥¤¥Ö¤Î¥Ç¡¼¥¿¥¹¥ë¡¼¥×¥Ã¥È¤Ï¡¢150 kB/s ¤«¤é ºÇÂç¤Ç 500 kB/s ÄøÅ٤Ǥ¹¡£ ¥Ç¡¼¥¿ÍÆÎÌ¤Ï 1.3 GB ¤«¤é 2.0 GB ¤Ç¤¹¡£ ¥É¥é¥¤¥Ö¤Î¤Û¤È¤ó¤É¤ÇÍøÍѲÄǽ¤Ê¥Ï¡¼¥É¥¦¥§¥¢°µ½Ì¤ò»ÈÍѤ¹¤ë¤È¡¢ ÍÆÎ̤¬Ìó 2 Çܤˤʤê¤Þ¤¹¡£ ¥Þ¥ë¥Á¥É¥é¥¤¥Ö¥Æ¡¼¥×¥é¥¤¥Ö¥é¥ê¥æ¥Ë¥Ã¥È¤Ï 1 ¤Ä¤ÎãþÂÎ¤Ë 6 ¤Ä¤Î¥É¥é¥¤¥Ö¤ò¼ýÍÆ²Äǽ¤Ç¡¢¼«Æ°Åª¤Ë¥Æ¡¼¥×¤Î¸ò´¹¤¬¤Ç¤­¤Þ¤¹¡£ ¥é¥¤¥Ö¥é¥ê¤ÎÍÆÎÌ¤Ï 240 GB ¤Ë㤷¤Þ¤¹¡£ ¸½ºß¤Î DDS-3 ɸ½à¤Ï 12 GB (°µ½Ì»þ 24 GB) ¤Þ¤Ç¤Î¥Æ¡¼¥×ÍÆÎ̤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ 8mm ¥É¥é¥¤¥Ö¤ÈƱÍÍ¤Ë 4mm ¥É¥é¥¤¥Ö¤Ï¥Ø¥ê¥«¥ë¥¹¥­¥ã¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£ ¥Ø¥ê¥«¥ë¥¹¥­¥ã¥óÊý¼°¤ÎÍøÅÀ¤ª¤è¤Ó·çÅÀ¤Ï¤¹¤Ù¤Æ 4mm ¤ª¤è¤Ó 8mm ¥É¥é¥¤¥Ö¤ÎξÊý¤ËÅö¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡£ ¥Æ¡¼¥×¤Ï 2,000 ²ó¤Î¥Ñ¥¹¤¢¤ë¤¤¤Ï 100 ²ó¥Õ¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤¿¸å¤Ë¤Ï¸ò´¹¤¹¤ë¤Ù¤­¤Ç¤¹¡£ 8mm (Exabyte) ¥Æ¡¼¥×¥á¥Ç¥£¥¢ Exabyte (8mm) ¥Æ¡¼¥× 8mm ¥Æ¡¼¥×¤Ï SCSI ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤È¤·¤ÆºÇ¤â¤è¤¯»È¤ï¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¡¢ ¥Ç¡¼¥¿¸ò´¹ÍѤȤ·¤ÆºÇÎɤÎÁªÂò¤Ç¤¹¡£¤Û¤È¤ó¤É¤Î¥µ¥¤¥È¤Ë¤Ï Exabyte 2 GB 8mm ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤¬¤¢¤ë¤Ç¤·¤ç¤¦¡£8mm ¥É¥é¥¤¥Ö¤Ï¿®ÍêÀ­¤¬¹â¤¯¡¢»È¤¤¤ä¤¹¤¯¡¢ÀŤ«¤Ç¤¹¡£ ¥«¡¼¥È¥ê¥Ã¥¸¤Ï°Â²Á¤Ç¾®·¿¤Ç¤¹ (4.8 x 3.3 x 0.6 ¥¤¥ó¥Á¡¢122 x 84 x 15 mm)¡£8mm ¥Æ¡¼¥×¤Î·çÅÀ¤Ï¡¢¥Æ¡¼¥×¤È¥Ø¥Ã¥É¤ÎÁêÂÐŪ¤Ê®ÅÙ¤¬¹â®¤Ê¤¿¤á¤Ë¡¢ Èæ³ÓŪ¥Ø¥Ã¥É¤È¥Æ¡¼¥×¤Î¼÷Ì¿¤¬Ã»¤¤¤³¤È¤Ç¤¹¡£ ¥Ç¡¼¥¿¥¹¥ë¡¼¥×¥Ã¥È¤Ï 250 kB/s ¤«¤é 500 kB/s ÄøÅ٤Ǥ¹¡£¥Ç¡¼¥¿ÍÆÎÌ¤Ï 300 MB ¤«¤é 7 GB ¤Ç¤¹¡£ ¤Û¤È¤ó¤É¤Î¥É¥é¥¤¥Ö¤ÇÍøÍѲÄǽ¤Ê¥Ï¡¼¥É¥¦¥§¥¢°µ½Ì¤òÍøÍѤ¹¤ë¤È¡¢ ÍÆÎ̤¬Ìó 2 Çܤˤʤê¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥É¥é¥¤¥Ö¤Ï¡¢Ã±°ì¤Î¥æ¥Ë¥Ã¥È¤«¤é 6 ¤Ä¤Î¥É¥é¥¤¥Ö¤È 120 ËܤΥơ¼¥×¤ò°ì¤Ä¤ÎãþÂΤ˼ýÍÆ¤·¤¿¥Þ¥ë¥Á¥É¥é¥¤¥Ö¥Æ¡¼¥×¥é¥¤¥Ö¥é¥ê¤Þ¤ÇÍøÍѲÄǽ¤Ç¤¹¡£ ¥Æ¡¼¥×¤Ï¥æ¥Ë¥Ã¥È¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë¼è¤ê´¹¤¨¤é¤ì¤Þ¤¹¡£ ¥é¥¤¥Ö¥é¥ê¤ÎÍÆÎÌ¤Ï 840 GB °Ê¾å¤Ë㤷¤Þ¤¹¡£ Exabyte ¤Î Mammoth ¥â¥Ç¥ë¤Ï¥Æ¡¼¥× 1 Ëܤ¢¤¿¤ê 12 GB (°µ½Ì»þ 24 GB) ¤ËÂбþ¤·¡¢ ½¾Íè¤Î¥Æ¡¼¥×¥É¥é¥¤¥Ö¤ÈÈæ¤ÙÈñÍѤÏÌó 2 Çܤˤʤê¤Þ¤¹¡£ ¥Ç¡¼¥¿¤Ï¥Ø¥ê¥«¥ë¥¹¥­¥ã¥ó¤òÍѤ¤¤Æ¥Æ¡¼¥×¤Ëµ­Ï¿¤µ¤ì¤Þ¤¹¡£ ¥Ø¥Ã¥À¤Ï¥á¥Ç¥£¥¢¤ËÂФ·¤Æ¤¢¤ë·¹¤­ (Ìó 6 ÅÙ) ¤ËÇÛÃÖ¤µ¤ì¤Þ¤¹¡£ ¥Æ¡¼¥×¤Ï¥Ø¥Ã¥É¤Î¤¢¤ë±ßÅû¤Î¼þ¤Î 270 Å٤ˤ錄¤Ã¤ÆÀÜ¿¨¤·¤Þ¤¹¡£ ¥Æ¡¼¥×¤¬±ßÅûÌ̤òÁö¹Ô¤¹¤ë´Ö¡¢±ßÅû¤Ï²óž¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î·ë²Ì¡¢¹âÌ©Å٤Υǡ¼¥¿¤Î¤Ä¤Þ¤Ã¤¿¥È¥é¥Ã¥¯¤Ï¡¢ ¶¹¤¤´Ö³Ö¤Ç¥Æ¡¼¥×¤Î¾åü¤È²¼Ã¼¤Î´Ö¤ò¼Ð¤á¤Ë²£ÀÚ¤ê¤Þ¤¹¡£ QIC ¥Æ¡¼¥×¥á¥Ç¥£¥¢ QIC-150 QIC-150 ¥Æ¡¼¥×¤È¥É¥é¥¤¥Ö¤Ï¡¢ ¤ª¤½¤é¤¯ºÇ¤â°ìÈÌŪ¤Ë»È¤ï¤ì¤Æ¤¤¤ë¥É¥é¥¤¥Ö¤È¥á¥Ç¥£¥¢¤Ç¤·¤ç¤¦¡£ QIC ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ï ¸½¼ÂŪ¤Ê ¥Ð¥Ã¥¯¥¢¥Ã¥×¥É¥é¥¤¥Ö¤È¤·¤Æ¤ÏºÇ¤â¹â²Á¤Ç¤Ê¤¤¤â¤Î¤Ç¤¹¡£ ·çÅÀ¤Ï¥á¥Ç¥£¥¢¤Î¥³¥¹¥È¤Ç¤¹¡£QIC ¥Æ¡¼¥×¤Ï 8mm ¤ä 4mm ¥Æ¡¼¥×¤ÈÈæ³Ó¤·¤Æ GB ¤¢¤¿¤ê¤Î¥Ç¡¼¥¿¤ÎÊݸ¤Ç 5 Çܤۤɹâ²Á¤Ç¤¹¡£ ¤·¤«¤·¡¢¤¢¤Ê¤¿¤ÎɬÍפȤ¹¤ëÎ̤¬È¾¥À¡¼¥¹Äø¤Î¥Æ¡¼¥×¤Ç½½Ê¬¤Ç¤¢¤ì¤Ð¡¢ QIC ¤ÏÀµ¤·¤¤ÁªÂò¤«¤â¤·¤ì¤Þ¤»¤ó¡£QIC ¤Ï ºÇ¤â°ìÈÌŪ¤Ê¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ç¤¹¡£ ¤¹¤Ù¤Æ¤Î¥µ¥¤¥È¤Ë QIC ¥É¥é¥¤¥Ö¤Î¤É¤ì¤«¤ÎÍÆÎ̤Τâ¤Î¤¬¤¢¤ê¤Þ¤¹¡£ÌäÂê¤Ï¡¢ QIC ¤ÏƱ¤¸¤è¤¦¤Ê¥Æ¡¼¥× (¤Þ¤Ã¤¿¤¯Æ±¤¸¾ì¹ç¤â¤¢¤ë) ¤Ë¿Íͤʵ­Ï¿Ì©ÅÙ¤¬¤¢¤ë¤³¤È¤Ç¤¹¡£QIC ¥É¥é¥¤¥Ö¤ÏÀŤ«¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤³¤ì¤é¤Î¥É¥é¥¤¥Ö¤Ï¥Ç¡¼¥¿µ­Ï¿¤ò³«»Ï¤¹¤ëÁ°¤Ë²»¤ò¤¿¤Æ¤Æ¥·¡¼¥¯¤·¤Þ¤¹¤·¡¢ ¥ê¡¼¥É¡¢¥é¥¤¥È¡¢¥·¡¼¥¯¤Î»þ¤Ë¤Ï¤Ã¤­¤ê¤Èʹ¤³¤¨¤ë²»¤ò½Ð¤·¤Þ¤¹¡£ QIC ¥Æ¡¼¥×¤ÎÂ礭¤µ¤Ï (6 x 4 x 0.7 ¥¤¥ó¥Á¡¢152 x 102 x 17 mm) ¤Ç¤¹¡£ 1/4 ¥¤¥ó¥ÁÉý¤Î¥Æ¡¼¥×¤â»ÈÍѤ·¤Æ¤¤¤ë ¥ß¥Ë¥«¡¼¥È¥ê¥Ã¥¸ ¤ÏÊ̤˵ÄÏÀ¤·¤Þ¤¹¡£¥Æ¡¼¥×¥é¥¤¥Ö¥é¥ê¤ä¥Á¥§¥ó¥¸¥ã¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¥Ç¡¼¥¿¥¹¥ë¡¼¥×¥Ã¥È¤Ï ~1500 kB/s ¤«¤é ~5000 kB/s ÄøÅ٤Ǥ¹¡£¥Ç¡¼¥¿ÍÆÎÌ¤Ï 400 MB ¤«¤é 150 GB ¤Ç¤¹¡£ ¥Ï¡¼¥É¥¦¥§¥¢°µ½Ì¤¬ºÇ¶á¤Î¥É¥é¥¤¥Ö¤Î¿¤¯¤ÇÍøÍѤǤ­¤Þ¤¹¡£ QIC ¥É¥é¥¤¥Ö¤Ï DAT ¥É¥é¥¤¥Ö¤ËÃÖ¤­´¹¤¨¤é¤ì¤Ä¤Ä¤¢¤ê¡¢ ¤¢¤Þ¤êÉÑÈˤˤϻÈÍѤµ¤ì¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¥Ç¡¼¥¿¤ÏÊ£¿ô¤Î¥È¥é¥Ã¥¯¤Ëʬ¤«¤ì¤Æ¥Æ¡¼¥×¤Ëµ­Ï¿¤µ¤ì¤Þ¤¹¡£ ¥È¥é¥Ã¥¯¤Ï¥Æ¡¼¥×¥á¥Ç¥£¥¢¤ÎŤµÊý¸þ¤Î°ìü¤«¤é¤â¤¦°ìÊý¤Îü¤Þ¤Ç¤Ç¤¹ (ÌõÃí: 1 ¥È¥é¥Ã¥¯¤Î read/write ¤¬½ª¤ï¤ë¤È¥Æ¡¼¥×¤ÎÁö¹ÔÊý¸þ¤òȿž¤µ¤» ¼¡¤Î¥È¥é¥Ã¥¯¤Î read/write ¤ò¹Ô¤¤¤Þ¤¹)¡£¥È¥é¥Ã¥¯¤Î¿ô¤È¡¢ ¤½¤ì¤ËÂбþ¤¹¤ë¥È¥é¥Ã¥¯¤ÎÉý¤Ï¥Æ¡¼¥×¤ÎÍÆÎ̤ˤè¤Ã¤ÆÊѤï¤ê¤Þ¤¹¡£ ¤¹¤Ù¤Æ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ºÇ¶á¤Î¥É¥é¥¤¥Ö¤Ï¤Û¤È¤ó¤É¡¢¾¯¤Ê¤¯¤È¤âÆÉ¤ß½Ð¤·¤Ë¤Ä¤¤¤Æ¤Ï (¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï½ñ¤­¹þ¤ß¤â) ²¼°Ì¸ß´¹À­¤¬¤¢¤ê¤Þ¤¹¡£ QIC ¤Ï¥Ç¡¼¥¿¤Î°ÂÁ´À­¤Ë¤Ä¤¤¤Æ¤Ï¤è¤¤¤È¤¤¤ï¤ì¤Æ¤¤¤Þ¤¹ (¥Ø¥ê¥«¥ë¥¹¥­¥ã¥ó¥É¥é¥¤¥Ö¤ËÈæ¤Ù¤Æµ¡¹½¤Ïñ½ã¤Ç¤è¤ê¾æÉפǤ¹)¡£ ¥Æ¡¼¥×¤Ï 5000 ²ó¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ç¼÷Ì¿¤È¤Ê¤ë¤Ç¤·¤ç¤¦¡£ XXX* ¥ß¥Ë¥«¡¼¥È¥ê¥Ã¥¸ DLT ¥Æ¡¼¥×¥á¥Ç¥£¥¢ DLT DLT ¤Ï¤³¤³¤Ë¼¨¤·¤¿¥É¥é¥¤¥Ö¤Î¥¿¥¤¥×¤ÎÃæ¤ÇºÇ¹â®¤Î¥Ç¡¼¥¿Å¾Á÷¥ì¡¼¥È¤òȯ´ø¤·¤Þ¤¹¡£ 1/2 ¥¤¥ó¥Á (12.5mm) ¥Æ¡¼¥×¤¬Ã±¥ê¡¼¥ë¤Î¥«¡¼¥È¥ê¥Ã¥¸ (4 x 4 x 1 ¥¤¥ó¥Á¡¢100 x 100 x 25 mm) ¤ËÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£ ¥«¡¼¥È¥ê¥Ã¥¸¤Î¤Ò¤È¤Ä¤Î¦ÌÌÁ´ÂΤ¬¥¹¥¤¥ó¥°¥²¡¼¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¥É¥é¥¤¥Ö¤Îµ¡¹½¤¬¤³¤Î¥²¡¼¥È¤ò³«¤±¡¢¥Æ¡¼¥×¥ê¡¼¥À¤ò°ú¤­½Ð¤·¤Þ¤¹¡£ ¥Æ¡¼¥×¥ê¡¼¥À¤Ë¤ÏÂʱ߷Á¤Î·ê¤¬¤¢¤ê¡¢ ¥É¥é¥¤¥Ö¤¬¥Æ¡¼¥×¤ò °ú¤Ã³Ý¤±¤ë ¤Î¤Ë»È¤¤¤Þ¤¹¡£ ´¬¤­¼è¤ê¤Î¤¿¤á¤Î¥ê¡¼¥ë¤Ï¥É¥é¥¤¥Ö¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹¡£ ¤³¤³¤Ëµó¤²¤¿Â¾¤Î¥«¡¼¥È¥ê¥Ã¥¸¤Ï¤¹¤Ù¤Æ (9 ¥È¥é¥Ã¥¯¥Æ¡¼¥×¤ÏÍ£°ì¤ÎÎã³°¤Ç¤¹) Á÷¤ê½Ð¤·¥ê¡¼¥ë¤È´¬¤­¼è¤ê¥ê¡¼¥ë¤ÎξÊý¤¬¥«¡¼¥È¥ê¥Ã¥¸¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹¡£ ¥Ç¡¼¥¿¥¹¥ë¡¼¥×¥Ã¥È¤ÏÌó 1.5 MB/s ¤Ç¡¢4mm, 8mm, QIC ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Î 3 ÇܤǤ¹¡£¥Ç¡¼¥¿ÍÆÎ̤Ïñ°ì¤Î¥É¥é¥¤¥Ö¤Ç 10 GB ¤«¤é 20 GB ¤ÎÈϰϤǤ¹¡£¥Þ¥ë¥Á¥Æ¡¼¥×¥Á¥§¥ó¥¸¥ã¡¢ ¥Þ¥ë¥Á¥Æ¡¼¥×¥É¥é¥¤¥Ö¡¢5 ¤«¤é 900 ´¬¤Î¥Æ¡¼¥×¤ò 1 ¤«¤é 20 ¥É¥é¥¤¥Ö¤Ç°·¤¦¥Þ¥ë¥Á¥É¥é¥¤¥Ö¥Æ¡¼¥×¥é¥¤¥Ö¥é¥ê¤¬¤¢¤ê¡¢ 50 GB ¤«¤é 9 TB ¤ÎÍÆÎ̤¬ÆÀ¤é¤ì¤Þ¤¹¡£ °µ½Ì¤Ë¤è¤Ã¤Æ¡¢DLT Type IV ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï 70 GB ¤Þ¤Ç¤ÎÍÆÎ̤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ ¥Ç¡¼¥¿¤Ï (QIC¥Æ¡¼¥×¤Î¤è¤¦¤Ë) ¥Æ¡¼¥×¤ÎÁö¹ÔÊý¸þ¤ÈÊ¿¹Ô¤ËÊ£¿ô¤¢¤ë¥È¥é¥Ã¥¯¤Øµ­Ï¿¤µ¤ì¤Þ¤¹¡£ 2 ¤Ä¤Î¥È¥é¥Ã¥¯¤ËƱ»þ½ñ¤­¹þ¤ß¤ò¹Ô¤¤¤Þ¤¹¡£ read/write ¥Ø¥Ã¥É¤Î¼÷Ì¿¤ÏÈæ³ÓŪŤ¤¤È¸À¤¨¤Þ¤¹¡£ ¥Æ¡¼¥×¤ÎÁö¹Ô¤¬»ß¤Þ¤ì¤Ð¥Ø¥Ã¥É¤È¥Æ¡¼¥×¤Î´Ö¤ÎÁêÂб¿Æ°¤Ï̵¤¤¤«¤é¤Ç¤¹¡£ AIT ¥Æ¡¼¥×¥á¥Ç¥£¥¢ AIT AIT ¤Ï¡¢Sony ¤¬È¯É½¤·¤¿¿·¤·¤¤¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¡¢ ¥Æ¡¼¥× 1 Ëܤ¢¤¿¤ê 50 GB (°µ½Ì»þ) ¤Þ¤Ç³ÊǼ¤Ç¤­¤Þ¤¹¡£ ¥Æ¡¼¥×¤Ë¤Ï¥á¥â¥ê¥Á¥Ã¥×¤¬ÅëºÜ¤µ¤ì¤Æ¤ª¤ê¡¢ ¥Æ¡¼¥×¤ÎÆâÍÆ¤Îº÷°ú¾ðÊó¤òÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¡£ ¾¤Î¥Æ¡¼¥×¤Ç¤Ï¥Æ¡¼¥×¾å¤Î¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤òÇİ®¤¹¤ë¤Î¤Ë¿ôʬɬÍפȤ¹¤ë¤Î¤Ç¤¹¤¬¡¢ ¤³¤Î¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ç¤Ïº÷°ú¾ðÊó¤òÆÉ¤ó¤Çľ¤Á¤Ë·èÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ SAMS:Alexandria ¤Î¤è¤¦¤Ê¥½¥Õ¥È¥¦¥§¥¢¤Ï¡¢40 ¤òͤ¨¤ë ATI ¥Æ¡¼¥×¥é¥¤¥Ö¥é¥ê¤òÁàºî¤Ç¤­¤ë¤Î¤Ï¤â¤Á¤í¤ó¤Î¤³¤È¡¢ ¥Æ¡¼¥×¤Î¥á¥â¥ê¥Á¥Ã¥×¤ÈľÀÜÄÌ¿®¤·¤Æ¡¢¥¹¥¯¥ê¡¼¥ó¤ËÆâÍÆ¤òɽ¼¨¤·¡¢ ¤É¤Î¥Õ¥¡¥¤¥ë¤¬¤É¤Î¥Æ¡¼¥×¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤µ¤ì¤¿¤«¤òÄ´¤Ù¤Æ¡¢ Àµ¤·¤¤¥Æ¡¼¥×¤ò¸«¤Ä¤±¡¢ÆÉ¤ß¹þ¤ß¡¢ ¥Æ¡¼¥×¤«¤é¥Ç¡¼¥¿¤òÉü¸µ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¥é¥¤¥Ö¥é¥ê¤ÏÂçÂÎ $20,000 ¤¯¤é¤¤¤¹¤ë¤Î¤Ç¡¢ °¦¹¥²È¤¬¹ØÆþ¤Ç¤­¤ë²Á³ÊÂÓ¤«¤é¤Ï³°¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¿·ÉʤΥơ¼¥×¤ò½é¤á¤Æ»È¤¦¾ì¹ç Á´¤¯¿·Éʤζõ¥Æ¡¼¥×¤òÆÉ¤â¤¦¤È¤·¤¿¤ê½ñ¤­¹þ¤â¤¦¤È¤¹¤ë¤È¡¢ ½èÍý¤Ï¼ºÇÔ¤¹¤ë¤Ç¤·¤ç¤¦¡£ ¼¡¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬¥³¥ó¥½¡¼¥ë¤Ë½ÐÎϤµ¤ì¤ë¤Ç¤·¤ç¤¦¡£ sa0(ncr1:4:0): NOT READY asc:4,1 sa0(ncr1:4:0): Logical unit is in process of becoming ready ¥Æ¡¼¥×¤Ë¼±ÊÌ¥Ö¥í¥Ã¥¯ (Identifier Block:block number 0) ¤¬¤¢¤ê¤Þ¤»¤ó¡£QIC-525 ɸ½à¤òºÎÍѤ·¤¿¤¹¤Ù¤Æ¤Î QIC ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ï¼±ÊÌ¥Ö¥í¥Ã¥¯¤ò¥Æ¡¼¥×¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£ 2 ¤Ä¤Î²ò·èÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ mt fsf 1 ¤Ë¤è¤ê¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ï¥Æ¡¼¥×¤Ë¼±ÊÌ¥Ö¥í¥Ã¥¯¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£ ¥Õ¥í¥ó¥È¥Ñ¥Í¥ë¤Î¥Ü¥¿¥ó¤ò²¡¤·¤Æ¥Æ¡¼¥×¤ò¼è¤ê½Ð¤·¤Þ¤¹¡£ ºÆ¤Ó¥Æ¡¼¥×¤òÁÞÆþ¤·¡¢¥Ç¡¼¥¿¤ò¥Æ¡¼¥×¤Ë dump ¤·¤Þ¤¹¡£ dump ¤Ï DUMP: End of tape detected ¤ÈÊó¹ð¤·¡¢ ¥³¥ó¥½¡¼¥ë¤Ë¤Ï HARDWARE FAILURE info:280 asc:80,96 ¤Èɽ¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£ mt rewind ¤ò»È¤Ã¤Æ¥Æ¡¼¥×¤ò´¬Ìᤷ¤Þ¤¹¡£ ¼¡¤«¤é¤Ï¥Æ¡¼¥×¤ÎÁàºî¤Ï¤¦¤Þ¤¯¤¤¤¯¤Ç¤·¤ç¤¦¡£ ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ø¤Î¥Ð¥Ã¥¯¥¢¥Ã¥× ¥Ç¡¼¥¿¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤Î¤Ë¥Õ¥í¥Ã¥Ô¡¼¤Ï»È¤¨¤Þ¤¹¤«? ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥í¥Ã¥Ô¡¼ ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯ ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ï°Ê²¼¤ÎÍýͳ¤Ë¤è¤Ã¤Æ¡¢ ¼ÂºÝ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¤Ä¤¯¤ë¤¿¤á¤ÎŬÀڤʥá¥Ç¥£¥¢¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¥á¥Ç¥£¥¢¤Î¿®ÍêÀ­¤¬ (ÆÃ¤ËĹ´ü´Ö¤Î¾ì¹ç) Ä㤤¡£ ¥Ð¥Ã¥¯¥¢¥Ã¥×¤È¥ê¥¹¥È¥¢¤¬¤È¤Æ¤âÃÙ¤¤¡£ ÍÆÎ̤¬Èó¾ï¤Ë¾®¤µ¤¤ (1 ¥À¡¼¥¹¤«¤½¤³¤é¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ë ¥Ï¡¼¥É¥Ç¥£¥¹¥¯Á´ÂΤò¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Æ¤¤¤¿»þÂå¤Ï¡¢ ¤Ï¤ë¤«±ó¤¯¤Ë²á¤®µî¤ê¤Þ¤·¤¿)¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¥Ç¡¼¥¿¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¾¤Î¼êÃʤ¬¤Ê¤¤¤Î¤Ê¤é¡¢ ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤é¤Ê¤¤¤è¤ê¤â¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ò»È¤¦Êý¤¬¤Þ¤·¤Ç¤·¤ç¤¦¡£ ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ò»ÈÍѤ»¤¶¤ë¤òÆÀ¤Ê¤¤¤È¤­¤Ï¡¢ ÉʼÁ¤Î¤è¤¤¥Ç¥£¥¹¥¯¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ »ö̳½ê¤Î¤½¤ÎÊդ˿ôǯž¤¬¤Ã¤Æ¤¤¤¿¥Õ¥í¥Ã¥Ô¡¼¤Ï»È¤ï¤Ê¤¤Êý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ ɾȽ¤Î¤è¤¤¥á¡¼¥«¤Î¿·¤·¤¤¥Ç¥£¥¹¥¯¤ò»ÈÍѤ¹¤ë¤³¤È¤¬ÍýÁۤǤ¹¡£ ¤½¤ì¤Ç¤Ï¤É¤¦¤ä¤Ã¤Æ¥Ç¡¼¥¿¤ò¥Õ¥í¥Ã¥Ô¡¼¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤Î¤Ç¤¹¤«? ¥Õ¥í¥Ã¥Ô¡¼¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ëºÇ¤â¤è¤¤ÊýË¡¤Ï¡¢ (¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à) ¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç &man.tar.1; ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡£¤³¤ì¤Ç¡¢ Ê£¿ô¤Î¥Õ¥í¥Ã¥Ô¡¼¤Ë¤ï¤¿¤Ã¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤Ë¤Ï¡¢ °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò (root ¸¢¸Â¤Ç) »ÈÍѤ·¤Þ¤¹¡£ &prompt.root; tar Mcvf /dev/fd0 * 1 ËçÌܤΥեí¥Ã¥Ô¡¼¤¬°ìÇդˤʤë¤È¡¢ &man.tar.1; ¤Ï¼¡¤Î¥Ü¥ê¥å¡¼¥à¤òÁÞÆþ¤¹¤ë¤è¤¦¤ËÍ׵ᤷ¤Þ¤¹ (&man.tar.1; ¤Ï¤µ¤Þ¤¶¤Þ¤Ê¥á¥Ç¥£¥¢¤ò°·¤¨¤ë¤Î¤Ç¡¢ ¥Ü¥ê¥å¡¼¥à¤Èɽ¼¨¤·¤Þ¤¹¡£¤³¤Îʸ̮¤Ç¤Ï¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Î¤³¤È¤Ç¤¹)¡£ Prepare volume #2 for /dev/fd0 and hit return: »ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤ÆÊݸ¤µ¤ì¤ë¤Þ¤Ç (¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤òÁý¤ä¤·¤Ê¤¬¤é) ¤³¤ì¤¬·«¤êÊÖ¤µ¤ì¤Þ¤¹¡£ ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò°µ½Ì¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤«? tar gzip °µ½Ì »Äǰ¤Ê¤³¤È¤Ë &man.tar.1; ¤Ï¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥¢¡¼¥«¥¤¥Ö¤ËÂФ·¤Æ¡¢ ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£ ¤â¤Á¤í¤ó¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò &man.gzip.1; ¤Ç°µ½Ì¤·¡¢ ¤½¤ì¤é¤ò &man.tar.1; ¤òÍѤ¤¤Æ¥Õ¥í¥Ã¥Ô¡¼¤ËÊݸ¤·¤Æ¡¢ ¤½¤ì¤«¤éºÆ¤Ó &man.gunzip.1; ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¡£ ¤É¤Î¤è¤¦¤Ë¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¥ê¥¹¥È¥¢¤·¤¿¤é¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«? ¤¹¤Ù¤Æ¤Î¥¢¡¼¥«¥¤¥Ö¤ò¥ê¥¹¥È¥¢¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; tar Mxvf /dev/fd0 ÆÃÄê¤Î¥Õ¥¡¥¤¥ë¤À¤±¤ò¥ê¥¹¥È¥¢¤¹¤ë¤Ë¤Ï 2 ¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ 1 ¤ÄÌܤϡ¢1 ËçÌܤΥեí¥Ã¥Ô¡¼¤òÍѤ¤¤Æ°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¤â¤Î¤Ç¤¹¡£ &prompt.root; tar Mxvf /dev/fd0 filename &man.tar.1; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢ ɬÍפʥե¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤Þ¤Ç¼¡¤Î¥Ç¥£¥¹¥¯¤òÁÞÆþ¤¹¤ë¤è¤¦¤ËÍ׵ᤷ¤Þ¤¹¡£ ¤â¤¦ 1 ¤Ä¤Ï¡¢ ɬÍפʥե¡¥¤¥ë¤¬¤É¤Î¥Õ¥í¥Ã¥Ô¡¼¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¤«Ê¬¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ ¤½¤Î¥Õ¥í¥Ã¥Ô¡¼¤òÁÞÆþ¤·¤Æ¾åµ­¤ÈƱ¤¸¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤À¤±¤Ç¤â¤è¤¤¤Ç¤¹¡£ ¤¢¤ë¥Õ¥í¥Ã¥Ô¡¼¾å¤Ë¤¢¤ë 1 ÈÖÌܤΥե¡¥¤¥ë¤¬¡¢ ¤½¤ÎÁ°¤Î¥Õ¥í¥Ã¥Ô¡¼¤«¤é³¤¤¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¤½¤Î¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¥¢¤òÍ׵ᤷ¤Æ¤¤¤Ê¤¯¤Æ¤â &man.tar.1; ¤Ï¤½¤ì¤ò¥ê¥¹¥È¥¢¤Ç¤­¤Ê¤¤¤È·Ù¹ð¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤! ¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î´ðËÜ ¼ç¤Ê¥Ð¥Ã¥¯¥¢¥Ã¥×¥×¥í¥°¥é¥à¤Ï &man.dump.8;, &man.tar.1;, &man.cpio.1; ¤Î»°¤Ä¤Ç¤¹¡£ ¥À¥ó¥×¤È¥ê¥¹¥È¥¢ ¥Ð¥Ã¥¯¥¢¥Ã¥×¥½¥Õ¥È¥¦¥§¥¢ ¥À¥ó¥× / ¥ê¥¹¥È¥¢ dump restore ÅÁÅýŪ¤Ê &unix; ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥×¥í¥°¥é¥à¤Ï dump ¤È restore ¤Ç¤¹¡£ ¤³¤ì¤é¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¡¢¥ê¥ó¥¯¡¢ ¥Ç¥£¥ì¥¯¥È¥ê¤È¤¤¤Ã¤¿Ãê¾Ý¤Î²¼°Ì¤Ë¤¢¤ë¡¢ ¥Ç¥£¥¹¥¯¥Ö¥í¥Ã¥¯¤Î½¸¹ç¤È¤·¤Æ¥É¥é¥¤¥Ö¤òÁàºî¤·¤Þ¤¹¡£ dump ¤Ï¥Ç¥Ð¥¤¥¹¾å¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÁ´ÂΤò¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î°ìÉôʬ¤À¤±¡¢ ¤Þ¤¿¤ÏÆó¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤ï¤¿¤ë¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ dump ¤Ï¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò¥Æ¡¼¥×¤Ë½ñ¤­¹þ¤Þ¤º¤Ë¡¢ ¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤ó¤À raw ¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£ ¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ç dump ¤ò»È¤Ã¤¿¾ì¹ç¡¢ /home, /usr ¤Ê¤É¡¢Â¾¤Î¿¤¯¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥Ð¥Ã¥¯¥¢¥Ã¥×¤µ¤ì¤Þ¤»¤ó¡£ ¤³¤ì¤é¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÏÄ̾ ¾¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ø¤Î¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Ç¤¢¤Ã¤¿¤ê¡¢ ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤È¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£ dump ¤Ë¤Ï AT&T UNIX ¤Î¥Ð¡¼¥¸¥ç¥ó 6 (¤ª¤è¤½ 1975 ǯ) ¤Î½é´ü¤«¤é»Ä¤Ã¤Æ¤¤¤ëÊʤ¬¤¢¤ê¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥é¥á¥¿¤Ï¡¢¸½ºßÍøÍѲÄǽ¤Ê¹âÌ©ÅÙ¥á¥Ç¥£¥¢ (ºÇÂç 62,182 ftpi) ¤Ç¤Ï¤Ê¤¯¡¢9 ¥È¥é¥Ã¥¯¥Æ¡¼¥× (6250 bpi) ¤ËºÇŬ¤ÊÃͤȤʤäƤ¤¤Þ¤¹¡£ ¸½ºß¤Î¥Æ¡¼¥×¥É¥é¥¤¥Ö¤ÎÍÆÎ̤òÍøÍѤ¹¤ë¤¿¤á¤Ë¡¢ ¤³¤ì¤é¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¾å½ñ¤­¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ .rhosts rdump ¤È rrestore ¤òÍѤ¤¤ÆÂ¾¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ë¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Ç¥Ç¡¼¥¿¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ ¤É¤Á¤é¤Î¥×¥í¥°¥é¥à¤â¥ê¥â¡¼¥È¤Î¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë rcmd ¤ª¤è¤Ó ruserok ¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼Â¹Ô¤¹¤ë¥æ¡¼¥¶¤¬¥ê¥â¡¼¥È¥³¥ó¥Ô¥å¡¼¥¿¤Î .rhosts ¥Õ¥¡¥¤¥ë¤Ë½ñ¤«¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ rdump ¤ª¤è¤Ó rrestore ¤Î°ú¿ô¤Ï¥ê¥â¡¼¥È¥³¥ó¥Ô¥å¡¼¥¿¤ËŬÀڤʤâ¤Î¤òÍѤ¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ FreeBSD ¥³¥ó¥Ô¥å¡¼¥¿¤«¤é komodo ¤È¸Æ¤Ð¤ì¤ë Sun ¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë Exabyte ¥Æ¡¼¥×¤Ø rdump ¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1 Ãí°Õ: .rhosts ǧ¾Ú¤òµö²Ä¤¹¤ë¤³¤È¤Ë¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¤Ë´Ø¤¹¤ë°ÅÌۤβ¾Ä꤬¤¢¤ê¤Þ¤¹¡£ ¤¢¤Ê¤¿¤ÎÃÖ¤«¤ì¤Æ¤¤¤ë¾õ¶·¤òÃí°Õ¿¼¤¯Ä´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ ssh ±Û¤·¤Ë dump ¤È restore ¤ò¤è¤ê°ÂÁ´¤Ê·Á¤Ç»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ <application>ssh</application> ±Û¤·¤Î <command>dump</command> ¤ÎÍøÍÑ &prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh1 -c blowfish \ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz ¤Þ¤¿¤Ï¡¢´Ä¶­ÊÑ¿ô RSH ¤òÀßÄꤷ¤Æ¡¢ dump ¤ÎÁȤ߹þ¤ßµ¡Ç½¤òÍøÍѤ¹¤ë¡£ <envar>RSH</envar> ¤òÀßÄꤷ¤¿ <application>ssh</application> ±Û¤·¤Î <command>dump</command> ¤òÍøÍÑ &prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 <command>tar</command> ¥Ð¥Ã¥¯¥¢¥Ã¥×¥½¥Õ¥È¥¦¥§¥¢ tar &man.tar.1; ¤Ï AT&T UNIX ¤Î ¥Ð¡¼¥¸¥ç¥ó 6 (1975 ǯ¤´¤í) ¤Ë¤Þ¤ÇÁ̤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£tar ¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¶¨Ä´¤·¤ÆÆ°ºî¤·¡¢ ¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤ò¥Æ¡¼¥×¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£tar ¤Ï &man.cpio.1; ¤Ç»ÈÍѲÄǽ¤Ê¥Õ¥ë¥ì¥ó¥¸¤Î¥ª¥×¥·¥ç¥ó¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢ tar ¤Ë¤Ï cpio ¤¬»ÈÍѤ¹¤ë¤è¤¦¤Ê´ñ̯¤Ê¥³¥Þ¥ó¥É¥Ñ¥¤¥×¥é¥¤¥ó¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£ tar tar ¤Î¿¤¯¤ÎÈǤϥͥåȥ¥¯·Ðͳ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ FreeBSD ¤¬»ÈÍѤ·¤Æ¤¤¤ë GNU ÈǤΠtar ¤Ï¡¢ rdump ¤ÈƱ¤¸¹½Ê¸¤Ç¥ê¥â¡¼¥È¥Ç¥Ð¥¤¥¹¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ komodo ¤È¸Æ¤Ð¤ì¤ë Sun ¤ËÀܳ¤µ¤ì¤¿ Exabyte ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤ËÂФ·¤Æ tar ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; /usr/bin/tar cf komodo:/dev/nsa8 . 2>&1 ¥ê¥â¡¼¥È¥Ç¥Ð¥¤¥¹¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤ÈǤËÂФ·¤Æ¤Ï¡¢¥Ñ¥¤¥×¥é¥¤¥ó¤È rsh ¤ò»ÈÍѤ·¤Æ¥ê¥â¡¼¥È¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ë¥Ç¡¼¥¿¤òÁ÷¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20b ¥Í¥Ã¥È¥ï¡¼¥¯¤ò±Û¤¨¤¿¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î¥»¥­¥å¥ê¥Æ¥£¤ò·üǰ¤·¤Æ¤¤¤ë¤Ê¤é¡¢ rsh ¤ÎÂå¤ï¤ê¤Ë ssh ¤ò»È¤¦¤Ù¤­¤Ç¤¹¡£ <command>cpio</command> ¥Ð¥Ã¥¯¥¢¥Ã¥×¥½¥Õ¥È¥¦¥§¥¢ cpio &man.cpio.1; ¤ÏËÜÍè &unix; ¥Õ¥¡¥¤¥ë¤ò¼§µ¤¥á¥Ç¥£¥¢¤Ç¸ò´¹¤¹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à¤Ç¤¹¡£ cpio ¤Ï¥Ð¥¤¥È¥¹¥ï¥Ã¥Ô¥ó¥°¡¢ ¿¤¯¤Î°Û¤Ê¤ë¥¢¡¼¥«¥¤¥Ö¥Õ¥©¡¼¥Þ¥Ã¥È¤Î½ñ¤­¹þ¤ß¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê (¤½¤ì°Ê³°¤Ë¤â¿¿ô¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹)¡¢ ¥Ñ¥¤¥×¤Ç¾¤Î¥×¥í¥°¥é¥à¤Ë¥Ç¡¼¥¿¤òÅϤ¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤³¤ÎºÇ¸å¤Ë¤¢¤²¤¿ÆÃħ¤¬¡¢cpio ¤ò¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤È¤·¤Æ¤ÏÍ¥¤ì¤¿ÁªÂò»è¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ cpio ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Îõº÷¤Îµ¡Ç½¤Ï¤Ê¤¯¡¢¥Õ¥¡¥¤¥ë¥ê¥¹¥È¤Ï stdin ¤«¤é¤ÎÆþÎϤǤʤ¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ cpio cpio ¤Ï¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ °Ê²¼¤Î¤è¤¦¤Ë¥Ñ¥¤¥×¥é¥¤¥ó¤È rsh ¤òÍѤ¤¤Æ¥ê¥â¡¼¥È¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ë¥Ç¡¼¥¿¤òÁ÷¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &prompt.root; for f in directory_list; do find $f >> backup.list done &prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device" directory_list ¤Ï¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤¿¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤Ç¡¢ user@host ¤Ï¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼Â¹Ô¤·¤¿¤¤¥æ¡¼¥¶¤È¥Û¥¹¥È̾¤ÎÁȤǤ¢¤ê¡¢ backup_device ¤Ï¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½ñ¤­¹þ¤ß¤¿¤¤¥Ç¥Ð¥¤¥¹¤Ç¤¹ (¤¿¤È¤¨¤Ð /dev/nsa0)¡£ <command>pax</command> ¥Ð¥Ã¥¯¥¢¥Ã¥×¥½¥Õ¥È¥¦¥§¥¢ pax pax POSIX IEEE &man.pax.1; ¤Ï tar ¤È cpio ¤ËÂФ¹¤ë IEEE/&posix; ¤Î²óÅú¤Ç¤¹¡£Ä¹Ç¯¤Î´Ö¡¢¤µ¤Þ¤¶¤Þ¤ÊÈǤΠtar ¤È cpio ¤Ï¸ß¤¤¤Ë¤ï¤º¤«¤ËÈó¸ß´¹¤Ë¤Ê¤Ã¤Æ¤­¤Æ¤¤¤Þ¤·¤¿¡£ ¤½¤ì¤é¤ò¤·¤é¤ßÄÙ¤·¤Ëɸ½à²½¤¹¤ëÂå¤ï¤ê¤Ë¡¢&posix; ¤Ï¿·¤·¤¤¥¢¡¼¥«¥¤¥Ö¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤òºî¤ê¤Þ¤·¤¿¡£ pax ¤Ï¡¢¤¤¤¯¤Ä¤â¤Î cpio ¤ä tar ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÆÉ¤ß½ñ¤­¤ËÂбþ¤·¤è¤¦¤È»î¤ß¤Æ¤¤¤ë¤Û¤«¡¢ ÀìÍѤ˿·¤·¤¤¥Õ¥©¡¼¥Þ¥Ã¥È¤ò³«È¯¤·¤Þ¤·¤¿¡£ ¥³¥Þ¥ó¥É·²¤Ï tar ¤è¤ê¤â cpio ¤ÎÊý¤Ë¤¤¤¯¤Ö¤ó»÷¤Æ¤¤¤Þ¤¹¡£ <application>Amanda</application> ¥Ð¥Ã¥¯¥¢¥Ã¥×¥½¥Õ¥È¥¦¥§¥¢ Amanda Amanda Amanda (Advanced Maryland Network Disk Archiver) ¤Ïñ°ì¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¤Ê¤¯¡¢ ¥¯¥é¥¤¥¢¥ó¥È/¥µ¡¼¥Ð·¿¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥·¥¹¥Æ¥à¤Ç¤¹¡£ Amanda ¥µ¡¼¥Ð¤Ï¡¢ Amanda ¥¯¥é¥¤¥¢¥ó¥È¤òÍ­¤¹¤ë ¥Í¥Ã¥È¥ï¡¼¥¯¤ËÀܳ¤µ¤ì¤¿¥³¥ó¥Ô¥å¡¼¥¿¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤ê¡¢ È÷¤¨ÉÕ¤±¤é¤ì¤¿¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Þ¤¹¡£ ¤¤¤¯¤Ä¤â¤ÎÂçÍÆÎ̥ǥ£¥¹¥¯¤òÈ÷¤¨¤¿¥µ¥¤¥È¤Ç¤Î¶¦Ä̤ÎÌäÂê¤Ï¡¢ ¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤ò¥Æ¡¼¥×¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤Î¤Ë»þ´Ö¤¬¤«¤«¤ê¤¹¤®¤ë¤³¤È¤Ç¤¹¡£ Amanda ¤Ï¤³¤ÎÌäÂê¤ò²ò·è¤·¤Þ¤¹¡£ Amanda ¤Ï ¥Û¡¼¥ë¥Ç¥£¥ó¥°¥Ç¥£¥¹¥¯ ¤ò»ÈÍѤ·¤Æ¡¢ Ʊ»þ¤ËÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Amanda ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤«¤«¤ì¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Õ¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤òÆÃÄê¤Î´Ö³Ö¤Ç¤È¤ë¤¿¤á¤Ë ¥¢¡¼¥«¥¤¥Ö¥»¥Ã¥È ¤È¸Æ¤Ð¤ì¤ë¥Æ¡¼¥×¥°¥ë¡¼¥×¤òºîÀ®¤·¤Þ¤¹¡£ ¥¢¡¼¥«¥¤¥Ö¥»¥Ã¥È ¤Ë¤Ï Ìë´Ö¤ËºîÀ®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÁýʬ (¤Þ¤¿¤Ïº¹Ê¬) ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤â´Þ¤Þ¤ì¤Þ¤¹¡£ ¾ã³²¤¬µ¯¤­¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ê¥¹¥È¥¢¤Ë¤Ï¡¢ ºÇ¤â¿·¤·¤¤¥Õ¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÈÁýʬ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤¬É¬ÍפǤ¹¡£ ÀßÄê¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÎÀ©¸æ¤È Amanda ¤Ë¤è¤ë¥Í¥Ã¥È¥ï¡¼¥¯¥È¥é¥Õ¥£¥Ã¥¯Î̤òÀßÄꤷ¤Þ¤¹¡£ Amanda ¤Ï¾åµ­¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥×¥í¥°¥é¥à¤Î¤¤¤º¤ì¤«¤ò»È¤Ã¤Æ¥Ç¡¼¥¿¤ò¥Æ¡¼¥×¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£ Amanda ¤Ï port ¤Þ¤¿¤Ï package ¤È¤·¤ÆÍøÍѲÄǽ¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ²¿¤â¤·¤Ê¤¤ ²¿¤â¤·¤Ê¤¤ ¤È¤¤¤¦¤Î¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÎÀïά¤È¤·¤ÆºÇ¤â¹­¤¯ºÎÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ë¤Ï½é´üÅê»ñ¤¬É¬Íפ¢¤ê¤Þ¤»¤ó¡£ ½¾¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¥Ð¥Ã¥¯¥¢¥Ã¥×¥¹¥±¥¸¥å¡¼¥ë¤â¤¢¤ê¤Þ¤»¤ó¡£ ¤¿¤À²¿¤â¤·¤Ê¤¤¤À¤±¤Ç¤¹¡£¥Ç¡¼¥¿¤Ë²¿¤«µ¯¤­¤¿¤é¶ì¾Ð¤¤¤·¤ÆÂѤ¨¤Æ¤¯¤À¤µ¤¤! ¤¢¤Ê¤¿¤Ë¤È¤Ã¤Æ»þ´Ö¤ä¥Ç¡¼¥¿¤Î²ÁÃͤ¬¾¯¤Ê¤¤¤«¡¢ ¤¢¤ë¤¤¤Ï¤Þ¤Ã¤¿¤¯¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð ²¿¤â¤·¤Ê¤¤ ¤Î¤Ï¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ËºÇ¤âŬ¤·¤¿¥Ð¥Ã¥¯¥¢¥Ã¥×¥×¥í¥°¥é¥à¤Ç¤·¤ç¤¦¡£ ¤·¤«¤·Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£&unix; ¤ÏÊØÍø¤Ê¥Ä¡¼¥ë¤Ç¤¹¡£ 6 ¥ö·î¤â»ÈÍѤ·¤Æ¤¤¤ì¤Ð¡¢ ¤¢¤Ê¤¿¤Ë¤È¤Ã¤Æ²ÁÃͤΤ¢¤ë¥Õ¥¡¥¤¥ë¤Î»³¤¬½ÐÍè¾å¤¬¤Ã¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡£ ²¿¤â¤·¤Ê¤¤ ¤³¤È¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤¬Æ±¤¸¤â¤Î¤ò¤â¤¦°ìÅÙºî¤êľ¤¹¤³¤È¤Î¤Ç¤­¤ë /usr/obj ¤ä¤½¤Î¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤Ë¤Ä¤¤¤Æ¤ÏŬÀڤʥХ寥¢¥Ã¥×ÊýË¡¤Ç¤¹¡£ °ìÎã¤È¤·¤Æ¡¢¤³¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î HTML ÈÇ ¤Þ¤¿¤Ï &postscript; ÈǤò¹½À®¤¹¤ë¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Îʸ½ñ·Á¼°¤Ï SGML ¥Õ¥¡¥¤¥ë¤«¤éºîÀ®¤µ¤ì¤¿¤â¤Î¤Ç¤¹¡£ HTML ¤Þ¤¿¤Ï &postscript; ¥Õ¥¡¥¤¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£ SGML ¥Õ¥¡¥¤¥ë¤ÏÄê´üŪ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤É¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥×¥í¥°¥é¥à¤¬ºÇŬ¤Ç¤¹¤«? LISA &man.dump.8; ¤Ç¤¹¡£°Ê¾å¡£ Elizabeth D. Zwicky ¤Ï¤³¤³¤Ç¸¡Æ¤¤·¤¿¥×¥í¥°¥é¥à¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ¹éÌäŪ¤Ê¥Æ¥¹¥È¤ò¹Ô¤¤¤Þ¤·¤¿¡£ ¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤È &unix; ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¾õÂÖ¤¹¤Ù¤Æ¤òÊݸ¤¹¤ë¤Î¤ËºÇŬ¤Ê¤Î¤Ï¡¢ÌÀ¤é¤«¤Ë dump ¤Ç¤¹¡£ Elizabeth ¤Ï¿¼ï¿ÍÍ¤ÎÆÃ°Û¤Ê¾õÂÖ (¤¤¤¯¤Ä¤«¤Ï¤¢¤Þ¤êÄÁ¤·¤¯¤Ê¤¤¤â¤Î¤â¤¢¤ê¤Þ¤¹) ¤ò´Þ¤à¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤·¡¢ ¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤È¥ê¥¹¥È¥¢¤ò¹Ô¤Ã¤Æ¡¢ ¤½¤ì¤¾¤ì¤Î¥×¥í¥°¥é¥à¤Î¥Æ¥¹¥È¤ò¹Ô¤¤¤Þ¤·¤¿¡£ÆÃ°Û¤Ê¾õÂ֤Ȥϡ¢ ¥Û¡¼¥ë¤¬¤¢¤ë¥Õ¥¡¥¤¥ë¡¢¥Û¡¼¥ë¤È¥Ì¥ë¥Ö¥í¥Ã¥¯¤¬¤¢¤ë¥Õ¥¡¥¤¥ë¡¢ ´ñ̯¤Êʸ»ú¤ò¥Õ¥¡¥¤¥ë̾¤Ë»ý¤Ä¥Õ¥¡¥¤¥ë¡¢ÆÉ¤ß¼è¤êÉԲġ¢ ½ñ¤­¹þ¤ßÉԲĤΥե¡¥¤¥ë¡¢¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¡¢ ¥Ð¥Ã¥¯¥¢¥Ã¥×Ãæ¤Î¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥ºÊѹ¹¡¢ ¥Ð¥Ã¥¯¥¢¥Ã¥×Ãæ¤Î¥Õ¥¡¥¤¥ë¤ÎºîÀ®¤ª¤è¤Óºï½ü¡¢¤Ê¤É¤Ç¤¹¡£ Èà½÷¤Ï 1991 ǯ 10 ·î¤Î LISA V ¤Ç·ë²Ì¤òȯɽ¤·¤Æ¤¤¤Þ¤¹¡£ torture-testing Backup and Archive Programs ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¶ÛµÞ»þ¤Î¥ê¥¹¥È¥¢¼ê½ç »´»ö¤¬µ¯¤­¤ëÁ°¤Ë ȯÀ¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤É¤Î¤è¤¦¤Ê»´»ö¤ËÂФ·¤Æ¤â¡¢ È÷¤¨¤ë¤Î¤ËɬÍפʼê½ç¤Ï°Ê²¼¤Î 4 ¥¹¥Æ¥Ã¥×¤À¤±¤Ç¤¹¡£ disklabel ºÇ½é¤Ë¡¢ ³Æ¥Ç¥£¥¹¥¯¤Î¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë (/etc/fstab)¡¢ ¥Ö¡¼¥È¥á¥Ã¥»¡¼¥¸Á´ÂΤò¤½¤ì¤¾¤ì 2 Ë示¤Ä°õºþ¤·¤Þ¤¹ (¤¿¤È¤¨¤Ð disklabel da0 | lpr)¡£ fix-it ¥Õ¥í¥Ã¥Ô¡¼ 2 ÈÖÌܤˡ¢¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¤È fix-it ¥Õ¥í¥Ã¥Ô¡¼ (boot.flp ¤ª¤è¤Ó fixit.flp) ¤Ë¤½¤Î¥·¥¹¥Æ¥à¤Î¥Ç¥Ð¥¤¥¹¤¬¤¹¤Ù¤Æ´Þ¤Þ¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Þ¤¹¡£ ºÇ¤â´Êñ¤Ë³Îǧ¤¹¤ëÊýË¡¤Ï¡¢¥Õ¥í¥Ã¥Ô¡¼¤ò¥É¥é¥¤¥Ö¤ËÆþ¤ì¤Æ¥Þ¥·¥ó¤ò¥ê¥Ö¡¼¥È¤·¤Æ¥Ö¡¼¥È¥á¥Ã¥»¡¼¥¸¤ò³Îǧ¤¹¤ë¤³¤È¤Ç¤¹¡£ ¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤Î¥Ç¥Ð¥¤¥¹¤Î¤¹¤Ù¤Æ¤¬´Þ¤Þ¤ì¡¢ µ¡Ç½¤·¤Æ¤¤¤ì¤Ð 3 ÈÖÌܤμê½ç¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢ ¤½¤Î¥·¥¹¥Æ¥à¤Î¤¹¤Ù¤Æ¤Î¥Ç¥£¥¹¥¯¤ò¥Þ¥¦¥ó¥È¤Ç¤­¡¢ ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ë¤â¥¢¥¯¥»¥¹¤Ç¤­¤ë¥«¡¼¥Í¥ë¤òÈ÷¤¨¤¿ ¥«¥¹¥¿¥à¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¤ò 2 ËçºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ë¤Ï fdisk, disklabel, newfs, mount ¤È¡¢ÍøÍѤ¹¤ë¥Ð¥Ã¥¯¥¢¥Ã¥×¥×¥í¥°¥é¥à¤¬Æþ¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤Ï¥¹¥¿¥Æ¥£¥Ã¥¯¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ dump ¤ò»ÈÍѤ¹¤ë¤Î¤Ê¤é¡¢¤³¤Î¥Õ¥í¥Ã¥Ô¡¼¤Ë¤Ï restore ¤â´Þ¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ 3 ÈÖÌܤˡ¢Äê´üŪ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥×¤òºîÀ®¤·¤Þ¤¹¡£ ºÇ¸å¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î¸å¤Ç¹Ô¤ï¤ì¤¿Êѹ¹¤Ï¡¢²óÉü¤Ç¤­¤º¤Ë¼º¤ï¤ì¤Þ¤¹¡£ ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥×¤Ë¥é¥¤¥È¥×¥í¥Æ¥¯¥È¤ò»Ü¤·¤Æ¤¯¤À¤µ¤¤¡£ 4 ÈÖÌܤˡ¢¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯ (boot.flp ¤È fixit.flp¡¢ ¤«¡¢Âè 2 Ãʳ¬¤ÇºîÀ®¤·¤¿ 2 Ëç¤Î¥«¥¹¥¿¥à¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Î¤É¤Á¤é¤«) ¤ª¤è¤Ó¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥×¤Î¥Æ¥¹¥È¤ò¤·¤Þ¤¹¡£ ¼ê½ç¤Î¥á¥â¤òºî¤ê¤Þ¤·¤ç¤¦¡£ ¤³¤Î¥á¥â¤Ï¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¡¢°õºþ¤·¤¿»æ¡¢ ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥×¤È°ì½ï¤ËÊݸ¤·¤Æ¤ª¤­¤Þ¤¹¡£ ¥ê¥¹¥È¥¢¤ò¹Ô¤¦¤È¤­¤Ë¤Ï¡¢ ¤³¤Î¥á¥â¤¬¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥×¤ò²õ¤¹¤Î¤òËɤ°¤¯¤é¤¤¼è¤êÍ𤷤Ƥ¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó (¤É¤Î¤è¤¦¤Ë? tar xvf /dev/sa0 ¤ÎÂå¤ï¤ê¤Ë¡¢¤¦¤Ã¤«¤ê tar cvf /dev/sa0 ¤ÈÆþÎϤ·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥×¤ò¾å½ñ¤­¤·¤Æ¤·¤Þ¤¦¤«¤â¤·¤ì¤Þ¤»¤ó)¡£ ÌõÃí ¾å½ñ¤­¤Ï¥é¥¤¥È¥×¥í¥Æ¥¯¥È¤ò¤·¤Æ¤ª¤±¤ÐËɤ²¤Þ¤¹¤¬¡¢ ²¿¤é¤«¤Î¸¶°ø¤Ç¥×¥í¥Æ¥¯¥È¤¬¤Ï¤º¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤Á¤Ê¤ß¤ËÌõ¼Ô¤Î·Ð¸³¤«¤é¸À¤¨¤Ð¡¢ ¾å¤Î¤è¤¦¤Ê¥ß¥¹¥¿¥¤¥×¤Ï·ë¹½µ¯¤­¤Þ¤¹¡£ °ÂÁ´À­¤òÁý¤¹¤¿¤á¤Ë¡¢Ëè²ó¡¢ ¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¤òºîÀ®¤·¡¢ 2 ´¬¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥×¤ò¼è¤ê¤Þ¤¹¡£ °ìÊý¤òÎ¥¤ì¤¿¾ì½ê¤ËÊݴɤ·¤Þ¤¹¡£ Î¥¤ì¤¿¾ì½ê¤ÏƱ¤¸»ö̳½ê¤Î·úʪ¤ÎÃϲ¼¼¼¤Ç¤Ï¤¤¤±¤Þ¤»¤ó¡£ À¤³¦Ëǰץ»¥ó¥¿¡¼¥Ó¥ë¤Ë¤¢¤Ã¤¿¿ô¿¤¯¤Î²ñ¼Ò¤Ï¡¢ ¶ì¤¤·Ð¸³¤Ë¤è¤ê¤³¤Î¶µ·±¤òÆÀ¤Þ¤·¤¿¡£Î¥¤ì¤¿¾ì½ê¤È¤Ï¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤ä¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤«¤é½½Ê¬¤Êµ÷Î¥¤ò¼è¤Ã¤Æ ʪÍýŪ¤ËʬΥ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¤òºîÀ®¤¹¤ë¥¹¥¯¥ê¥×¥È /mnt/sbin/init gzip -c -best /sbin/fsck > /mnt/sbin/fsck gzip -c -best /sbin/mount > /mnt/sbin/mount gzip -c -best /sbin/halt > /mnt/sbin/halt gzip -c -best /sbin/restore > /mnt/sbin/restore gzip -c -best /bin/sh > /mnt/bin/sh gzip -c -best /bin/sync > /mnt/bin/sync cp /root/.profile /mnt/root cp -f /dev/MAKEDEV /mnt/dev chmod 755 /mnt/dev/MAKEDEV chmod 500 /mnt/sbin/init chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt chmod 555 /mnt/bin/sh /mnt/bin/sync chmod 6555 /mnt/sbin/restore # # create the devices nodes # cd /mnt/dev ./MAKEDEV std ./MAKEDEV da0 ./MAKEDEV da1 ./MAKEDEV da2 ./MAKEDEV sa0 ./MAKEDEV pty0 cd / # # create minimum file system table # cat > /mnt/etc/fstab <<EOM /dev/fd0a / ufs rw 1 1 EOM # # create minimum passwd file # cat > /mnt/etc/passwd < /mnt/etc/master.passwd < »´»ö¤Î¸å¤Ï ½ÅÍפÊÌäÂê¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢¤¬À¸¤­»Ä¤Ã¤¿¤«¤É¤¦¤«¤Ç¤¹¡£ Äê´üŪ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤Ã¤Æ¤¤¤ì¤Ð¡¢ ¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ä¤¤¤Æ¿´ÇÛ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¾ã³²¤¬¤¢¤ì¤Ð¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤ò»ÈÍѤ¹¤ëÁ°¤Ë¤½¤ÎÉôÉʤò¸ò´¹¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ï¡¼¥É¥¦¥§¥¢¤ËÌäÂ̵꤬¤±¤ì¤Ð¡¢¥Õ¥í¥Ã¥Ô¡¼¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥«¥¹¥¿¥à¥Ö¡¼¥È¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ç¥Ö¡¼¥È¤·¤Æ (boot: ¥×¥í¥ó¥×¥È¤Ç -s ¤òÆþÎϤ·¤Þ¤¹)¡¢ ¼¡¤ÎÃÊÍî¤ÏÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£ boot.flp ¤È fixit.flp ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¤³¤Î¤Þ¤ÞÆÉ¤ß¿Ê¤á¤Æ¤¯¤À¤µ¤¤¡£ boot.flp ¥Õ¥í¥Ã¥Ô¡¼¤ò¥Õ¥í¥Ã¥Ô¡¼¥É¥é¥¤¥Ö¤ËÆþ¤ì¤Æ¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ ËÜÍè¤Î¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ë¥å¡¼¤¬²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ Fixit--Repair mode with CDROM or floppy. ¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Þ¤¹¡£»Ø¼¨¤µ¤ì¤¿Ä̤ê fixit.flp ¤ò¤¤¤ì¤Æ¤¯¤À¤µ¤¤¡£ restore ¤È¤½¤Î¾ɬÍפȤʤë¥×¥í¥°¥é¥à¤Ï /mnt2/stand ¤Ë¤¢¤ê¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò°ì¤Ä¤º¤Ä²óÉü¤·¤Þ¤¹¡£ mount root ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó disklabel newfs ºÇ½é¤Î¥Ç¥£¥¹¥¯¤Î¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò mount ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤ (¤¿¤È¤¨¤Ð mount /dev/da0a /mnt)¡£ ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤¬Ç˲õ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢disklabel ¤òÍѤ¤¤Æ¤¢¤é¤«¤¸¤á°õºþ¤·¤ÆÊݸ¤·¤Æ¤ª¤¤¤¿Ä̤ê¤Ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºî¤êľ¤·¡¢¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£ newfs ¤ò»ÈÍѤ·¤Æ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºî¤êľ¤·¤Þ¤¹¡£ ¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÆÉ¤ß½ñ¤­²Äǽ¤Ë¥Þ¥¦¥ó¥È¤·Ä¾¤·¤Þ¤¹ (mount -u -o rw /mnt)¡£ ¥Ð¥Ã¥¯¥¢¥Ã¥×¥×¥í¥°¥é¥à¤È¥Ð¥Ã¥¯¥¢¥Ã¥×¥Æ¡¼¥×¤ò»ÈÍѤ·¤Æ¡¢ ¤³¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Ç¡¼¥¿¤ò²óÉü¤·¤Þ¤¹ (¤¿¤È¤¨¤Ð restore vrf /dev/sa0)¡£ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Þ¤¹ (¤¿¤È¤¨¤Ð umount /mnt)¡£ ¾ã³²¤ò¼õ¤±¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ·«¤êÊÖ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥·¥¹¥Æ¥à¤¬Æ°¤­½Ð¤·¤¿¤é¡¢ ¿·¤·¤¤¥Æ¡¼¥×¤Ë¥Ç¡¼¥¿¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤É¤Î¤è¤¦¤ÊÍýͳ¤ÇºÆ¤Ó»ö¸Î¤¬µ¯¤­¤¿¤ê¡¢¥Ç¡¼¥¿¤¬¼º¤ï¤ì¤ë¤«¤ï¤«¤ê¤Þ¤»¤ó¡£ ¤³¤ì¤Ë¿ô»þ´Ö¤òÈñ¤¹¤³¤È¤Ç¡¢¸å¡¹¤ÎºÒÆñ¤«¤éµß¤ï¤ì¤Þ¤¹¡£ Marc Fonvieille ºÆ¹½À®¤ª¤è¤ÓÄɵ­: ¥Í¥Ã¥È¥ï¡¼¥¯¡¢¥á¥â¥ê¡¢¤½¤·¤Æ¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ²¾Áۥǥ£¥¹¥¯ ¥Ç¥£¥¹¥¯ ²¾ÁÛ FreeBSD ¤Ë¤Ï¥Õ¥í¥Ã¥Ô¡¼¤ä CD, ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ê¤É¤Î¼ê¸µ¤Î·×»»µ¡¤Ë¼è¤êÉÕ¤±¤¿¥Ç¥£¥¹¥¯¤Î¾¤Ë¡¢ Ê̤ηÁÂ֤Υǥ£¥¹¥¯¡¢²¾Áۥǥ£¥¹¥¯¡¢¤â¤¢¤ê¤Þ¤¹¡£ NFS Coda ¥Ç¥£¥¹¥¯ ¥á¥â¥ê ¤³¤ì¤Ë¤Ï¡¢Network File System ¤Î¤è¤¦¤Ê¥Í¥Ã¥È¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ä Coda, ¥á¥â¥ê¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ª¤è¤Ó¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¤¢¤ê¤Þ¤¹¡£ ²ÔƯ¤µ¤»¤Æ¤¤¤ë FreeBSD ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢ ¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤ª¤è¤Ó¥á¥â¥ê¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤·¤¿¤êÁàºî¤¹¤ë¤¿¤á¤Ë¡¢°Û¤Ê¤ë¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Ç¤·¤ç¤¦¡£ FreeBSD 4.X ¤Î»ÈÍѼԤÏɬÍפʥǥХ¤¥¹¤òºîÀ®¤¹¤ë¤¿¤á¤Ë &man.MAKEDEV.8; ¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Ç¤·¤ç¤¦¡£FreeBSD 5.0 °Ê¹ß¤Ç¤Ï¡¢&man.devfs.5; ¤¬¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤ò¼«Æ°Åª¤Ë³ä¤êÅö¤Æ¤Æ¤¯¤ì¤ë¤Î¤Ç¡¢ »ÈÍѼԤ¬°Õ¼±¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ FreeBSD 4.X ¤Ç¥Õ¥¡¥¤¥ëÃæ¤Ë¹½ÃÛ¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ¥Ç¥£¥¹¥¯ ¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹ (4.X) &man.vnconfig.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤¨¤Ðµ¼»÷¥Ç¥£¥¹¥¯¥Ç¥Ð¥¤¥¹¤òÀßÄꤷ¡¢ Í­¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ vnode ¤È¤Ï¥Õ¥¡¥¤¥ë¤ÎÆâÉôŪ¤Êɽ¸½ÊýË¡¤Ç¤¢¤ê¡¢ ¥Õ¥¡¥¤¥ë¤Ë´Ø¤¹¤ëÁàºî¤ÎÃæ¿´¤È¤Ê¤ë¤â¤Î¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢&man.vnconfig.8; ¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÀ¸À®¤·¤¿¤êÁàºî¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¥Õ¥¡¥¤¥ë¤òÍѤ¤¤ë¤Î¤Ç¤¹¡£ °ì¤ÄÎã¤òµó¤²¤ë¤È¡¢ ¥Õ¥¡¥¤¥ë¤Ë¼ý¤á¤é¤ì¤¿¥Õ¥í¥Ã¥Ô¡¼¤ä CD-ROM ¤Î¥¤¥á¡¼¥¸¤ò¥Þ¥¦¥ó¥È¤¹¤ë¤¿¤á¤ËÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &man.vnconfig.8; ¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢ ¥«¡¼¥Í¥ë¤¬ &man.vn.4; ¥Ç¥Ð¥¤¥¹¤ËÂбþ¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë ¼¡¤Î¹Ô¤òÄɲ䷤ƥ«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¡¢¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ pseudo-device vn ´û¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥á¡¼¥¸¤Î¥Þ¥¦¥ó¥È FreeBSD 4.X ¤Ç¤Î vnconfig ¤òÍѤ¤¤¿´û¸¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥á¡¼¥¸¤Î¥Þ¥¦¥ó¥È &prompt.root; vnconfig vn0 diskimage &prompt.root; mount /dev/vn0c /mnt &man.vnconfig.8; ¤òÍѤ¤¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥á¡¼¥¸¤Î¿·µ¬ºîÀ® <command>vnconfig</command> ¤òÍѤ¤¤¿¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¥Ç¥£¥¹¥¯¤Î¿·µ¬ºîÀ® &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; vnconfig -s labels -c vn0 newimage &prompt.root; disklabel -r -w vn0 auto &prompt.root; newfs vn0c Warning: 2048 sector(s) in last cylinder unallocated /dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors 5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g) super-block backups (for fsck -b #) at: 32 &prompt.root; mount /dev/vn0c /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/vn0c 4927 1 4532 0% /mnt FreeBSD 5.X ¤Ç¥Õ¥¡¥¤¥ëÃæ¤Ë¹½ÃÛ¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ¥Ç¥£¥¹¥¯ ¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹ (5.X) &man.mdconfig.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï FreeBSD 5.X ¤Ë¤ª¤¤¤Æ ¥á¥â¥ê¥Ç¥£¥¹¥¯ (&man.md.4;) ¤òÀßÄꤷ¡¢Í­¸ú¤Ë¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ &man.mdconfig.8; ¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï &man.md.4; ¥â¥¸¥å¡¼¥ë¤òÆÉ¤ß¹þ¤à¤«¡¢ ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë &man.md.4; ¥Ç¥Ð¥¤¥¹¤òÄɲ䷤ƥ«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¡¢¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ device md &man.mdconfig.8; ¥³¥Þ¥ó¥É¤Ï¡¢ »°¤Ä¤Î¥¿¥¤¥×¤Î¥á¥â¥ê¥Ù¡¼¥¹²¾Áۥǥ£¥¹¥¯¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ &man.malloc.9; ¤òÍѤ¤¤Æ³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¥Ç¥£¥¹¥¯¡¢ ¥Õ¥¡¥¤¥ë¤ò¥Ù¡¼¥¹¤Ë¤·¤¿¥á¥â¥ê¥Ç¥£¥¹¥¯¡¢ ¤ª¤è¤Ó¥¹¥ï¥Ã¥×Îΰè¤ò¥Ù¡¼¥¹¤Ë¤·¤¿¥á¥â¥ê¥Ç¥£¥¹¥¯¤Ç¤¹¡£ ÁÛÄꤵ¤ì¤ë»ÈÍÑË¡¤Ï¡¢¥Õ¥¡¥¤¥ëÆâ¤ËÊÝ»ý¤µ¤ì¤¿¥Õ¥í¥Ã¥Ô¡¼¥¤¥á¡¼¥¸¤Þ¤¿¤Ï CD ¥¤¥á¡¼¥¸¤ò¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤Ç¤¹¡£ ´û¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥á¡¼¥¸¤Î¥Þ¥¦¥ó¥È FreeBSD 5.X ¤Ç¤Î <command>mdconfig</command> ¤òÍѤ¤¤¿´û¸¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥á¡¼¥¸¤Î¥Þ¥¦¥ó¥È &prompt.root; mdconfig -a -t vnode -f diskimage -u 0 &prompt.root; mount /dev/md0c /mnt &man.mdconfig.8; ¤òÍѤ¤¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥á¡¼¥¸¤Î¿·µ¬ºîÀ® <command>mdconfig</command> ¤òÍѤ¤¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¤¥á¡¼¥¸¤Î¿·µ¬ºîÀ® &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdconfig -a -t vnode -f newimage -u 0 &prompt.root; disklabel -r -w md0 auto &prompt.root; newfs md0c /dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes. super-block backups (for fsck -b #) at: 32, 2624, 5216, 7808 &prompt.root; mount /dev/md0c /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0c 4846 2 4458 0% /mnt ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ ¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢&man.mdconfig.8; ¤Ï̤»ÈÍѤΥǥХ¤¥¹¤ò¼«Æ°Åª¤ËÁªÂò¤¹¤ë¤¿¤á¤Ë &man.md.4; ¥Ç¥Ð¥¤¥¹¤Î auto-unit µ¡Ç½¤ò»ÈÍѤ·¤Þ¤¹¡£ ³ä¤êÅö¤Æ¤é¤ì¤¿¥æ¥Ë¥Ã¥È¤Î̾Á°¤Ï md4 ¤Î¤è¤¦¤Ëɸ½à½ÐÎϤ˽ÐÎϤµ¤ì¤Þ¤¹¡£&man.mdconfig.8; ¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ &os; 5.1-RELEASE ¤«¤é¡¢½¾Íè¤Î &man.disklabel.8; ¥×¥í¥°¥é¥à¤Ï &man.bsdlabel.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤·¤¿¡£&man.bsdlabel.8; ¤Ç¤Ï¡¢ »ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¥ª¥×¥·¥ç¥ó¤ª¤è¤Ó¥Ñ¥é¥á¥¿¤Î¿ô¿¤¯¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿¡£ ¤¿¤È¤¨¤Ð ¥ª¥×¥·¥ç¥ó¤Ï &man.bsdlabel.8; ¤Ç¤Ï¼è¤ê½ü¤«¤ì¤Þ¤·¤¿¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï &man.bsdlabel.8; ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ &man.mdconfig.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ÏÂçÊÑÌò¤ËΩ¤Á¤Þ¤¹¤¬¡¢ ¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¡¢ ¿¤¯¤Î¥³¥Þ¥ó¥É¤ÎÆþÎϤ¬É¬ÍפȤʤê¤Þ¤¹¡£FreeBSD 5.0 ¤Ç¤Ï &man.mdmfs.8; ¤È¸Æ¤Ð¤ì¤ë¥Ä¡¼¥ë¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥×¥í¥°¥é¥à¤Ï &man.mdconfig.8; ¤òÍѤ¤¤Æ &man.md.4; ¥Ç¥£¥¹¥¯¤òÀßÄꤷ¡¢&man.newfs.8; ¤òÍѤ¤¤Æ UFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤·¡¢&man.mount.8; ¤òÍѤ¤¤Æ¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾åµ­¤ÈƱ¤¸¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤·¡¢ ¥Þ¥¦¥ó¥È¤·¤¿¤¤¾ì¹ç¤Ï¡¢²¼µ­¤Î¤è¤¦¤ËÆþÎϤ¹¤ë¤À¤±¤Ç¤¹¡£ <command>mdmfs</command> ¤òÍѤ¤¤¿¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¥Ç¥£¥¹¥¯¤ÎÀßÄê¤È¥Þ¥¦¥ó¥È &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdmfs -F newimage -s 5m md0 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4846 2 4458 0% /mnt ¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤ò»ØÄꤻ¤º¤Ë ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢&man.mdmfs.8; ¤Ï̤»ÈÍѤΥǥХ¤¥¹¤ò¼«Æ°Åª¤ËÁªÂò¤¹¤ë¤¿¤á¤Ë &man.md.4; ¥Ç¥Ð¥¤¥¹¤Î auto-unit µ¡Ç½¤ò»ÈÍѤ·¤Þ¤¹¡£&man.mdmfs.8; ¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD 4.X ¤Ç¤Î¥á¥â¥ê¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ¥Ç¥£¥¹¥¯ ¥á¥â¥ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à (4.X) &man.md.4; ¥É¥é¥¤¥Ð¤Ï FreeBSD 4.X ¤Ë¤ª¤¤¤Æ¥á¥â¥ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤¿¤á¤Ëñ½ã¤Ç¸ú²ÌŪ¤Ê¼êÃʤǤ¹¡£ ¥á¥â¥ê¤ò³ä¤êÅö¤Æ¤ë¤¿¤á¤Ë &man.malloc.9; ´Ø¿ô¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ &man.vnconfig.8; ¤òÍѤ¤¤ÆºîÀ®¤·¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÎã¤Ë¼è¤ë¤È¡¢ °Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ FreeBSD 4.X ¤Ç¤Î md ¥á¥â¥ê¥Ç¥£¥¹¥¯ &prompt.root; dd if=newimage of=/dev/md0 5120+0 records in 5120+0 records out &prompt.root; mount /dev/md0c /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0c 4927 1 4532 0% /mnt ¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï &man.md.4; ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ FreeBSD 5.X ¤Ç¤Î¥á¥â¥ê¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ¥Ç¥£¥¹¥¯ ¥á¥â¥ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à (5.X) ¥á¥â¥ê¥Ù¡¼¥¹¤ª¤è¤Ó¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂФ·¤Æ¤â Ʊ¤¸¥Ä¡¼¥ë (&man.mdconfig.8; ¤Þ¤¿¤Ï &man.mdmfs.8;) ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ ¥á¥â¥ê¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂФ¹¤ëµ­²±Îΰè¤Ï &man.malloc.9; ´Ø¿ô¤òÍѤ¤¤Æ³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£ <command>mdconfig</command> ¤òÍѤ¤¤¿¥á¥â¥ê¥Ù¡¼¥¹¥Ç¥£¥¹¥¯¤Î¿·µ¬ºîÀ® &prompt.root; mdconfig -a -t malloc -s 5m -u 1 &prompt.root; newfs -U md1 /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes. with soft updates super-block backups (for fsck -b #) at: 32, 2624, 5216, 7808 &prompt.root; mount /dev/md1 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4846 2 4458 0% /mnt <command>mdmfs</command> ¤òÍѤ¤¤¿¥á¥â¥ê¥Ù¡¼¥¹¥Ç¥£¥¹¥¯¤Î¿·µ¬ºîÀ® &prompt.root; mdmfs -M -s 5m md2 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt &man.mdconfig.8; ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î ¤ò ¤ËÃÖ¤­´¹¤¨¤ë¤³¤È¤Ç¡¢&man.malloc.9; ´Ø¿ô¤Ë¤è¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò»ÈÍѤ¹¤ëÂå¤ï¤ê¤Ë ¥¹¥ï¥Ã¥×Îΰè¤ò»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï &man.mdmfs.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥¹¥ï¥Ã¥×¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯¤òºîÀ®¤·¤Þ¤¹ ( ¤Ê¤·)¡£¾ÜºÙ¤Ï &man.mdconfig.8; ¤ª¤è¤Ó &man.mdmfs.8; ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥·¥¹¥Æ¥à¤«¤é¥á¥â¥ê¥Ç¥£¥¹¥¯¤òÀÚ¤êÎ¥¤¹ ¥Ç¥£¥¹¥¯ ¥á¥â¥ê¥Ç¥£¥¹¥¯¤ÎÀÚ¤êÎ¥¤· ¥á¥â¥ê¥Ù¡¼¥¹¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ ¤¹¤Ù¤Æ¤Î¥ê¥½¡¼¥¹¤ò¥·¥¹¥Æ¥à¤Ë³«Êü¤¹¤ë¤Ù¤­¤Ç¤¹¡£ ¤Ï¤¸¤á¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ ¼¡¤Ë¥·¥¹¥Æ¥à¤«¤é¥Ç¥£¥¹¥¯¤òÀÚ¤êÎ¥¤·¡¢¥ê¥½¡¼¥¹¤ò³«Êü¤¹¤ë¤¿¤á¤Ë &man.mdconfig.8; ¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð /dev/md4 ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ê¥½¡¼¥¹¤òÀÚ¤êÎ¥¤·¡¢³«Êü¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; mdconfig -d -u 4 mdconfig -l ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ÀßÄꤵ¤ì¤¿ &man.md.4; ¥Ç¥Ð¥¤¥¹¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¼¨¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ FreeBSD 4.X ¤Ç¤Ï &man.vnconfig.8; ¤Ï¥Ç¥Ð¥¤¥¹¤òÀÚ¤êÎ¥¤¹¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð /dev/vn4 ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤¿¤¹¤Ù¤Æ¤Î¥ê¥½¡¼¥¹¤òÀÚ¤êÎ¥¤·¡¢³«Êü¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; vnconfig -u vn4 Tom Rhodes ´ó¹Æ: ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È FreeBSD 5.0 ¤Ï Soft Updates ¤È¶¨Ä´¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤È¤¤¤¦¿·¤·¤¤µ¡Ç½¤òÄ󶡤·¤Þ¤¹¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ï»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¤¥á¡¼¥¸¤òºîÀ®¤·¡¢ ¤Þ¤¿¡¢¥Õ¥¡¥¤¥ë¤È¤·¤Æ°·¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤Ï¥¢¥¯¥·¥ç¥ó¤¬¼Â¹Ô¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤ÇºîÀ®¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¥æ¡¼¥¶¤Ï°ì¤Ä¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¢¤¿¤ê 20 ¤Þ¤Ç¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Í­¸ú¤Ê¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ï¥¹¡¼¥Ñ¡¼¥Ö¥í¥Ã¥¯Æâ¤Ëµ­Ï¿¤µ¤ì¤ë¤Î¤Ç¡¢ ¥ê¥Ö¡¼¥È¤·¤Æ¤«¤é±Ê³Ū¤Ë¥¢¥ó¥Þ¥¦¥ó¥È¤ª¤è¤Ó¥ê¥Þ¥¦¥ó¥È¤òµ­Ï¿¤·¤Þ¤¹¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤¬É¬Í×̵¤¯¤Ê¤Ã¤¿¤È¤­¤Ï¡¢ ɸ½à¤Î &man.rm.1; ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æºï½ü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ï¤É¤ó¤Ê½çÈ֤Ǻï½ü¤·¤Æ¤â¤è¤¤¤Î¤Ç¤¹¤¬¡¢ ¤½¤Î¾¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤¬³«Êü¤µ¤ì¤¿¥Ö¥í¥Ã¥¯¤Î¤¦¤Á¤¤¤¯¤é¤«¤ò¤ª¤½¤é¤¯É¬ÍפȤ¹¤ë¤Î¤Ç¡¢ »ÈÍѤµ¤ì¤Æ¤¤¤¿¤¹¤Ù¤Æ¤Î¥¹¥Ú¡¼¥¹¤òÆÀ¤é¤ì¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£ ½é¤á¤Æ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤òºîÀ®¤¹¤ë¤È¡¢root ¤Ç¤µ¤¨¤â½ñ¤­¹þ¤á¤Ê¤¤¤è¤¦¤Ë ¥Õ¥é¥° (&man.chflags.1; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È) ¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£ &man.unlink.1; ¥³¥Þ¥ó¥É¤Ï¡¢¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ë ¥Õ¥é¥°¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Æ¤â¤½¤ì¤é¤òºï½ü¤¹¤ë¤³¤È¤Î¤Ç¤­¤ëÎã³°¤Ç¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ëÁ°¤Ë¡¢ ¥Õ¥é¥°¤ò¥¯¥ê¥¢¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ï &man.mount.8; ¥³¥Þ¥ó¥É¤òÍѤ¤¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£ /var ¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò /var/snapshot/snap ¤ËºîÀ®¤·¤¿¤¤¤È¤­¤Ï¡¢ °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ &prompt.root; mount -u -o snapshot /var/snapshot/snap /var ¤Þ¤¿¡¢¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤òºîÀ®¤¹¤ë¤Î¤Ë &man.mksnap.ffs.8; ¤â»È¤¨¤Þ¤¹¡£ &prompt.root; mksnap_ffs /var /var/snapshot/snap ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ë¤Ï¤¤¤¯¤Ä¤«¤ÎÍøÍÑË¡¤¬¤¢¤ê¤Þ¤¹¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×ÌÜŪ¤Ë»ÈÍѤ¹¤ë´ÉÍý¼Ô¤â¤¤¤Þ¤¹¡£ ¤Ê¤¼¤Ê¤é¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ï CD ¤ä¥Æ¡¼¥×¤ËžÁ÷¤Ç¤­¤ë¤«¤é¤Ç¤¹¡£ ¥Õ¥¡¥¤¥ë¤Î´°Á´À­¤ò¸¡¾Ú¤¹¤ë¤¿¤á¤Ë¡¢ &man.fsck.8; ¤ò¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ë¼Â¹Ô¤·¤Æ¤â¤è¤¤¤Ç¤·¤ç¤¦¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò¥Þ¥¦¥ó¥È¤·¤¿¤È¤­¤Ë¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥¯¥ê¡¼¥ó¤Ç¤¢¤Ã¤¿¤È¤¹¤ë¤È¡¢ ¤½¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò¥Þ¥¦¥ó¥È¤¹¤ë¤È¤­¤Ï¤¤¤Ä¤Ç¤â¥¯¥ê¡¼¥ó¤Ê (¤½¤·¤ÆÊѹ¹¤Î¤Ê¤¤) ·ë²Ì¤òÆÀ¤ë¤Ç¤·¤ç¤¦¡£ ¤³¤ì¤ÏËܼÁŪ¤Ë¤Ï ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É &man.fsck.8; ¤¬¹Ô¤¦¤³¤È¤Ç¤¹¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¾å¤Ç &man.dump.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò¼Â¹Ô¤¹¤ë¤È¡¢ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬°ìÃפ¹¤ë¥À¥ó¥×¤¬ÊÖ¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£ &man.dump.8; ¤Ï ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢ °ì¤Ä¤Î¥³¥Þ¥ó¥É¤Ç¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò¤È¤ê¡¢¥À¥ó¥×¥¤¥á¡¼¥¸¤òºîÀ®¤·¤Æ¡¢¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤òºï½ü¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î Åà·ë¤µ¤ì¤¿ ¥¤¥á¡¼¥¸¤È¤·¤Æ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò &man.mount.8; ¤·¤Þ¤¹¡£ /var/snapshot/snap ¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò &man.mount.8; ¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ &prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4 &prompt.root; mount -r /dev/md4 /mnt ¤³¤ì¤Ç /mnt ¤Ë¥Þ¥¦¥ó¥È¤·¤¿ Åà·ë¾õÂ֤Π/var ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¹½Â¤¤òõº÷¤Ç¤­¤Þ¤¹¡£ ¤¹¤Ù¤Æ¤¬¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤¬ºîÀ®¤µ¤ì¤¿»þ¤ÈƱ¤¸¾õÂ֤ˤʤë¤Ï¤º¤Ç¤¹¡£¤¿¤À¤·¡¢ °ÊÁ°¤ËºîÀ®¤µ¤ì¤¿¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤¬¥µ¥¤¥º 0 ¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ¸½¤ì¤ë¤³¤È¤¬Í£°ì¤ÎÎã³°¤Ç¤¹¡£ ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Î»ÈÍѤò½ª¤¨¤¿¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¥¢¥ó¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤¹¡£ &prompt.root; umount /mnt &prompt.root; mdconfig -d -u 4 ¤ª¤è¤Ó¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ http://www.mckusick.com/ ¤Ë¤¢¤ë Marshall Kirk McKusick ¤Î¥¦¥§¥Ö¥µ¥¤¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤³¤Ë¤Ïµ»½ÑŪ¤ÊÏÀʸ¤â¤¢¤ê¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¯¥©¡¼¥¿ ¥¢¥«¥¦¥ó¥Æ¥£¥ó¥° ¥Ç¥£¥¹¥¯ÎÎ°è ¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿ ¥¯¥©¡¼¥¿¤Ï OS ¤Î»ý¤Ã¤Æ¤¤¤ë¥ª¥×¥·¥ç¥Ê¥ë¤Êµ¡Ç½¤Ç¤¢¤ê¡¢ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àËè¤Ë¥æ¡¼¥¶¤ä¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¤¬»ÈÍѤ¹¤ë¥Ç¥£¥¹¥¯ÍÆÎ̤ä¥Õ¥¡¥¤¥ë¤Î¿ô¤òÀ©¸Â¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Îµ¡Ç½¤Ï¡¢¤¢¤ë¥æ¡¼¥¶¤ä¥°¥ë¡¼¥×¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë¥ê¥½¡¼¥¹¤ÎÎ̤òÀ©¸Â¤¹¤ë¤³¤È¤¬Ë¾¤Þ¤·¤¤¤è¤¦¤Ê¥¿¥¤¥à¥·¥§¥¢¥ê¥ó¥°¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤Æ¤è¤¯ÍѤ¤¤é¤ì¤Þ¤¹¡£ ¤³¤Îµ¡Ç½¤òÍѤ¤¤ë¤³¤È¤Ë¤è¤Ã¤Æ»ÈÍѲÄǽ¤Ê¥Ç¥£¥¹¥¯ÍÆÎ̤ÎÁ´¤Æ¤ò°ì¿Í¤Î¥æ¡¼¥¶¤ä¥æ¡¼¥¶¤Î¥°¥ë¡¼¥×¤¬»È¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤òËɤ°¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿¤ò»È¤¦¤¿¤á¤Î¥·¥¹¥Æ¥àÀßÄê ¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿¤ÎÀßÄê¤ò»Ï¤á¤ëÁ°¤Ë¡¢ ¤Þ¤º¤Ï¥«¡¼¥Í¥ë¤Ë¥¯¥©¡¼¥¿¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£ ¥«¡¼¥Í¥ë¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¹Ô¤òÆþ¤ì¤Þ¤¹¡£ options QUOTA ɸ½à¤Î GENERIC ¥«¡¼¥Í¥ë¤Ç¤Ï¡¢ ¤³¤Îµ¡Ç½¤ÏÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢ ¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿¤òÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¾åµ­¤òÀßÄê¸å¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤·¤Ê¤ª¤·¡¢ ºîÀ®¤µ¤ì¤¿¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£ ¥«¡¼¥Í¥ë¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤Ë´Ø¤·¤Æ¤Ï ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¼¡¤Ë /etc/rc.conf ¤Ç¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤Î¹Ô¤ò²Ã¤¨¤Þ¤·¤ç¤¦¡£ enable_quotas="YES" ¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿ ¥Á¥§¥Ã¥¯ µ¯Æ°»þ¤Îưºî¤ò¤µ¤é¤ËºÙ¤«¤¯¥³¥ó¥È¥í¡¼¥ë¤¹¤ë¤¿¤á¤Ë¤â¤¦°ì¤ÄÀßÄêÍѤÎÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£ Ä̾µ¯Æ°»þ¤Ë¤Ï &man.quotacheck.8; ¤Ë¤è¤ê¤½¤ì¤¾¤ì¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¯¥©¡¼¥¿¤ÎÀ°¹çÀ­¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ &man.quotacheck.8; ¤ÎÌò³ä¤Ï¡¢ ¥¯¥©¡¼¥¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¡¼¥¿¤¬Àµ¤·¤¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î¥Ç¡¼¥¿¤òÈ¿±Ç¤·¤Æ¤¤¤ë¤«³Îǧ¤¹¤ë¤³¤È¤Ç¤¹¡£ ¤³¤ì¤Ï¤«¤Ê¤ê»þ´Ö¤ò¿©¤¦½èÍý¤Ç¤¢¤ê¡¢ µ¯Æ°¤Ë¤«¤«¤ë»þ´Ö¤ËÂ礭¤Ê±Æ¶Á¤òµÚ¤Ü¤·¤Þ¤¹¡£ ¤³¤Î¥¹¥Æ¥Ã¥×¤ò¤È¤Ð¤·¤¿¤¤¿Í¤Î¤¿¤á¤Ë /etc/rc.conf ¤Ë¼¡¤ÎÊÑ¿ô¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£ check_quotas="NO" ¤â¤· 3.2-RELEASE ¤è¤ê¤âÁ°¤Î FreeBSD ¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¤ÐÀßÄê¤Ï¤â¤Ã¤Èñ½ã¤Ç¡¢°ì¤Ä¤ÎÊÑ¿ô¤Î¤ß¤Ç¤¹¡£ ¼¡¤Î¹Ô¤ò /etc/rc.conf ¤ÇÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ check_quotas="YES" ºÇ¸å¤Ë¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àËè¤Ë¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤¹¤ë¤¿¤á¤Ë /etc/fstab ¤òÊÔ½¸¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤³¤Ç¥æ¡¼¥¶¤â¤·¤¯¤Ï¥°¥ë¡¼¥×¡¢ ¤¢¤ë¤¤¤Ï¤½¤ÎξÊý¤Ë¥¯¥©¡¼¥¿¤òÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¤¹¡£ ¤¢¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¥æ¡¼¥¶Ëè¤Î¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ /etc/fstab Ãæ¤Ç¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤·¤¿¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥¨¥ó¥È¥ê¤Î¥ª¥×¥·¥ç¥óÉô¤Ë ¤ò²Ã¤¨¤Þ¤¹¡£ Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ /dev/da1s2g /home ufs rw,userquota 1 2 ƱÍͤˡ¢¥°¥ë¡¼¥×¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï ¥­¡¼¥ï¡¼¥É¤ÎÂå¤ï¤ê¤Ë ¤òÍѤ¤¤Þ¤¹¡£ ¥æ¡¼¥¶¤È¥°¥ë¡¼¥×¤ÎξÊý¤Î¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ /dev/da1s2g /home ufs rw,userquota,groupquota 1 2 ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ ¥¯¥©¡¼¥¿¥Õ¥¡¥¤¥ë¤Ï¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë ¥æ¡¼¥¶ÍÑ¡¢¥°¥ë¡¼¥×ÍѤ½¤ì¤¾¤ì quota.user, quota.group ¤È¤¤¤¦Ì¾Á°¤ÇÃÖ¤«¤ì¤Þ¤¹¡£¤µ¤é¤Ë¾Ü¤·¤¤¾ðÊó¤Ï &man.fstab.5; ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£&man.fstab.5; ¥Þ¥Ë¥å¥¢¥ë¤Ë¤ÏÊ̤ξì½ê¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¤È½ñ¤¤¤Æ¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢ ¤¢¤Þ¤ê´«¤á¤é¤ì¤Þ¤»¤ó¡£¤Ê¤¼¤Ê¤é¡¢ ÍÍ¡¹¤Ê¥¯¥©¡¼¥¿´Ø·¸¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬¤½¤ì¤Ë¤¦¤Þ¤¯Âнè¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤¤¤¿¤á¤Ç¤¹¡£ ¤³¤Î»þÅÀ¤Ç¡¢ °ìÅÙ¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Æ¿·¤·¤¤¥«¡¼¥Í¥ë¤ÇΩ¤Á¾å¤²¤Þ¤·¤ç¤¦¡£ /etc/rc ¤¬¼«Æ°Åª¤ËŬÅö¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢ /etc/fstab ¤ÇÍ­¸ú¤Ë¤·¤¿Á´¤Æ¤Î¥¯¥©¡¼¥¿ÍѤ˽é´ü¥Õ¥¡¥¤¥ë¤òºî¤Ã¤Æ¤¯¤ì¤Þ¤¹¡£ ½¾¤Ã¤Æ¡¢¶õ¤Î¥¯¥©¡¼¥¿¥Õ¥¡¥¤¥ë¤ò¼ê¤Çºî¤ëɬÍפϰìÀÚ¤¢¤ê¤Þ¤»¤ó¡£ Ä̾ï¤Î±¿ÍÑ¤Ç¤Ï &man.quotacheck.8; ¤ä &man.quotaon.8;, &man.quotaoff.8; ¤È¤¤¤Ã¤¿¥³¥Þ¥ó¥É¤ò¼ê¤Çư¤«¤¹É¬ÍפϤʤ¤¤Î¤Ç¤¹¤¬¡¢ ´·¤ì¤ë¤¿¤á¤Ë¤â¤³¤ì¤é¤Î¥Þ¥Ë¥å¥¢¥ë¤ÏÆÉ¤ó¤Ç¤ª¤­¤Þ¤·¤ç¤¦¡£ ¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤ÎÀßÄê ¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿ À©¸Â °ìö¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤·¤¿¤éËÜÅö¤ËÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«³Îǧ¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£´Êñ¤ÊÊýË¡¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤¹¡£ &prompt.root; quota -v ¥Ç¥£¥¹¥¯¤Î»ÈÍѾõ¶·¤È¡¢¥¯¥©¡¼¥¿¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤¬°ì¹Ô¤Ë¤Þ¤È¤á¤Æ½ÐÎϤµ¤ì¤ë¤Ç¤·¤ç¤¦¡£ ¤µ¤¢¡¢&man.edquota.8; ¤Ç¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤òÀßÄꤹ¤ë½àÈ÷¤¬¤Ç¤­¤Þ¤·¤¿¡£ ¥æ¡¼¥¶¤ä¥°¥ë¡¼¥×¤¬»ÈÍѤǤ­¤ë¥Ç¥£¥¹¥¯ÍÆÎ̤äºîÀ®¤Ç¤­¤ë¥Õ¥¡¥¤¥ë¤Î¿ô¤ËÀ©¸Â¤ò¤«¤±¤ë¤Ë¤Ï¤¤¤¯¤Ä¤«¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£³ä¤êÅö¤Æ¥Ç¥£¥¹¥¯ÍÆÎ̤òÀ©¸Â (¥Ö¥í¥Ã¥¯¥¯¥©¡¼¥¿) ¤¹¤ë¤³¤È¤â¥Õ¥¡¥¤¥ë¿ô¤òÀ©¸Â (inode ¥¯¥©¡¼¥¿) ¤¹¤ë¤³¤È¤â¡¢Î¾¼Ô¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤â¤Ç¤­¤ë¤Î¤Ç¤¹¡£ ¤³¤ì¤é¤ÎÀ©¸Â¤Ï¤½¤ì¤¾¤ì¤µ¤é¤ËÆó¤Ä¤Î¥«¥Æ¥´¥ê¡¢ ¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤È¥½¥Õ¥È¥ê¥ß¥Ã¥È¡¢¤Ëʬ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ï¡¼¥É¥ê¥ß¥Ã¥È ¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤ò±Û¤¨¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤¢¤ë¥æ¡¼¥¶¤¬°ìö¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤Ë¤¿¤Ã¤·¤¿¾ì¹ç¡¢ ¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¤½¤ì°Ê¾å¤Î³ä¤êÅö¤Æ¤Ï˾¤á¤Þ¤»¤ó¡£ Î㤨¤Ð¤¢¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë 500 ¥Ö¥í¥Ã¥¯¤Î¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¸½ºß 490 ¥Ö¥í¥Ã¥¯¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢¤µ¤é¤Ë 10 ¥Ö¥í¥Ã¥¯¤·¤«»È¤¨¤Ê¤¤¤Î¤Ç¤¹¡£ 11 ¥Ö¥í¥Ã¥¯¤ò»È¤ª¤¦¤È¤¹¤ë¤È¼ºÇÔ¤·¤Þ¤¹¡£ ¥½¥Õ¥È¥ê¥ß¥Ã¥È °ìÊý¡¢ ¥½¥Õ¥È¥ê¥ß¥Ã¥È¤Ï¤¢¤ë¸Â¤é¤ì¤¿»þ´ÖÆâ¤Ç¤¢¤ì¤Ð±Û¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î»þ´Ö¤Ïͱͽ´ü´Ö¤È¤·¤ÆÃΤé¤ì¤Æ¤ª¤ê¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 1 ½µ´Ö¤Ç¤¹¡£ ¤¢¤ë¥æ¡¼¥¶¤¬¼«Ê¬¤Î¥½¥Õ¥È¥ê¥ß¥Ã¥È¤òͱͽ´ü´Ö¤è¤ê¤âŤ¤´Ö±Û¤¨¤Æ¤¤¤ë¤È¥½¥Õ¥È¥ê¥ß¥Ã¥È¤Ï¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤ËÊѤï¤ê¡¢¤½¤ì°Ê¾å»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¥æ¡¼¥¶¤¬¥½¥Õ¥È¥ê¥ß¥Ã¥È¤è¤ê¤â¸º¤é¤»¤Ðͱͽ´ü´Ö¤Ï¥ê¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£ °Ê²¼¤Ï &man.edquota.8; ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿»þ¤Ë¸«¤ë¤³¤È¤Ë¤Ê¤ë¤Ç¤¢¤í¤¦Îã¤Ç¤¹¡£ &man.edquota.8; ¥³¥Þ¥ó¥É¤¬µ¯Æ°¤µ¤ì¤ë¤È´Ä¶­ÊÑ¿ô EDITOR ¤Ç»ØÄꤵ¤ì¤ë¥¨¥Ç¥£¥¿¤ËÆþ¤ê¤Þ¤¹¡£ EDITOR ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï vi ¤¬µ¯Æ°¤µ¤ì¤Þ¤¹¡£ ¤³¤³¤Ç¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤òÊÔ½¸¤·¤Þ¤¹¡£ &prompt.root; edquota -u test Quotas for user test: /usr: blocks in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: blocks in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60) Ä̾¥¯¥©¡¼¥¿¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àËè¤Ë 2 ¹Ô¤¢¤ê¤Þ¤¹¡£ °ì¤Ä¤Ï¥Ö¥í¥Ã¥¯¥ê¥ß¥Ã¥ÈÍѤǤ⤦°ì¤Ä¤Ï inode ¥ê¥ß¥Ã¥ÈÍѤǤ¹¡£ ¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤òÊѹ¹¤·¤¿¤¤¤È¤³¤í¤ò½ñ¤­ÊѤ¨¤ë¤À¤±¤Ç¤«¤Þ¤¤¤Þ¤»¤ó¡£ ¤¿¤È¤¨¤Ð¤³¤Î¥æ¡¼¥¶¤Î¥Ö¥í¥Ã¥¯¥ê¥ß¥Ã¥È¤ò¡¢¥½¥Õ¥È¥ê¥ß¥Ã¥È¤Ï 50 ¤«¤é 500 ¤Ø¡¢¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤Ï 75 ¤«¤é 600 ¤ËÊѹ¹¤¹¤ë¾ì¹ç¡¢ /usr: blocks in use: 65, limits (soft = 50, hard = 75) ¤«¤é /usr: blocks in use: 65, limits (soft = 500, hard = 600) ¤Ø½ñ¤­´¹¤¨¤Þ¤¹¡£¿·¤·¤¤¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤Ï¥¨¥Ç¥£¥¿¤ò½ªÎ»¤¹¤ì¤ÐÀßÄꤵ¤ì¤Þ¤¹¡£ ¤¢¤ëÈϰϤΠUID ¤ËÂФ·¤Æ¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤òÀßÄꤷ¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤Î¤è¤¦¤Ê»þ¤Ë¤Ï &man.edquota.8; ¥³¥Þ¥ó¥É¤Î ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£¤Þ¤º¡¢ ¤¢¤ë¥æ¡¼¥¶¤Ë³ä¤êÅö¤Æ¤¿¤¤¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤òÀßÄꤷ¡¢¼¡¤Ë edquota -p protouser startuid-enduid ¤ò¼Â¹Ô¤¹¤ë¤Î¤Ç¤¹¡£Î㤨¤Ð¥æ¡¼¥¶ test ¤Ë¤ªË¾¤ß¤Î¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤¬ÉÕ¤¤¤Æ¤¤¤ë¤È¤·¤Þ¤·¤ç¤¦¡£ ¼¡¤Î¥³¥Þ¥ó¥É¤Ë¤è¤ê 10,000 ¤«¤é 19,999 ¤Î´Ö¤Î UID ¤ËÂФ·¤ÆÆ±¤¸¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¤¹¡£ &prompt.root; edquota -p test 10000-19999 ¤µ¤é¤Ë¾Ü¤·¤¤¤³¤È¤Ï &man.edquota.8; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤È¥Ç¥£¥¹¥¯»ÈÍѾõ¶·¤Î¥Á¥§¥Ã¥¯ ¥Ç¥£¥¹¥¯¥¯¥©¡¼¥¿ ¥Á¥§¥Ã¥¯ &man.quota.1; ¤Þ¤¿¤Ï &man.repquota.8; ¤È¤¤¤Ã¤¿¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤ä¥Ç¥£¥¹¥¯¤ÎÍøÍѾõ¶·¤ò³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &man.quota.1; ¥³¥Þ¥ó¥É¤Ï¸Ä¡¹¤Î¥æ¡¼¥¶¤ä¥°¥ë¡¼¥×¤Î¥¯¥©¡¼¥¿¤ä¥Ç¥£¥¹¥¯ÍøÍѾõ¶·¤ò³Îǧ¤¹¤ë¤Î¤Ë»È¤¨¤Þ¤¹¡£ ¥æ¡¼¥¶¤Ï¼«¿È¤Î¥¯¥©¡¼¥¿¡¢¤½¤·¤Æ½ê°¤¹¤ë¥°¥ë¡¼¥×¤Î¥°¥ë¡¼¥×¤Î¤ß³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Î¤ß¤¬Â¾¤Î¥æ¡¼¥¶¤ä½ê°¤·¤Æ¤¤¤Ê¤¤¥°¥ë¡¼¥×¤Î¥¯¥©¡¼¥¿¤ÈÍøÍѾõ¶·¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ &man.repquota.8; ¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢¥¯¥©¡¼¥¿¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÍѤÎÁ´¤Æ¤Î¥¯¥©¡¼¥¿¤ä¥Ç¥£¥¹¥¯ÍÆÎ̤Υµ¥Þ¥ê¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ °Ê²¼¤ÏÆó¤Ä¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¥¯¥©¡¼¥¿À©¸Â¤¬¤«¤±¤é¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¤ËÂФ¹¤ëquota -v ¥³¥Þ¥ó¥É¤Î½ÐÎÏÎã¤Ç¤¹¡£ Disk quotas for user test (uid 1002): Filesystem blocks quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60 ͱͽ´ü´Ö ¾å¤ÎÎã¤Ç¡¢/usr ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ç¤Ï¤³¤Î¥æ¡¼¥¶¤Ï¸½ºß 50 ¥Ö¥í¥Ã¥¯¤È¤¤¤¦¥½¥Õ¥È¥ê¥ß¥Ã¥È¤ò 15 ¥Ö¥í¥Ã¥¯¥ª¡¼¥Ð¡¼¤· 5 Æü´Ö¤Îͱͽ´ü´Ö¤¬»Ä¤Ã¤Æ¤¤¤Þ¤¹¡£¥¢¥¹¥¿¥ê¥¹¥¯ * ¤Ï¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤ò±Û¤¨¤Æ¤¤¤ë¥æ¡¼¥¶¤ò¼¨¤·¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ Ä̾¤½¤Î¥æ¡¼¥¶¤¬Á´¤¯»È¤Ã¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢ ¥¯¥©¡¼¥¿¥ê¥ß¥Ã¥È¤¬ÉÕ¤±¤é¤ì¤Æ¤¤¤ë¤È¤·¤Æ¤â &man.quota.1; ¥³¥Þ¥ó¥É¤Î½ÐÎϤˤϸ½¤ï¤ì¤Þ¤»¤ó¡£ ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ì¤Ð¤½¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡¢ ¾å¤ÎÎã¤Ç¤Ï /usr/var¡¢ ¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ NFS ¾å¤Î ¥¯¥©¡¼¥¿ NFS ¥¯¥©¡¼¥¿¤Ï NFS ¥µ¡¼¥Ð¾å¤Î¥¯¥©¡¼¥¿¥µ¥Ö¥·¥¹¥Æ¥à¤Ë¤è¤ê¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ &man.rpc.rquotad.8; ¥Ç¡¼¥â¥ó¤Ë¤è¤ê¡¢NFS ¥¯¥é¥¤¥¢¥ó¥È¾å¤Î &man.quota.1; ¥³¥Þ¥ó¥É¤Ï¾ðÊó¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¡¢¥¯¥é¥¤¥¢¥ó¥È¥Þ¥·¥ó¾å¤Î¥æ¡¼¥¶¤¬¼«Ê¬¤Î¥¯¥©¡¼¥¿¤ÎÅý·×¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ /etc/inetd.conf ¤Ë¤ª¤¤¤Æ°Ê²¼¤Î¤è¤¦¤Ë rpc.rquotad ¤òÍ­¸ú¤Ë¤·¤Þ¤·¤ç¤¦¡£ rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad ¤½¤·¤Æ°Ê²¼¤Î¤è¤¦¤Ë inetd ¤òºÆµ¯Æ°¤·¤Þ¤¹¡£ &prompt.root; kill -HUP `cat /var/run/inetd.pid` Lucky Green ´ó¹Æ:
shamrock@cypherpunks.to
¥Ç¥£¥¹¥¯¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î°Å¹æ²½ ¥Ç¥£¥¹¥¯ °Å¹æ²½ FreeBSD ¤Ï̵µö²Ä¤Î¥Ç¡¼¥¿¥¢¥¯¥»¥¹¤ËÂФ¹¤ëÍ¥¤ì¤¿¥ª¥ó¥é¥¤¥óÊݸǽ¤òÄ󶡤·¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ª¤è¤Ó¶¯À©Åª¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë (MAC: Mandatory Access Control) (Mandatory Access Control (MAC) ¤ò»²¾È) ¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬Æ°ºîÃæ¤Ç¡¢OS ¤¬¼Â¹ÔÃæ¤Ç¤¢¤ë¤È¤­¤Ë¡¢ ̵µö²Ä¤ÎÂè»°¼Ô¤¬¥Ç¡¼¥¿¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤òËɤ°¤³¤È¤ËÌòΩ¤Á¤Þ¤¹¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¹¶·â¼Ô¤¬¥³¥ó¥Ô¥å¡¼¥¿¤ËʪÍýŪ¤Ë¥¢¥¯¥»¥¹¤·¡¢ µ¡Ì©¥Ç¡¼¥¿¤ò¥³¥Ô¡¼¤·Ê¬ÀϤ¹¤ë¤¿¤á¤Ë¥³¥ó¥Ô¥å¡¼¥¿¤Î¥Ï¡¼¥É¥É¥é¥¤¥Ö¤òÊ̤Υ·¥¹¥Æ¥à¤Ë°Üư¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢ OS ¤Ë¤è¤Ã¤Æ¶¯²½¤µ¤ì¤¿µö²Ä°À­¤Ï°ÕÌ£¤ò¤Ê¤µ¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¹¶·â¼Ô¤¬ÅŸ»¤ÎÍî¤Á¤¿¥³¥ó¥Ô¥å¡¼¥¿¤ä ¥Ï¡¼¥É¥É¥é¥¤¥Ö¤ò¼ê¤Ë¤¤¤ì¤ë¼êÃʤˤ«¤«¤ï¤é¤º¡¢ GEOM ¥Ù¡¼¥¹¤Î¥Ç¥£¥¹¥¯°Å¹æ²½ (gbde: GEOM Based Disk Encryption) ¤Ï¡¢Ãø¤·¤¤»ñ¸»¤ò»ý¤ÁËܵ¤¤Ç¹¶·â¤ò»Å³Ý¤±¤ë¤Ä¤â¤ê¤Ç¤ä¤Ã¤Æ¤­¤¿¹¶·â¼Ô¤«¤é¤µ¤¨¤â¥³¥ó¥Ô¥å¡¼¥¿¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¥Ç¡¼¥¿¤òÊݸ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¸Ä¡¹¤Î¥Õ¥¡¥¤¥ë¤À¤±¤ò°Å¹æ²½¤¹¤ëÈѤ路¤¤ÊýË¡¤È°Û¤Ê¤ê¡¢ gbde ¤ÏÁ´¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÆ©²áŪ¤Ë°Å¹æ²½¤·¤Þ¤¹¡£ ʿʸ¥Æ¥­¥¹¥È¤Ï·è¤·¤Æ¥Ï¡¼¥É¥É¥é¥¤¥Ö¤Î¥×¥é¥Ã¥¿¤Ë´Ø·¸¤·¤Þ¤»¤ó¡£ ¥«¡¼¥Í¥ë¤Ç gbde ¤òÍ­¸ú¤Ë¤¹¤ë <username>root</username> ¤Ë¤Ê¤ë gbde ¤ÎÀßÄê¤ò¤¹¤ë¤Ë¤Ï¥¹¡¼¥Ñ¥æ¡¼¥¶¤Î¸¢¸Â¤¬É¬Íפˤʤê¤Þ¤¹¡£ °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢ root ¤Ë¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£ &prompt.user; su - Password: ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Î¤«¤á¤ë &man.gbde.4; ¤¬Æ°ºî¤¹¤ë¤Ë¤Ï FreeBSD 5.0 °Ê¹ß¤¬É¬ÍפǤ¹¡£ °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢ ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ &prompt.root; uname -r 5.0-RELEASE ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë &man.gbde.4; Âбþ¤òÄɲä¹¤ë ¤ª¹¥¤ß¤Î¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤ò»ÈÍѤ·¤Æ¡¢ °Ê²¼¤Î¹Ô¤ò¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë²Ã¤¨¤Þ¤¹¡£ options GEOM_BDE FreeBSD ¥«¡¼¥Í¥ë¤òÀßÄê¡¢ºÆ¥³¥ó¥Ñ¥¤¥ë¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ ¤³¤Î¼ê½ç¤Ï ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¿·¤·¤¤¥«¡¼¥Í¥ë¤ÇºÆµ¯Æ°¤·¤Þ¤¹¡£ °Å¹æ²½¤µ¤ì¤¿¥Ï¡¼¥É¥É¥é¥¤¥Ö¤Î½àÈ÷ °Ê²¼¤ÎÎã¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¤Ë¿·¤·¤¤¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥·¥¹¥Æ¥à¤Ïñ°ì¤Î°Å¹æ²½¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÊÝ»ý¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï /private ¤È¤·¤Æ¥Þ¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£gbde ¤Ï /home ¤ª¤è¤Ó /var/mail ¤ò°Å¹æ²½¤¹¤ë¤Î¤Ë¤â»ÈÍѤǤ­¤Þ¤¹¤¬¡¢ ¤è¤êÊ£»¨¤Ê»Ø¼¨¤òɬÍפȤʤë¤Î¤Ç¤³¤Î²òÀâ¤ÎÈÏáÆ¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£ ¿·¤·¤¤¥Ï¡¼¥É¥É¥é¥¤¥Ö¤òÄɲä¹¤ë ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ëÄ̤ê¤Ë¿·¤·¤¤¥É¥é¥¤¥Ö¤ò¥·¥¹¥Æ¥à¤ËÀßÃÖ¤·¤Þ¤¹¡£ ¤³¤ÎÎã¤Ç¤Ï¡¢¿·¤·¤¤¥Ï¡¼¥É¥É¥é¥¤¥Ö¤Ï /dev/ad4s1c ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë ²Ã¤¨¤é¤ì¤¿¤â¤Î¤È¤·¤Þ¤¹¡£ /dev/ad0s1* ¥Ç¥Ð¥¤¥¹¤Ï¡¢¤³¤ÎÎã¤Î¥·¥¹¥Æ¥à¾å¤Ë¸ºß¤¹¤ëɸ½àŪ¤Ê FreeBSD ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òɽ¤·¤Þ¤¹¡£ &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 gbde ¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤òÊÝ»ý¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë &prompt.root; mkdir /etc/gbde gbde ¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢ °Å¹æ²½¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤ËɬÍפȤʤë¾ðÊ󤬳ÊǼ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤·¤Ê¤¤¾ì¹ç¡¢ gbde ¤Ï ËÄÂç¤Ê¼êư¤Ë¤è¤ë²ðºß¤Ê¤·¤Ë¤Ï (¥½¥Õ¥È¥¦¥§¥¢¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó)¡¢°Å¹æ²½¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¥Ç¡¼¥¿¤ò²òÆÉ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¤½¤ì¤¾¤ì¤Î°Å¹æ²½¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÏÊÌ¡¹¤Î¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£ gbde ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò½é´ü²½¤¹¤ë gbde ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï»ÈÍѤ¹¤ëÁ°¤Ë½é´ü²½¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤³¤Î½é´ü²½¤Ï°ìÅÙ¤À¤±¼Â¹Ô¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ &prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c ¥¨¥Ç¥£¥¿¤¬³«¤¯¤Î¤Ç¡¢ ¥Æ¥ó¥×¥ì¡¼¥È¤ò¤â¤È¤Ë¤µ¤Þ¤¶¤Þ¤Ê¥ª¥×¥·¥ç¥ó¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ UFS1 ¤Þ¤¿¤Ï UFS2 ¤Ç»ÈÍѤ¹¤ë¤Ë¤Ï¡¢sector_size ¤ò 2048 ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ $FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $ # # Sector size is the smallest unit of data which can be read or written. # Making it too small decreases performance and decreases available space. # Making it too large may prevent filesystems from working. 512 is the # minimum and always safe. For UFS, use the fragment size # sector_size = 2048 [...] &man.gbde.8; ¤Ï¥Ç¡¼¥¿¤òÊݸ¤ë¤Î¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆóÅÙ¿Ò¤Þ¤¹¡£ ¥Ñ¥¹¥Õ¥ì¡¼¥º¤Ï¤½¤ì¤¾¤ìƱ¤¸¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥Ç¡¼¥¿¤òÊݸ¤ë gbde ¤ÎǽÎϤϡ¢ ¤¢¤Ê¤¿¤¬ÁªÂò¤·¤¿¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎÉʼÁ¤Ë´°Á´¤Ë°Í¸¤·¤Þ¤¹¡£ µ­²±¤¹¤ë¤Î¤¬´Êñ¤Ç¡¢ °ÂÁ´¤Ê¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÁªÂò¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢ Diceware Passphrase ¥¦¥§¥Ö¥µ¥¤¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ gbde init ¥³¥Þ¥ó¥É¤Ï gbde ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÂФ¹¤ë¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï /etc/gbde/ad4s1c ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ gbde ¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Ï¡¢ ¤¹¤Ù¤Æ¤Î°Å¹æ²½¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÆâÍÆ¤È¤È¤â¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤µ¤ì¤Ê¤±¤ì¤Ð ¤Ê¤ê¤Þ¤»¤ó¡£ ¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤À¤±¤òºï½ü¤·¤Æ¤¤¤ë´Ö¡¢ ¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Ê¤·¤Ç¤Ï¿®Ç°¤Î¸Ç¤¤¹¶·â¼Ô¤¬ gbde ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò²òÆÉ¤¹¤ë¤³¤È¤òËɤ°¤³¤È¤¬¤Ç¤­¤Ê¤¤°ìÊý¤Ç¡¢ ÀµÅö¤Ê½êÍ­¼Ô¤Ï¡¢&man.gbde.8; ¤ª¤è¤Ó¤³¤ÎÀ߷׼Ԥˤޤ俤¯»Ù»ý¤µ¤ì¤Ê¤¤ËÄÂç¤ÊÎ̤κî¶È¤Ê¤·¤Ë¤Ï¡¢ °Å¹æ²½¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¾å¤Î¥Ç¡¼¥¿¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¥«¡¼¥Í¥ë¤Ë°Å¹æ²½¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÀܳ¤¹¤ë &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c °Å¹æ²½¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò½é´ü²½¤¹¤ëºÝ¤ËÁªÂò¤·¤¿¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ¹¤ë¤è¤¦¤Ëµá¤á¤é¤ì¤Þ¤¹¡£ ¿·¤·¤¤°Å¹æ²½¥Ç¥Ð¥¤¥¹¤Ï /dev ¤Ë /dev/device_name.bde ¤È¤·¤Æ¸½¤ì¤Þ¤¹¡£ &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde °Å¹æ²½¥Ç¥Ð¥¤¥¹¾å¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë ¥«¡¼¥Í¥ë¤Ë°Å¹æ²½¥Ç¥Ð¥¤¥¹¤¬Àܳ¤µ¤ì¤ë¤È¡¢ ¥Ç¥Ð¥¤¥¹¾å¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤Ç¤­¤Þ¤¹¡£ °Å¹æ²½¥Ç¥Ð¥¤¥¹¾å¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤Ë¤Ï &man.newfs.8; ¤ò»ÈÍѤ·¤Þ¤¹¡£½¾Íè¤Î UFS1 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç½é´ü²½¤¹¤ë¤è¤ê¡¢ ¿·¤·¤¤ UFS2 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç½é´ü²½¤·¤¿Êý¤¬¹â®¤Ê¤Î¤Ç¡¢ ¥ª¥×¥·¥ç¥ó¤È¤È¤â¤Ë &man.newfs.8; ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ &os; 5.1-RELEASE °Ê¹ß¤Ç¤Ï¡¢ ¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£ &prompt.root; newfs -U -O2 /dev/ad4s1c.bde &man.newfs.8; ¤Ï¡¢¥Ç¥Ð¥¤¥¹Ì¾¤Ë *.bde ³ÈÄ¥»Ò¤Ë¤è¤Ã¤ÆÇ§¼±¤µ¤ì¤ë¡¢ Àܳ¤µ¤ì¤¿ gbde ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÂФ·¤Æ¼Â¹Ô¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ °Å¹æ²½¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥Þ¥¦¥ó¥È¤¹¤ë °Å¹æ²½¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂФ¹¤ë¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤òºîÀ®¤·¤Þ¤¹¡£ &prompt.root; mkdir /private °Å¹æ²½¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ &prompt.root; mount /dev/ad4s1c.bde /private °Å¹æ²½¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ÍøÍѲÄǽ¤«³Î¤«¤á¤ë ¤³¤ì¤Ç°Å¹æ²½¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï &man.df.1; ¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¡¢ ÍøÍѤ¹¤ë½àÈ÷¤¬¤Ç¤­¤Þ¤·¤¿¡£ &prompt.user; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 1037M 72M 883M 8% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 8.1G 55K 7.5G 0% /home /dev/ad0s1e 1037M 1.1M 953M 0% /tmp /dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr /dev/ad4s1c.bde 150G 4.1K 138G 0% /private ¸ºß¤¹¤ë°Å¹æ²½¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ë ¥·¥¹¥Æ¥à¤òµ¯Æ°¤¹¤ëÅ٤ˡ¢¤¹¤Ù¤Æ¤Î°Å¹æ²½¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï »ÈÍÑÁ°¤Ë¥«¡¼¥Í¥ë¤ËÀܳ¤·¡¢ ¥¨¥é¡¼¤Î̵ͭ¤ò¥Á¥§¥Ã¥¯¤·¡¢¥Þ¥¦¥ó¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ɬÍפʥ³¥Þ¥ó¥É¤Ï root ¥æ¡¼¥¶¤È¤·¤Æ¼Â¹Ô¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥«¡¼¥Í¥ë¤Ë gbde ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÀܳ¤¹¤ë &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î°Å¹æ²½¤ò½é´ü²½¤¹¤ëºÝ¤ËÁªÂò¤·¤¿¥Ñ¥¹¥Õ¥ì¡¼¥º¤òÆþÎϤ¹¤ë¤è¤¦¤Ëµá¤á¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¨¥é¡¼¤ò¥Á¥§¥Ã¥¯¤¹¤ë °Å¹æ²½¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¼«Æ°Åª¤Ë¥Þ¥¦¥ó¥È¤¹¤ë¤¿¤á¤Ë /etc/fstab ¤ËÀßÄê¤ò·ÇºÜ¤¹¤ë¤³¤È¤Ï¤Þ¤À¤Ç¤­¤Ê¤¤¤¿¤á¡¢ ¥Þ¥¦¥ó¥È¤¹¤ëÁ°¤Ë &man.fsck.8; ¤ò¼Â¹Ô¤·¤Æ¡¢ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¨¥é¡¼¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ &prompt.root; fsck -p -t ffs /dev/ad4s1c.bde °Å¹æ²½¥Õ¥¡¥¤¥ë¤ò¥Þ¥¦¥ó¥È¤¹¤ë &prompt.root; mount /dev/ad4s1c.bde /private ¤³¤ì¤Ç°Å¹æ²½¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ °Å¹æ²½¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¼«Æ°Åª¤Ë¥Þ¥¦¥ó¥È¤¹¤ë ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Æ¡¢°Å¹æ²½¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¼«Æ°Åª¤ËÀܳ¡¢ ¥Á¥§¥Ã¥¯¡¢¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢ °ÂÁ´¾å¤ÎÍýͳ¤Ë¤è¤ê¥¹¥¯¥ê¥×¥È¤Ë &man.gbde.8; ¥Ñ¥¹¥ï¡¼¥É¤ò´Þ¤á¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤½¤ÎÂå¤ï¤ê¤Ë¡¢¥³¥ó¥½¡¼¥ë¤Þ¤¿¤Ï &man.ssh.1; ¤Ë¤è¤ëÀܳ¤«¤é¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤è¤¦¤Ê¥¹¥¯¥ê¥×¥È¤¬¼êư¤Ç¼Â¹Ô¤µ¤ì¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Þ¤¹¡£ gbde ¤¬ºÎÍѤ·¤¿°Å¹æ¤ÎÊݸî &man.gbde.8; ¤Ï 128bit AES ¤Î CBC ¥â¡¼¥É¤ò»ÈÍѤ·¤Æ¥»¥¯¥¿¥Ú¥¤¥í¡¼¥É¤ò°Å¹æ²½¤·¤Þ¤¹¡£ ¥Ç¥£¥¹¥¯¾å¤Î¤½¤ì¤¾¤ì¤Î¥»¥¯¥¿¤Ï°Û¤Ê¤ë AES ¸°¤Ç°Å¹æ²½¤µ¤ì¤Þ¤¹¡£ ¥»¥¯¥¿¸°¤¬¥æ¡¼¥¶¤¬ÆþÎϤ·¤¿¥Ñ¥¹¥Õ¥ì¡¼¥º¤«¤é¤É¤Î¤è¤¦¤ËƳ¤­½Ð¤µ¤ì¤ë¤«¤ò´Þ¤á¡¢ gbde ¤Î°Å¹æ¼êË¡¤ÎÀ߷פˤĤ¤¤Æ¤Î¾ÜºÙ¤Ï¡¢ &man.gbde.4; ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¸ß´¹À­¤Ë´Ø¤¹¤ëÌäÂê &man.sysinstall.8; ¤Ï gbde °Å¹æ²½¥Ç¥Ð¥¤¥¹¤È¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó¡£ &man.sysinstall.8; ¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë *.bde ¥Ç¥Ð¥¤¥¹¤Ï¤¹¤Ù¤Æ¥«¡¼¥Í¥ë¤«¤éÀÚÃǤµ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¤½¤¦¤·¤Ê¤¤¤È¡¢&man.sysinstall.8; ¤¬½é¤á¤Ë¥Ç¥Ð¥¤¥¹¤òÁöºº¤¹¤ëºÝ¤Ë¥¯¥é¥Ã¥·¥å¤·¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£ °Å¹æ²½¥Ç¥Ð¥¤¥¹¤òÀÚÃǤ¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£ &prompt.root; gbde detach /dev/ad4s1c
diff --git a/ja_JP.eucJP/htdocs/java/install.xml b/ja_JP.eucJP/htdocs/java/install.xml index 169cf65de5..495e423f91 100644 --- a/ja_JP.eucJP/htdocs/java/install.xml +++ b/ja_JP.eucJP/htdocs/java/install.xml @@ -1,75 +1,62 @@ - + ]> &title; $FreeBSD$ - - -

FreeBSD ¤Ë Java ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤¢¤¿¤Ã¤Æ¡¢ ¤É¤Î Java ³«È¯¥­¥Ã¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«Áª¤ó¤Ç¤¯¤À¤µ¤¤¡£

FreeBSD ¤Î OpenJDK

OpenJDK ¤Î FreeBSD ¥Í¥¤¥Æ¥£¥Ö¤Ê port ¤Ç¤¹¡£

cd /usr/ports/java/openjdk16
make install clean

-

Oracle ¼Ò¤Ë¤è¤ë FreeBSD ÍѤΠJDK

- -

¤³¤ì¤Ï Java FreeBSD °Ü¿¢¥×¥í¥¸¥§¥¯¥È¤Ë¤è¤ëÀ®²Ì¤Ç¤¹¡£ - ¥×¥í¥¸¥§¥¯¥È¤¬ºîÀ®¤·¤¿¥Ñ¥Ã¥Á¥»¥Ã¥È¤È - Oracle ¤¬¸ø³«¤·¤¿ JDK ¤Î¥½¡¼¥¹¥³¡¼¥É¤ò»ÈÍѤ·¤Æ¡¢ - FreeBSD ¥Í¥¤¥Æ¥£¥Ö¤Ê JDK ¤ò¹½ÃÛ¤·¤Þ¤¹¡£

- -

cd /usr/ports/java/jdk16
- make install clean

-

Oracle ¼Ò¤Ë¤è¤ë Linux ÍÑ JDK

¤³¤Î port ¤Ï¡¢Oracle ¼Ò¤¬ Linux ÍѤ˹½ÃÛ¤·¤¿ Java ³«È¯¥­¥Ã¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£ FreeBSD ¤Î Linux ¸ß´¹µ¡Ç½¤ò»ÈÍѤ·¤ÆÆ°ºî¤·¤Þ¤¹¡£

cd /usr/ports/java/linux-sun-jdk16
make install clean

Note: ¥é¥¤¥»¥ó¥¹¥Ý¥ê¥·¤Î¤¿¤á¤Ë¡¢ FreeBSD ¤Î Oracle JDK ¥Ð¥¤¥Ê¥ê¤òÇÛÉÛ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¸Ä¿ÍŪ¤Ê»ÈÍѤΤߤ¬µö²Ä¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥½¡¼¥¹¥³¡¼¥É¤È FreeBSD ÍѤΥѥåÁ¥»¥Ã¥È¤ò ¼êư¤Ç¼èÆÀ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤âƱ¤¸Íýͳ¤Ç¤¹¡£

²¿¤«¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¤³¤È¤¬¤¢¤Ã¤¿¤é FreeBSD Handbook ¤Î "¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë" ¤Î¾Ï ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£

diff --git a/ja_JP.eucJP/htdocs/ports/references.xml b/ja_JP.eucJP/htdocs/ports/references.xml index 4de5e7d9dd..f02b7ddd96 100644 --- a/ja_JP.eucJP/htdocs/ports/references.xml +++ b/ja_JP.eucJP/htdocs/ports/references.xml @@ -1,97 +1,97 @@ %ports.ent; %statistics.ent; ]> - + &title; $FreeBSD$ &searchform;

ports ¤ä packages ¤Ë¤Ä¤¤¤Æ¤â¤¦¾¯¤·¾Ü¤·¤¯ÃΤꤿ¤¤¾ì¹ç¤Ë¤Ï¡¢ FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯ ¤Î ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë - packages ¤È ports ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£

¿·¤·¤¤ ports ¤òºî¤Ã¤¿¤ê ports ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î°ì¼¡¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢ port ºîÀ®¼Ô¤Î¤¿¤á¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯ ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ Keeping Up ¤Ë¤â¾ðÊ󤬤¢¤ê¤Þ¤¹¡£ ²¼µ­¤Î¥È¥Ô¥Ã¥¯¤Î¾ÜºÙ¤ä¡¢¤â¤Ã¤ÈÄ´¤Ù¤ë¤¿¤á¤Î¾ðÊó¤â´Þ¤ó¤Ç¤¤¤Þ¤¹¡£

°Ê²¼¤Ë¤âÍ­ÍѤʾðÊ󤬤¢¤ê¤Þ¤¹¡£

diff --git a/pl_PL.ISO8859-2/books/handbook/install/chapter.xml b/pl_PL.ISO8859-2/books/handbook/install/chapter.xml index d3bac689a7..511862cb9c 100644 --- a/pl_PL.ISO8859-2/books/handbook/install/chapter.xml +++ b/pl_PL.ISO8859-2/books/handbook/install/chapter.xml @@ -1,5367 +1,5361 @@ Jim Mock Rozdzia³ przebudowa³ i czê¶ciowo napisa³ od nowa Randy Pratt Omówienie sysinstall, zrzuty ekranów i inne fragmenty przygotowa³ Micha³ Wojciechowski T³umaczy³ Instalacja FreeBSD Streszczenie instalacja Wraz z FreeBSD rozpowszechniany jest prosty w u¿yciu program instalacyjny, dzia³aj±cy w trybie tekstowym, o nazwie sysinstall. Jest on domy¶lnym programem instalacyjnym FreeBSD, jednak¿e dystrybutorzy systemu mog± zast±piæ go w³asnym odpowiednikiem. W niniejszym rozdziale zawarto opis instalacji FreeBSD przy pomocy sysinstall. Po przeczytaniu rozdzia³u bêdziemy wiedzieæ: W jaki sposób tworzy siê dyskietki instalacyjne FreeBSD. Jak FreeBSD odwo³uje siê do dysku i jak go dzieli. Jak uruchamia siê sysinstall. Jakie pytania zadaje sysinstall, o co w nich chodzi i jak na nie odpowiedzieæ. Przed przeczytaniem rozdzia³u powinni¶my: Zapoznaæ siê z list± obs³ugiwanego sprzêtu do³±czon± do instalowanej wersji FreeBSD, by upewniæ siê, ¿e posiadany sprzêt bêdzie dzia³aæ. Opis instalacji dotyczy generalnie komputerów opartych na architekturze &i386; (zgodny z PC). W stosownych przypadkach podawane bêd± informacje odnosz±ce siê do innych platform (na przyk³ad Alpha). Pomimo starañ o utrzymanie niniejszego opisu aktualnym, mo¿liwe jest zaistnienie drobnych ró¿nic pomiêdzy instalatorem a zawarto¶ci± tego rozdzia³u. Zaleca siê, aby traktowaæ niniejszy teksty jako ogólny przewodnik, ni¿ raczej dos³owny podrêcznik instalacji. Cezary Morga Przek³ad uzupe³ni³ Czynno¶ci wstêpne Rozpoznanie komponentów komputera Przed instalacj± FreeBSD powinni¶my zapoznaæ siê z komponentami naszego komputera. W czasie instalacji FreeBSD poka¿e listê urz±dzeñ (dyski, karty sieciowe, napêdy CD-ROM, itd.) wraz z informacjami o producentach i numerach modeli. FreeBSD postara siê tak¿e ustaliæ prawid³ow± konfiguracjê ka¿dego z nich, m.in. ustawienia przerwañ IRQ i portów we/wy. Ze wzglêdu na kaprysy pecetowego sprzêtu mo¿e siê okazaæ, ¿e konfiguracja wykryta przez FreeBSD nie jest w pe³ni prawid³owa i trzeba bêdzie samodzielnie j± poprawiæ. Je¿eli na komputerze jest ju¿ zainstalowany inny system operacyjny, na przyk³ad &windows; lub Linux, warto jest skorzystaæ z dostêpnych w nim narzêdzi do sprawdzenia bie¿±cej konfiguracji sprzêtowej. Kiedy zupe³nie nie wiadomo jak skonfigurowana powinna byæ dana karta, wymagane informacje mog± znajdowaæ siê bezpo¶rednio na niej samej. Czêsto spotykane numery przerwañ IRQ to 3, 5 i 7, a adresy portów we/wy s± zwykle zapisywane w postaci liczb szesnastkowych, na przyk³ad 0x330. Zalecamy by zebrane informacje wydrukowaæ lub zapisaæ na kartce przed rozpoczêciem instalacji FreeBSD. Mo¿na je zestawiæ w postaci tabeli, np.: Przyk³adowa lista urz±dzeñ Nazwa urz±dzenia IRQ Port(y) we/wy Uwagi Pierwszy dysk twardy brak brak 40 GB, firmy Seagate, IDE 1 master CDROM brak brak IDE 1 slave Drugi dysk twardy brak brak 20 GB, firmy IBM, IDE 2 master Kontroler IDE 14 0x1f0 Karta sieciowa brak brak &intel; 10/100 Modem brak brak &tm.3com; 56K faxmodem na COM1
Przygotowanie kopii danych Je¶li komputer, na którym bêdzie przeprowadzana instalacja zawiera cenne dane, powinni¶my koniecznie przygotowaæ ich kopiê zapasow±, oraz sprawdziæ stan tych¿e kopii przed instalacj± FreeBSD. Podczas instalacji kilkakrotnie pojawi siê pro¶ba o potwierdzenie przed zapisaniem czegokolwiek na dysku, jednak gdy ju¿ siê to rozpocznie, nie bêdzie mo¿liwo¶ci odwrotu. Wybór miejsca dla FreeBSD Je¿eli masz zamiar przeznaczyæ ca³y dysk na FreeBSD, to omawiane poni¿ej zagadnienia nie bêd± ciê dotyczyæ — mo¿esz pomin±æ tê czê¶æ. W przypadku, gdy zamierzamy zainstalowaæ FreeBSD obok innych systemów operacyjnych, warto zapoznaæ siê z podstawowymi informacjami o sposobie przechowywania danych na dysku. Uk³ad dysku w systemach &i386; Dysk komputera typu PC mo¿na podzieliæ na oddzielne porcje, zwane partycjami. Komputery PC potrafi± obs³u¿yæ maksymalnie cztery partycje na jednym dysku. Partycje te nazywane s± partycjami podstawowymi. W celu ominiêcia tego ograniczenia i umo¿liwienia stworzenia wiêkszej liczby partycji, wymy¶lono nowy typ partycji - partycje rozszerzone. Na dysku mo¿e znajdowaæ siê tylko jedna taka partycja. Natomiast wewn±trz niej mo¿na utworzyæ specjalne partycje, zwane partycjami logicznymi. Wszystkie partycje posiadaj± w³asny identyfikator partycji, tj. numer okre¶laj±cy typ przechowywanych na niej danych. Partycje FreeBSD oznaczone s± identyfikatorem 165. Ka¿dy ze stosowanych systemów operacyjnych identyfikuje partycje w okre¶lony sposób. Dla przyk³adu, DOS i jego nastêpcy, w tym &windows;, przypisuj± ka¿dej partycji podstawowej i logicznej literê dysku, zaczynaj±c od C:. FreeBSD musi byæ zainstalowane na partycji podstawowej. Wszystkie w³asne dane, w tym pliki tworzone przez u¿ytkowników, mo¿e przechowywaæ na jednej partycji. Jednak¿e, je¶li masz do dyspozycji kilka dysków, mo¿esz utworzyæ partycjê FreeBSD na ka¿dym z nich b±d¼ jedynie na wybranych. Tym nie mniej na potrzeb instalacji wymagane jest posiadanie jednej partycji. Mo¿e to byæ ¶wie¿o utworzona, pusta partycja, lub te¿ partycja zawieraj±ca dane, które nie s± ju¿ potrzebne. W przypadku, gdy wszystkie dostêpne partycje na dysku s± ju¿ wykorzystywane, bêdziesz musia³ zwolniæ jedn± z nich, korzystaj±c z narzêdzi dostêpnych w wykorzystywanym systemie operacyjnym (np. fdisk w DOS lub &windows;). Je¶li dysponujesz woln± partycj±, mo¿esz j± wykorzystaæ. Mo¿e siê jednak okazaæ, ¿e zajdzie potrzeba zmniejszenia rozmiarów niektórych z pozosta³ych partycji. Minimalna instalacja FreeBSD zajmuje jedynie 100 MB miejsca na dysku. Jest to jednak¿e bardzo minimalna instalacja, praktycznie nie pozostawiaj±ca miejsca na pliki u¿ytkowników. Zdecydowanie bardziej realnym minimum jest 250 MB, o ile nie planujemy wykorzystania ¶rodowiska graficznego, b±d¼ co najmniej 350 MB z graficznym interfejsem. Instalowanie wielu dodatkowych programów wymaga wiêcej wolnego miejsca na dysku. W celu przygotowania miejsca dla FreeBSD mo¿na wykorzystaæ narzêdzia komercyjne pokroju &partitionmagic; b±d¼ darmowe jak GParted. Dwa darmowe programy s³u¿±ce do tego samego celu, tj. FIPS i PResizer, dostêpne s± na p³ycie CD w katalogu tools. W tym samym katalogu znajduje siê równie¿ ich dokumentacja. Zarówno FIPS, PResizer jak i &partitionmagic; potrafi± rozszerzaæ partycje typu FAT16 i FAT32 — wykorzystywane w &ms-dos; a¿ po &windows; ME. System plików NTFS potrafi± obs³ugiwaæ &partitionmagic; i GParted. Niew³a¶ciwe korzystanie z tych narzêdzi mo¿e doprowadziæ do utraty danych. Przed ich zastosowaniem nale¿y siê upewniæ, ¿e przygotowali¶my aktualne kopie zapasowe. Wykorzystanie niezmienionej istniej±cej partycji Przyjmijmy, ¿e mamy do dyspozycji komputer wyposa¿ony w dysk o pojemno¶ci 4 GB, z zainstalowanym systemem &windows;. Dysk jest podzielony na dwie czê¶ci oznaczone literami C: i D:, o rozmiarze 2 GB ka¿da. Na C: mamy 1 GB danych, a na D: 0,5 GB danych. Mamy wiêc dysk o dwóch partycjach, z których ka¿da oznaczona jest liter± dysku. Mo¿emy skopiowaæ dane z D: na C:, dziêki czemu druga partycja stanie siê wolna i bêdzie mo¿na zainstalowaæ na niej FreeBSD. Zmniejszenie istniej±cej partycji Przyjmijmy tym razem, ¿e na dysku o pojemno¶ci 4 GB zainstalowany jest system &windows; na jednej du¿ej partycji. Partycja dostêpna jest jako dysk C: o rozmiarze 4 GB. Mamy na nim 1,5 GB danych i chcieliby¶my udostêpniæ dla FreeBSD 2 GB. Mo¿emy wybraæ jedno z poni¿szych rozwi±zañ: Przygotowaæ kopiê danych, nastêpnie na nowo zainstalowaæ &windows;, tworz±c podczas instalacji partycjê o rozmiarze 2 GB. Skorzystaæ z jednego ze wspomnianych wcze¶niej narzêdzi, np. &partitionmagic;, w celu zmniejszenia rozmiaru partycji &windows;. Uk³ad dysku Alpha Alpha W przypadku architektury Alpha na FreeBSD trzeba bêdzie przeznaczyæ ca³y dysk. Nie ma obecnie mo¿liwo¶ci wspólnego korzystania z dysku przez kilka systemów operacyjnych. W zale¿no¶ci od konkretnego modelu komputera Alpha, mo¿emy wykorzystaæ dysk SCSI lub IDE, o ile komputer umo¿liwia za³adowanie z niego systemu operacyjnego. Zgodnie z konwencj± stosowan± w podrêcznikach Digital / Compaq wszystkie polecenia SRM pisane s± wielkimi literami. SRM nie rozró¿nia ma³ych i du¿ych liter. By wy¶wietliæ nazwy i rodzaje zainstalowanych w komputerze dysków, pos³ugujemy siê poleceniem SHOW DEVICE w konsoli SRM: >>>SHOW DEVICE dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476 dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658 dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015 dva0.0.0.0.1 DVA0 ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01 pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27 pqa0.0.0.4.0 PQA0 PCI EIDE pqb0.0.1.4.0 PQB0 PCI EIDE Powy¿szy przyk³ad pochodzi z komputera Digital Personal Workstation 433au i pokazuje trzy dyski. Pierwszym z nich jest CDROM opisany nazw± DKA0, natomiast dwa pozosta³e to twarde dyski o nazwach DKC0 i DKC100. Dyski o nazwach typu DKx s± dyskami SCSI. Dla przyk³adu DKA100 oznacza dysk SCSI o identyfikatorze 1 na pierwszej szynie SCSI (A), natomiast DKC300 oznacza dysk o identyfikatorze 3 na trzeciej szynie SCSI (C). Nazwa PKx oznacza kontroler SCSI. Jak pokazuje przyk³ad z SHOW DEVICE, napêdy CDROM SCSI traktowane s± tak samo jak dyski twarde SCSI. Nazwy dysków IDE maj± postaæ DQx, a nazwa PQx oznacza kontroler IDE. Zbieranie informacji o konfiguracji sieci Je¶li podczas instalacji bêdziemy korzystaæ z po³±czenia z sieci± (np. FreeBSD instalowane bêdzie z serwera FTP lub serwera NFS), bêdziemy musieli znaæ konfiguracjê sieci. W trakcie instalacji pojawi siê pro¶ba o wpisanie tej konfiguracji, by umo¿liwiæ FreeBSD po³±czenie siê z sieci± i kontynuowanie instalacji. Po³±czenie z sieci± Ethernet lub przez modem kablowy/DSL W przypadku komputera pod³±czonego do sieci Ethernet lub po³±czonego z Internetem przez modem kablowy lub DSL, potrzebne bêd± nastêpuj±ce informacje: Adres IP Adres IP domy¶nej bramy Nazwa stacji Adresy IP serwerów DNS Maska podsieci Informacje te mo¿emy uzyskaæ od administratora systemu lub dostawcy us³ug sieciowych. Mo¿e siê okazaæ, ¿e konfiguracja odbywa siê automatycznie, przy u¿yciu DHCP. Je¶li tak jest, nale¿y o tym fakcie pamiêtaæ. Po³±czenie przez modem Instalacja FreeBSD przez Internet mo¿liwa jest tak¿e w przypadku po³±czenia modemowego, jednak¿e bêdzie to trwa³o bardzo d³ugo. Niezbêdne informacje: Numer telefonu do dostawcy us³ug internetowych Numer portu COM, do którego pod³±czony jest modem Nazwa u¿ytkownika i has³o konta u dostawcy us³ug Sprawdzenie erraty FreeBSD W pracy nad FreeBSD podejmowane s± wszelkie starania, aby ka¿de wydanie FreeBSD by³o jak najbardziej niezawodne, jednak¿e od czasu do czasu zdarzaj± siê b³êdy. W pewnych bardzo rzadkich przypadkach mog± mieæ one wp³yw na proces instalacji systemu. B³êdy te po wykryciu i naprawieniu s± opisywane w erracie zamieszczonej na stronie FreeBSD Errata (ang.). Przed instalacj± warto jest sprawdziæ, czy w erracie nie wspomniano o problemach, które mog± zak³óciæ instalacjê. Informacje o wszystkich wydaniach systemu, jak równie¿ erraty do ka¿dego z nich, znale¼æ mo¿na na stronie WWW FreeBSD w czê¶ci po¶wiêconej wydaniom. Pozyskanie plików instalacyjnych FreeBSD Pliki potrzebne do rozpoczêcia instalacji systemu mog± pochodziæ z jednego z wymienionych poni¿ej ¼róde³: No¶niki lokalne P³yta CDROM lub DVD Partycja DOS-owa na tym samym komputerze Pamiêæ ta¶mowa QIC lub SCSI Dyskietki Sieæ Serwer FTP, tak¿e przez firewall lub proxy HTTP, zale¿nie od potrzeb Serwer NFS Dedykowane po³±czenie równoleg³e lub szeregowe Posiadaj±c FreeBSD na CD lub DVD, mamy ju¿ wszystko, co potrzeba, mo¿emy zatem przej¶æ do nastêpnej czê¶ci (). Je¶li nie mamy plików instalacyjnych FreeBSD, zawiera opis instalacji FreeBSD z dowolnego z wymienionych wcze¶niej ¼róde³. Nastêpnie powróæmy do . Przygotowanie dyskietek do instalacji Instalacja FreeBSD rozpoczyna siê uruchomieniem programu instalacyjnego podczas startu komputera — nie jest to program, który mo¿na uruchomiæ w innym systemie operacyjnym. Zwykle przy uruchamianiu komputera ³adowany jest system zainstalowany na dysku twardym, jednak mo¿na tak¿e uruchomiæ system z dyskietki startowej. Do tego celu mo¿e tak¿e pos³u¿yæ CDROM, je¶li komputer daje tak± mo¿liwo¶æ. Je¶li posiadamy FreeBSD na p³ytach CDROM lub DVD (kupionych lub przygotowanych samodzielnie), a nasz komputer pozwala na uruchomienie z p³yty (zwykle dziêki ustawieniu opcji BIOS-u zwanej Boot Order lub podobnej), mo¿emy nie czytaæ niniejszej czê¶ci. P³yty CDROM i DVD zawieraj±ce FreeBSD mog± byæ u¿yte jako dyski startowe bez dodatkowego przygotowania. By utworzyæ zestaw dyskietek startowych, nale¿y: Zdobyæ obrazy dyskietek startowych Dyskietki startowe znale¼æ mo¿na w¶ród plików instalacyjnych w katalogu floppies/ b±d¼ pobraæ z serwera ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/ zamieniaj±c odpowiednio <arch> i <wersja> w³a¶ciw± architektur± naszego sprzêtu i wybran± wersj± FreeBSD. Przyk³adowo, obrazy dyskietek dla &os; &rel.current;-RELEASE na architekturê &i386; dostêpne s± pod adresem . Obrazy dyskietek maj± rozszerzenie .flp. Katalog floppies/ zawiera kilka ró¿nych obrazów, a to, które z nich bêd± potrzebne, zale¿y od wersji FreeBSD, która bêdzie instalowana, a czasem równie¿ od sprzêtu na którym system ma byæ zainstalowany. Z regu³y potrzebne bêd± trzy dyskietki boot.flp, kern1.flp i kern2.flp. Warto jednak dla pewno¶ci przeczytaæ znajduj±cy siê w tym samym katalogu plik README.TXT. Systemy ga³êzi 5.X starsze od &os; 5.3 mog± wymagaæ dodatkowych sterowników urz±dzeñ. Znale¼æ je mo¿na w obrazie dyskietki drivers.flp. Pobieraj±c pliki przez FTP nale¿y koniecznie u¿ywaæ trybu binarnego. Wiadomo jest, ¿e w niektórych przegl±darkach stosowany jest tryb tekstowy (zwany te¿ ASCII), przez co dyskietki startowe mog± siê okazaæ niezdatne do u¿ycia. Przygotowaæ dyskietki startowe Dla ka¿dego pliku z obrazem przygotowujemy jedn± dyskietkê. Dyskietki nie mog± byæ w jakikolwiek sposób uszkodzone. Najprostszym sposobem samodzielnego sprawdzenia, czy dyskietka nie jest wadliwa, jest jej sformatowanie. Nie powinni¶my ufaæ dyskietkom formatowanym fabrycznie. Narzêdzie formatuj±ce dostêpne w systemie &windows; nie poinformuje o istnieniu uszkodzonych bloków, po prostu oznaczy je jako uszkodzone i zignoruje. Zaleca siê u¿ywanie fabrycznie nowych dyskietek. Gdy podczas instalacji FreeBSD program instalacyjny wska¿e b³±d, zastygnie lub zachowa siê w dziwny sposób, jednymi z pierwszych podejrzanych powinny byæ dyskietki. Trzeba wówczas nagraæ pliki obrazów na inne dyskietki i spróbowaæ ponownie. Nagraæ pliki obrazów na dyskietki Pliki .flp nie s± zwyczajnymi plikami, które mo¿na nagraæ na dyskietkê. S± natomiast obrazami ca³kowitej zawarto¶ci dyskietek. Oznacza to, ¿e nie mo¿na zapisaæ tych plików po prostu kopiuj±c z jednego dysku na drugi. Skorzystamy ze specjalnego oprogramowania, by bezpo¶rednio zapisaæ obrazy na dyskietkach. DOS Je¶li dyskietki nagrywamy na komputerze z &ms-dos;/&windows;, to mo¿emy skorzystaæ z do³±czonego do FreeBSD narzêdzia fdimage. W przypadku, gdy wykorzystujemy obrazy dyskietek z p³yty CDROM dostêpnego jako dysk E:, pos³u¿ymy siê poleceniem: E:\> tools\fdimage floppies\kern.flp A: Powtarzamy je dla ka¿dego z plików .flp, za ka¿dym razem zmieniaj±c dyskietkê. Najlepiej jest te¿ napisaæ na dyskietce nazwê skopiowanego na ni± pliku. Powy¿sze polecenie mo¿e potrzebowaæ pewnych modyfikacji, w zale¿no¶ci od miejsca, w którym znajduj± siê pliki .flp. Je¿eli nie dysponujemy p³yt± CD, mo¿emy pobraæ fdimage z katalogu tools na serwerze FTP FreeBSD. Je¿eli natomiast dyskietki nagrywamy w systemie uniksowym (na przyk³ad w innym FreeBSD), do zapisania plików obrazów na dyskietkach mo¿emy wykorzystaæ polecenie &man.dd.1;. We FreeBSD wpisaliby¶my: &prompt.root; dd if=kern.flp of=/dev/fd0 W systemie FreeBSD /dev/fd0 odpowiada pierwszej stacji dyskietek (napêdowi A:). /dev/fd1 odpowiada³oby B: i tak dalej. W innych odmianach systemów &unix; mog± byæ stosowane inne nazwy stacji dyskietek, konieczne mo¿e wiêc byæ zapoznanie siê z dokumentacj± danego systemu. W tej chwili jeste¶my ju¿ przygotowani do instalacji FreeBSD.
Rozpoczêcie instalacji Z za³o¿enia, podczas instalacji dane na dysku (lub dyskach) nie ulegn± ¿adnym zmianom przed pojawieniem siê nastêpuj±cego komunikatu: Last Chance: Are you SURE you want continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! Instalacjê mo¿na przerwaæ w dowolnej chwili przed powy¿szym ostrze¿eniem, maj±c pewno¶æ, ¿e dane na dysku pozostaj± nietkniête. Je¶li bêdziemy siê obawiaæ, ¿e co¶ niew³a¶ciwie skonfigurowali¶my, mo¿emy po prostu wy³±czyæ komputer i nic z³ego siê nie stanie. Uruchomienie komputera Uruchomienie &i386; Na pocz±tku komputer powinien byæ wy³±czony. W³±czamy komputer. Po chwili powinna pojawiæ siê mo¿liwo¶æ przej¶cia do menu systemowego, lub BIOS-u, najczê¶ciej poprzez naci¶niêcie klawisza F2, F10, Del b±d¼ Alt S . Wciskamy odpowiedni klawisz zgodnie z informacj± na ekranie. Niekiedy komputer podczas uruchamiania pokazuje jaki¶ obrazek. Zwykle wciskaj±c Esc mo¿emy pozbyæ siê obrazka, aby mieæ mo¿liwo¶æ przeczytania komunikatów. W¶ród opcji odnajdujemy tê, która decyduje o kolejno¶ci ³adowania systemu z poszczególnych urz±dzeñ. Zwykle ma ona postaæ listy urz±dzeñ, takich jak Floppy, CDROM, First Hard Disk, itd. Je¿eli wcze¶niej przygotowali¶my dyskietki startowe, wybieramy stacjê dyskietek. Je¶li natomiast korzystamy z p³yty CD, wybieramy w³a¶nie CDROM. W±tpliwo¶ci mo¿emy rozstrzygn±æ zagl±daj±c do instrukcji do³±czonej do komputera i jego p³yty g³ównej. Wprowadzone zmiany musz± byæ zapisane przed opuszczeniem menu systemowego. Komputer powinien ponownie siê uruchomiæ. Je¿eli korzystamy z dyskietek startowych, o których traktuje , to jedna z nich bêdzie pierwsz± dyskietk± startow±, najprawdopodobniej bêdzie to dyskietka zawieraj±ca kern.flp. J± w³a¶nie wk³adamy do stacji. W przypadku korzystania z p³yty CD wystarczy po prostu w³±czyæ komputer i w³o¿yæ p³ytê do napêdu. Je¿eli komputer uruchomi siê jak zwykle i za³aduje ju¿ zainstalowany system operacyjny, mo¿e to oznaczaæ, ¿e: Dyskietka lub p³yta zosta³y w³o¿one za pó¼no. Powinni¶my spróbowaæ uruchomiæ komputer bez wyjmowania dyskietki b±d¼ p³yty. Zmiany w ustawieniach BIOS-u nie zadzia³a³y prawid³owo. Spróbujmy wprowadziæ je ponownie, a¿ do osi±gniêcia zamierzonego efektu. Nasza wersja BIOS-u nie pozwala na uruchomienie systemu z wybranego no¶nika. Rozpocznie siê ³adowanie FreeBSD. Podczas ³adowania z p³yty CD pojawi siê tekst podobny do poni¿szego (pominiêto informacje o wersji):: Verifying DMI Pool Data ........ Boot from ATAPI CD-ROM : 1. FD 2.88MB System Type-(00) Uncompressing ... done BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive B: is disk1 BIOS drive C: is disk2 BIOS drive D: is disk3 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 0.8 /kernel text=0x277391 data=0x3268c+0x332a8 | | Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _ Natomiast ³aduj±c z dyskietki, zobaczymy tekst w rodzaju (pominiêto informacje o wersji): Verifying DMI Pool Data ........ BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 0.8 /kernel text=0x277391 data=0x3268c+0x332a8 | Please insert MFS root floppy and press enter: Postêpuj±c zgodnie z instrukcj± na ekranie, wyjmujemy dyskietkê kern.flp, wk³adamy mfsroot.flp i naciskamy Enter. We &os; 5.3 i pó¼niejszych dostêpne s± równie¿ inne dyskietki opisane w poprzednim podrozdziale. Nale¿y uruchomiæ system z pierwszej dyskietki, nastêpnie wk³adaæ kolejne zgodnie z pojawiaj±cymi siê komunikatami. Niezale¿nie, czy uruchamiamy komputer z dyskietki czy z p³yty, podczas ³adowania ujrzymy komunikat: Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _ Albo czekamy dziesiêæ sekund, albo wciskamy Enter. Uruchomienie Alpha Alpha Na pocz±tku komputer powinien byæ wy³±czony. W³±czamy komputer i czekamy na znak zachêty boot monitora. Je¿eli korzystamy z dyskietek startowych opisanych w , to jedna z nich bêdzie pierwsz± dyskietk± startow±, najprawdopodobniej bêdzie to dyskietka zawieraj±ca kern.flp. J± w³a¶nie wk³adamy do stacji i wpisujemy nastêpuj±ce polecenie, aby uruchomiæ komputer z dyskietki (zmieniaj±c nazwê napêdu dyskietek, je¿eli bêdzie to konieczne): >>>BOOT DVA0 -FLAGS '' -FILE '' W przypadku korzystania z p³yty CD, wk³adamy j± do napêdu i rozpoczynamy instalacjê wpisuj±c nastêpuj±ce polecenie (wstawiaj±c inn± nazwê napêdu CDROM, je¿eli bêdzie to konieczne): >>>BOOT DKA0 -FLAGS '' -FILE '' Rozpocznie siê ³adowanie FreeBSD. Podczas ³adowania z dyskietki, zobaczymy tekst w rodzaju: Please insert MFS root floppy and press enter: Postêpuj±c zgodnie z instrukcj± na ekranie, wyjmujemy dyskietkê kern.flp, wk³adamy mfsroot.flp i naciskamy Enter. Niezale¿nie, czy uruchamiamy komputer z dyskietki czy z p³yty, podczas ³adowania ujrzymy komunikat: Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _ Czekamy dziesiêæ sekund, albo wciskamy Enter. Przejdziemy do menu konfiguracyjnego j±dra. Przegl±danie wyników rozpoznania urz±dzeñ Kilkaset ostatnio wy¶wietlonych na ekranie linii jest zapisywanych i mo¿na je przegl±daæ. By przejrzeæ bufor, naciskamy Scroll Lock. W³±czamy w ten sposób tryb przewijania ekranu. Mo¿na teraz przegl±daæ wyniki rozpoznania urz±dzeñ przy u¿yciu klawiszy kursora, lub PageUp i PageDown. Tryb przewijania wy³±cza siê wciskaj±c ponownie Scroll Lock. Zróbmy to, aby przejrzeæ tekst, który zosta³ przewiniêty poza ekran, gdy j±dro dokonywa³o rozpoznawania urz±dzeñ. Tekst bêdzie mieæ tre¶æ podobn± do przedstawionej na , jednak¿e dok³adna tre¶æ zale¿y od zainstalowanych w komputerze urz±dzeñ.
Przyk³ad wyników rozpoznania urz±dzeñ avail memory = 253050880 (247120K bytes) Preloaded elf kernel "kernel" at 0xc0817000. Preloaded mfs_root "/mfsroot" at 0xc0817084. md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4 md1: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <iSA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci 0 usb0: <VIA 83572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1 uhub0: 2 ports with 2 removable, self powered pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3 dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir q 11 at device 8.0 on pci0 dc0: Ethernet address: 00:04:5a:74:6b:b5 miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10. 0 on pci0 ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/@ mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold plip0: <PLIP network interface> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33 acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4 Mounting root from ufs:/dev/md0c /stand/sysinstall running as init on vty0
Warto jest uwa¿nie przejrzeæ wyniki, by mieæ pewno¶æ, ¿e wszystkie spodziewane urz±dzenia zosta³y wykryte. Brak urz±dzenia na li¶cie oznacza, ¿e nie zosta³o ono wykryte. Je¶li sterownik wymaga³ skonfigurowania IRQ i adresu portu, to powinni¶my sprawdziæ, czy prawid³owo je wpisali¶my. Je¶li trzeba bêdzie zmieniæ ustawienia rozpoznawania urz±dzeñ, mo¿emy ³atwo opu¶ciæ program sysinstall i zacz±æ od nowa. Dziêki temu mo¿na równie¿ lepiej poznaæ ca³y proces.
Wyj¶cie z sysinstall
Korzystaj±c z klawiszy kursora, wybieramy z g³ównego menu Exit Install. Uka¿e siê nastêpuj±cy komunikat: User Confirmation Requested Are you sure you wish to exit? The system will reboot (be sure to remove any floppies from the drives). [ Yes ] No Instalacja ponownie zacznie siê od pocz±tku, je¶li wybierzemy &gui.yes;, pozostawiaj±c p³ytê CD w napêdzie. Je¶li instalujemy z dyskietek, przed ponownym uruchomieniem komputera powinni¶my wyj±æ dyskietkê mfsroot.flp i w³o¿yæ kern.flp.
Wprowadzenie do sysinstall Sysinstall jest aplikacj± instalacyjn± przygotowan± w ramach Projektu FreeBSD. Jest to program konsolowy podzielony na szereg pomniejszych menu i ekranów, s³u¿±cych do konfiguracji i zarz±dzania procesem instalacji. Menu sysinstall obs³ugiwane jest klawiszami kursora, klawiszem Enter, Spacj± i innymi. Dok³adny opis dzia³ania poszczególnych klawiszy znale¼æ mo¿na w czê¶ci po¶wiêconej pos³ugiwaniu siê sysinstall. Dostêp do tych informacji mo¿liwy jest poprzez pod¶wietlenie pozycji Usage i wybranie przycisku [Select], a nastêpnie wci¶niêcie klawisza Enter, zgodnie z . Wy¶wietlone zostan± zostan± wskazówki odno¶nie pos³ugiwania siê systemem menu. Po ich przeczytaniu powrót do g³ównego menu mo¿liwy jest poprzez naci¶niêcie klawisza Enter.
Wy¶wietlenie z g³ównego menu instrukcji obs³ugi sysinstall
Menu dokumentacji Korzystaj±c z klawiszy kursora, w g³ównym menu wybieramy Doc i wciskamy Enter.
Wybór menu dokumentacji
Spowoduje to wy¶wietlenie menu dokumentacji.
Menu dokumentacji sysinstall
Warto przeczytaæ dostêpne tu dokumenty. By wy¶wietliæ konkretny dokument, wybieramy go klawiszami kursora, a nastêpnie wciskamy Enter. Po przeczytaniu klawiszem Enter mo¿emy powróciæ do menu dokumentacji. Do g³ównego menu instalacji powracamy wybieraj±c klawiszami kursora Exit, a nastêpnie wciskaj±c Enter.
Menu mapowania klawiatury Aby zmieniæ mapowanie klawiatury klawiszami kursora wybieramy z menu pozycjê Keymap i wciskamy Enter. Zmiana mapowania klawiatury wymagana jest jedynie gdy u¿ywamy klawiatury innej ni¿ standardowej amerykañskiej.
G³ówne menu sysinstall
Wyboru mapowania klawiatury dokonujemy poprzez wskazanie odpowiedniej pozycji z listy przy pomocy klawiszy kursora, oraz wci¶niêcie Spacji. Ponowne naci¶niêcie Spacji cofa wybór. Po wybraniu odpowiedniego mapowania wskazujemy klawiszami kursora &gui.ok; i wciskamy Enter. Na poni¿szym rysunku przedstawiona jest tylko czê¶æ listy. Wybranie &gui.cancel; spowoduje przyjêcie domy¶lnego mapowania klawiatury i powrót do g³ównego menu.
Menu mapowania klawiatury
Ekran opcji instalacji Wybieramy Options i naciskamy Enter.
G³ówne menu sysinstall
Opcje sysinstall
Warto¶ci domy¶lne s± zwykle odpowiednie dla wiêkszo¶ci u¿ytkowników i nie ma potrzeby ich zmiany. Nazwa wydania mo¿e byæ inna w zale¿no¶ci od instalowanej wersji systemu. Po wybraniu jednej z opcji, na dole ekranu uka¿e siê jej opis pod¶wietlony na niebiesko. Opcja Use Defaults (u¿yj domy¶lnych) przywraca wszystkim opcjom warto¶ci domy¶lne. Naciskaj±c F1 przechodzimy do ekranu pomocy, gdzie mo¿emy przeczytaæ o poszczególnych opcjach. Naciskaj±c Q powracamy do g³ównego menu.
Rozpoczêcie instalacji standardowej Instalacja standardowa zalecana jest dla wszystkich zaczynaj±cych sw± przygodê z FreeBSD, b±d¼ w ogóle z systemem &unix;. Klawiszami kursora wybieramy Standard i wciskamy Enter.
Rozpoczêcie instalacji standardowej
Przydzia³ miejsca na dysku Zaczynamy od przydzielenia FreeBSD przestrzeni dyskowej, oraz oznaczenia tej przestrzeni w taki sposób, by sysinstall móg³ j± przygotowaæ. Do tego potrzebna nam bêdzie wiedza na temat sposobu, w jaki FreeBSD znajduje informacje zapisane na dysku. Kolejno¶æ dysków w BIOS-ie Przed instalacj± i konfiguracj± FreeBSD powinni¶my zapoznaæ siê z pewnym wa¿nym zagadnieniem, szczególnie istotnym dla posiadaczy dwóch lub wiêcej twardych dysków. DOS Microsoft Windows W komputerze typu PC wyposa¿onym w zale¿ny od BIOS-u system operacyjny, jak na przyk³ad &ms-dos; lub µsoft.windows;, BIOS mo¿e zmieniæ rzeczywist± kolejno¶æ dysków, a system operacyjny tê zmianê zaakceptuje. Dziêki temu system mo¿e zostaæ uruchomiony z dysku innego ni¿ tzw. primary master. Jest to szczególnie wygodne dla tych u¿ytkowników, którzy za najprostsz± i najtañsz± metodê tworzenia kopii zapasowej uwa¿aj± kupno identycznego drugiego twardego dysku i kopiowanie zawarto¶ci pierwszego dysku przy u¿yciu Ghost lub XCOPY. W przypadku uszkodzenia pierwszego dysku, ataku wirusa lub awarii systemu operacyjnego, dane mog± byæ z ³atwo¶ci± odzyskane poprzez zamianê logicznej kolejno¶ci dysków w BIOS-ie. To tak, jakby zamieniæ przewody dysków, ale bez konieczno¶ci otwierania obudowy. SCSI BIOS Dro¿sze maszyny wyposa¿one w kontrolery SCSI maj± czêsto rozszerzenia BIOS-u pozwalaj±ce zamieniaæ kolejno¶æ dysków SCSI na podobnej zasadzie, obs³uguj±c do siedmiu dysków. U¿ytkowników przyzwyczajonych do korzystania z tego typu rozwi±zañ mo¿e spotkaæ niespodzianka, gdy we FreeBSD rezultaty odbiegaj± od oczekiwañ. FreeBSD nie korzysta z BIOS-u, jak równie¿ nie zna logicznej kolejno¶ci dysków BIOS-u. W efekcie mo¿e to prowadziæ do k³opotliwych sytuacji, szczególnie wtedy, gdy dyski s± identyczne pod wzglêdem geometrii, oraz zawieraj± takie same dane. Planuj±c u¿ywanie FreeBSD, powinni¶my ustawiæ w BIOS-ie rzeczywist± kolejno¶æ dysków przed instalacj± systemu, i tê kolejno¶æ pozostawiæ. Je¶li chcemy koniecznie zamieniæ dyski, to mo¿emy to zrobiæ sprzêtowo, otwieraj±c obudowê i zamieniaj±c odpowiednie zworki i przewody. Fragment z Archiwum Wyj±tkowych Przygód Bolka i Lolka: Bolek ma przygotowaæ dla Lolka komputer z FreeBSD. Bolek montuje jeden dysk SCSI jako urz±dzenie SCSI zero, i instaluje na nim FreeBSD. Lolek zaczyna korzystaæ z systemu, ale po kilku dniach zauwa¿a, ¿e dysk SCSI zg³asza liczne b³êdy, wiêc zawiadamia o tym Bolka. Po kolejnych kilku dniach Bolek postanawia rozwi±zaæ problem, wiêc bierze ze sk³adzika taki sam dysk SCSI. Kontrola powierzchni dysku wykazuje, ¿e dysk dzia³a prawid³owo, wiêc Bolek pod³±cza go jako czwarte urz±dzenie SCSI i wykonuje kopiê dysku zerowego na dysk czwarty. Poniewa¿ dysk jest pod³±czony i dzia³a jak nale¿y, Bolek stwierdza, ¿e mo¿na zacz±æ go u¿ywaæ, wiêc wykorzystuj±c mo¿liwo¶ci BIOS-u SCSI zmienia kolejno¶æ dysków w taki sposób, by system uruchamiany by³ z czwartego urz±dzenia SCSI. FreeBSD uruchamia siê i dzia³a jak nale¿y. Lolek korzysta z systemu przez jaki¶ czas, nastêpnie wspólnie z Bolkiem postanawiaj± spróbowaæ czego¶ nowego — zainstalowaæ nowsz± wersjê FreeBSD. Bolek wymontowuje dysk SCSI zero, poniewa¿ dzia³a³ kiepsko, i zastêpuje go kolejnym identycznym dyskiem ze sk³adzika. Bolek instaluje now± wersjê FreeBSD na nowym dysku SCSI korzystaj±c z czarodziejskich dyskietek instalacyjnych Lolka. Instalacja przebiega prawid³owo. Lolek u¿ywa nowej wersji FreeBSD przez parê dni i stwierdza, ¿e mo¿na zacz±æ korzystaæ z niej w pracy. Wcze¶niej jednak trzeba bêdzie skopiowaæ wszystkie dane ze starej wersji. Lolek pod³±cza wiêc czwarty dysk SCSI (naj¶wie¿sz± kopiê starej wersji FreeBSD). Lolek stwierdza jednak z niepokojem, ¿e na dysku nie ma ¶ladu po jego cennych danych. Gdzie siê one podzia³y? Gdy Bolek sporz±dzi³ kopiê dysku zerowego na dysku czwartym, dysk czwarty sta³ siê klonem. Zmieniaj±c kolejno¶æ dysków w BIOS-ie SCSI aby móc uruchamiaæ system z dysku czwartego, Bolek sam siebie wprowadza³ w b³±d. FreeBSD wci±¿ dzia³a³o na dysku zerowym. Zmiana w BIOS-ie powoduje, ¿e czê¶æ kodu uruchamiaj±cego FreeBSD jest rzeczywi¶cie ³adowana z dysku wskazanego w BIOS-ie, lecz kiedy pa³eczkê przejmuj± sterowniki j±dra FreeBSD, kolejno¶æ dysków BIOS-u przestaje obowi±zywaæ, a FreeBSD przechodzi z powrotem na rzeczywist± kolejno¶æ. W opowiadanej historyjce system nadal dzia³a³ na dysku zerowym, i tam w³a¶nie znajdowa³y siê cenne dane Lolka, a nie na dysku czwartym. Choæ wydawa³o siê, ¿e system dzia³a na dysku czwartym, by³o to tylko z³udzenie. Z przyjemno¶ci± oznajmiamy, i¿ ani jeden bajt cennych danych nie zgin±³ ani nie zosta³ w inny sposób skrzywdzony podczas naszych badañ nad opisanym zjawiskiem. Stary dysk SCSI zero zosta³ odnaleziony i cenne dane wróci³y do Lolka (Bolek z kolei przekona³ siê, ¿e niczego nie mo¿na byæ pewnym). W opowie¶ci udzia³ wziê³y dyski SCSI, jednak¿e w przypadku dysków IDE sytuacja wygl±da³aby tak samo. Tworzenie segmentów za pomoc± programu FDisk Dokonywane tutaj zmiany nie zostan± zapisane na dysku. Je¿eli bêdziemy podejrzewaæ, ¿e co¶ zrobili¶my ¼le, mo¿emy wybraæ w menu wyj¶cie z programu sysinstall i spróbowaæ jeszcze raz od pocz±tku, b±d¼ wcisn±æ U by skorzystaæ z opcji Undo (cofnij). W ostateczno¶ci, je¿eli ca³kiem stracimy orientacjê, mo¿emy po prostu wy³±czyæ komputer. Po wybraniu standardowej instalacji w sysinstall zostanie wy¶wietlony nastêpuj±cy komunikat: Message In the next menu, you will need to set up a DOS-style ("fdisk") partitioning scheme for your hard disk. If you simply wish to devote all disk space to FreeBSD (overwriting anything else that might be on the disk(s) selected) then use the (A)ll command to select the default partitioning scheme followed by a (Q)uit. If you wish to allocate only free space to FreeBSD, move to a partition marked "unused" and use the (C)reate command. [ OK ] [ Press enter or space ] Zgodnie z poleceniem naciskamy Enter. Zobaczymy teraz listê twardych dysków znalezionych przez j±dro podczas rozpoznawania urz±dzeñ. przedstawia przyk³ad komputera z dwoma dyskami IDE, o nazwach ad0 i ad2.
Wybór dysku FDisk-a
Mo¿na siê zastanawiaæ, dlaczego na li¶cie brakuje ad1. Co spowodowa³o, ¿e zosta³ pominiêty? Przyjmijmy przyk³adowo, ¿e mamy dwa dyski IDE, jeden jako master na pierwszym kontrolerze IDE, drugi jako master na drugim kontrolerze IDE. Gdyby we FreeBSD zosta³y one ponumerowane w takiej kolejno¶ci, w jakiej zosta³y wykryte, czyli ad0 i ad1, wszystko dzia³a³oby jak nale¿y. Gdyby¶my jednak zainstalowali potem jeszcze jeden dysk, jako slave na pierwszym kontrolerze IDE, to ten w³a¶nie dysk zosta³by nowym ad1, a wcze¶niejszy ad1 zmieni³by siê w ad2. Poniewa¿ systemy plików odnajdywane s± wed³ug nazw urz±dzeñ (np. ad1s1a), mog³oby siê nagle okazaæ, ¿e niektóre systemy plików nie dzia³aj± poprawnie. Aby to poprawiæ, musieliby¶my zmieniæ konfiguracjê systemu. Aby zapobiec takim sytuacjom, j±dro FreeBSD mo¿e byæ skonfigurowane tak, by przydzielaæ dyskom IDE numery zgodne z ich rzeczywistym umiejscowieniem, niezale¿nie od kolejno¶ci wykrywania. Tym sposobem dysk pod³±czony jako master na drugim kontrolerze IDE zawsze bêdzie mieæ nazwê ad2, nawet w sytuacji, gdy ad0 i ad1 nie s± w ogóle obecne. J±dro FreeBSD domy¶lnie skonfigurowane jest w³a¶nie w ten sposób, dlatego te¿ na ekranie mamy ad0 i ad2. Komputer, z którego ten rysunek pochodzi, mia³ dwa dyski IDE pod³±czone jako master do obu kontrolerów IDE, nie mia³ natomiast dysków pod³±czonych jako slave. Wybieramy dysk, na którym chcemy zainstalowaæ FreeBSD i wybieramy &gui.ok;. Zostanie uruchomiony FDisk, pokazuj±c na ekranie obraz podobny do . Ekran FDisk-a podzielony jest na trzy czê¶ci. Czê¶æ pierwsza, obejmuj±ca pierwsze dwie linie ekranu, zawiera informacje o wybranym dysku, w tym jego oznaczenie we FreeBSD, geometriê oraz ca³kowity rozmiar dysku.k. Druga czê¶æ pokazuje informacje o istniej±cych na dysku segmentach: gdzie siê one zaczynaj± oraz koñcz±, jaki jest ich rozmiar, jaka nazwa zosta³a im nadana przez FreeBSD ich opis oraz typ. Na rysunku przyk³adowym widaæ dwa niewielkie nieu¿ywane segmenty, obecne ze wzglêdu na stosowany w architekturze PC podzia³ dysku. Prócz tego widaæ du¿y segment FAT, który prawie na pewno jest dyskiem C: w &ms-dos; / &windows;, oraz segment rozszerzony, zawieraj±cy byæ mo¿e dyski &ms-dos; / &windows; oznaczone kolejnymi literami. W trzeciej czê¶ci znajduje siê lista dostêpnych w FDisk-u poleceñ.
Uk³ad partycji w FDisk-u przed zmianami
Dalej postêpowaæ bêdziemy w zale¿no¶ci od tego, jak chcemy podzieliæ nasz dysk na segmenty. Je¿eli chcemy, by FreeBSD zajê³o ca³y dysk (co wi±¿e siê z usuniêciem z niego wszelkich innych danych, gdy potwierdzimy to w sysinstall na pó¼niejszym etapie instalacji), naciskamy A, co odpowiada opcji Use Entire Disk (wykorzystaj ca³y dysk). Istniej±ce segmenty zostan± usuniête, a w ich miejsce pojawi siê ma³y obszar opisany jako unused (nieu¿ywany; znów jest to nastêpstwem pecetowego uk³adu dysku), oraz du¿y segment przeznaczony dla FreeBSD. Je¿eli decydujemy siê na tê opcjê, powinni¶my w nastêpnej kolejno¶ci wskazaæ nowoutworzony segment FreeBSD przy u¿yciu klawiszy kursora i wcisn±æ S, by umo¿liwiæ ³adowanie systemu z tego segmentu. Ekran bêdzie wygl±daæ podobnie do przedstawionego na . Zwróæmy uwagê na literê A w kolumnie Flags, oznacza ona, ¿e segment jest aktywny i bêdzie z niego ³adowany system. Je¶li chcemy usun±æ istniej±cy segment by zwolniæ miejsce dla FreeBSD, wskazujemy segment korzystaj±c z klawiszy kursora i naciskamy D. Nastêpnie mo¿emy nacisn±æ C i w odpowiedzi na pytanie o rozmiar segmentu, który chcemy utworzyæ, wpisaæ odpowiedni± warto¶æ i wcisn±æ Enter. Warto¶æ domy¶lna stanowi najwiêkszy mo¿liwy rozmiar segmentu, czyli np. woln± przestrzeñ na dysku b±d¼ ca³± pojemno¶æ dysku twardego. Wolne miejsce dla FreeBSD mogli¶my tak¿e przygotowaæ wcze¶niej (na przyk³ad przy u¿yciu programu &partitionmagic;), w takim wypadku po prostu wciskamy C by utworzyæ nowy segment. W tym przypadku równie¿ zostaniemy zapytani o rozmiar segmentu, który zamierzamy stworzyæ.
Partycja w FDisk-u obejmuj±ca ca³y dysk
Na koniec naciskamy Q. Dokonane zmiany zostan± zapamiêtane przez sysinstall, ale nie bêd± jeszcze zapisane na dysku.
Instalacja programu ³aduj±cego W kolejnym kroku instalacji bêdziemy mieæ mo¿liwo¶æ zainstalowania programu ³aduj±cego (ang. boot manager). Mówi±c ogólnie, powinni¶my instalowaæ program ³aduj±cy FreeBSD je¿eli: Mamy dwa lub wiêcej dysków, a FreeBSD instalujemy na dysku innym ni¿ pierwszy. Instalujemy FreeBSD obok innego systemu operacyjnego na tym samym dysku, i chcemy mieæ mo¿liwo¶æ wybrania systemu operacyjnego podczas uruchamiania komputera. Je¶li FreeBSD bêdzie jedynym systemem operacyjnym na danym komputerze i zostanie zainstalowany na pierwszym dysku twardym, wówczas wystarczy wykorzystaæ Standardowy program ³aduj±cy. Natomiast je¶li wykorzystujemy ju¿ inny program potrafi±cy uruchomiæ FreeBSD powinny¶my wybraæ opcjê None (¿aden). Dokonany wybór potwierdzamy naciskaj±c Enter.
Wybór programu ³aduj±cego w sysinstall
Ekran pomocy, wy¶wietlany po naci¶niêciu F1, opisuje problemy z jakimi mo¿na siê spotkaæ, gdy planuje siê mieæ kilka systemów operacyjnych na jednym dysku.
Tworzenie segmentów na innym dysku Je¿eli mamy wiêcej dysków, po wyborze programu ³aduj±cego ponownie uka¿e siê ekran wyboru dysku. Chc±c zainstalowaæ FreeBSD na kilku dyskach, wybieramy tutaj kolejny dysk i ponownie korzystaj±c z programu FDisk tworzymy na nim segmenty. Je¶li instalujemy FreeBSD na innym dysku ni¿ pierwszy, wówczas program ³aduj±cy FreeBSD musi zostaæ zainstalowany na obydwu dyskach.
Zakoñczenie wyboru dysku
Klawisz Tab prze³±cza pomiêdzy ostatnio wybranym dyskiem oraz przyciskami &gui.ok;, i &gui.cancel;. Wciskamy Tab jeden raz, by wybraæ &gui.ok;, nastêpnie naciskamy Enter aby przej¶æ do kolejnego etapu instalacji.
Tworzenie partycji z wykorzystaniem <application>Disklabel</application> W nowoutworzonych segmentach musimy stworzyæ kilka partycji. Pamiêtajmy, ¿e ka¿da partycja oznaczona jest liter± od a do h, a partycje b, c i d rz±dz± siê specjalnymi zasadami, których nale¿y przestrzegaæ. Niektóre aplikacje mog± skorzystaæ na stosowaniu okre¶lonych schematów podzia³u na partycje, szczególnie, gdy partycje roz³o¿one s± na kilku dyskach. Na razie jednak, poniewa¿ jest to nasza pierwsza instalacja FreeBSD, nie powinni¶my zbytnio przejmowaæ siê podzia³em dysku na partycje. Wa¿niejszym jest, by¶my zainstalowali FreeBSD i zaczêli siê uczyæ, jak go u¿ywaæ. Kiedy ju¿ nabierzemy pewnej wprawy, mo¿emy zainstalowaæ system ponownie i zmieniæ sposób podzia³u na partycje. Poni¿szy schemat przedstawia cztery partycje — jedn± dla przestrzeni wymiany, oraz trzy dla systemów plików. Uk³ad partycji pierwszego dysku Partycja System plików Rozmiar Opis a / 100 MB Bêdzie to g³ówny system plików. Wszystkie inne systemy plików bêd± zamontowane gdzie¶ wewn±trz niego. 100 MB jest do¶æ rozs±dnym rozmiarem dla tego celu. Nie bêdzie tu przechowywane zbyt wiele danych, zwykle po instalacji FreeBSD umieszcza tu oko³o 40 MB danych. Pozosta³e miejsce jest dla danych tymczasowych, oraz s³u¿y jako zapas, gdyby kolejne wersje FreeBSD potrzebowa³y wiêcej miejsca w /. b brak 2-3 x RAM Partycja ta s³u¿y jako przestrzeñ wymiany. Wybór jej odpowiedniego rozmiaru nie jest spraw± banaln±. Mo¿emy przyj±æ, ¿e przestrzeñ wymiany powinna byæ dwu- lub trzykrotnie wiêksza ni¿ ilo¶æ pamiêci fizycznej (RAM). Prócz tego powinni¶my mieæ co najmniej 64 MB przestrzeni wymiany, wiêc je¿eli nasz komputer ma mniej ni¿ 32 MB pamiêci, ustawmy rozmiar przestrzeni wymiany na 64 MB. Je¶li dysponujemy kilkoma dyskami, mo¿emy na ka¿dym z nich umie¶ciæ przestrzeñ wymiany. FreeBSD bêdzie w procesie wymiany wykorzystywaæ ka¿dy z dysków, dziêki czemu wymiana bêdzie siê odbywaæ szybciej. W takim przypadku przyjmujemy ca³kowity rozmiar potrzebnej przestrzeni wymiany (np. 128 MB) i dzielimy go przez liczbê posiadanych dysków (np. dwa dyski), otrzymuj±c w wyniku rozmiar przestrzeni wymiany dla jednego dysku. W naszym przyk³adzie bêdzie to 64 MB na ka¿dy dysk. e /var 50 MB W katalogu /var przechowywane s± pliki o zmiennych rozmiarach; pliki dzienników systemowych i inne pliki administracyjne. Podczas codziennej pracy FreeBSD na wielu z tych plików dokonywane s± czêste operacje odczytu lub zapisu. Dziêki umieszczeniu ich w oddzielnym systemie plików FreeBSD mo¿e dokonaæ optymalizacji dostêpu do nich, nie wywieraj±c jednocze¶nie wp³ywu na inne pliki, do których dostêp przebiega inaczej. f /usr Reszta dysku Inne pliki bêd± zwykle przechowywane w katalogu /usr i jego podkatalogach.
Je¿eli instalujemy FreeBSD na dwóch lub wiêcej dyskach, musimy utworzyæ partycje tak¿e w innych przygotowanych segmentach. Naj³atwiej jest po prostu przygotowaæ na ka¿dym z kolejnych dysków dwie partycje, jedn± na przestrzeñ wymiany, drug± na system plików. Uk³ad partycji dla kolejnych dysków Partycja System plików Rozmiar Opis b brak Patrz: opis Jak ju¿ powiedzieli¶my, przestrzeñ wymiany mo¿emy dzieliæ miêdzy kilka dysków. Mimo, i¿ mamy do dyspozycji partycjê a, zgodnie z obowi±zuj±c± konwencj± przestrzeñ wymiany powinna znajdowaæ siê na partycji b. e /dyskn Reszta dysku Pozosta³a czê¶æ dysku zajmowana jest przez jedn± du¿± partycjê. Mog³aby to z powodzeniem byæ partycja a, zamiast e. Przyjêto jednak, ¿e partycja a zarezerwowana jest dla g³ównego systemu plików (/). Nie ma przymusu stosowania tej zasady, jednak sysinstall jej przestrzega, dobrze wiêc jest j± stosowaæ dla zachowania porz±dku podczas instalacji. System plików mo¿emy zamontowaæ w dowolnym miejscu, w przyk³adzie zaproponowano /dyskn, gdzie n jest kolejnym numerem ka¿dego dysku. Mo¿na jednak wybraæ inne nazewnictwo wed³ug uznania..
Po podjêciu decyzji jak ma wygl±daæ uk³ad partycji, pora wprowadziæ go w ¿ycie u¿ywaj±c sysinstall. Na ekranie uka¿e siê nastêpuj±cy komunikat: Message Now, you need to create BSD partitions inside of the fdisk partition(s) just created. If you have a reasonable amount of disk space (200MB or more) and don't have any special requirements, simply use the (A)uto command to allocate space automatically. If you have more specific needs or just don't care for the layout chosen by (A)uto, press F1 for more information on manual layout. [ OK ] [ Press enter or space ] Naciskamy Enter by przej¶æ do edytora partycji FreeBSD, zwanego Disklabel. przedstawia ekran zaraz po uruchomieniu Disklabel. Jest on podzielony na trzy czê¶ci. W kilku pierwszych wierszach widoczna jest nazwa wybranego aktualnie dysku, oraz nazwa segmentu, w którym tworzymy partycje (Disklabel u¿ywa tutaj nazwy Partition name, czyli nazwa partycji, a nie nazwa segmentu). Jest tu równie¿ zawarta informacja o rozmiarze wolnej przestrzeni wewn±trz segmentu, czyli przestrzeni nie przydzielonej jeszcze partycjom. ¦rodek ekranu zajmuje lista utworzonych partycji, wraz z nazwami przechowywanych na nich systemów plików, ich rozmiarami oraz pewnymi opcjami zwi±zanymi z tworzeniem systemu plików. W dolnej czê¶ci przedstawiona jest lista dostêpnych w Disklabel poleceñ.
Edytor Disklabel
Disklabel potrafi automatycznie utworzyæ partycje i nadaæ im domy¶lne rozmiary. Wypróbujmy tê mo¿liwo¶æ naciskaj±c A. Na ekranie uka¿e siê obraz podobny do . Ustawienia automatyczne mog± byæ w³a¶ciwe lub nie, w zale¿no¶ci od rozmiaru dysku. Nie ma to jednak wiêkszego znaczenia, poniewa¿ nie trzeba ich koniecznie akceptowaæ. Katalog /tmp jest domy¶lnie umieszczany na w³asnej partycji, zamiast byæ czê¶ci± partycji /. Dziêki temu mo¿na unikn±æ zape³nienia partycji / plikami tymczasowymi.
Edytor disklabel z automatycznymi ustawieniami
By usun±æ zaproponowane partycje i zast±piæ je utworzonymi w³asnorêcznie, wybieramy klawiszami kursora pierwsz± partycjê i naciskamy D. Tak samo postêpujemy z pozosta³ymi partycjami. Teraz, aby stworzyæ pierwsz± partycjê (a, zamontowan± jako /), wybieramy informacje o dysku w górnej czê¶ci ekranu i wciskamy C. Pojawi siê okienko z pytaniem o rozmiar nowej partycji (). Wybrany rozmiar podaæ mo¿emy w blokach, albo w wygodniejszej formie w postaci liczby megabajtów, gigabajtów lub cylindrów, odpowiednio z przyrostkiem M, G lub C. Pocz±wszy od FreeBSD 5.X u¿ytkownicy mog±: wybraæ system plików UFS2 (domy¶lny system we &os; 5.1 i pó¼niejszych) wykorzystuj±c opcjê Custom Newfs (Z), tworzyæ partycje za pomoc± Auto Defaults i modyfikowaæ przy pomocy Custom Newfs b±d¼ dodaæ opcjê podczas normalnego procesu tworzenia partycji. Wykorzystuj±c opcjê Custom Newfs musimy pamiêtaæ by dodaæ flagê (SoftUpdates)!
Wolne miejsce dla g³ównej partycji
Wybieraj±c domy¶lnie zaproponowany rozmiar utworzymy partycjê obejmuj±c± pozosta³e miejsce w segmencie. Je¿eli zamierzamy stworzyæ partycje o takich rozmiarach, jak wcze¶niej opisywali¶my, wówczas kasujemy zaproponowan± warto¶æ klawiszem Backspace, i wpisujemy 64M, . Nastêpnie wybieramy &gui.ok;.
Zmiana rozmiaru g³ównej partycji
Po wybraniu rozmiaru partycji pojawi siê pytanie, czy partycja zawieraæ bêdzie system plików, czy przestrzeñ wymiany. Okienko z tym pytaniem pokazane jest na . Pierwsza partycja zawieraæ bêdzie system plików, wybieramy wiêc FS i naciskamy Enter.
Wybór typu g³ównej partycji
Poniewa¿ na partycji znajdowaæ siê bêdzie system plików, Disklabel musi wiedzieæ, gdzie bêdzie on zamontowany. przedstawia okienko z pro¶b± o podanie tej informacji. G³ówny system plików montowany jest jako /, wpisujemy wiêc / i wciskamy Enter.
Wybór miejsca montowania g³ównego systemu plików
Na ekranie pojawi siê informacja o nowo utworzonej partycji. Powinni¶my teraz powtórzyæ ca³± procedurê dla kolejnych partycji. Tworz±c partycjê wymiany nie bêdziemy pytani o miejsce jej zamontowania, poniewa¿ partycje wymiany nie s± montowane. Gdy bêdziemy tworzyæ ostatni± partycjê, /usr, mo¿emy przyj±æ proponowany rozmiar domy¶lny, aby przeznaczyæ na tê partycjê resztê segmentu. Ostatecznie ekran edytora Disklabel bêdzie wygl±daæ podobnie do , choæ wybrane przez nas warto¶ci mog± byæ inne. By zakoñczyæ pracê z Disklabel, wciskamy Q.
Edytor Disklabel
Wybór sk³adników instalacji Wybór zestawu komponentów Decyzja o tym, jaki zestaw komponentów zainstalujemy, zale¿y w du¿ej mierze od planowanych zastosowañ systemu i ilo¶ci wolnego miejsca na dysku. Dostêpne warianty pozwalaj± zarówno na instalacjê najmniejszej konfiguracji, jak i na instalacjê wszystkiego. Pocz±tkuj±cy u¿ytkownicy systemów &unix; i FreeBSD powinni wybraæ jeden z przygotowanych wariantów. Dla bardziej do¶wiadczonych u¿ytkowników istnieje mo¿liwo¶æ u³o¿enia w³asnego zestawu komponentów. Wiêcej informacji o zestawach komponentów i ich zawarto¶ci mo¿emy uzyskaæ naciskaj±c F1. Po przejrzeniu tych informacji naciskamy Enter, aby powróciæ do menu wyboru komponentów. Je¶li planujemy korzystaæ z graficznego interfejsu u¿ytkownika powinni¶my wybraæ jeden z zestawów o nazwie rozpoczynaj±cej siê liter± X. Po instalacji zajmiemy siê konfigurowaniem serwera graficznego i wyborem mened¿era okien. Szczegó³owe informacje na ten temat zawiera rozdzia³ . To, która wersja systemu X11 jest domy¶lnie instalowana, zale¿y od instalowanej wersji &os;. Wydania wcze¶niejsze od 5.3 domy¶lnie instaluj± &xfree86; 4.X. Natomiast &os; 5.3 i pó¼niejsze instaluj± &xorg;. Je¿eli planujemy samodzielne kompilowanie j±dra, powinni¶my wybraæ wariant zawieraj±cy kod ¼ród³owy. zawiera informacje, dlaczego powinno siê budowaæ niestandardowe j±dro i jak to zrobiæ. Oczywi¶cie najbardziej wszechstronny jest system zawieraj±cy wszystkie komponenty. Je¶li mamy wystarczaj±co du¿o miejsca na dysku, wybieramy klawiszami kursora All, , i naciskamy Enter. Je¿eli jednak miejsca na dysku mog³oby nie wystarczyæ, wybierzmy wariant najlepiej odpowiadaj±cy obecnym potrzebom. Kolejne komponenty mog± byæ dodawane po zainstalowaniu systemu.
Wybór komponentów
Instalacja kolekcji portów Po wyborze komponentów bêdziemy mieæ mo¿liwo¶æ zainstalowania kolekcji portów FreeBSD. Kolekcja portów umo¿liwia ³atwe i wygodne instalowanie oprogramowania. Nie zawiera ona kodów ¼ród³owych programów. W sk³ad kolekcji portów wchodz± pliki umo¿liwiaj±ce automatyczne pobieranie programów, oraz ich kompilowanie i instalowanie. opisuje sposób korzystanie z kolekcji portów. Program instalacyjny nie sprawdza, czy mamy odpowiednio du¿o wolnego miejsca na dysku. Kolekcjê portów powinni¶my instalowaæ tylko pod warunkiem, ¿e miejsca faktycznie wystarczy. We FreeBSD &rel.current; kolekcja zajmuje oko³o &ports.size;. User Confirmation Requested Would you like to install the FreeBSD ports collection? This will give you ready access to over &os.numports; ported software packages, at a cost of around &ports.size; of disk space when "clean" and possibly much more than that if a lot of the distribution tarballs are loaded (unless you have the extra CDs from a FreeBSD CD/DVD distribution available and can mount it on /cdrom, in which case this is far less of a problem). The Ports Collection is a very valuable resource and well worth having on your /usr partition, so it is advisable to say Yes to this option. For more information on the Ports Collection & the latest ports, visit: http://www.FreeBSD.org/ports [ Yes ] No Klawiszami kursora wybieramy &gui.yes;, aby zainstalowaæ kolekcjê portów, lub &gui.no;, by z niej zrezygnowaæ. Wybór zatwierdzamy klawiszem Enter. Ponownie pojawi siê menu wyboru komponentów.
Zatwierdzenie wybranych komponentów
Je¿eli odpowiadaj± nam wybrane komponenty, przy pomocy klawiszy kursora wybieramy Exit, zaznaczamy &gui.ok; i naciskamy Enter, przechodz±c do kolejnego etapu instalacji.
Wybór no¶nika instalacji W przypadku, gdy instalujemy z p³yty CD b±d¼ DVD, klawiszami kursora wybieramy pozycjê Install from a FreeBSD CD/DVD (instalacja z CD/DVD). Upewniwszy siê, ¿e zaznaczone jest &gui.ok;, naciskamy Enter przechodz±c do nastêpnego etapu instalacji. Je¿eli stosujemy inn± metodê instalacji, wybieramy odpowiedni± pozycjê i postêpujemy zgodnie ze wskazówkami. Klawiszem F1 mo¿emy w³±czyæ pomoc. Do menu wyboru no¶nika powracamy naciskaj±c Enter.
Wybór no¶nika instalacji
Tryby instalacji przez FTP instalacja sieæ FTP Mo¿na wybraæ jeden z trzech trybów instalacji przez FTP: aktywne FTP, pasywne FTP lub po¶rednio przez HTTP proxy. Aktywne FTP: Install from an FTP server Wybór tego wariantu spowoduje, ¿e przesy³anie danych przez FTP odbywaæ siê bêdzie w trybie aktywnym. Nie zadzia³a to w przypadku transmisji przez zaporê ogniow±, ale bêdzie wspó³pracowaæ ze starszymi serwerami FTP nie obs³uguj±cymi trybu pasywnego. Je¶li po³±czenie pasywne (wybierane domy¶lnie) nie zadzia³a, spróbujmy aktywnego! Pasywne FTP: Install from an FTP server through a firewall FTP tryb pasywny Opcja ta informuje sysinstall, ¿e przesy³anie danych przez FTP odbywaæ siê bêdzie w trybie pasywnym. Pozwoli to na po³±czenie poprzez zaporê ogniow±, która nie zezwala na po³±czenia z zewn±trz z portami o przypadkowych numerach. FTP przez proxy HTTP: Install from an FTP server through a http proxy FTP przez proxy HTTP Ten wariant instruuje sysinstall do wykorzystania protoko³u HTTP (podobnie jak przegl±darka stron WWW) do po³±czenia siê z serwerem proxy po¶rednicz±cym w transmisji przez FTP. Serwer po¶rednicz±cy przetwarza ¿±dania i przesy³a je do serwera FTP. Dziêki temu mo¿liwe jest po³±czenie poprzez zaporê ogniow± nie zezwalaj±c± na ¿adne po³±czenia FTP, oferuj±c± jednak HTTP proxy. W takiej sytuacji, poza adresem serwera FTP, bêdziemy musieli podaæ tak¿e adres serwera proxy. Korzystaj±c z po¶rednicz±cego serwera FTP proxy, zwykle podajemy nazwê serwera docelowego jako czê¶æ nazwy u¿ytkownika, po znaku @. Serwer proxy udaje wówczas serwer docelowy. Za³ó¿my, dla przyk³adu, ¿e chcemy zainstalowaæ system z ftp.FreeBSD.org, za po¶rednictwem serwera proxy FTP foo.example.com, nas³uchuj±cego na porcie 1024. W takiej sytuacji przechodzimy do menu opcji, jako nazwê u¿ytkownika FTP wpisujemy ftp@ftp.FreeBSD.org, a jako has³o podajemy nasz adres email. Jako no¶nik instalacji wybieramy FTP (lub pasywne FTP, je¿eli umo¿liwia to serwer proxy), a jako URL wpisujemy ftp://foo.example.com:1234/pub/FreeBSD. Ze wzglêdu na to, ¿e /pub/FreeBSD z ftp.FreeBSD.org jest udostêpnione na serwerze proxy foo.example.com, mo¿emy w³a¶nie z tego serwera dokonaæ instalacji (poniewa¿ zajmie siê on pobraniem odpowiednich plików z ftp.FreeBSD.org).
Przyst±pienie do instalacji Mo¿emy teraz rozpocz±æ w³a¶ciw± instalacjê, a zarazem mamy ostatni± szansê na rezygnacjê z instalacji bez zmiany zawarto¶ci dysku twardego. User Confirmation Requested Last Chance! Are you SURE you want to continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! [ Yes ] No Wybieramy &gui.yes; i wciskamy Enter, by rozpocz±æ instalacjê. Czas trwania instalacji zale¿y od wybranych komponentów, u¿ywanego no¶nika instalacji oraz prêdko¶ci komputera. Szereg komunikatów informowaæ bêdzie o przebiegu procesu instalacji. Po zakoñczeniu instalacji wy¶wietlony zostanie nastêpuj±cy komunikat: Message Congratulations! You now have FreeBSD installed on your system. We will now move on to the final configuration questions. For any option you do not wish to configure, simply select No. If you wish to re-enter this utility after the system is up, you may do so by typing: /stand/sysinstall . [ OK ] [ Press enter to continue ] Po naci¶niêciu klawisza Enter zajmiemy siê przygotowaniem wstêpnej konfiguracji systemu. Je¶li wybierzemy &gui.no; i naci¶niemy Enter instalacja zostanie przerwana, bez dokonywania jakichkolwiek zmian. Pojawi siê komunikat o tre¶ci: Message Installation complete with some errors. You may wish to scroll through the debugging messages on VTY1 with the scroll-lock feature. You can also choose "No" at the next prompt and go back into the installation menus to retry whichever operations have failed. [ OK ] Powy¿szy komunikat pojawia siê, poniewa¿ nic nie zosta³o zainstalowane. Naciskaj±c Enter mo¿emy powróciæ do g³ównego menu i opu¶ciæ program instalacyjny. Po instalacji Po pomy¶lnie zakoñczonej instalacji zajmiemy siê wstêpn± konfiguracj± systemu. Wszelkich zmian w ustawieniach mo¿emy dokonaæ przed uruchomieniem nowo zainstalowanego systemu FreeBSD lub te¿ po zakoñczeniu instalacji, korzystaj±c z sysinstall (we &os; starszych ni¿ 5.2 /stand/sysinstall) i jego opcji Configure. Konfiguracja urz±dzeñ sieciowych Je¶li wcze¶niej skonfigurowali¶my PPP na potrzeby instalacji przez FTP, konfiguracja urz±dzeñ sieciowych zostanie pominiêta. Bêdziemy mogli zaj±æ siê ni± pó¼niej. Szczegó³owe informacje na temat sieci lokalnych (LAN) oraz konfiguracji FreeBSD w roli bramy lub rutera znale¼æ mo¿na w rozdziale Zaawansowana konfiguracja sieciowa. User Confirmation Requested Would you like to configure any Ethernet or SLIP/PPP network devices? [ Yes ] No Je¶li chcemy skonfigurowaæ urz±dzenie sieciowe, wybieramy &gui.yes; i wciskamy Enter. W przeciwnym wypadku wybieramy &gui.no;.
Wybór karty Ethernet
Klawiszami kursora wybieramy interfejs, który bêdziemy konfigurowaæ i wciskamy Enter. User Confirmation Requested Do you want to try IPv6 configuration of the interface? Yes [ No ] Dla przyk³adu, w sieci lokalnej w zupe³no¶ci wystarcza obecny protokó³ Internetu (IPv4), wybieramy wiêc klawiszami kursora &gui.no; i naciskamy Enter. Je¶li chcemy wypróbowaæ nowy protokó³ Internetu (IPv6), wybieramy &gui.yes; i naciskamy Enter. Przez chwilê bêdzie siê odbywaæ poszukiwanie serwerów RA. User Confirmation Requested Do you want to try DHCP configuration of the interface? Yes [ No ] Je¿eli nie wykorzystujemy DHCP (Dynamic Host Configuration Protocol), wybieramy klawiszami kursora &gui.no; i wciskamy Enter. Wybranie &gui.yes; spowoduje uruchomienie dhclient i je¶li wszystko przebiegnie prawid³owo, konfiguracja sieci zostanie rozpoznana automatycznie. zawiera szczegó³owe informacje na ten temat. Przedstawiony poni¿ej ekran konfiguracji sieci (Network Configuration) przedstawia konfiguracjê karty sieciowej komputera, który bêdzie s³u¿y³ jako brama w sieci lokalnej.
Konfiguracja interfejsu ed0
Klawiszem Tab wybieramy poszczególne pola, w których wpisujemy odpowiednie informacje: Host (stacja) Pe³na nazwa stacji, w powy¿szym przyk³adzie k6-2.example.com. Domain (domena) Nazwa domeny, do której nale¿y stacja, w przyk³adzie jest to example.com. IPv4 Gateway (brama IPv4) Adres IP stacji przekazuj±cej pakiety do odbiorców spoza sieci lokalnej. Musi byæ podany, je¶li komputer jest wêz³em w sieci. Je¿eli komputer pe³ni rolê bramy do Internetu w sieci lokalnej, pole to nale¿y pozostawiæ puste. Name server (serwer nazw) Adres IP lokalnego serwera DNS. W przyk³adowej sieci lokalnej nie ma serwera DNS, wpisany wiêc zosta³ adres serwera DNS dostawcy Internetu (208.163.10.2). IPv4 address (adres IPv4) W przyk³adzie temu interfejsowi przypisano adres 192.168.0.1. Netmask (maska podsieci) W sieci lokalnej u¿yty zosta³ dla przyk³adu blok adresów klasy C (192.168.0.0 - 192.168.0.255). Maska podsieci jest mask± sieci klasy C (255.255.255.0). Extra options to ifconfig (dodatkowe opcje dla ifconfig) Tu wpisywane s± dodatkowe opcje dla ifconfig charakterystyczne dla interfejsu. W pokazanym przyk³adzie nie by³o takowych opcji. Gdy konfiguracja bêdzie gotowa, klawiszem Tab wybieramy &gui.ok; i naciskamy Enter. User Confirmation Requested Would you like to Bring Up the ed0 interface right now? [ Yes ] No Je¶li wybierzemy &gui.yes; i wci¶niemy Enter, komputer zostanie aktywowany do pracy w sieci.
Konfiguracja bramy User Confirmation Requested Do you want this machine to function as a network gateway? [ Yes ] No Je¶li komputer bêdzie w sieci lokalnej pe³niæ rolê bramy, czyli bêdzie przekazywaæ pakiety pomiêdzy innymi komputerami, wybieramy opcjê &gui.yes; i naciskamy Enter. Je¿eli natomiast komputer bêdzie wêz³em w sieci, wybieramy &gui.no; i równie¿ wciskamy Enter. Konfiguracja us³ug internetowych User Confirmation Requested Do you want to configure inetd and the network services that it provides? Yes [ No ] Wybranie &gui.no; spowoduje, ¿e wiele us³ug (jak np. telnetd) bêd± wy³±czone. Oznacza to, ¿e zdalni u¿ytkownicy nie bêd± mogli po³±czyæ siê z naszym komputerem za pomoc± telnetu. U¿ytkownicy lokalni bêd± natomiast mogli ³±czyæ siê z odleg³ymi komputerami korzystaj±c z telnetu. Us³ugi mo¿emy w³±czyæ po zainstalowaniu systemu, aby to zrobiæ, modyfikujemy plik /etc/inetd.conf za pomoc± edytora tekstu. Wiêcej informacji znale¼æ mo¿na w Sekcji 25.2.1. . Je¶li woleliby¶my skonfigurowaæ us³ugi internetowe podczas instalacji, wybieramy &gui.yes;. Zostaniemy poproszeni o dodatkowe potwierdzenie: User Confirmation Requested The Internet Super Server (inetd) allows a number of simple Internet services to be enabled, including finger, ftp and telnetd. Enabling these services may increase risk of security problems by increasing the exposure of your system. With this in mind, do you wish to enable inetd? [ Yes ] No Wybieramy &gui.yes;, by przej¶æ dalej. User Confirmation Requested inetd(8) relies on its configuration file, /etc/inetd.conf, to determine which of its Internet services will be available. The default FreeBSD inetd.conf(5) leaves all services disabled by default, so they must be specifically enabled in the configuration file before they will function, even once inetd(8) is enabled. Note that services for IPv6 must be separately enabled from IPv4 services. Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to use the current settings. [ Yes ] No Wybranie &gui.yes; pozwoli na w³±czanie poszczególnych us³ug poprzez usuniêcie znaku # na pocz±tku w³a¶ciwego wiersza.
Modyfikacja <filename>inetd.conf</filename>
Gdy w³±czymy wybrane us³ugi, naciskamy Esc by przej¶æ do menu, w którym bêdziemy mogli zakoñczyæ modyfikowanie pliku i zapisaæ zmiany.
Anonimowe FTP FTP anonimowe User Confirmation Requested Do you want to have anonymous FTP access to this machine? Yes [ No ] Wy³±czenie anonimowego FTP Wybranie zaznaczonego domy¶lnie &gui.no; pozwoli na dostêp do komputera poprzez FTP tylko tym u¿ytkownikom, którzy maj± w³asne konta chronione has³em. W³±czenie anonimowego FTP W³±czenie anonimowego FTP oznacza, ¿e ka¿dy bêdzie móg³ uzyskaæ dostêp do komputera. Zanim siê na to zdecydujemy, powinni¶my byæ ¶wiadomi niebezpieczeñstwa, które siê z tym wi±¿e. zawiera wiêcej informacji na temat bezpieczeñstwa. Aby w³±czyæ anonimowe FTP, klawiszami kursora wybieramy &gui.yes; i naciskamy Enter. Ekran bêdzie wygl±daæ jak na poni¿szym rysunku (lub podobnie):
Domy¶lne ustawienia anonimowego FTP
Mo¿emy nacisn±æ F1, by uzyskaæ pomoc: This screen allows you to configure the anonymous FTP user. The following configuration values are editable: UID: The user ID you wish to assign to the anonymous FTP user. All files uploaded will be owned by this ID. Group: Which group you wish the anonymous FTP user to be in. Comment: String describing this user in /etc/passwd FTP Root Directory: Where files available for anonymous FTP will be kept. Upload subdirectory: Where files uploaded by anonymous FTP users will go. G³ówny katalog ftp jest domy¶lnie umieszczany w /var. Je¿eli nie mamy tam wystarczaj±co du¿o miejsca dla przewidywanych potrzeb FTP, mo¿emy wybraæ w zamian katalog /usr, jako g³ówny katalog FTP (FTP Root Directory) wpisuj±c /usr/ftp. Po wybraniu odpowiadaj±cych nam ustawieñ naciskamy Enter. User Confirmation Requested Create a welcome message file for anonymous FTP users? [ Yes ] No Je¿eli wybierzemy &gui.yes; i wci¶niemy Enter, automatycznie zostanie uruchomiony edytor, w którym bêdziemy mogli napisaæ komunikat powitalny dla u¿ytkowników anonimowego FTP.
Edycja komunikatu powitalnego FTP
U¿ywanym tutaj edytorem tekstu jest ee. Postêpuj±c zgodnie z przedstawionymi na ekranie wskazówkami mo¿emy wprowadziæ tre¶æ komunikatu, lub te¿ mo¿emy zrobiæ to pó¼niej, korzystaj±c z dowolnego edytora. W tym celu warto jest zapisaæ nazwê i lokalizacjê pliku pokazywan± na dole ekranu. Gdy naci¶niemy Esc pokazane zostanie menu z domy¶lnie zaznaczon± opcj± a) leave editor. (opuszczenie edytora). Wybieramy j± naciskaj±c Enter. Ponowne naci¶niêcie Enter spowoduje zapisanie zmian je¶li jakich¶ dokonali¶my.
Konfiguracja sieciowych us³ug plikowych Sieciowe us³ugi plikowe (Network File Services - NFS) pozwalaj± na wspó³dzielony dostêp do plików przez sieæ. Komputer mo¿emy skonfigurowaæ jako serwer, klient, lub oba naraz. Wiêcej informacji na ten temat mo¿na znale¼æ w . Serwer NFS User Confirmation Requested Do you want to configure this machine as an NFS server? Yes [ No ] Je¶li nie zamierzamy korzystaæ z serwera NFS, wybieramy &gui.no; i wciskamy Enter. W przeciwnym wypadku, gdy wybierzemy &gui.yes;, zostanie pokazany komunikat o konieczno¶ci stworzenia pliku exports. Message Operating as an NFS server means that you must first configure an /etc/exports file to indicate which hosts are allowed certain kinds of access to your local filesystems. Press [Enter] now to invoke an editor on /etc/exports [ OK ] Naciskamy Enter. Zostanie uruchomiony edytor tekstu, w którym bêdziemy mogli przygotowaæ plik exports.
Edycja pliku <filename>exports</filename>
Zgodnie ze wskazówkami dopisujemy udostêpniane systemy plików. Mo¿emy tak¿e zrobiæ to pó¼niej, korzystaj±c z preferowanego przez nas edytora tekstu. W tym celu warto zapisaæ sobie pokazywan± na dole ekranu nazwê i lokalizacjê pliku. Gdy naci¶niemy Esc, pokazane zostanie menu z domy¶lnie zaznaczon± opcj± a) leave editor (opuszczenie edytora). Wybieramy j± naciskaj±c Enter.
Klient NFS Instalacja klienta NFS pozwoli naszemu komputerowi ³±czyæ siê z serwerami NFS. User Confirmation Requested Do you want to configure this machine as an NFS client? Yes [ No ] Wybieramy klawiszami kursora &gui.yes; lub &gui.no; zale¿enie od podjêtej decyzji, po czym naciskamy Enter.
Profil zabezpieczeñ Profil zabezpieczeñ to zestaw opcji konfiguracyjnych, maj±cy zapewniæ okre¶lony poziom bezpieczeñstwa poprzez w³±czenie i wy³±czenie pewnych programów i ustawieñ. Im surowszy profil zabezpieczeñ, tym mniej programów bêdzie domy¶lnie uruchamianych. Odpowiada to jednej z podstawowych zasad bezpieczeñstwa: nale¿y wy³±czaæ wszystko, co nie musi byæ w³±czone. Pamiêtajmy, ¿e profil zabezpieczeñ to tylko domy¶lne ustawienia. Poszczególne programy mo¿na w³±czaæ i wy³±czaæ ju¿ po zainstalowaniu FreeBSD, poprzez modyfikacjê lub dodanie odpowiednich wpisów w pliku /etc/rc.conf. Dalsze informacje na ten temat znale¼æ mo¿na w dokumentacji systemowej &man.rc.conf.5;. Poni¿sza tabela pokazuje, jaki jest efekt stosowania ka¿dego z profili zabezpieczeñ. Kolumny odpowiadaj± profilom, które mo¿na wybraæ, natomiast w kolejnych wierszach wymienione s± poszczególne programy lub funkcje w³±czone lub wy³±czone w danym profilu. Dostêpne profile zabezpieczeñ Extreme Medium &man.sendmail.8; NIE TAK &man.sshd.8; NIE TAK &man.portmap.8; NIE - MO¯E - - Portmapper jest w³±czony, je¶li na wcze¶niejszym + MO¯E (Portmapper jest w³±czony, je¶li na wcze¶niejszym etapie instalacji komputer zosta³ skonfigurowany jako - klient lub serwer NFS. - + klient lub serwer NFS.) serwer NFS NIE TAK &man.securelevel.8; - TAK - - Wybieraj±c profil zabezpieczeñ, który + TAK (Wybieraj±c profil zabezpieczeñ, który powoduje ustawienie securelevel na Extreme lub High, powinni¶my pamiêtaæ o konsekwencjach. Warto przeczytaæ dokumentacjê systemow± &man.init.8; i zwróciæ szczególn± uwagê na znaczenie poziomów bezpieczeñstwa, by unikn±æ - pó¼niejszych k³opotów! - + pó¼niejszych k³opotów!) NIE
User Confirmation Requested Do you want to select a default security profile for this host (select No for "medium" security)? [ Yes ] No Je¿eli wybierzemy &gui.no; i naci¶niemy Enter, zostanie ustawiony ¶redni profil zabezpieczeñ. Chc±c wybraæ inny profil zabezpieczeñ, wybieramy &gui.yes; i wciskamy Enter.
Opcje profilu zabezpieczeñ
Aby uzyskaæ pomoc, wciskamy F1. Naciskaj±c Enter wracamy do menu. Klawiszami kursora wybieramy Medium, chyba, ¿e jeste¶my pewni, ¿e bêdziemy potrzebowaæ innego poziomu bezpieczeñstwa. Wskazujemy nastêpnie &gui.ok; i wciskamy Enter. Zostanie wy¶wietlony komunikat potwierdzaj±cy wybór profilu zabezpieczeñ. Message Moderate security settings have been selected. Sendmail and SSHd have been enabled, securelevels are disabled, and NFS server setting have been left intact. PLEASE NIETE that this still does not save you from having to properly secure your system in other ways or exercise due diligence in your administration, this simply picks a standard set of out-of-box defaults to start with. To change any of these settings later, edit /etc/rc.conf [OK] Message Extreme security settings have been selected. Sendmail, SSHd, and NFS services have been disabled, and securelevels have been enabled. PLEASE NIETE that this still does not save you from having to properly secure your system in other ways or exercise due diligence in your administration, this simply picks a more secure set of out-of-box defaults to start with. To change any of these settings later, edit /etc/rc.conf [OK] Naciskamy Enter, aby przej¶æ do kolejnego etapu konfiguracji. Profil zabezpieczeñ nie jest cudownym lekarstwem! Nawet, je¶li wybrali¶my najbardziej bezpieczny profil, musimy na bie¿±co interesowaæ siê sprawami bezpieczeñstwa systemu, czytaj±c po¶wiêcone im listy dyskusyjne (),, stosuj±c dobre has³a i przestrzegaj±c ogólnych zasad bezpieczeñstwa. Profil jest tylko wygodnym sposobem na przygotowanie podstawowych zabezpieczeñ.
Ustawienia konsoli systemowej Kilka opcji s³u¿y do konfiguracji konsoli systemowej. User Confirmation Requested Would you like to customize your system console settings? [ Yes ] No Aby zobaczyæ i zmieniæ ustawienia, wybieramy &gui.yes; i wciskamy Enter.
Opcje konfiguracji konsoli systemowej
Czêsto stosowan± opcj± jest wygaszacz ekranu (screen saver). Klawiszami kursora wybieramy Saver i naciskamy Enter.
Opcje wygaszacza ekranu
Za pomoc± klawiszy kursora wybieramy odpowiadaj±cy nam wygaszacz i wciskamy Enter. Ponownie pojawi siê menu konfiguracji konsoli systemowej. Przyjmowany domy¶lnie przedzia³ czasu wynosi 300 sekund. Aby go zmieniæ, ponownie wybieramy Saver. W menu opcji wygaszacza ekranu klawiszami kursora wybieramy Timeout i naciskamy Enter. Pojawi siê okienko:
Limit czasu wygaszacza ekranu
Warto¶æ mo¿emy zmieniæ, po czym wybieramy &gui.ok; i wciskamy Enter, by wróciæ do menu konfiguracji konsoli.
Zakoñczenie konfiguracji konsoli
Wybieramy Exit i naciskamy Enter, przechodz±c do kolejnego etapu konfiguracji.
Ustawienia strefy czasowej Dziêki ustawieniu strefy czasowej komputer bêdzie móg³ automatycznie ustawiaæ zegar w przypadku zmiany czasu, jak równie¿ bêdzie prawid³owo wykonywaæ inne czynno¶ci zwi±zane ze stref± czasow±. W przyk³adzie mamy do czynienia z komputerem znajduj±cym siê we wschodniej strefie czasowej Stanów Zjednoczonych. Rzeczywiste ustawienia bêd± zale¿eæ od naszego po³o¿enia geograficznego. User Confirmation Requested Would you like to set this machine's time zone now? [ Yes ] No By ustawiæ strefê czasow±, wybieramy &gui.yes; i naciskamy Enter. User Confirmation Requested Is this machine's CMOS clock set to UTC? If it is set to local time or you don't know, please choose NIE here! Yes [ No ] Wybieramy &gui.yes; lub &gui.no;, w zale¿no¶ci od ustawienia zegara komputera, nastêpnie wciskamy Enter.
Wybór regionu geograficznego
Klawiszami kursora wybieramy odpowiedni region, po czym naciskamy Enter.
Wybór kraju
Przy u¿yciu klawiszy kursora wybieramy odpowiedni kraj i naciskamy Enter.
Wybór strefy czasowej
Klawiszami kursora wybieramy w³a¶ciw± strefê czasow± i wciskamy Enter. Confirmation Does the abbreviation 'EDT' look reasonable? [ Yes ] No Zostaniemy zapytani, czy skrót nazwy strefy czasowej jest prawid³owy. Je¶li tak, naciskamy Enter i przechodzimy do kolejnego etapu konfiguracji.
Kompatybilno¶æ z Linuksem User Confirmation Requested Would you like to enable Linux binary compatibility? [ Yes ] No Wybranie &gui.yes; i naci¶niêcie Enter pozwoli uruchamiaæ programy linuksowe we FreeBSD. Program instalacyjny do³±czy pakiety obs³uguj±ce kompatybilno¶æ z Linuksem. Je¶li instalujemy system przez FTP, komputer bêdzie potrzebowaæ ³±czno¶ci z Internetem. Mo¿e siê zdarzyæ, ¿e na serwerze ftp bêdzie brakowa³o pewnych sk³adników, na przyk³ad obs³uguj±cych kompatybilno¶æ z Linuksem. Mo¿na je jednak zainstalowaæ pó¼niej. Ustawienia myszki Pos³uguj±c siê 3-przyciskow± myszk± bêdziemy mogli wycinaæ i wklejaæ tekst na konsoli i w uruchamianych programach. Je¶li nasza myszka ma dwa przyciski, po instalacji zajrzyjmy do dokumentacji systemowej &man.moused.8;, gdzie opisana zosta³a emulacja trzech przycisków. W naszym przyk³adzie konfigurujemy myszkê nie pod³±czon± przez USB (np. przez z³±cze PS/2 lub port COM):: User Confirmation Requested Does this system have a non-USB mouse attached to it? [ Yes ] No Wybieramy &gui.no;, je¶li myszka pod³±czona jest przez USB, lub &gui.yes; w przeciwnym wypadku i naciskamy Enter.
Opcja wyboru protoko³u myszki
Klawiszami kursora wskazujemy Type i naciskamy Enter.
Wybór protoko³u myszki
Myszka u¿ywana w przyk³adzie jest typu PS/2, wybrano wiêc domy¶ln± opcjê Auto. Inny protokó³ wybieramy wskazuj±c odpowiedni± opcjê klawiszami kursora. Upewniwszy siê, ¿e &gui.ok; jest zaznaczone, naciskamy Enter i wracamy do poprzedniego menu.
Konfiguracja portu myszki
Za pomoc± klawiszy kursora wybieramy Port i wciskamy Enter.
Wybór portu myszki
Poniewa¿ przyk³adowa myszka jest typu PS/2, zaznaczona zosta³a domy¶lna opcja PS/2. Klawiszami kursora mo¿emy wybraæ port, nastêpnie naciskamy Enter.
W³±czenie demona myszki
Na koniec wybieramy Enable i naciskamy Enter by w³±czyæ demona myszki i go przetestowaæ.
Testowanie demona myszki
Nastêpnie musimy poruszyæ myszk± i sprawdziæ czy kursor porusza siê we w³a¶ciwy sposób po ekranie. Je¶li tak to wybieramy &gui.yes; i wciskamy Enter. Je¶li nie myszka nie zosta³a w³a¶ciwie skonfigurowana — wybieramy &gui.no; i próbujemy innych ustawieñ myszy. Wybieramy Exit i wciskamy Enter, by zakoñczyæ ten etap konfiguracji.
Tom Rhodes Napisa³ Konfiguracja dodatkowych us³ug sieciowych Konfiguracja us³ug sieciowych mo¿e byæ nu¿±cym zadaniem dla pocz±tkuj±cych u¿ytkowników, szczególnie je¶li brak im wiedzy w tym zakresie. Mo¿liwo¶æ pracy w sieci - tak¿e w Internecie - jest kluczowym elementem wszystkich wspó³czesnych systemów operacyjnych, w tym równie¿ &os;. St±d te¿ jest bardzo pomocnym mieæ pojêcie o mo¿liwo¶ciach pracy w sieci jakie oferuje &os;. Poznanie tych jego mo¿liwo¶ci ju¿ w trakcie instalacji pozwoli u¿ytkownikom zrozumieæ ró¿ne aspekty funkcjonowania us³ug sieciowych. Us³ugi sieciowe s± programami potrafi±cymi przyjmowaæ dane z dowolnej lokalizacji w sieci. Dlatego w³a¶nie dok³adanych jest wiele starañ, by zagwarantowaæ, ¿e programy te nie uczyni± nic szkodliwego. Niestety, programi¶ci nie s± doskonali. W przesz³o¶ci zdarza³y siê sytuacje, w których atakuj±cy wykorzystywali b³êdy w oprogramowaniu by wyrz±dziæ szkodê systemowi. St±d te¿ jest bardzo istotnym by w³±czaæ tylko te us³ugi sieciowe, które s± nam potrzebne. Je¶li nie jeste¶my pewni, najlepiej jest nie w³±czaæ danej us³ugi nim nie dowiemy siê czy rzeczywi¶cie jej potrzebujemy. Zawsze mo¿emy j± aktywowaæ pó¼niej uruchamiaj±c ponownie sysinstall b±d¼ edytuj±c plik /etc/rc.conf. Wybranie opcji Networking spowoduje wy¶wietlenie menu zbli¿onego do poni¿szego:
Najwy¿szy poziom konfiguracji sieci
Pierwsz± z dostêpnych opcji - Interfaces - opisuje bli¿ej , dlatego te¿ mo¿emy j± teraz pomin±æ. Wybór opcji AMD w³±czy wsparcie dla narzêdzia automatycznego montowania BSD (ang. Automatic Mount Utility). Opcja ta najczê¶ciej jest wykorzystywana z protoko³em NFS (patrz poni¿ej) do automatycznego montowania zdalnych systemów plików. Nie wymaga dodatkowej konfiguracji. Kolejn± opcj± jest AMD Flags. Po jej wybraniu pojawi siê menu, gdzie nale¿y wprowadziæ specyficzne flagi AMD. Menu zawiera ju¿ domy¶lne warto¶ci: -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map Flaga okre¶la domy¶lny punkt montowania, w tym wypadku /.amd_mnt. Flaga definiuje domy¶lny plik log dziennika systemowego; je¶li w systemie wykorzystywany jest demon syslogd, wówczas wszystkie komunikaty bêd± wysy³ane w³a¶nie do niego. Katalog /host jest wykorzystywany do montowania systemów plików wyeksportowanych ze zdalnej maszyny, podczas gdy katalog /net do montowania systemów plików z adresu IP. Plik /etc/amd.map zawiera domy¶lne warto¶ci flag dla zasobów eksportowanych przez AMD. FTP anonimowe Wybór opcji Anon FTP zezwala na anonimowe po³±czenia FTP, tym samym tworz±c z naszego komputera anonimowy serwer FTP. Nale¿y mieæ jednak ¶wiadomo¶æ niebezpieczeñstw jakie poci±ga za sob± taka konfiguracja. Po wybraniu tej opcji pojawi siê kolejne okienko wyja¶niaj±ce zwi±zane z ni± niebezpieczeñstwa oraz umo¿liwiaj±ce szczegó³ow± konfiguracjê. Menu Gateway pozwala skonfigurowaæ nasz± maszynê jako bramê, co zosta³o opisane wcze¶niej. Mo¿e byæ równie¿ wykorzystane do wy³±czenia tej opcji je¶li przypadkowo zosta³a ona aktywowana w trakcie instalacji. Opcja Inetd pozwala skonfigurowaæ b±d¼ ca³kowicie wy³±czyæ demonona &man.inetd.8;, który równie¿ zosta³ opisany wcze¶niej. Opcja Mail wykorzystywana jest do konfiguracji domy¶lnego systemowego serwera poczty MTA (ang. Mail Transfer Agent). Wybór tej opcji spowoduje wy¶wietlenie nastêpuj±cego menu:
Wybór domy¶lnego MTA
W menu tym mamy mo¿liwo¶æ wyboru, który MTA zostanie zainstalowany jako domy¶lny. W praktyce MTA nie jest niczym wiêcej jak serwerem, który dostarcza pocztê elektroniczn± do u¿ytkowników lokalnego systemu b±d¼ wysy³a j± do Internetu. Wybór opcji Sendmail spowoduje instalacjê popularnego serwera sendmail. Serwer ten jest domy¶lnym serwerem we &os;. Opcja Sendmail local równie¿ spowoduje wybór sendmail jako domy¶lnego MTA, jednak¿e bez mo¿liwo¶ci odbierania poczty przychodz±cej z Internetu. Pozosta³e opcje Postfix i Exim daj± efekt analogiczny do Sendmail — obydwa rozwi±zania dostarczaj± pocztê. Tym nie mniej, niektórzy u¿ytkownicy preferuj± te serwery jako alternatywê dla MTA sendmail. Po wybraniu MTA, b±d¼ pominiêciu tego kroku, pojawi siê ponownie okno konfiguracji sieci z kolejn± opcj±: NFS client. Opcja NFS client pozwala skonfigurowaæ system do komunikacji z serwerem za pomoc± NFS. Serwer NFS udostêpnia systemy plików innym maszynom w sieci za pomoc± protoko³u NFS. Je¶li nasza maszyna nie bêdzie pracowa³a w sieci mo¿na t± opcjê pomin±æ. System mo¿e pó¼niej wymagaæ dalszej konfiguracji. zawiera szczegó³owe informacje o konfiguracji klienta i serwera NFS. Poni¿ej znajduje siê opcja NFS server umo¿liwiaj±ca skonfigurowanie systemu jako serwer NFS. Dodatkowo konfiguruje ona wymagane parametry dla us³ug RPC. RPC koordynuje po³±czenia pomiêdzy maszynami i programami. Kolejna opcja to Ntpdate, odpowiadaj±ca za synchronizacjê czasu systemowego. Po wybraniu jej pojawi siê nastêpuj±ce menu:
Konfiguracja ntpdate
Z menu wybieramy najbli¿szy nam serwer. Wybór pobliskiego serwera gwarantuje dok³adniejsz± synchronizacjê czasu, z uwagi na fakt, ¿e w komunikacji z bardziej oddalony serwerem mog± wystêpowaæ wiêksze opó¼nienia. Kolejnym elementem jest wybór PCNFSD. Opcja ta zainstaluje net/pcnfsd z Kolekcji portów. Jest to przydatne narzêdzie umo¿liwiaj±ce uwierzytelnianie NFS systemom operacyjnym, które same nie potrafi± siê uwierzytelniæ, jak np. &ms-dos;. Przewijaj±c w dó³ pojawi± siê kolejne opcje:
Najni¿szy poziom konfiguracji sieci
Programy &man.rpcbind.8;, &man.rpc.statd.8; i &man.rpc.lockd.8; wykorzystywane s± przy po³±czeniach RPC (Remote Procedure Call). rpcbind zarz±dza komunikacj± pomiêdzy serwerem NFS i klientami, tym samym jest wymagany do poprawnego funkcjonowania serwera NFS. Demon rpc.statd wykorzystywany jest do komunikacji z innymi demonami rpc.statd w sieci, w celu monitorowania stanu maszyn, na których one pracuj±. Uzyskane w ten sposób informacje przechowywane s± z regu³y w pliku /var/db/statd.status. Kolejnym elementem jest rpc.lockd, który udostêpnia us³ugi blokowania plików. Z regu³y, wykorzystywany jest w parze z rpc.statd do ¶ledzenia, które maszyny wymagaj± blokowania i jak czêsto. O ile dwie ostatnie us³ugi s± idealne do debugowania, nie s± one wymagane do poprawnego dzia³ania serwera NFS. Kolejnym elementem na li¶cie jest demon rutowania - Routed. &man.routed.8; zarz±dza tablicami rutingu sieci, wyszukuje rutery multicast i udostêpnia na ¿±danie kopiê tablic rutingu ka¿dej maszynie w sieci. Wykorzystywany jest on z regu³y na komputerach pracuj±cych jako bramy dla sieci lokalnej. Po jego wybraniu pojawi siê dodatkowe menu, w którym nale¿y okre¶liæ jego domy¶ln± lokalizacjê. Warto¶æ domy¶lna jest zdefiniowana i zostanie wybrana po naci¶niêciu klawisza Enter. Nastêpnie pojawi siê kolejne menu, tym razem w celu ustawienia flag. Domy¶ln± jest i powinna pojawiæ siê na ekranie. Kolejn± opcj± jest Rwhod, której wybór w³±czy demona &man.rwhod.8; w trakcie uruchamiania systemu. rwhod jest narzêdziem, które regularnie rozsy³a w sieci komunikaty systemowe b±d¼ - w trybie konsumenta - zbiera je. Wiêcej informacji dostêpnych jest w podrêcznikach systemowych &man.ruptime.1; i &man.rwho.1;. Przedostatnim elementem na li¶cie jest demon &man.sshd.8;. Jest to serwer OpenSSH, którego wykorzystanie jest zalecane w zamiast telnetu czy serwerów FTP. Serwer sshd jest wykorzystywany do zestawiania bezpiecznego po³±czenia pomiêdzy dwoma maszynami wykorzystuj±c po³±czenia szyfrowane. Ostatni± na li¶cie jest opcja Rozszerzeñ TCP (TCP Extensions). W³±czenie jej umo¿liwia korzystanie z rozszerzeñ TCP zdefiniowanych w RFC 1323 i RFC 1644. O ile na wielu komputerach pozwoli to na przyspieszenie komunikacji, o tyle mo¿e równie¿ spowodowaæ odrzucanie niektórych po³±czeñ. Stosowanie tej opcji nie jest zalecane dla serwerów, chod¼ mo¿e siê okazaæ korzystne dla stacji roboczych. Skoñczywszy konfiguracjê us³ug sieciowych mo¿emy przewin±æ do samej góry ekranu, do opcji Exit i przej¶æ do kolejnej czê¶ci konfiguracji.
Konfiguracja serwera X Pocz±wszy od wersji &os; 5.3-RELEASE, opcje konfiguracji serwera X zosta³y usuniête z sysinstall. Serwer X musimy zainstalowaæ i skonfigurowaæ po skoñczonej instalacji systemu. zawiera szczegó³owe informacje odno¶nie instalacji i konfiguracji serwera X. Je¶li nie instalujemy wersji wcze¶niejszej ni¿ &os; 5.3-RELEASE, mo¿emy pomi±æ t± sekcjê. Chc±c korzystaæ z graficznego interfejsu u¿ytkownika w rodzaju KDE, GNIEME lub innego, trzeba skonfigurowaæ serwer X. By uruchomiæ &xfree86; z poziomu u¿ytkownika innego ni¿ root, nale¿y zainstalowaæ x11/wrapper. Jest on instalowany domy¶lnie we FreeBSD 4.7 i pó¼niejszych. W przypadku wcze¶niejszych wersji mo¿na go zainstalowaæ z menu wyboru pakietów. Aby sprawdziæ, czy nasza karta graficzna jest obs³ugiwana, mo¿emy zajrzeæ na stronê WWW &xfree86;. User Confirmation Requested Would you like to configure your X server at this time? [ Yes ] No Nale¿y koniecznie znaæ dane techniczne monitora i karty graficznej. Nieprawid³owe ustawienia mog± spowodowaæ uszkodzenie sprzêtu. Je¶li nie dysponujemy tymi danymi, wybierzmy &gui.no; i przyst±pmy do konfiguracji serwera X po zainstalowaniu systemu, gdy ju¿ zaopatrzymy siê w niezbêdne dane. Do tego celu mo¿emy wykorzystaæ sysinstall (/stand/sysinstall we &os; starszych ni¿ 5.2), wybieraj±c Configure, a nastêpnie XFree86. Je¶li mamy dane techniczne karty graficznej i monitora, wybieramy &gui.yes; i wciskamy Enter, rozpoczynaj±c konfiguracjê serwera X.
Wybór metody konfiguracji
Serwer X mo¿na konfigurowaæ na kilka sposobów. Wybieramy jedn± z metod przy pomocy klawiszy kursora i naciskamy Enter. Pamiêtajmy o uwa¿nym czytaniu wszelkich poleceñ pojawiaj±cych siê na ekranie. Wybór xf86cfg i xf86cfg -textmode mo¿e spowodowaæ, ¿e ekran stanie siê ciemny, a uruchomienie mo¿e zaj±æ kilka sekund. B±d¼my cierpliwi. W poni¿szym przyk³adzie przedstawione bêdzie korzystanie z programu konfiguracyjnego xf86config. Wybierane przez nas opcje zale¿eæ bêd± od wyposa¿enia naszego komputera, bêd± siê wiêc zapewne ró¿niæ od opcji pokazanych w przyk³adzie: Message You have configured and been running the mouse daemon. Choose "/dev/sysmouse" as the mouse port and "SysMouse" or "MouseSystems" as the mouse protocol in the X configuration utility. [ OK ] [ Press enter to continue ] Komunikat ten informuje o wykryciu skonfigurowanego wcze¶niej demona myszki. Naciskamy Enter, by przej¶æ dalej. Po uruchomieniu, xf86config wy¶wietli krótkie wprowadzenie: This program will create a basic XF86Config file, based on menu selections you make. The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample XF86Config file is supplied with XFree86; it is configured for a standard VGA card and monitor with 640x480 resolution. This program will ask for a pathname when it is ready to write the file. You can either take the sample XF86Config as a base and edit it for your configuration, or let this program produce a base XF86Config file for your configuration and fine-tune it. Before continuing with this program, make sure you know what video card you have, and preferably also the chipset it uses and the amount of video memory on your video card. SuperProbe may be able to help with this. Press enter to continue, or ctrl-c to abort. Po naci¶niêciu Enter przejdziemy do konfiguracji myszki. Pamiêtajmy, by uwa¿nie czytaæ polecenia i wybraæ w³a¶ciwy protokó³ myszki Mouse Systems i port myszki /dev/sysmouse, nawet je¶li w przyk³adzie wybierana jest myszka PS/2. First specify a mouse protocol type. Choose one from the following list: 1. Microsoft compatible (2-button protocol) 2. Mouse Systems (3-button protocol) & FreeBSD moused protocol 3. Bus Mouse 4. PS/2 Mouse 5. Logitech Mouse (serial, old type, Logitech protocol) 6. Logitech MouseMan (Microsoft compatible) 7. MM Series 8. MM HitTablet 9. Microsoft IntelliMouse If you have a two-button mouse, it is most likely of type 1, and if you have a three-button mouse, it can probably support both protocol 1 and 2. There are two main varieties of the latter type: mice with a switch to select the protocol, and mice that default to 1 and require a button to be held at boot-time to select protocol 2. Some mice can be convinced to do 2 by sending a special sequence to the serial port (see the ClearDTR/ClearRTS options). Enter a protocol number: 2 You have selected a Mouse Systems protocol mouse. If your mouse is normally in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options may cause it to switch to Mouse Systems mode when the server starts. Please answer the following question with either 'y' or 'n'. Do you want to enable ClearDTR and ClearRTS? n You have selected a three-button mouse protocol. It is recommended that you do not enable Emulate3Buttons, unless the third button doesn't work. Please answer the following question with either 'y' or 'n'. Do you want to enable Emulate3Buttons? y Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse. On FreeBSD, the default is /dev/sysmouse. Mouse device: /dev/sysmouse Kolejnym krokiem jest konfiguracja klawiatury. W przyk³adzie wybrana zosta³a typowa klawiatura o 101 klawiszach. Jako wariant nazwy mo¿emy wybraæ dowoln± nazwê, lub po prostu nacisn±æ Enter, akceptuj±c proponowan± nazwê domy¶ln±. Please select one of the following keyboard types that is the better description of your keyboard. If nothing really matches, choose 1 (Generic 101-key PC) 1 Generic 101-key PC 2 Generic 102-key (Intl) PC 3 Generic 104-key PC 4 Generic 105-key (Intl) PC 5 Dell 101-key PC 6 Everex STEPnote 7 Keytronic FlexPro 8 Microsoft Natural 9 Northgate OmniKey 101 10 Winbook Model XP5 11 Japanese 106-key 12 PC-98xx Series 13 Brazilian ABNT2 14 HP Internet 15 Logitech iTouch 16 Logitech Cordless Desktop Pro 17 Logitech Internet Keyboard 18 Logitech Internet Navigator Keyboard 19 Compaq Internet 20 Microsoft Natural Pro 21 Genius Comfy KB-16M 22 IBM Rapid Access 23 IBM Rapid Access II 24 Chicony Internet Keyboard 25 Dell Internet Keyboard Enter a number to choose the keyboard. 1 Please select the layout corresponding to your keyboard 1 U.S. English 2 U.S. English w/ ISO9995-3 3 U.S. English w/ deadkeys 4 Albanian 5 Arabic 6 Armenian 7 Azerbaidjani 8 Belarusian 9 Belgian 10 Bengali 11 Brazilian 12 Bulgarian 13 Burmese 14 Canadian 15 Croatian 16 Czech 17 Czech (qwerty) 18 Danish Enter a number to choose the country. Press enter for the next page 1 Please enter a variant name for 'us' layout. Or just press enter for default variant us Please answer the following question with either 'y' or 'n'. Do you want to select additional XKB options (group switcher, group indicator, etc.)? n Nastêpnie przystêpujemy do konfiguracji monitora. Pamiêtajmy, by nie przekroczyæ dopuszczalnych warto¶ci czêstotliwo¶ci, poniewa¿ mo¿e to spowodowaæ uszkodzenie monitora. W razie jakichkolwiek w±tpliwo¶ci, od³ó¿my konfiguracjê monitora do czasu, gdy bêdziemy ju¿ mieæ niezbêdne informacje. Now we want to set the specifications of the monitor. The two critical parameters are the vertical refresh rate, which is the rate at which the whole screen is refreshed, and most importantly the horizontal sync rate, which is the rate at which scanlines are displayed. The valid range for horizontal sync and vertical sync should be documented in the manual of your monitor. If in doubt, check the monitor database /usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there. Press enter to continue, or ctrl-c to abort. You must indicate the horizontal sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry- standard monitor types, or give a specific range. It is VERY IMPORTANT that you do not specify a monitor type with a horizontal sync range that is beyond the capabilities of your monitor. If in doubt, choose a conservative setting. hsync in kHz; monitor type with characteristic modes 1 31.5; Standard VGA, 640x480 @ 60 Hz 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600) 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz 10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz 11 Enter your own horizontal sync range Enter your choice (1-11): 6 You must indicate the vertical sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry- standard monitor types, or give a specific range. For interlaced modes, the number that counts is the high one (e.g. 87 Hz rather than 43 Hz). 1 50-70 2 50-90 3 50-100 4 40-150 5 Enter your own vertical sync range Enter your choice: 2 You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names. The strings are free-form, spaces are allowed. Enter an identifier for your monitor definition: Hitachi W kolejnym etapie wybieramy z listy sterownik karty graficznej. Je¶li przewijaj±c listê niechc±cy ominiemy nasz± kartê, naciskajmy dalej Enter, a lista zostanie powtórzona. W przyk³adzie pokazujemy tylko fragment listy: Now we must configure video card specific settings. At this point you can choose to make a selection out of a database of video card definitions. Because there can be variation in Ramdacs and clock generators even between cards of the same model, it is not sensible to blindly copy the settings (e.g. a Device section). For this reason, after you make a selection, you will still be asked about the components of the card, with the settings from the chosen database entry presented as a strong hint. The database entries include information about the chipset, what driver to run, the Ramdac and ClockChip, and comments that will be included in the Device section. However, a lot of definitions only hint about what driver to run (based on the chipset the card uses) and are untested. If you can't find your card in the database, there's nothing to worry about. You should only choose a database entry that is exactly the same model as your card; choosing one that looks similar is just a bad idea (e.g. a GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of hardware as can be). Do you want to look at the card database? y 288 Matrox Millennium G200 8MB mgag200 289 Matrox Millennium G200 SD 16MB mgag200 290 Matrox Millennium G200 SD 4MB mgag200 291 Matrox Millennium G200 SD 8MB mgag200 292 Matrox Millennium G400 mgag400 293 Matrox Millennium II 16MB mga2164w 294 Matrox Millennium II 4MB mga2164w 295 Matrox Millennium II 8MB mga2164w 296 Matrox Mystique mga1064sg 297 Matrox Mystique G200 16MB mgag200 298 Matrox Mystique G200 4MB mgag200 299 Matrox Mystique G200 8MB mgag200 300 Matrox Productiva G100 4MB mgag100 301 Matrox Productiva G100 8MB mgag100 302 MediaGX mediagx 303 MediaVision Proaxcel 128 ET6000 304 Mirage Z-128 ET6000 305 Miro CRYSTAL VRX Verite 1000 Enter a number to choose the corresponding card definition. Press enter for the next page, q to continue configuration. 288 Your selected card definition: Identifier: Matrox Millennium G200 8MB Chipset: mgag200 Driver: mga Do NIET probe clocks or use any Clocks line. Press enter to continue, or ctrl-c to abort. Now you must give information about your video card. This will be used for the "Device" section of your video card in XF86Config. You must indicate how much video memory you have. It is probably a good idea to use the same approximate amount as that detected by the server you intend to use. If you encounter problems that are due to the used server not supporting the amount memory you have (e.g. ATI Mach64 is limited to 1024K with the SVGA server), specify the maximum amount supported by the server. How much video memory do you have on your video card: 1 256K 2 512K 3 1024K 4 2048K 5 4096K 6 Other Enter your choice: 6 Amount of video memory in Kbytes: 8192 You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names (possibly from a card definition). Your card definition is Matrox Millennium G200 8MB. The strings are free-form, spaces are allowed. Enter an identifier for your video card definition: Nastêpnie wybieramy tryby graficzne dla preferowanych rozdzielczo¶ci. Najczê¶ciej u¿ywane s± tryby 640x480, 800x600 i 1024x768, wybór zale¿y jednak od mo¿liwo¶ci karty graficznej, rozmiarów monitora i oczekiwanej wygody pracy. Gdy bêdziemy wybieraæ g³êbiê koloru, wybierzmy najwy¿sz± warto¶æ, któr± obs³uguje karta. For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start-up with will be the first listed mode that can be supported by the monitor and card. Currently it is set to: "640x480" "800x600" "1024x768" "1280x1024" for 8-bit "640x480" "800x600" "1024x768" "1280x1024" for 16-bit "640x480" "800x600" "1024x768" "1280x1024" for 24-bit Modes that cannot be supported due to monitor or clock constraints will be automatically skipped by the server. 1 Change the modes for 8-bit (256 colors) 2 Change the modes for 16-bit (32K/64K colors) 3 Change the modes for 24-bit (24-bit color) 4 The modes are OK, continue. Enter your choice: 2 Select modes from the following list: 1 "640x400" 2 "640x480" 3 "800x600" 4 "1024x768" 5 "1280x1024" 6 "320x200" 7 "320x240" 8 "400x300" 9 "1152x864" a "1600x1200" b "1800x1400" c "512x384" Please type the digits corresponding to the modes that you want to select. For example, 432 selects "1024x768" "800x600" "640x480", with a default mode of 1024x768. Which modes? 432 You can have a virtual screen (desktop), which is screen area that is larger than the physical screen and which is panned by moving the mouse to the edge of the screen. If you don't want virtual desktop at a certain resolution, you cannot have modes listed that are larger. Each color depth can have a differently-sized virtual screen Please answer the following question with either 'y' or 'n'. Do you want a virtual screen that is larger than the physical screen? n For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start-up with will be the first listed mode that can be supported by the monitor and card. Currently it is set to: "640x480" "800x600" "1024x768" "1280x1024" for 8-bit "1024x768" "800x600" "640x480" for 16-bit "640x480" "800x600" "1024x768" "1280x1024" for 24-bit Modes that cannot be supported due to monitor or clock constraints will be automatically skipped by the server. 1 Change the modes for 8-bit (256 colors) 2 Change the modes for 16-bit (32K/64K colors) 3 Change the modes for 24-bit (24-bit color) 4 The modes are OK, continue. Enter your choice: 4 Please specify which color depth you want to use by default: 1 1 bit (monochrome) 2 4 bits (16 colors) 3 8 bits (256 colors) 4 16 bits (65536 colors) 5 24 bits (16 million colors) Enter a number to choose the default depth. 4 Przygotowan± konfiguracjê nale¿y zachowaæ. Upewnijmy siê, ¿e konfiguracja zostanie zapisana w pliku o nazwie /etc/X11/XF86Config. I am going to write the XF86Config file now. Make sure you don't accidently overwrite a previously configured one. Shall I write it to /etc/X11/XF86Config? y Je¶li z jakich¶ przyczyn konfiguracja nie powiedzie siê, mo¿emy zacz±æ j± od pocz±tku, wybieraj±c &gui.yes;, gdy pojawi siê nastêpuj±cy komunikat: User Confirmation Requested The XFree86 configuration process seems to have failed. Would you like to try again? [ Yes ] No Je¿eli konfiguracja &xfree86; sprawia problemy, wybierzmy &gui.no; i naci¶nijmy Enter, by kontynuowaæ instalacjê. Po jej zakoñczeniu bêdziemy mogli uruchomiæ program konfiguracyjny poleceniem xf86cfg -textmode lub xf86config, wydanym jako root. prezentuje inn± metodê konfiguracji &xfree86; . Je¶li zdecydujemy siê pomin±æ na razie konfiguracjê &xfree86;, kolejnym krokiem bêdzie wybór pakietów. Domy¶lnie serwer X mo¿e zostaæ unicestwiony kombinacj± klawiszy CtrlAlt Backspace. Mo¿emy z niej skorzystaæ, je¶li co¶ jest nie w porz±dku z ustawieniami serwera i chcemy unikn±æ uszkodzenia sprzêtu. Podczas pracy serwera X mo¿na zmieniaæ tryb graficzny, u¿ywaj±c kombinacji klawiszy CtrlAlt+ lub CtrlAlt- . Po zakoñczeniu instalacji mo¿na wyregulowaæ wysoko¶æ, szeroko¶æ i po³o¿enie obrazu przy u¿yciu xvidtune, po uruchomieniu &xfree86;. Zwracajmy uwagê na ostrze¿enia o mo¿liwo¶ci uszkodzenia sprzêtu poprzez niew³a¶ciwe ustawienia. Nie róbmy niczego, czego nie jeste¶my pewni. Zamiast u¿ywaæ xvidtune, mo¿emy dostroiæ ekran X Window korzystaj±c z regulatorów monitora. Mog± siê pojawiæ pewne ró¿nice w wy¶wietlaniu obrazu przy powraceniu do trybu tekstowego, lepsze to jednak ni¿ uszkodzenie sprzêtu. Przed dokonaniem jakichkolwiek zmian zapoznajmy siê z dokumentacj± &man.xvidtune.1;. Je¿eli konfiguracja &xfree86; przebieg³a pomy¶lnie, przejdziemy do kolejnego etapu, w którym wybierzemy mened¿era okien.
Wybór mened¿era okien Pocz±wszy od wersji &os; 5.3-RELEASE, opcje wyboru ¶rodowiska graficznego zosta³y usuniête z sysinstall. Musimy je skonfigurowaæ po skoñczonej instalacji systemu. zawiera szczegó³owe informacje odno¶nie instalacji i konfiguracji ¶rodowiska graficznego. Je¶li nie instalujemy wersji wcze¶niejszej ni¿ &os; 5.3-RELEASE, mo¿emy pomi±æ t± sekcjê. Dostepnych jest wiele ró¿nych mened¿erów okien, poczynaj±c od najprostszych, zapewniaj±cych jedynie podstawowe funkcje, do rozbudowanych ¶rodowisk wyposa¿onych w poka¼ny zestaw oprogramowania. Niektórym wystarczy nieznaczna przestrzeñ na dysku i niewiele pamiêci, inne natomiast mog± mieæ znacznie wiêksze wymagania. Dobrze jest wypróbowaæ kilka ró¿nych mened¿erów i wybraæ spo¶ród nich ten, który najbardziej nam odpowiada. S± one dostêpne w Kolekcji portów lub w postaci pakietów, mo¿na je wiêc instalowaæ po zainstalowaniu systemu. Mo¿emy wybraæ jeden z popularnych mened¿erów okien i zainstalowaæ go jako domy¶lny. Dziêki temu bêdziemy mieæ mo¿liwo¶æ uruchomienia go zaraz po zakoñczeniu instalacji.
Wybór domy¶lnego mened¿era okien
Klawiszami kursora wybieramy jedn± z opcji i wciskamy Enter. Wybrany mened¿er okien zostanie zainstalowany.
Instalacja pakietów Pakiety to skompilowane programy, które mo¿na w ³atwy sposób instalowaæ. W poni¿szym przyk³adzie pokazana jest instalacja jednego pakietu. Mo¿emy oczywi¶cie zainstalowaæ wiêcej pakietów. Gdy system bêdzie ju¿ zainstalowany, kolejne pakiety bêdzie mo¿na dodawaæ przy u¿yciu sysinstall (/stand/sysinstall w wersjach &os; wcze¶niejszych ni¿ 5.2). User Confirmation Requested The FreeBSD package collection is a collection of hundreds of ready-to-run applications, from text editors to games to WEB servers and more. Would you like to browse the collection now? [ Yes ] No Je¶li wybierzemy &gui.yes; i naci¶niemy Enter, przejdziemy do ekranu wyboru pakietów:
Wybór kategorii pakietów
W danej chwili dostêpne do instalacji s± jedynie pakiety z bie¿±cego no¶nika. Mo¿emy wybraæ jedn± z kategorii pakietów albo All, by wy¶wietlone zosta³y wszystkie dostêpne pakiety. Wybran± opcjê wskazujemy przy u¿yciu klawiszy kursora i wciskamy Enter. Pokazana zostanie lista pakietów dostêpnych w wybranej kategorii:
Wybór pakietów
Dla przyk³adu zaznaczona zosta³a pow³oka bash. Mo¿emy wybraæ tyle pakietów, ile nam siê podoba, zaznaczaj±c ka¿dy z nich Space. Krótki opis pakietu wy¶wietlany jest w lewym dolnym rogu ekranu. Klawiszem Tab mo¿emy prze³±czaæ siê miêdzy ostatnio wybranym pakietem, przyciskami &gui.ok; i &gui.cancel;. Po zaznaczeniu wszystkich wybranych pakietów naciskamy Tab, by zaznaczyæ &gui.ok; i naciskamy Enter, powracaj±c w ten sposób do menu wyboru pakietów. Do prze³±czania siê miêdzy &gui.ok; i &gui.cancel; mog± równie¿ s³u¿yæ klawisze kursora. Za ich pomoc± mo¿emy wybraæ &gui.ok;, a nastêpnie nacisn±æ Enter, by wróciæ do menu wyboru pakietów.
Rozpoczêcie instalacji pakietów
Klawiszami kursora i Tab wybieramy [ Install ] i wciskamy Enter. Pojawi siê pro¶ba o potwierdzenie chêci zainstalowania pakietów:
Potwierdzenie instalacji pakietów
Gdy wybierzemy &gui.ok; i naci¶niemy Enter, rozpocznie siê instalacja pakietów. A¿ do jej zakoñczenia bêd± pokazywane komunikaty o przebiegu instalacji. Je¿eli pojawi± siê informacje o jakichkolwiek problemach, zanotujmy je. Po zainstalowaniu pakietów wracamy do konfiguracji systemu. Nawet je¶li nie wybrali¶my ¿adnych pakietów i chcemy wróciæ do koñcowej konfiguracji wybieramy opcjê Install.
Dodawanie u¿ytkowników i grup Powinni¶my za³o¿yæ przynajmniej jedno konto u¿ytkownika, by móc korzystaæ z systemu nie bêd±c zalogowanym jako root. G³ówna partycja jest zwykle niewielka, wiêc korzystanie z aplikacji jako root mo¿e j± szybko zape³niæ. Inny powód wymieniony zosta³ w poni¿szym komunikacie: User Confirmation Requested Would you like to add any initial user accounts to the system? Adding at least one account for yourself at this stage is suggested since working as the "root" user is dangerous (it is easy to do things which adversely affect the entire system). [ Yes ] No Wybieramy &gui.yes; i naciskamy Enter, by dodaæ u¿ytkownika.
Dodawanie u¿ytkownika
Klawiszamy kursora wybieramy User (u¿ytkownik) i wciskamy Enter.
Dane nowego u¿ytkownika
Kolejne pola wybieramy klawiszem Tab. W dolnej czê¶ci ekranu pojawiaæ siê bêd± nastêpuj±ce opisy, pomocne przy wprowadzaniu poszczególnych danych: Login ID Nazwa nowego u¿ytkownika (obowi±zkowa). UID Numer bêd±cy identyfikatorem u¿ytkownika (wype³niany automatycznie, je¶li pole pozostanie puste). Group Nazwa podstawowej grupy u¿ytkownika (wybierana automatycznie, je¶li pole pozostanie puste). Password Has³o u¿ytkownika (wpisujmy je uwa¿nie!). Full name Nazwisko u¿ytkownika (komentarz). Member groups Grupy, których cz³onkiem bêdzie u¿ytkownik (czyli dostanie ich uprawnienia). Home directory Domowy katalog u¿ytkownika (wpisywany automatycznie, je¶li pole pozostanie puste). Login shell Pow³oka uruchamiana po zalogowaniu siê (wybierana automatycznie, je¶li pole pozostanie puste, np. /bin/sh). W przyk³adzie pow³oka zosta³a zmieniona z /bin/sh na /usr/local/bin/bash, aby korzystaæ z pow³oki bash zainstalowanej wcze¶niej jako pakiet. Nie wpisujmy tu pow³oki, która nie istnieje, gdy¿ uniemo¿liwi to zalogowanie siê. Najpopularniejsz± pow³ok± w ¶wiecie BSD jest pow³oka C, czyli /bin/tcsh. U¿ytkownik zosta³ dopisany do grupy wheel, dziêki czemu bêdzie móg³ uzyskiwaæ uprawnienia u¿ytkownika root. Gdy skoñczymy, wybieramy &gui.ok;. Ponownie pojawi siê menu zarz±dzania u¿ytkownikami i grupami:
Wyj¶cie z menu zarz±dzania u¿ytkownikami i grupami
W podobny sposób mo¿emy od razu utworzyæ dodatkowe grupy, je¶li zajdzie taka potrzeba. Gdy system bêdzie ju¿ zainstalowany, bêdziemy mogli dodawaæ grupy przy u¿yciu sysinstall (/stand/sysinstall w wersjach &os; starszych ni¿ 5.2). Gdy skoñczymy dodawanie u¿ytkowników wybieramy klawiszami kursora Exit i wciskamy Enter, by kontynuowaæ instalacjê.
Has³o u¿ytkownika <username>root</username> Message Now you must set the system manager's password. This is the password you'll use to log in as "root". [ OK ] [ Press enter to continue ] Wciskamy Enter, aby ustawiæ has³o roota. Has³o musi byæ prawid³owo podane dwukrotnie. Rzecz jasna, powinni¶my zadbaæ o to, by ³atwo odnale¼æ has³o, gdy zdarzy siê nam je zapomnieæ. Zwróæmy uwagê, ¿e w trakcie wpisywania has³a nie pojawi± siê ¿adne znaki, nawet gwiazdki. Changing local password for root. New password : Retype new password : Po pomy¶lnym wprowadzeniu has³a przejdziemy do kolejnego etapu instalacji. Zakoñczenie instalacji Je¿eli bêdziemy chcieli skonfigurowaæ dodatkowe urz±dzenia sieciowe, lub wprowadziæ inne zmiany w konfiguracji systemu, mo¿emy to zrobiæ w tym w³a¶nie momencie, lub te¿ po zakoñczeniu instalacji za po¶rednictwem sysinstall (/stand/sysinstall w wersjach &os; wcze¶niejszych ni¿ 5.2). User Confirmation Requested Visit the general configuration menu for a chance to set any last options? Yes [ No ] Wybieramy klawiszami kursora &gui.no; i wciskamy Enter, by powróciæ do g³ównego menu instalacji.
Zakoñczenie instalacji
Przy pomocy klawiszy kursora wybieramy [X Exit Install] i naciskamy Enter. Pojawi siê pro¶ba o potwierdzenie chêci zakoñczenia instalacji: User Confirmation Requested Are you sure you wish to exit? The system will reboot (be sure to remove any floppies from the drives). [ Yes ] No Wybieramy &gui.yes;. Je¿eli uruchamiali¶my komputer z dyskietki, wyjmujemy j±. Napêd CDROM bêdzie zablokowany a¿ do chwili, gdy komputer zacznie siê ponownie uruchamiaæ. Wtedy napêd zostanie odblokowany i bêdzie mo¿na wyj±æ z niego p³ytê (szybko). Komputer zostanie ponownie uruchomiony. Zwróæmy uwagê na ewentualne komunikaty o b³êdach.
Uruchamianie FreeBSD Uruchamianie FreeBSD na komputerach &i386; Je¿eli wszystko przebieg³o prawid³owo, na ekranie zobaczymy seriê kolejno pojawiaj±cych siê komunikatów, a na koniec bêdziemy mogli siê zalogowaæ. Komunikaty mo¿emy przeczytaæ naciskaj±c Scroll-Lock, nastêpnie przewijaj±c ekran klawiszami PgUp i PgDn. Ponownie naciskaj±c Scroll-Lock powracamy do komunikatu logowania. Byæ mo¿e nie bêdziemy mogli zobaczyæ wszystkich komunikatów (ograniczony rozmiar bufora), jednak mo¿na je przejrzeæ po zalogowaniu siê, wpisuj±c dmesg w linii poleceñ. Zalogujmy siê, wpisuj±c nazwê u¿ytkownika i has³o wybrane podczas instalacji (w naszym przyk³adzie rpratt). Jako root powinni¶my logowaæ siê tylko wtedy, gdy jest to konieczne. Typowe komunikaty pokazywane podczas uruchamiania systemu (pominiêto informacje o wersji): Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. Timecounter "i8254" frequency 1193182 Hz CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping = 0 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> AMD Features=0x80000800<SYSCALL,3DNow!> real memory = 268435456 (262144K bytes) config> di sn0 config> di lnc0 config> di le0 config> di ie0 config> di fe0 config> di cs0 config> di bt0 config> di aic0 config> di aha0 config> di adv0 config> q avail memory = 256311296 (250304K bytes) Preloaded elf kernel "kernel" at 0xc0491000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c. md0: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0 usb0: <VIA 83C572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0 ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at device 10.0 on pci0 ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x1 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold ppbus0: IEEE1284 device found /NIBBLE Probing for PnP devices on ppbus0: plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33 ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33 acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4 Mounting root from ufs:/dev/ad0s1a swapon: adding /dev/ad0s1b as swap device Automatic boot in progress... /dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation) /dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation) /dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation) /dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS /dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation) Doing initial network setup: hostname. ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1 ether 52:54:05:de:73:1b lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 Additional routing options: IP gateway=TAK TCP keepalive=TAK routing daemons:. additional daemons: syslogd. Doing additional network setup:. Starting final network daemons: creating ssh RSA host key Generating public/private rsa1 key pair. Your identification has been saved in /etc/ssh/ssh_host_key. Your public key has been saved in /etc/ssh/ssh_host_key.pub. The key fingerprint is: cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com creating ssh DSA host key Generating public/private dsa key pair. Your identification has been saved in /etc/ssh/ssh_host_dsa_key. Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. The key fingerprint is: f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com. setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout starting standard daemons: inetd cron sshd usbd sendmail. Initial rc.i386 initialization:. rc.i386 configuring syscons: blank_time screensaver moused. Additional ABI support: linux. Local package initialization:. Additional TCP options:. FreeBSD/i386 (k6-2.example.com) (ttyv0) login: rpratt Password: Generowanie kluczy RSA i DSA na niezbyt szybkich komputerach mo¿e zaj±æ nieco czasu. Dzieje siê to tylko podczas pierwszego uruchomienia nowo zainstalowanego systemu. Nastêpne ³adowanie systemu bêdzie ju¿ odbywaæ siê szybciej. Je¶li skonfigurowali¶my serwer X i wybrali¶my mened¿era okien, mo¿emy uruchomiæ go wpisuj±c startx w linii poleceñ. Uruchamianie FreeBSD na komputerach Alpha Alpha Po zakoñczeniu instalacji bêdziemy mogli uruchomiæ FreeBSD, wpisuj±c nastêpuj±ce polecenie w konsoli SRM: >>>BOOT DKC0 Nakazuje ono oprogramowaniu sprzêtowemu uruchomiæ system z okre¶lonego dysku. By FreeBSD by³o automatycznie uruchamiane przy w³±czeniu komputera, wpisujemy poni¿sze polecenia: >>> SET BOOT_OSFLAGS A >>> SET BOOT_FILE '' >>> SET BOOTDEF_DEV DKC0 >>> SET AUTO_ACTION BOOT Komunikaty pokazywane podczas ³adowania systemu bêd± podobne (choæ nie identyczne) do komunikatów pokazywanych na &i386;. Wy³±czanie FreeBSD W³a¶ciwe wy³±czenie systemu operacyjnego jest istotn± spraw±. Nie nale¿y po prostu wy³±czaæ komputera. Powinni¶my najpierw uzyskaæ prawa administratora, wpisuj±c w linii poleceñ su i podaj±c has³o roota; mo¿e to zrobiæ tylko u¿ytkownik nale¿±cy do grupy wheel. Mo¿emy tak¿e po prostu zalogowaæ siê jako root. Nastêpnie wydajemy polecenie shutdown -h now. The operating system has halted. Please press any key to reboot. Po takim wy³±czeniu systemu i pojawieniu siê komunikatu Please press any key to reboot (Naci¶nij dowolny klawisz by ponownie uruchomiæ system), mo¿na ju¿ wy³±czyæ komputer. Naci¶niêcie dowolnego klawisza spowoduje ponownie uruchomienie systemu. Inny sposobem ponownego uruchomienia systemu jest kombinacja klawiszy Ctrl Alt Del , jednak w normalnych warunkach korzystanie z niej nie jest zalecane.
Obs³ugiwany sprzêt sprzêt W obecnej chwili FreeBSD dzia³a na komputerach z magistralami ISA, VLB, EISA i PCI wyposa¿onych w procesory Intel, AMD, Cyrix lub NexGen x86, jak równie¿ na komputerach z procesorem Compaq Alpha. Obs³ugiwane s± tak¿e dyski IDE i ESDI, rozmaite kontrolery SCSI, karty PCMCIA, urz±dzenia USB oraz karty sieciowe i szeregowe. FreeBSD pracuje tak¿e z szyn± microchannel (MCA) firmy IBM. Lista obs³ugiwanych urz±dzeñ do³±czona jest do ka¿dego wydania FreeBSD w dokumencie FreeBSD Hardware Notes. Mo¿na go zwykle znale¼æ w pliku HARDWARE.TXT, umieszczonym bezpo¶rednio w g³ównym katalogu p³yty CDROM lub na serwerze FTP, b±d¼ w menu dokumentacji sysinstall. Na li¶cie zebrano urz±dzenia, które poprawnie wspó³pracuj± z FreeBSD. Kopie tej listy dla ró¿nych wydañ systemu i ró¿nych architektur mo¿na tak¿e znale¼æ na podstronie Release Information na stronie WWW FreeBSD. Rozwi±zywanie problemów instalacja rozwi±zywanie problemów W tej czê¶ci opisujemy, jak radziæ sobie z podstawowymi problemami spotykanymi podczas instalacji. W kilku pytaniach i odpowiedziach omawiamy tak¿e mo¿liwo¶æ uruchamiania FreeBSD i &ms-dos; na tym samym komputerze. Co robiæ, gdy co¶ pójdzie nie tak Ze wzglêdu na rozmaite ograniczenia architektury PC, rozpoznawanie urz±dzeñ mo¿e niekiedy sprawiaæ problemy. Mo¿na jednak spróbowaæ sobie z nimi poradziæ Zapoznajmy siê z dokumentem Hardware Notes, by mieæ pewno¶æ, ¿e nasze urz±dzenia s± obs³ugiwane przez FreeBSD. Je¶li wci±¿ wystêpuj± problemy, mimo, ¿e nasz sprzêt jest obs³ugiwany, powinni¶my ponownie uruchomiæ komputer i wybraæ opcjê wizualnej konfiguracji j±dra (visual kernel configuration). Bêdziemy mieæ mo¿liwo¶æ przejrzenia naszych urz±dzeñ i podania systemowi informacji o nich. J±dro uruchamiane z dyskietki startowej zak³ada, ¿e wiêkszo¶æ urz±dzeñ skonfigurowanych jest z fabrycznymi ustawieniami IRQ, portów we/wy i kana³ów DMA. Je¶li konfiguracja naszego sprzêtu jest odmienna, zapewne bêdziemy musieli poinformowaæ o tym FreeBSD, odpowiednio modyfikuj±c konfiguracjê. Mo¿e siê zdarzyæ, ¿e próba rozpoznania urz±dzenia nieistniej±cego spowoduje k³opoty z pó¼niejszym rozpoznawaniem urz±dzeñ rzeczywi¶cie zainstalowanych w komputerze. W takim wypadku powinni¶my wy³±czyæ sterowniki powoduj±ce konflikty. Pewnych problemów z instalacj± mo¿na unikn±æ dziêki instalacji nowszego oprogramowania sprzêtowego (ang. firmware) urz±dzenia, zwykle p³yty g³ównej. Oprogramowanie sprzêtowe p³yty g³ównej znane jest pod nazw± BIOS. Wiêkszo¶æ producentów p³yt g³ównych lub komputerów umieszcza informacje o nowych wersjach oprogramowania na swoich stronach WWW. Producenci zwykle stanowczo odradzaj± instalowanie nowego BIOS-u, oprócz sytuacji, w których jest to uzasadnione, na przyk³ad w przypadku wykrycia powa¿nego b³êdu. Instalacja nowszej wersji mo¿e siê nie udaæ, powoduj±c trwa³e uszkodzenie uk³adu BIOS. Nie nale¿y wy³±czaæ sterowników potrzebnych podczas instalacji, na przyk³ad sterownika ekranu (sc0). Je¿eli po zakoñczeniu konfiguracji j±dra instalacja w tajemniczy sposób zastyga lub przerywa pracê, zapewne usunêli¶my lub zmodyfikowali¶my co¶, co nie powinno byæ ruszane. Musimy ponownie uruchomiæ komputer i spróbowaæ jeszcze raz. Podczas konfiguracji mo¿emy: Przejrzeæ listê sterowników zainstalowanych w j±drze. Wy³±czyæ sterowniki urz±dzeñ, których nie ma w komputerze. Zmieniæ ustawienia IRQ, DRQ i portów we/wy u¿ywanych przez sterowniki. Po dostosowaniu konfiguracji j±dra do naszego sprzêtu, wpisujemy Q, by ponownie uruchomiæ komputer z nowymi ustawieniami. Zmiany konfiguracji s± trwa³e i bêd± obowi±zywaæ równie¿ po zakoñczeniu instalacji, nie bêdzie wiêc trzeba konfigurowaæ j±dra na nowo przy ka¿dym uruchamianiu systemu. Jest jednak bardzo prawdopodobne, ¿e bêdziemy chcieli zbudowaæ niestandardowe j±dro. Jak poradziæ sobie z istniej±cymi partycjami &ms-dos; DOS Wielu u¿ytkowników instaluje &os; na komputerach PC z systemem operacyjnym z rodziny µsoft;. Specjalnie dla tych u¿ytkowników przygotowany zosta³ program FIPS. Narzêdzie to znajduje siê na p³ycie instalacyjnej w katalogu\ tools. Mo¿na je równie¿ pobraæ z wielu serwerów lustrzanych &os;. FIPS umo¿liwia podzielenie istniej±cej partycji &ms-dos; na dwie czê¶ci, zachowuj±c pierwotn± partycjê i pozwalaj±c na instalacjê &os; na wolnej drugiej czêsci. Wpierw nale¿y wykonaæ defragmentacjê partycji &ms-dos; za pomoc± dostêpnego w &windows; narzêdzia (w Eksploratorze nacisn±æ prawym przyciskiem myszki na dysku twardym, nastêpnie wybraæ opcjê defragmentacji dysku), albo Norton Disk Tools. Nastêpnie nale¿y uruchomiæ FIPS. Program zapyta o potrzebne mu informacje. Potem mo¿na ponownie uruchomiæ komputer i zainstalowaæ &os; na nowym wolnym segmencie. W menu Distributions mo¿na dowiedzieæ siê, ile miejsca na dysku bêdzie w przybli¿eniu potrzebne. Jest tak¿e bardzo u¿yteczny program firmy PowerQuest (http://www.powerquest.com), o nazwie &partitionmagic;. Ma on znacznie wiêksze mo¿liwo¶ci ni¿ FIPS i stosowanie go jest zalecane, je¶li planuje siê czêste instalowanie i usuwanie systemów operacyjnych. Nie jest on jednak za darmo; je¶li &os; ma byæ zainstalowane raz na dobre, FIPS zapewne w zupe³no¶ci wystarczy. Wykorzystanie systemów plików &ms-dos; i &windows; W chwili obecnej &os; nie obs³uguje systemów plików skompresowanych za pomoc± programu Double Space™. Tym samym musimy wpierw rozkompresowaæ system plików nim &os; bêdzie móg³ odczytaæ zapisane w nim dane. Mo¿na do tego wykorzystaæ Agenta kompresji z menu Start > Programy > Narzêdzia systemowe. &os; obs³uguje systemy plików &ms-dos;. By je zamontowaæ nale¿y wykorzystaæ polecenie &man.mount.msdosfs.8; z odpowiednimi parametrami. Typowa forma polecenia wygl±da nastêpuj±co: &prompt.root; mount_msdosfs /dev/ad0s1 /mnt W tym przyk³adzie system plików &ms-dos; zlokalizowany jest na pierwszej partycji pierwszego dysku twardego. By sprawdziæ jak jest w naszym przypadku nale¿y sprawdziæ wynik poleceñ dmesg oraz mount. Powinno to pozwoliæ nam zorientowaæ siê w uk³adzie partycji na dysku. Rozszerzone partycje &ms-dos; odwzorowywane s± na koñcu pozosta³ych segmentów we &os;. Przyk³adowo, pierwsza partycja &ms-dos; mo¿e znajdowaæ sie na /dev/ad0s1, partycja &os; na /dev/ad0s2, natomiast rozszerzona partycja &ms-dos; na /dev/ad0s3. Mo¿e to byæ myl±ce na pocz±tku. Analogicznie mo¿na montowaæ partycje NTFS wykorzystuj±c polecenie &man.mount.ntfs.8;. Pytania u¿ytkowników komputerów Alpha Alpha Oto niektóre z najczê¶ciej zadawanych pytañ dotycz±cych instalowania FreeBSD na komputerach Alpha. ARC Alpha BIOS SRM Czy mogê ³adowaæ system z konsoli ARC lub Alpha BIOS? Nie. &os;, podobnie jak Compaq Tru64 i VMS, mo¿e byæ ³adowany tylko z konsoli SRM. Pomocy, brakuje mi miejsca na dysku! Czy muszê wszystko skasowaæ? Niestety tak. Czy mo¿na montowaæ systemy plików Compaq Tru64 lub VMS? Nie, przynajmniej na razie. Valentino Vaschetto Napisa³ Instalacja zaawansowana W tej czê¶ci omówiona zosta³a instalacja &os; w sytuacjach wyj±tkowych. Instalacja FreeBSD na komputerze bez monitora lub klawiatury instalacja bez g³owy (konsola szeregowa) konsola szeregowa Ten rodzaj instalacji zwany jest instalacj± bez g³owy, poniewa¿ komputer, na którym &os; bêdzie instalowane nie ma pod³±czonego monitora, lub nawet nie ma wyj¶cia VGA. Jak to mo¿liwe? Dziêki konsoli szeregowej. W roli konsoli szeregowej u¿ywa siê zwykle innego komputera, który pe³ni rolê ekranu i klawiatury dla pozbawionego tych urz±dzeñ komputera. By zainstalowaæ system t± metod±, musimy przygotowaæ dyskietki instalacyjne zgodnie z opisem w . By zmodyfikowaæ dyskietki do pracy z konsol± szeregow± nale¿y wykonaæ nastêpuj±ce kroki: W³±czenie konsoli szeregowej na dyskietce startowej mount Je¶li spróbowaliby¶my uruchomiæ komputer korzystaj±c z utworzonych w³a¶nie dyskietek startowych, zosta³aby uruchomiona zwyk³a instalacja FreeBSD. My jednak chcemy, by podczas instalacji u¿ywana by³a konsola szeregowa. By to skonfigurowaæ, montujemy dyskietkê kern.flp we FreeBSD przy u¿yciu polecenia &man.mount.8;. &prompt.root; mount /dev/fd0 /mnt Po zamontowaniu dyskietki, wchodzimy do katalogu /mnt: &prompt.root; cd /mnt Teraz w³±czymy na dyskietce konsolê szeregow±. Musimy stworzyæ plik boot.config zawieraj±cy wiersz /boot/loader -h. Jego zadaniem jest po prostu nakazanie programowi ³aduj±cemu system, by u¿ywa³ konsoli szeregowej. &prompt.root; echo "/boot/loader -h" > boot.config Po prawid³owym skonfigurowaniu dyskietki odmontowujemy j± poleceniem &man.umount.8;: &prompt.root; cd / &prompt.root; umount /mnt Mo¿emy wyj±æ dyskietkê ze stacji dyskietek. Pod³±czenie kabla null-modem kabel null-modem Dwa komputery ³±czymy kablem null-modem. Po prostu pod³±czamy kabel do portów szeregowych w jednym i drugim komputerze. Zwyk³y kabel szeregowy nie nadaje siê do tego celu, potrzebny jest kabel null-modem, poniewa¿ jego przewody s± odpowiednio skrzy¿owane. Uruchomienie instalacji Mo¿emy ju¿ uruchomiæ instalacjê. Do stacji dyskietek bezg³owego komputera, na którym ma byæ zainstalowane FreeBSD, wk³adamy dyskietkê kern.flp i w³±czamy komputer. Po³±czenie z <quote>bezg³owym</quote> komputerem cu Z komputerem ³±czymy siê korzystaj±c z &man.cu.1;: &prompt.root; cu -l /dev/cuaa0 Gotowe! Powinni¶my byæ w stanie kontrolowaæ bezg³owy komputer poprzez sesjê cu. Zostaniemy poproszeni o w³o¿enie dyskietki mfsroot.flp, nastepnie o wybranie typu terminala. Wybieramy kolorow± konsolê FreeBSD (FreeBSD color console) i kontynuujemy instalacjê. Przygotowanie w³asnego no¶nika instalacji Dla uproszczenia, w niniejszej czê¶ci dysk FreeBSD oznaczaæ bêdzie p³ytê CDROM lub DVD z FreeBSD, który zakupili¶my lub przygotowali¶my samodzielnie. Mo¿e siê zdarzyæ sytuacja, w której bêdziemy musieli przygotowaæ w³asny no¶nik lub ¼ród³o dla instalacji FreeBSD. Mo¿e to byæ no¶nik fizyczny, na przyk³ad ta¶ma, albo inne ¼ród³o z którego sysinstall bêdzie móg³ pobraæ pliki, na przyk³ad lokalny serwer FTP lub partycja &ms-dos;. Oto przyk³ad: Mamy wiele komputerów w sieci lokalnej i jeden dysk FreeBSD. Chcemy przygotowaæ lokalny serwer FTP z zawarto¶ci± dysku FreeBSD, aby komputery mog³y z niego korzystaæ zamiast ³±czyæ siê z Internetem. Mamy dysk FreeBSD, jednak FreeBSD nie obs³uguje naszego napêdu CD/DVD. Napêd jest natomiast prawid³owo obs³ugiwany w &ms-dos;/&windows;. Chcemy skopiowaæ pliki instalacyjne FreeBSD na partycjê DOS i wykorzystaæ j± do zainstalowania FreeBSD. Komputer, na którym chcemy zainstalowaæ system nie ma napêdu CD/DVD ani karty sieciowej. Jest inny komputer, który ma napêd CD/DVD lub kartê sieciow± i mo¿emy po³±czyæ siê z nim kablem szeregowym lub równoleg³ym. Chcemy przygotowaæ ta¶mê, przy pomocy której bêdzie mo¿na zainstalowaæ FreeBSD. Przygotowanie p³yty instalacyjnej W ramach ka¿dego wydania systemu Projekt FreeBSD udostêpnia piêæ obrazów p³yt CD (obrazów ISO). Je¶li dysponujemy nagrywark± CD, mo¿emy je nagraæ (wypaliæ) na p³ytach, otrzymuj±c zestaw p³yt, które mog± pos³u¿yæ do zainstalowania systemu. Jest to najprostszy sposób instalacji FreeBSD w przypadku, gdy mamy nagrywarkê i tanie po³±czenie z Internetem. Pobranie obrazów ISO Obrazy ISO ka¿dego z wydañ systemu mo¿na pobraæ z ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version lub z najbli¿szego serwera lustrzanego. W miejscu arch i version wstawiamy odpowiedni± nazwê architektury i wersjê. Wspomniany katalog zawiera zwykle nastêpuj±ce obrazy: Nazwy obrazów ISO dla FreeBSD 4.<replaceable>X</replaceable> i ich znaczenie Nazwa pliku Zawarto¶æ version-RELEASE-arch-miniinst.iso Wszystko, co jest potrzebne do zainstalowania FreeBSD. version-RELEASE-arch-disc1.iso Wszystko, co jest potrzebne do zainstalowania FreeBSD, i tyle dodatkowych pakietów, ile zmie¶ci³o siê na p³ycie. version-RELEASE-arch-disc2.iso ¯ywy system plików, u¿ywany wraz z dostêpn± w sysinstall funkcj± Repair (naprawa). Kopia drzewa CVS FreeBSD. Dodatkowe pakiety o charakterze niezale¿nym.
Nazwy obrazów ISO dla FreeBSD 5.<replaceable>X</replaceable> i ich znaczenie Nazwa pliku Zawarto¶æ version-RELEASE-arch-bootonly.iso Wszystko co jest niezbêdne by uruchomiæ j±dro FreeBSD i rozpocz±æ instalacjê. Pliki instalacyjne zostan± probrane z serwera FTP b±d¼ innego ¼ród³a. version-RELEASE-arch-miniinst.iso Wszystko, co jest potrzebne do zainstalowania FreeBSD. version-RELEASE-arch-disc1.iso Wszystko co jest potrzebne by zainstalowaæ &os; jako ¿ywy system plików u¿ywany wraz z dostêpn± w sysinstall funkcj± Repair (naprawa). version-RELEASE-arch-disc2.iso Dokumentacja &os; i tyle dodatkowych pakietów, ile zmie¶ci³o siê na p³ycie.
Musimy pobraæ albo obraz ISO mini, albo obraz pierwszej p³yty. Nie ma sensu pobieraæ obydwu, poniewa¿ obraz pierwszej p³yty zawiera wszystko to, co obraz mini. Obraz ISO mini dostêpny jest tylko dla wydañ starszych ni¿ FreeBSD 5.4-RELEASE. Z obrazu ISO miniinst warto jest skorzystaæ, gdy mamy niedrogi dostêp do Internetu. Za jego pomoc± mo¿emy zainstalowaæ FreeBSD, natomiast niezale¿ne oprogramowanie instalujemy przez Internet, przy pomocy systemu portów i pakietów (patrz: ). P³ytê pierwsz± wybieramy wtedy, gdy oprócz zainstalowania systemu chcemy skorzystaæ z zestawu wybranych pakietów oprogramowania. Pozosta³e p³yty s± przydatne, lecz nie niezbêdne, szczególnie, gdy dysponujemy szybkim dostêpem do Internetu.
Nagranie p³yt CD Pliki obrazów nale¿y nagraæ na p³yty. Je¶li zamierzamy robiæ to w systemie FreeBSD, informacje na ten temat znajdziemy w (w szczególno¶ci oraz ). Je¿eli p³yty nagrywaæ bêdziemy w innym systemie, do tego celu mo¿emy pos³u¿yæ siê dowolnymi dostêpnymi programami obs³uguj±cymi nagrywarkê p³yt CD. ISO jest standardowym formatem obrazu p³yt obs³ugiwanym w wielu aplikacjach nagrywaj±cych.
Zainteresowanych przygotowaniem w³asnych wydañ &os; odsy³amy do artyku³u Release Engineering (ang.).
Przygotowanie lokalnego serwera FTP z dyskiem FreeBSD instalacja sieæ FTP Uk³ad plików na dysku FreeBSD jest taki sam, jak uk³ad plików na serwerze FTP. Dziêki temu ³atwo mo¿emy przygotowaæ lokalny serwer FTP, który mo¿e byæ wykorzystany przez inne komputery w sieci do instalacji FreeBSD. Na komputerze, który bêdzie s³u¿yæ jako serwer FTP, umieszczamy CDROM w napêdzie i montujemy go w katalogu /cdrom. &prompt.root; mount /cdrom Zak³adamy konto dla anonimowego u¿ytkownika FTP w /etc/passwd. Plik /etc/passwd modyfikujemy przy u¿yciu &man.vipw.8;. Dodajemy nastêpuj±cy wiersz: ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent Na koniec upewniamy siê, ¿e us³uga FTP jest w³±czona w /etc/inetd.conf. Od tej chwili ka¿dy, kto jest w stanie nawi±zaæ po³±czenie z naszym komputerem, mo¿e podczas instalacji FreeBSD wybraæ jako ¼ród³o serwer FTP, w menu wyboru serwera FTP wybraæ opcjê Other (inny) i wpisaæ ftp://nasz.komputer. Je¶li no¶nik, z którego uruchamiamy instalator (najczê¶ciej dyskietka), nie pochodzi z dok³adnie tej samej wersji co pliki na naszym serwerze FTP, to sysinstall nie pozwoli nam kontynuowaæ instalacji. By pomin±æ t± blokadê nale¿y w menu Options zmieniæ nazwê dystrybucji na any. Ta metoda mo¿e byæ z powodzeniem stosowana na komputerze w sieci lokalnej, chronionym przez zaporê ogniow±. Udostêpnianie serwera FTP innym u¿ytkownikom Internetu (a nie tylko sieci lokalnej) nara¿a nasz komputer na ataki w³amywaczy i inne problemy. Decyduj±c siê na to nale¿y koniecznie przestrzegaæ zasad bezpieczeñstwa. Przygotowywanie dyskietek instalacyjnych instalacja dyskietki Je¿eli koniecznie chcemy instalowaæ system z dyskietek (co nie jest zalecane), na przyk³ad z powodu nieobs³ugiwanego urz±dzenia lub po prostu z zami³owania do utrudnieñ, musimy najpierw przygotowaæ dyskietki instalacyjne. Bêdziemy potrzebowaæ co najmniej tylu dyskietek 1.44 MB lub 1.2 MB, by zmie¶ci³y siê na nich wszystkie pliki z katalogu bin (binarne pliki dystrybucyjne). Je¶li dyskietki przygotowujemy w DOS-ie, to musz± one byæ sformatowane przy pomocy DOS-owego polecenia FORMAT. W &windows; do sformatowania dyskietek mo¿emy u¿yæ Explorera (klikamy prawym przyciskiem myszy na stacji A: i wybieramy Format). Nie ufajmy dyskietkom sformatowanym fabrycznie. Dla pewno¶ci sformatujmy je jeszcze raz samodzielnie. W przesz³o¶ci wiele problemów zg³aszanych przez u¿ytkowników spowodowanych by³o korzystaniem z nieprawid³owo sformatowanych dyskietek, dlatego te¿ zwracamy na to uwagê. Je¿eli do przygotowania dyskietek s³u¿y nam komputer z FreeBSD, równie¿ powinni¶my je sformatowaæ. Dyskietki nie musz± byæ formatowane w DOS-owym systemie plików. Mo¿emy utworzyæ na nich system plików UFS, za pomoc± poleceñ bsdlabel i newfs, wywo³anych w nastêpuj±cy sposób (na przyk³adzie dyskietek 3.5" 1.44 MB): &prompt.root; fdformat -f 1440 fd0.1440 &prompt.root; bsdlabel -w -r fd0.1440 floppy3 &prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0 W przypadku dyskietek 5.25" 1.2 MB, wpisaliby¶my odpowiednio fd0.1200 i floppy5. Po takiej operacji dyskietki bêdzie mo¿na zamontowaæ i zapisywaæ na nich dane tak samo, jak na innych systemach plików. Po sformatowaniu dyskietek nale¿y skopiowaæ na nie pliki. Pliki dystrybucyjne podzielone s± na kawa³ki o wygodnych rozmiarach, tak aby piêæ z nich mie¶ci³o siê na typowej dyskietce 1.44 MB. Umie¶æmy na ka¿dej z dyskietek tyle plików, ile siê zmie¶ci, a¿ wszystkie pliki dystrybucyjne znajd± siê na dyskietkach. Pliki powinny byæ umieszczone w odpowiednim katalogu na dyskietce, np.: a:\bin\bin.aa, a:\bin\bin.ab, itd. Podczas instalacji, gdy pojawi siê ekran wyboru no¶nika (Media), wybieramy Floppy (dyskietki). Dalej poprowadzi nas program instalacyjny. Instalacja z partycji &ms-dos; instalacja z MS-DOS By mo¿na by³o zainstalowaæ FreeBSD z partycji &ms-dos;, kopiujemy pliki dystrybucyjne do katalogu freebsd w g³ównym katalogu partycji - na przyk³ad c:\freebsd. Wewn±trz tego katalogu musi byæ czê¶ciowo zachowana struktura katalogów p³yty CDROM lub serwera FTP, je¶li wiêc kopiujemy pliki z p³yty CD, dobrze jest skorzystaæ z DOS-owego polecenia xcopy. Dla przyk³adu, poni¿sze polecenia przygotuj± minimaln± instalacjê FreeBSD: C:\> md c:\freebsd C:\> xcopy e:\bin c:\freebsd\bin\ /s C:\> xcopy e:\manpages c:\freebsd\manpages\ /s W przyk³adzie za³o¿yli¶my, ¿e miejsce dla FreeBSD mamy na dysku C:, a napêd CDROM dostêpny jest jako dysk E:. Je¶li nie dysponujemy napêdem CDROM, pliki dystrybucyjne mo¿emy pobraæ z ftp.FreeBSD.org. Ka¿dy zestaw plików umieszczony jest w oddzielnym katalogu; na przyk³ad zestaw base znajduje siê w katalogu &rel.current;/base/. Zestawy plików, które chcemy instalowaæ z partycji &ms-dos; (i dla których jest na niej odpowiednio du¿o wolnego miejsca), umieszczamy w katalogu c:\freebsd. Na potrzeby instalacji minimalnej wystarczy zestaw BIN. Przygotowanie ta¶my instalacyjnej instalacja z ta¶my QIC/SCSI Instalacja z ta¶my jest jedn± z najprostszych metod, obok instalacji przez FTP i instalacji z p³yty CD. Program instalacyjny zak³ada, ¿e ta¶ma po prostu zawiera pliki w postaci archiwum tar. Interesuj±ce nas pliki dystrybucyjne archiwizujemy na ta¶mie: &prompt.root; cd /freebsd/distdir &prompt.root; tar cvf /dev/rwt0 dist1 ... dist2 Przeprowadzaj±c instalacjê powinni¶my upewniæ siê, ¿e dysponujemy odpowiedni± ilo¶ci± wolnego miejsca w jakim¶ katalogu tymczasowym (bêdziemy mieæ mo¿liwo¶æ wyboru tego katalogu), by pomie¶ciæ pe³n± zawarto¶æ przygotowanej wcze¶niej ta¶my. Ze wzglêdu na to, ¿e dostêp do danych na ta¶mie nie jest swobodny, taki rodzaj instalacji bêdzie wymagaæ do¶æ sporej przestrzeni tymczasowej. Mo¿na za³o¿yæ, ¿e potrzeba bêdzie tyle przestrzeni, ile zajmuj± dane zapisane na ta¶mie. Rozpoczynaj±c instalacjê pamiêtajmy, by ta¶ma by³a umieszczona w napêdzie przed uruchomieniem komputera z dyskietki startowej. W przeciwnym razie napêd ta¶mowy mo¿e nie zostaæ wykryty podczas rozpoznawania urz±dzeñ. Przed instalacj± przez sieæ instalacja sieæ port szeregowy (SLIP lub PPP) instalacja sieæ port równoleg³y (PLIP) instalacja sieæ Ethernet S± trzy mo¿liwo¶ci instalacji przez sieæ: port szeregowy (SLIP lub PPP), port równoleg³y (PLIP (kabel laplink)) lub Ethernet (typowa karta sieciowa Ethernet (tak¿e PCMCIA)). Obs³uga protoko³u SLIP jest dosyæ prymitywna i ogranicza siê do bezpo¶rednich po³±czeñ, jak choæby kabel ³±cz±cy komputer przeno¶ny z innym komputerem. Po³±czenie musi byæ bezpo¶rednie, poniewa¿ instalacja za po¶rednictwem SLIP nie umo¿liwia dzwonienia; jest to mo¿liwe w przypadku PPP, dlatego te¿ powinno siê u¿ywaæ PPP zamiast SLIP, o ile to mo¿liwe. Je¿eli korzystamy z modemu, to PPP jest najprawdopodobniej jedyn± mo¿liwo¶ci±. Zawczasu przygotujmy sobie informacje od dostawcy us³ug sieciowych, poniewa¿ bêd± nam one potrzebne na wczesnym etapie instalacji. Je¶li ³±cz±c siê z dostawc± us³ug sieciowych u¿ywamy PAP lub CHAP (innymi s³owy, je¶li w &windows; mo¿emy uzyskaæ po³±czenie bez korzystania ze skryptu), wówczas wystarczy, ¿e w linii poleceñ ppp wpiszemy dial. W przeciwnym razie bêdziemy musieli po³±czyæ siê z dostawc± us³ug sieciowych za pomoc± poleceñ AT, zale¿nych od typu modemu, gdy¿ do dyspozycji bêdziemy mieæ jedynie uproszczony emulator terminala. Wiêcej informacji znajdziemy w po¶wiêconych user-ppp czê¶ciach Podrêcznika i FAQ. Je¶li wyst±pi± problemy, mo¿emy pos³u¿yæ siê poleceniem set log local ..., by komunikaty by³y pokazywane na ekranie. Je¿eli dysponujemy bezpo¶rednim po³±czeniem z innym komputerem z FreeBSD (w wersji 2.0-R lub pó¼niejszej), wówczas mamy równie¿ mo¿liwo¶æ instalacji przez port równoleg³y. Prêdko¶æ transmisji danych portem równoleg³ym jest zwykle znacznie wy¿sza ni¿ prêdko¶æ przesy³ania portem szeregowym (do 50 kilobajtów/sekundê), dziêki czemu instalacja przebiega szybciej. Najszybszym wariantem instalacji poprzez sieæ jest wykorzystanie karty sieciowej Ethernet. FreeBSD obs³uguje wiêkszo¶æ popularnych kart sieciowych; lista obs³ugiwanych kart (wraz z ich ustawieniami) znajduje siê w dokumencie Hardware Notes, do³±czonym do ka¿dego wydania FreeBSD. Je¿eli korzystamy z karty sieciowej PCMCIA, pamiêtajmy o tym, by by³a ona w³o¿ona przed w³±czeniem komputera. Niestety, jak dot±d FreeBSD nie obs³uguje wk³adania kart PCMCIA w trakcie instalacji. Bêdziemy musieli znaæ nasz adres IP, maskê podsieci, oraz nazwê naszego komputera. Je¶li instalujemy za po¶rednictwem PPP i nie mamy statycznego adresu IP, nie musimy siê przejmowaæ, gdy¿ adres IP mo¿e byæ przydzielony dynamicznie przez dostawcê us³ug. Administrator sieci mo¿e nam podpowiedzieæ, jakie parametry podaæ podczas konfiguracji sieci. Je¶li do po³±czeñ z innymi stacjami bêdziemy u¿ywaæ ich nazw, a nie adresów IP, to dodatkowo bêdziemy musieli znaæ adres serwera nazw i prawdopodobnie adres bramy (w przypadku PPP jest to adres IP dostawcy). Je¿eli mamy zamiar instalowaæ za po¶rednictwem FTP i proxy HTTP, bêdzie nam ponadto potrzebny adres proxy. Skontaktujmy siê z administratorem sieci lub dostawc± us³ug sieciowych przed rozpoczêciem instalacji, je¶li nie znamy którego¶ z wymienionych powy¿ej adresów. Przed instalacj± przez NFS instalacja sieæ NFS Instalacja przez NFS jest raczej ma³o skomplikowana. Wystarczy po prostu skopiowaæ wybrane pliki dystrybucyjne na serwer, nastêpnie podczas instalacji wybraæ NFS jako no¶nik i wskazaæ serwer. Je¿eli serwer wymaga stosowania uprzywilejowanego portu (zwykle jest tak w przypadku stacji roboczych Sun), musimy to zaznaczyæ w menu Options (opcja NFS Secure), zanim rozpoczniemy instalacjê. Je¶li nasza karta sieciowa jest niezbyt dobrej jako¶ci i nie grzeszy prêdko¶ci±, mo¿emy w³±czyæ opcjê NFS Slow. Instalacja przez NFS wymaga, by serwer obs³ugiwa³ montowanie podkatalogów, na przyk³ad je¶li katalog dystrybucyjny FreeBSD &rel.current; znajduje siê w: ziggy:/usr/archive/stuff/FreeBSD, to serwer ziggy musi umo¿liwiaæ bezpo¶rednie montowanie katalogu /usr/archive/stuff/FreeBSD, a nie tylko /usr, lub /usr/archive/stuff. We FreeBSD w pliku /etc/exports mo¿liwo¶æ montowania podkatalogów w³±cza siê opcj± . W innych serwerach NFS mo¿e byæ inaczej. Je¶li otrzymujemy od serwera komunikaty o tre¶ci permission denied (odmowa dostêpu), prawdopodobnie jest to spowodowane w³a¶nie nieprawid³owym ustawieniem wspomnianej opcji.
diff --git a/share/pgpkeys/gavin.key b/share/pgpkeys/gavin.key index 00a5f7f09d..f5b66c4aeb 100644 --- a/share/pgpkeys/gavin.key +++ b/share/pgpkeys/gavin.key @@ -1,425 +1,571 @@ uid Gavin Atkinson (FreeBSD key) uid Gavin Atkinson (Work e-mail) +uid Gavin Atkinson uid Gavin Atkinson +uid Gavin Atkinson (Work e-mail) sub 2048g/58F40B3D 2005-02-18 ]]> diff --git a/share/xml/freebsd.sch b/share/xml/freebsd.sch index 3d39ef9009..1039991552 100644 --- a/share/xml/freebsd.sch +++ b/share/xml/freebsd.sch @@ -1,307 +1,312 @@ Image reference () cannot have an extension; the proper format is inferred by the output type to generate. Image reference () format must not be specified; it is inferred by the output type to generate. Filename () has role="directory"; use class="directory" Link () element must have a content; or use xref to auto-generate the linking text. Callouts with screenco are not supported; use screen and co instead. Callouts with programlistingco are not supported; use programlisting and co instead. Callouts on graphics are not supported. Invalid edition value (); must be either 'online' or "print". Invalid os value (); must be either 'freebsd8', 'freebsd9' or 'freebsd10'. There must be a title either in the the doc component () or in the info element. There must be exactly one title for a doc component (). You cannot use both colname and spanname attributes on table entries. The number of columns does not match the specified value (in section ). + + Programlisting is not allowed in tables (in section ). + The screen element is not allowed in tables (in section ). + Footnote is not allowed in tables (in section ). + @linkend on firstterm must point to a glossentry. @linkend on footnoteref must point to a footnote. @linkend on glossterm must point to a glossentry. @linkend on synopfragmentref must point to a synopfragment. @otherterm on glosssee must point to a glossentry. @otherterm on glossseealso must point to a glossentry. A termdef must contain exactly one firstterm The number of seg elements must be the same as the number of segtitle elements in the parent segmentedlist The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. The root element must have a version attribute. annotation must not occur in the descendants of annotation caution must not occur in the descendants of caution important must not occur in the descendants of caution note must not occur in the descendants of caution tip must not occur in the descendants of caution warning must not occur in the descendants of caution caution must not occur in the descendants of important important must not occur in the descendants of important note must not occur in the descendants of important tip must not occur in the descendants of important warning must not occur in the descendants of important caution must not occur in the descendants of note important must not occur in the descendants of note note must not occur in the descendants of note tip must not occur in the descendants of note warning must not occur in the descendants of note caution must not occur in the descendants of tip important must not occur in the descendants of tip note must not occur in the descendants of tip tip must not occur in the descendants of tip warning must not occur in the descendants of tip caution must not occur in the descendants of warning important must not occur in the descendants of warning note must not occur in the descendants of warning tip must not occur in the descendants of warning warning must not occur in the descendants of warning caution must not occur in the descendants of caption equation must not occur in the descendants of caption example must not occur in the descendants of caption figure must not occur in the descendants of caption important must not occur in the descendants of caption note must not occur in the descendants of caption sidebar must not occur in the descendants of caption table must not occur in the descendants of caption task must not occur in the descendants of caption tip must not occur in the descendants of caption warning must not occur in the descendants of caption caution must not occur in the descendants of equation equation must not occur in the descendants of equation example must not occur in the descendants of equation figure must not occur in the descendants of equation important must not occur in the descendants of equation note must not occur in the descendants of equation table must not occur in the descendants of equation tip must not occur in the descendants of equation warning must not occur in the descendants of equation caution must not occur in the descendants of example equation must not occur in the descendants of example example must not occur in the descendants of example figure must not occur in the descendants of example important must not occur in the descendants of example note must not occur in the descendants of example table must not occur in the descendants of example tip must not occur in the descendants of example warning must not occur in the descendants of example caution must not occur in the descendants of figure equation must not occur in the descendants of figure example must not occur in the descendants of figure figure must not occur in the descendants of figure important must not occur in the descendants of figure note must not occur in the descendants of figure table must not occur in the descendants of figure tip must not occur in the descendants of figure warning must not occur in the descendants of figure caution must not occur in the descendants of table equation must not occur in the descendants of table example must not occur in the descendants of table figure must not occur in the descendants of table important must not occur in the descendants of table informaltable must not occur in the descendants of table note must not occur in the descendants of table tip must not occur in the descendants of table warning must not occur in the descendants of table caution must not occur in the descendants of footnote epigraph must not occur in the descendants of footnote equation must not occur in the descendants of footnote example must not occur in the descendants of footnote figure must not occur in the descendants of footnote footnote must not occur in the descendants of footnote important must not occur in the descendants of footnote indexterm must not occur in the descendants of footnote note must not occur in the descendants of footnote sidebar must not occur in the descendants of footnote table must not occur in the descendants of footnote task must not occur in the descendants of footnote tip must not occur in the descendants of footnote warning must not occur in the descendants of footnote sidebar must not occur in the descendants of sidebar