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 HandbookThe FreeBSD Documentation Project$FreeBSD$20002001200220032004200520062007200820092010201120122013The FreeBSD Documentation
Project
&trademarks;
&legalnotice;
$FreeBSD$IntroductionThe 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 YourselfSo, 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 PortingThis 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 MakefileThe 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 FilesThere 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.pkg-descrThis 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/pkg-plistThis 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/onekoRefer 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/onekoOf 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 FileJust 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 PortYou 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 portpkg-plist contains everything
that is installed by your portYour port can be installed multiple times using the
reinstall targetYour port cleans
up after itself upon deinstallRecommended Test Orderingmake installmake packagemake deinstallpkg_add
package-namemake deinstallmake reinstallmake packagemake readmeMake 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
portlintPlease 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 PortBefore 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.sharInclude 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 PortingOk, 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 WorkFirst, 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 SourcesGet 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 PortUnpack 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.PatchingIn 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}/READMEQuite 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.hIf 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.ConfiguringInclude 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 InputIf 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 MakefileConfiguring 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 SourceDoes 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.NamingThe first part of the port's Makefile
names the port, describes its version number, and lists it
in the correct category.PORTNAME and
PORTVERSIONYou should set PORTNAME to the
base name of your port, and PORTVERSION
to the version number of the port.PORTREVISION and
PORTEPOCHPORTREVISIONThe 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.PORTEPOCHFrom 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 PORTREVISION and
PORTEPOCH UsageThe gtkmumble port, version
0.10, is committed to the ports
collection:PORTNAME= gtkmumble
PORTVERSION= 0.10PKGNAME 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= 1PKGNAME becomes
gtkmumble-0.10_1A 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= 1PKGNAME becomes
gtkmumble-0.2,1The next release is 0.3. Since
PORTEPOCH never decreases, the version
variables are now:PORTNAME= gtkmumble
PORTVERSION= 0.3
PORTEPOCH= 1PKGNAME becomes
gtkmumble-0.3,1If 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.PKGNAMEPREFIX and
PKGNAMESUFFIXTwo 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.LATEST_LINKLATEST_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 ConventionsThe 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 NamePKGNAMEPREFIXPORTNAMEPKGNAMESUFFIXPORTVERSIONReasonmule-2.2.2(empty)mule(empty)2.2.2No changes requiredEmiClock-1.0.2(empty)emiclock(empty)1.0.2No uppercase names for single programsrdist-1.3alpha(empty)rdist(empty)1.3.aNo strings like alpha
allowedes-0.9-beta1(empty)es(empty)0.9.b1No strings like beta
allowedmailman-2.0rc3(empty)mailman(empty)2.0.r3No strings like rc
allowedv3.3beta021.src(empty)tiff(empty)3.3What the heck was that anyway?tvtwm(empty)tvtwm(empty)pl11Version string always requiredpiewm(empty)piewm(empty)1.0Version string always requiredxvgr-2.10pl1(empty)xvgr(empty)2.10.1pl allowed only when no
major/minor version numbersgawk-2.15.6ja-gawk(empty)2.15.6Japanese language versionpsutils-1.13(empty)psutils-letter1.13Paper size hardcoded at package build
timepkfonts(empty)pkfonts3001.0Package for 300dpi fontsIf 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.CategorizationCATEGORIESWhen 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 CategoriesHere 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.CategoryDescriptionNotesaccessibilityPorts to help disabled users.afterstep*Ports to support the AfterStep
window manager.arabicArabic language support.archiversArchiving tools.astroAstronomical ports.audioSound support.benchmarksBenchmarking utilities.biologyBiology-related software.cadComputer aided design tools.chineseChinese language support.commsCommunication software.Mostly software to talk to your serial
port.convertersCharacter code converters.databasesDatabases.deskutilsThings that used to be on the desktop before
computers were invented.develDevelopment 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.dnsDNS-related software.docs*Meta-ports for FreeBSD documentation.editorsGeneral editors.Specialized editors go in the section for those
tools (e.g., a mathematical-formula editor will go
in math).elisp*Emacs-lisp ports.emulatorsEmulators 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.financeMonetary, financial and related
applications.frenchFrench language support.ftpFTP client and server utilities.If your port speaks both FTP and HTTP, put it
in ftp with a secondary
category of www.gamesGames.geography*Geography-related software.germanGerman language support.gnome*Ports from the GNOME
Project.gnustep*Software related to the GNUstep desktop
environment.graphicsGraphics utilities.hamradio*Software for amateur radio.haskell*Software related to the Haskell
language.hebrewHebrew language support.hungarianHungarian language support.ipv6*IPv6 related software.ircInternet Relay Chat utilities.japaneseJapanese language support.javaSoftware 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.koreanKorean language support.langProgramming languages.linux*Linux applications and support
utilities.lisp*Software related to the Lisp language.mailMail software.mathNumerical computation software and other
utilities for mathematics.mbone*MBone applications.miscMiscellaneous utilitiesBasically 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.multimediaMultimedia software.netMiscellaneous networking software.net-imInstant messaging software.net-mgmtNetworking management software.net-p2pPeer to peer network applications.newsUSENET news software.palmSoftware 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.polishPolish language support.ports-mgmtPorts for managing, installing and developing
FreeBSD ports and packages.portuguesePortuguese language support.printPrinting 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.russianRussian language support.scheme*Software related to the Scheme
language.scienceScientific ports that do not fit into other
categories such as astro,
biology and
math.securitySecurity utilities.shellsCommand line shells.spanish*Spanish language support.sysutilsSystem utilities.tcl*Ports that use Tcl to run.textprocText processing utilities.It does not include desktop publishing tools,
which go to print.tk*Ports that use Tk to run.ukrainianUkrainian language support.vietnameseVietnamese language support.windowmaker*Ports to support the WindowMaker window
manager.wwwSoftware related to the World Wide Web.HTML language
support belongs here too.x11The 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-clocksX11 clocks.x11-driversX11 drivers.x11-fmX11 file managers.x11-fontsX11 fonts and font utilities.x11-serversX11 servers.x11-themesX11 themes.x11-toolkitsX11 toolkits.x11-wmX11 window managers.xfce*Ports related to the Xfce desktop
environment.zope*Zope
support.Choosing the Right CategoryAs 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 CategoryAs 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 repocopiedMakefile for the
new categoryMakefile for the
old ports' categoriesMakefiles 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 CategoriesOccasionally 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 FilesThe 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.DISTVERSION/DISTNAMEDISTNAME 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:DISTVERSIONPORTVERSION0.7.1d0.7.1.d10Alpha310.a33Beta7-pre23.b7.p28:f_178f.17PKGNAMEPREFIX 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).MASTER_SITESRecord 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= makeOr you can use a condensed format:MASTER_SITES= GNU/makeThese 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= SFIf the guess is incorrect, it can be overridden as
follows.MASTER_SITES= SF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}This can be also written asMASTER_SITES= SF
MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}
Popular Magic MASTER_SITES
MacrosMacroAssumed subdirectoryAPACHE_JAKARTA/dist/jakarta/${PORTNAME:S,-,,/,}/sourceBERLIOS/${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}
EXTRACT_SUFXIf 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= .tgzThe 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.DISTFILESSometimes 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.gzIf not explicitly set, DISTFILES
defaults to
${DISTNAME}${EXTRACT_SUFX}.EXTRACT_ONLYIf 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.gzIf none of the
DISTFILES should be uncompressed then set
EXTRACT_ONLY to the empty string.EXTRACT_ONLY=PATCHFILESIf 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
(MASTER_SITES:n)(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:1In 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 InformationThis 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 MASTER_SITES:n
with One File Per SiteMASTER_SITES= ftp://ftp.example1.com/:source1 \
ftp://ftp.example2.com/:source2
DISTFILES= source1.tar.gz:source1 \
source2.tar.gz:source2Multiple 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 MASTER_SITES:n
with More Than One File Per SiteMASTER_SITES= ftp://ftp.example1.com/:source1 \
ftp://ftp.example2.com/:source2
DISTFILES= source1.tar.gz:source1 \
source2.tar.gz:source2 \
source3.tar.gz:source2Detailed InformationOkay, 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= alphaMASTER_SITES= alpha:DEFAULTGroups 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_SITEMASTER_SITES= alpha:DEFAULT alpha:SOME_SITEMASTER_SITES= alpha:SOME_SITE,DEFAULTMASTER_SITES= alpha:DEFAULT,SOME_SITEAll 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
MASTER_SITES:n in
MASTER_SITE_SUBDIRMASTER_SITE_SUBDIR= old:n new/:NEWDirectories within group
DEFAULT ->
old:nDirectories within group
NEW -> newDetailed Use of
MASTER_SITES:n with Comma
Operator, Multiple Files, Multiple Sites and
Multiple SubdirectoriesMASTER_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 \
directoryThe previous example results in the
following fine grained fetching. Sites are
listed in the exact order they will be
used.file1 will be
fetched fromMASTER_SITE_OVERRIDEhttp://site1/directory-trial:1/http://site1/directory-one/http://site1/directory/http://site2/http://site7/MASTER_SITE_BACKUPfile2 will be
fetched exactly as
file1 since they
both belong to the same groupMASTER_SITE_OVERRIDEhttp://site1/directory-trial:1/http://site1/directory-one/http://site1/directory/http://site2/http://site7/MASTER_SITE_BACKUPfile3 will be
fetched fromMASTER_SITE_OVERRIDEhttp://site3/MASTER_SITE_BACKUPfile4 will be
fetched fromMASTER_SITE_OVERRIDEhttp://site4/http://site5/http://site6/http://site7/http://site8/directory-one/MASTER_SITE_BACKUPfile5 will be
fetched fromMASTER_SITE_OVERRIDEMASTER_SITE_BACKUPfile6 will be
fetched fromMASTER_SITE_OVERRIDEhttp://site8/MASTER_SITE_BACKUPHow do I group one of the special variables from
bsd.sites.mk, e.g.,
MASTER_SITE_SOURCEFORGE?See .Detailed Use of
MASTER_SITES:n with
MASTER_SITE_SOURCEFORGEMASTER_SITES= http://site1/ ${MASTER_SITE_SOURCEFORGE:S/$/:sourceforge,TEST/}
DISTFILES= something.tar.gz:sourceforgesomething.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
MASTER_SITES:n with
PATCH_SITESPATCH_SITES= http://site1/ http://site2/:test
PATCHFILES= patch1:testWhat 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 targetsThere 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.DIST_SUBDIRDo 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.ALWAYS_KEEP_DISTFILESIf 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
ALWAYS_KEEP_DISTFILES.if defined(PACKAGE_BUILDING)
DISTFILES+= foo.tar.gz
ALWAYS_KEEP_DISTFILES= yes
.endifWhen 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.MAINTAINERSet 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.COMMENTThis 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 screenThe COMMENT variable should immediately follow the
MAINTAINER variable in the
Makefile.PORTSCOUTPortscout 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.2When 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\.4When 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=1000416DependenciesMany 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.LIB_DEPENDSThis 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/jpegwill 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.RUN_DEPENDSThis 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/xmlcatmgrwill 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/binThe 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}BUILD_DEPENDSThis 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/unzipwill 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_TARGETFETCH_DEPENDSThis 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/ncftp2will 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.EXTRACT_DEPENDSThis 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/unzipwill 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 .PATCH_DEPENDSThis 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:extractwill 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.USESThere 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.USE_*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,
settingUSE_GCC=3.4would add a dependency on gcc34 for every port,
including gcc34 itself!
The
USE_*
VariablesVariableMeansUSE_BZIP2The port's tarballs are compressed with
bzip2.USE_ZIPThe port's tarballs are compressed with
zip.USE_GCCThe 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 DependencyA 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-SpiffyThe 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 DependenciesAs 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
instanceBUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extractwill always descend to the jpeg port
and extract it.Circular Dependencies Are FatalDo 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 DependenciesDependencies 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
.endifThe 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 DependencyOPTIONS_DEFINE= BAR
BAR_DESC= Bar support
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MBAR}
LIB_DEPENDS= bar:${PORTSDIR}/foo/bar
.endifTesting 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.USE_ and
WANT_USE_ variables are set by the port
maintainer to define software on which this port depends. A
port that needs Firefox would setUSE_FIREFOX= yesSome USE_ variables can accept
version numbers or other parameters. For example, a port
that requires Apache 2.2 would setUSE_APACHE= 22For 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 xmlThose modules may be available in CLI or web versions,
so the web version is selected with a
WANT_ variable:WANT_PHP_WEB= yesAvailable USE_ and
WANT_ variables are defined in the files
in /usr/ports/Mk.MASTERDIRIf 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}
.endifjapanese/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
entirexdvi118/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 PagesThe 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= yesThis 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.gzAdditionally
${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.3This 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.gzInfo FilesIf 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 OptionsMany 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.KnobsWITH_*
and
WITHOUT_*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
WITH_* and
WITHOUT_*
VariablesVariableMeansWITHOUT_NLSIf set, says that internationalization is not
needed, which can save compile time. By default,
internationalization is used.WITH_OPENSSL_BASEUse the version of OpenSSL in the base
system.WITH_OPENSSL_PORTInstalls the version of OpenSSL from
security/openssl, even
if the base is up to date.WITHOUT_X11Ports 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 NamingPorters 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.OPTIONSBackgroundThe 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.SyntaxOPTIONS_DEFINE contains a list of
OPTIONS to be used. These are
independent of each other and are not grouped:OPTIONS_DEFINE= OPT1 OPT2Once 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 OPT6ports/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 OPT4OPTIONS can be grouped as radio
choices, where none or only one choice from each group
is allowed:OPTIONS_RADIO= RG1
OPTIONS_RADIO_RG1= OPT7 OPT8OPTIONS can also be grouped as
multiple-choice lists, where
at least one option must be
enabled:OPTIONS_MULTI= MG1
OPTIONS_MULTI_MG1= OPT5 OPT6OPTIONS can also be grouped as
multiple-choice lists, where none or any
option can be enabled:OPTIONS_GROUP= GG1
OPTIONS_GROUP_GG1= OPT9 OPT10OPTIONS are unset by default,
unless they are listed in
OPTIONS_DEFAULT:OPTIONS_DEFAULT= OPT1 OPT3 OPT6OPTIONS 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 OPTIONSOPTIONS_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
OPTIONS.if ! ${PORT_OPTIONS:MEXAMPLES}
CONFIGURE_ARGS+=--without-examples
.endifPractical Use of OPTIONSOPTIONS_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 OptionsThe 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-ActivationWhen 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
.endifIn 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
.endifIn 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 DirectoryEach 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.0then 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.WRKSRCThe 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}/fooor possiblyWRKSRC= ${WRKDIR}/${PORTNAME}NO_WRKSUBDIRIf the port does not extract in to a subdirectory at all
then you should set NO_WRKSUBDIR to
indicate that.NO_WRKSUBDIR= yesConflict HandlingThere 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.CONFLICTS_INSTALLIf 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.CONFLICTS_BUILDIf 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.CONFLICTSIf 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 FilesINSTALL_* MacrosDo 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 LibrariesDo 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/xdlUse 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 FilesSometimes, 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 DocumentationIf 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}
.endifHere 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 PREFIXTry 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 ConsiderationsThere are some more things you have to take into account
when you create a port. This section explains the most common
of those.Shared LibrariesIf 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= yesIf 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/barPlease 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 RestrictionsLicenses 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.NO_PACKAGEThis 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.NO_CDROMThis 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.NOFETCHFILESFiles 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.RESTRICTEDSet 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.RESTRICTED_FILESWhen 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.ExamplesThe 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}
.endifThis 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 MechanismsBuilding Ports in ParallelThe &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.make, gmake, and
imakeIf your port uses GNU make,
set USE_GMAKE=yes.
Variables for Ports Related to
gmakeVariableMeansUSE_GMAKEThe port requires gmake to
build.GMAKEThe 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.configure ScriptIf 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
configureVariableMeansGNU_CONFIGUREThe port uses configure
script to prepare build.HAS_CONFIGURESame as GNU_CONFIGURE,
except default configure target is not added to
CONFIGURE_ARGS.CONFIGURE_ARGSAdditional arguments passed to
configure script.CONFIGURE_ENVAdditional environment variables to be set
for configure script run.CONFIGURE_TARGETOverride default configure target. Default
value is
${MACHINE_ARCH}-portbld-freebsd${OSREL}.
Using cmakeFor ports that use CMake,
define USES= cmake, or
USES= cmake:outsource to build in a
separate directory (see below).
Variables for Ports That Use
cmakeVariableMeansCMAKE_ARGSPort specific CMake
flags to be passed to the cmake
binary.CMAKE_BUILD_TYPEType of build (CMake
predefined build profiles). Default is
Release, or
Debug if
WITH_DEBUG is set.CMAKE_ENVEnvironment variables to be set for
cmake binary. Default is
${CONFIGURE_ENV}.CMAKE_SOURCE_PATHPath 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.USES= cmake ExampleThe 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}/subprojectUsing sconsIf your port uses SCons,
define USE_SCONS=yes.
Variables for Ports That Use
sconsVariableMeansSCONS_ARGSPort specific SCons flags passed to the SCons
environment.SCONS_BUILDENVVariables to be set in system
environment.SCONS_ENVVariables to be set in SCons
environment.SCONS_TARGETLast 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 AutotoolsIntroductionThe 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.libtoolShared 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.libltdlSome 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:versionCurrently, 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.autoconf and
autoheaderSome 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]andUSE_AUTOTOOLS= autoheader:versionwhich 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.automake and
aclocalSome 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]andUSE_AUTOTOOLS= aclocal:versionwhich 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 gettextBasic UsageIf 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= yesOf course, the code can be more compact if there are no
more flags to pass to configure:USES= gettext
GNU_CONFIGURE= yesOptional UsageSome 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.moIn 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 DirectoriesThere 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 PerlIf 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
PerlVariableMeaningUSE_PERL5The port uses Perl 5
to build and run.USE_PERL5_BUILDThe port uses Perl 5
to build.USE_PERL5_RUNThe port uses Perl 5
to run.PERLThe 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_CONFIGUREConfigure using Perl's MakeMaker. It implies
USE_PERL5.PERL_MODBUILDConfigure, build and install using Module::Build.
It implies PERL_CONFIGURE.Read only variablesMeansPERL_VERSIONThe full version of Perl
installed (e.g., 5.8.9).PERL_LEVELThe installed Perl version as
an integer of the form MNNNPP
(e.g., 500809).PERL_ARCHWhere Perl stores architecture
dependent libraries. Defaults to
${ARCH}-freebsd.PERL_PORTName of the Perl port that is
installed (e.g., perl5).SITE_PERLDirectory 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 Examplep5-IO-Tee>=0.64:${PORTSDIR}/devel/p5-IO-TeeUsing X11X.Org ComponentsThe 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 ExampleUSE_XORG= xrender xft xkbfile xt xaw
USE_GL= glu
Variables for Ports That Use XUSE_IMAKEThe port uses imake.XMKMFSet to the path of xmkmf if
not in the PATH. Defaults to
xmkmf -a.
Variables for Depending on Individual Parts of
X11X_IMAKE_PORTPort providing imake and
several other utilities used to build X11.X_LIBRARIES_PORTPort providing X11 libraries.X_CLIENTS_PORTPort providing X clients.X_SERVER_PORTPort providing X server.X_FONTSERVER_PORTPort providing font server.X_PRINTSERVER_PORTPort providing print server.X_VFBSERVER_PORTPort providing virtual framebuffer
server.X_NESTSERVER_PORTPort providing a nested X server.X_FONTS_ENCODINGS_PORTPort providing encodings for fonts.X_FONTS_MISC_PORTPort providing miscellaneous bitmap
fonts.X_FONTS_100DPI_PORTPort providing 100dpi bitmap fonts.X_FONTS_75DPI_PORTPort providing 75dpi bitmap fonts.X_FONTS_CYRILLIC_PORTPort providing cyrillic bitmap fonts.X_FONTS_TTF_PORTPort providing &truetype; fonts.X_FONTS_TYPE1_PORTPort providing Type1 fonts.X_MANUALS_PORTPort 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 xpmPorts That Require MotifIf 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 FontsIf your port installs fonts for the X Window System, put
them in
LOCALBASE/lib/X11/fonts/local.Getting a Fake DISPLAY with XvfbSome 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= yesDesktop EntriesDesktop 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 .desktop
FilesPorts 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 databaseIf 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
DESKTOP_ENTRIES MacroDesktop 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" StartupNotifyThe 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;" \
falseUsing GNOMEThe 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 QtPorts That Require Qt
Variables for Ports That Use QtUSE_QT_VERThe port uses the Qt toolkit. The only
possible value is 3.
Appropriate parameters are passed to
configure script and
make.USE_QT4Specify tool and library dependencies for ports
that use Qt 4. See Qt 4 component
selection for more details.QT_PREFIXSet to the path where Qt installed to
(read-only variable).MOCSet to the path of moc
(read-only variable). Default set according to
USE_QT_VER value.QTCPPFLAGSAdditional compiler flags passed via
CONFIGURE_ENV for Qt toolkit.
Default set according to
USE_QT_VER.QTCFGLIBSAdditional libraries for linking passed via
CONFIGURE_ENV for Qt toolkit.
Default set according to
USE_QT_VER.QTNONSTANDARDSuppress modification of
CONFIGURE_ENV,
CONFIGURE_ARGS,
CPPFLAGS and
MAKE_ENV.
Additional Variables for Ports That Use Qt
4.xUICSet to the path of uic
(read-only variable).QMAKESet to the path of qmake
(read-only variable).QMAKESPECSet to the path of configuration file for
qmake (read-only
variable).QMAKEFLAGSAdditional flags for
qmake.QT_INCDIRSet to Qt 4 include directories (read-only
variable).QT_LIBDIRSet to Qt 4 libraries path (read-only
variable).QT_PLUGINDIRSet 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 ComponentsNameDescriptioncorelibcore library (can be omitted unless the port
uses nothing but corelib)guigraphical user interface librarynetworknetwork libraryopenglOpenGL libraryqt3supportQt 3 compatibility libraryqtestlibunit testing libraryscriptscript librarysqlSQL libraryxmlXML 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 ComponentsNameDescriptionmocmeta object compiler (needed for almost
every Qt application at buildtime)qmakeMakefile generator / build utilityrccresource compiler (needed if the application
comes with *.rc or
*.qrc files)uicuser 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 ComponentsNameDescriptioniconenginesSVG icon engine plugin (if the application
ships SVG icons)imageformatsimageformat plugins for GIF, JPEG, MNG and
SVG (if the application ships image files)
Selecting Qt 4 ComponentsIn 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_buildAdditional ConsiderationsIf 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.proNote 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.proBogus 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 KDEVariable Definitions (KDE 3.x Only)
Variables for Ports That Use KDE 3.xUSE_KDELIBS_VERThe 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_VERThe 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 DefinitionsIf 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 ComponentsNameDescriptionkdehierHierarchy of common KDE directorieskdelibsKDE Developer PlatformkdeprefixIf set, port will be installed into
${KDE4_PREFIX} instead of
${LOCALBASE}sharedmimeMIME types database for KDE portsautomoc4Automatic moc for Qt 4 packagesakonadiStorage server for KDE-PimsopranoQt 4 RDF frameworkstrigiDesktop search daemonlibkcddbKDE CDDB librarylibkcompactdiscKDE library for interfacing with audio
CDslibkdeeduLibraries used by educational
applicationslibkdcrawKDE LibRaw librarylibkexiv2KDE Exiv2 librarylibkipi KDE Image Plugin InterfacelibkonqKonqueror core librarylibksaneKDE SANE ("Scanner Access Now Easy")
librarypimlibsKDE-Pim librarieskateText editor frameworkmarbleVirtual globeokularUniversal document viewerkorundumKDE Ruby bindingsperlkdeKDE Perl bindingspykde4KDE Python bindingspykdeuic4PyKDE user interface compilersmokekdeKDE 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.USE_KDE4 ExampleThis 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_buildUsing JavaVariable DefinitionsIf 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
JavaVariableMeansUSE_JAVAShould be defined for the remaining variables
to have any effect.JAVA_VERSIONList 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_OSList of space-separated suitable JDK port
operating systems for the port (allowed values:
native linux).JAVA_VENDORList of space-separated suitable JDK port
vendors for the port (allowed values:
freebsd bsdjava sun
openjdk).JAVA_BUILDWhen set, it means that the selected JDK port
should be added to the build dependencies of the
port.JAVA_RUNWhen set, it means that the selected JDK port
should be added to the run dependencies of the
port.JAVA_EXTRACTWhen 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 JavaVariableValueJAVA_PORTThe name of the JDK port (e.g.,
'java/openjdk6').JAVA_PORT_VERSIONThe 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_OSThe operating system used by the JDK port
(e.g., 'native').JAVA_PORT_VENDORThe vendor of the JDK port (e.g.,
'openjdk').JAVA_PORT_OS_DESCRIPTIONDescription of the operating system used by the
JDK port (e.g.,
'Native').JAVA_PORT_VENDOR_DESCRIPTIONDescription of the vendor of the JDK port
(e.g., 'OpenJDK BSD Porting
Team').JAVA_HOMEPath to the installation directory of the JDK
(e.g.,
'/usr/local/openjdk6').JAVACPath to the Java compiler to use (e.g.,
'/usr/local/openjdk6/bin/javac').JARPath to the jar tool to use
(e.g.,
'/usr/local/openjdk6/bin/jar'
or
'/usr/local/bin/fastjar').APPLETVIEWERPath to the appletviewer
utility (e.g.,
'/usr/local/openjdk6/bin/appletviewer').JAVAPath to the java executable.
Use this for executing Java programs (e.g.,
'/usr/local/openjdk6/bin/java').JAVADOCPath to the javadoc utility
program.JAVAHPath to the javah
program.JAVAPPath to the javap
program.JAVA_KEYTOOLPath to the keytool utility
program.JAVA_N2APath to the native2ascii
tool.JAVA_POLICYTOOLPath to the policytool
program.JAVA_SERIALVERPath to the serialver
utility program.RMICPath to the RMI stub/skeleton generator,
rmic.RMIREGISTRYPath to the RMI registry program,
rmiregistry.RMIDPath to the RMI daemon program
rmid.JAVA_CLASSESPath 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 JavaConstantValueJAVASHAREDIRThe base directory for everything related to
Java. Default:
${PREFIX}/share/java.JAVAJARDIRThe directory where JAR files should be
installed. Default:
${JAVASHAREDIR}/classes.JAVALIBDIRThe 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 AntWhen 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 PracticesWhen 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.jarWhen 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 PHPApache
Variables for Ports That Use ApacheUSE_APACHEThe 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/.APXSFull path to the apxs
binary. Can be overridden in your port.HTTPDFull path to the httpd
binary. Can be overridden in your port.APACHE_VERSIONThe version of present Apache installation
(read-only variable). This variable is only
available after inclusion of
bsd.port.pre.mk. Possible
values: 22,
24.APACHEMODDIRDirectory for Apache modules. This variable is
automatically expanded in
pkg-plist.APACHEINCLUDEDIRDirectory for Apache headers. This variable is
automatically expanded in
pkg-plist.APACHEETCDIRDirectory for Apache configuration files. This
variable is automatically expanded in
pkg-plist.
Useful Variables for Porting Apache ModulesMODULENAMEName of the module. Default value is
PORTNAME. Example:
mod_helloSHORTMODNAMEShort name of the module. Automatically
derived from MODULENAME, but can
be overridden. Example:
helloAP_FAST_BUILDUse apxs to compile and
install the module.AP_GENPLISTAlso automatically creates a
pkg-plist.AP_INCAdds a directory to a header search path during
compilation.AP_LIBAdds a directory to a library search path
during compilation.AP_EXTRASAdditional flags to pass to
apxs.
Web ApplicationsWeb 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 PHPUSE_PHPThe port requires PHP. The value
yes adds a dependency on PHP.
The list of required PHP extensions can be specified
instead. Example: pcre xml
gettextDEFAULT_PHP_VERSelects which major version of PHP will be
installed as a dependency when no PHP is installed
yet. Default is 5. Possible
values: 4,
5IGNORE_WITH_PHPThe port does not work with PHP of the given
version. Possible values: 4,
5USE_PHPIZEThe port will be built as a PHP
extension.USE_PHPEXTThe port will be treated as a PHP extension,
including installation and registration in the
extension registry.USE_PHP_BUILDSet PHP as a build dependency.WANT_PHP_CLIWant the CLI (command line) version of
PHP.WANT_PHP_CGIWant the CGI version of PHP.WANT_PHP_MODWant the Apache module version of PHP.WANT_PHP_SCRWant the CLI or the CGI version of PHP.WANT_PHP_WEBWant the Apache module or the CGI version of
PHP.
PEAR ModulesPorting 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 ClassPORTNAME= 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 PythonThe 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 PythonUSE_PYTHONThe 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.7USE_PYDISTUTILSUse 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_PKGNAMEPREFIXUsed as a PKGNAMEPREFIX to
distinguish packages for different Python versions.
Example: py24-PYTHON_SITELIBDIRLocation 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_SITELIBDIRThe 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-packagesPYTHON_CMDPython interpreter command line, including
version number.PYNUMERICDependency line for numeric extension.PYNUMPYDependency line for the new numeric extension,
numpy. (PYNUMERIC is deprecated by upstream
vendor).PYXMLDependency line for XML extension (not needed for
Python 2.0 and higher as it is also in base
distribution).USE_TWISTEDAdd dependency on twistedCore. The list of
required components can be specified as a value of
this variable. Example: web lore pair
flowUSE_ZOPEAdd 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 Tcl/TkThe 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
Tcl/TkUSE_TCLThe 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_BUILDThe port needs Tcl
only during the build time.USE_TCL_WRAPPERPorts 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_VERUser-defined variable that sets the desired
Tcl version.UNIQUENAME_WITH_TCL_VERLike WITH_TCL_VER, but
per-port.USE_TCL_THREADSRequire a threaded build of
Tcl/Tk.USE_TKThe 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_BUILDAnalog to the USE_TCL_BUILD
variable.USE_TK_WRAPPERAnalog to the USE_TCL_WRAPPER
variable.WITH_TK_VERAnalog 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 EmacsThis section is yet to be written.Using Ruby
Useful Variables for Ports That Use RubyVariableDescriptionUSE_RUBYThe port requires Ruby.USE_RUBY_EXTCONFThe port uses extconf.rb to
configure.USE_RUBY_SETUPThe port uses setup.rb to
configure.RUBY_SETUPSet 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
RubyVariableDescriptionExample valueRUBY_PKGNAMEPREFIXUsed as a PKGNAMEPREFIX to
distinguish packages for different Ruby
versions.ruby18-RUBY_VERSIONFull version of Ruby in the form of
x.y.z.1.8.2RUBY_SITELIBDIRArchitecture independent libraries installation
path./usr/local/lib/ruby/site_ruby/1.8RUBY_SITEARCHLIBDIRArchitecture dependent libraries installation
path./usr/local/lib/ruby/site_ruby/1.8/amd64-freebsd6RUBY_MODDOCDIRModule documentation installation path./usr/local/share/doc/ruby18/patsyRUBY_MODEXAMPLESDIRModule 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 SDLThe 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/sdl12gfx: graphics/sdl_gfxgui: x11-toolkits/sdl_guiimage: graphics/sdl_imageldbad: devel/sdl_ldbadmixer: audio/sdl_mixermm: devel/sdlmmnet: net/sdl_netsound: audio/sdl_soundttf: graphics/sdl_ttfTherefore, if a port has a dependency on
net/sdl_net and
audio/sdl_mixer,
the syntax will be:USE_SDL= net mixerThe 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_DEPENDSAdd the variable SDL_CONFIG to
CONFIGURE_ENVAdd the dependencies of the selected libraries to the
LIB_DEPENDSTo 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 wxWidgetsThis section describes the status of the
wxWidgets libraries in the ports
tree and its integration with the ports system.IntroductionThere 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 SelectionTo 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
wxWidgets VersionsVariableDescriptionDefault valueUSE_WXList of versions the port can useAll available versionsUSE_WX_NOTList of versions the port can not useNone
The following is a list of available
wxWidgets versions and the
corresponding ports in the tree:
Available wxWidgets
VersionsVersionPort2.4x11-toolkits/wxgtk242.6x11-toolkits/wxgtk262.8x11-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:
wxWidgets Version
SpecificationsDescriptionExampleSingle version2.4Ascending range2.4+Descending range2.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
wxWidgets VersionsNameDesigned forWANT_WX_VERthe portWITH_WX_VERthe user
Component SelectionThere 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 wxWidgets
ComponentsNameDescriptionVersion restrictionwxmain librarynonecontribcontributed librariesnonepythonwxPython
(Python bindings)2.4-2.6mozillawxMozilla2.4svgwxSVG2.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 wxWidgets
Dependency TypesNameDescriptionbuildComponent is required for building, equivalent
to BUILD_DEPENDSrunComponent is required for running, equivalent
to RUN_DEPENDSlibComponent is required for building and running,
equivalent to LIB_DEPENDS
The default values for the components are detailed in
the following table:
Selecting wxWidgets
ComponentsThe following fragment corresponds to a port which
uses wxWidgets version
2.4 and its contributed
libraries.USE_WX= 2.4
WX_COMPS= wx contribUnicodeThe 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
wxWidgets
VersionsVariableDescriptionDesigned forWX_UNICODEThe port works only with
the Unicode versionthe portWANT_UNICODEThe port works with both versions but prefers
the Unicode onethe portWITH_UNICODEThe port will use the Unicode versionthe userWITHOUT_UNICODEThe 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 VersionsTo 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
wxWidgets Versions and
ComponentsThe 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
.endifThe 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
.endifDefined VariablesThe following variables are available in the port (after
defining one from
).
Variables Defined for Ports That Use
wxWidgetsNameDescriptionWX_CONFIGThe path to the
wxWidgetswx-config script (with different
name)WXRC_CMDThe path to the
wxWidgetswxrc program (with different
name)WX_VERSIONThe wxWidgets
version that is going to be used (e.g.,
2.6)WX_UNICODEIf not defined but Unicode is going to be used
then it will be defined
Processing in
bsd.port.pre.mkIf 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 wxWidgets Variables
in CommandsThe 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}"
.endifThe wxWidgets variables can
be safely used in commands when they are inside targets
without the need of WX_PREMK.Additional configure
ArgumentsSome 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
WX_CONF_ARGSPossible valueResulting argumentabsolute--with-wx-config=${WX_CONFIG}relative--with-wx=${LOCALBASE}
--with-wx-config=${WX_CONFIG:T}
Using LuaThis section describes the status of the
Lua libraries in the ports tree and
its integration with the ports system.IntroductionThere 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 SelectionTo 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 Lua
VersionsVariableDescriptionDefault valueUSE_LUAList of versions the port can useAll available versionsUSE_LUA_NOTList of versions the port can not useNone
The following is a list of available
Lua versions and the
corresponding ports in the tree:
Available Lua
VersionsVersionPort4.0lang/lua45.0lang/lua505.1lang/lua
The variables in can
be set to one or more of the following combinations
separated by spaces:
Lua Version
SpecificationsDescriptionExampleSingle version4.0Ascending range5.0+Descending range5.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
Lua VersionsNameDesigned forWANT_LUA_VERthe portWITH_LUA_VERthe user
Selecting the Lua
VersionThe 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.0Component SelectionThere 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 Lua
ComponentsNameDescriptionVersion restrictionluamain librarynonetoluaLibrary for accessing C/C++ code4.0-5.0rubyRuby bindings4.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 Lua Dependency
TypesNameDescriptionbuildComponent is required for building, equivalent
to BUILD_DEPENDSrunComponent is required for running, equivalent
to RUN_DEPENDSlibComponent is required for building and running,
equivalent to LIB_DEPENDS
The default values for the components are detailed in
the following table:
Default Lua Dependency
TypesComponentDependency typelualib for
4.0-5.0 (shared) and
build for 5.1
(static)toluabuild (static)rubylib (shared)
Selecting Lua
ComponentsThe following fragment corresponds to a port which
uses Lua version
4.0 and its
Ruby bindings.USE_LUA= 4.0
LUA_COMPS= lua rubyDetecting Installed VersionsTo 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 Lua
Versions and ComponentsThe 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
.endifThe 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
.endifDefined VariablesThe following variables are available in the port (after
defining one from ).
Variables Defined for Ports That Use
LuaNameDescriptionLUA_VERThe Lua version that
is going to be used (e.g.,
5.1)LUA_VER_SHThe Lua shared
library major version (e.g.,
1)LUA_VER_STRThe Lua version
without the dots (e.g.,
51)LUA_PREFIXThe prefix where Lua
(and components) is installedLUA_SUBDIRThe directory under
${PREFIX}/bin,
${PREFIX}/share and
${PREFIX}/lib where
Lua is installedLUA_INCDIRThe directory where
Lua and
tolua header files are
installedLUA_LIBDIRThe directory where
Lua and
tolua libraries are
installedLUA_MODLIBDIRThe directory where
Lua module libraries
(.so) are installedLUA_MODSHAREDIRThe directory where
Lua modules
(.lua) are installedLUA_PKGNAMEPREFIXThe package name prefix used by
Lua modulesLUA_CMDThe path to the Lua
interpreterLUAC_CMDThe path to the Lua
compilerTOLUA_CMDThe path to the
tolua program
Telling the Port Where to Find
LuaThe 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
bsd.port.pre.mkIf 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 Lua Variables in
CommandsThe 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}"
.endifThe Lua variables can be
safely used in commands when they are inside targets
without the need of LUA_PREMK.Using XfceThe 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/libexolibgui: x11-toolkits/libxfce4guilibutil: x11/libxfce4utillibmcs: x11/libxfce4mcsmcsmanager: sysutils/xfce4-mcs-managerpanel: x11-wm/xfce4-panelthunar: x11-fm/thunarwm: x11-wm/xfce4-wmxfdev: dev/xfce4-dev-toolsThe 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}/libgets 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 configenvUsing Mozilla
Variables for Ports That Use MozillaUSE_GECKOGecko backend the port can handle. Possible
values: libxul
(libxul.so),
seamonkey
(libgtkembedmoz.so, deprecated,
should not be used any more).USE_FIREFOXThe port requires Firefox as a runtime
dependency. Possible values: yes
(get default version), 40,
36, 35. Default
dependency is on version
40.USE_FIREFOX_BUILDThe port requires Firefox as a buildtime
dependency. Possible values: see USE_FIREFOX. This
automatically sets USE_FIREFOX and assigns the same
value.USE_SEAMONKEYThe 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_BUILDThe port requires SeaMonkey as a buildtime
dependency. Possible values: see USE_SEAMONKEY. This
automatically sets USE_SEAMONKEY and assigns the same
value.USE_THUNDERBIRDThe 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_BUILDThe 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 DatabasesVariableMeansUSE_BDBIf 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_MYSQLIf 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_PGSQLIf 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_SQLITEIf 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 (rc
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= doormandScripts 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
FILESYSTEMSrc.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 useREQUIRE: LOGINIf the service runs as a particular user (other than root)
this is mandatory.KEYWORD: shutdownis 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 likedoormand_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 ChecklistBefore 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 stopwill 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 GroupsSome 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-rtThe current list of reserved UIDs and GIDs can be found
in ports/UIDs and
ports/GIDs.Ports That Rely on Kernel SourcesSome 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
.endifAdvanced pkg-plist PracticesChanging pkg-plist Based on Make
VariablesSome 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
likeOCTAVE_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 "
.endifand in the pkg-plist:%%X11%%bin/foo-guiThis 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 DirectoriesCleaning Up Empty DirectoriesDo 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/onekoHowever, 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/gimpThis 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 DirectoriesEmpty 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/templatesConfiguration FilesIf 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 ; \
fiFor 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; fiThe 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 ListA 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 CreationFirst, 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-DIRSCreate an empty pkg-plist
file:&prompt.root; :>pkg-plistIf 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-plistYou 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-plistFinally, 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-plistThe 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 pkg-*
FilesThere are some tricks we have not mentioned yet about the
pkg-* files
that come in handy sometimes.pkg-messageIf 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.bakThe 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.pkg-installIf 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.pkg-deinstallThis 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.pkg-reqIf your port needs to determine if it should install or
not, you can create a pkg-reqrequirements 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
pkg-*
FilesAll 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}.)VariableDefault valueDESCR${PKGDIR}/pkg-descrPLIST${PKGDIR}/pkg-plistPKGINSTALL${PKGDIR}/pkg-installPKGDEINSTALL${PKGDIR}/pkg-deinstallPKGREQ${PKGDIR}/pkg-reqPKGMESSAGE${PKGDIR}/pkg-messagePlease 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 SUB_FILES and
SUB_LISTThe 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 PortRunning make describeSeveral 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.PortlintDo 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 ToolsThe 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/csupPREFIX and
DESTDIRPREFIX 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.TinderboxIf 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 PortWhen 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.diffOtherwise, 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 SVN to Make PatchesIf 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/pdnsdThis 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_fileMake sure that you check the port using the checklist in
and
.&prompt.user; svn status
&prompt.user; svn updateThis 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.
SVN Update File PrefixesUThe file was updated without problems.GThe file was updated without problems (you will
only see this when working against a remote
repository).MThe file had been modified, and was merged
without conflicts.CThe 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}`.diffAny 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 UPDATING and
MOVEDIf 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 instructionsIf 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|reasonThe 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 SecurityWhy Security is So ImportantBugs 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 VulnerabilitiesWhile 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 InformedThe VuXML DatabaseA 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 VuXMLThe 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&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 DatabaseAssume 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_6If 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 newentryWhen you are done verify its syntax and
formatting.&prompt.user; make validateYou 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; packauditTo 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 uuidPlease 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.htmlDos and Don'tsIntroductionHere 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.WRKDIRDo 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.WRKDIRPREFIXMake 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 VersionsYou 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>
#endifto 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>
#endifDo 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
#endifIn 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.__FreeBSD_version ValuesHere is a convenient list of
__FreeBSD_version values as defined in
sys/param.h:
__FreeBSD_version ValuesValueDateRelease1194112.0-RELEASE199501, 199503March 19, 19952.1-CURRENT199504April 9, 19952.0.5-RELEASE199508August 26, 19952.2-CURRENT before 2.1199511November 10, 19952.1.0-RELEASE199512November 10, 19952.2-CURRENT before 2.1.5199607July 10, 19962.1.5-RELEASE199608July 12, 19962.2-CURRENT before 2.1.6199612November 15, 19962.1.6-RELEASE1996122.1.7-RELEASE220000February 19, 19972.2-RELEASE(not changed)2.2.1-RELEASE(not changed)2.2-STABLE after 2.2.1-RELEASE221001April 15, 19972.2-STABLE after texinfo-3.9221002April 30, 19972.2-STABLE after top222000May 16, 19972.2.2-RELEASE222001May 19, 19972.2-STABLE after 2.2.2-RELEASE225000October 2, 19972.2.5-RELEASE225001November 20, 19972.2-STABLE after 2.2.5-RELEASE225002December 27, 19972.2-STABLE after ldconfig -R merge226000March 24, 19982.2.6-RELEASE227000July 21, 19982.2.7-RELEASE227001July 21, 19982.2-STABLE after 2.2.7-RELEASE227002September 19, 19982.2-STABLE after &man.semctl.2; change228000November 29, 19982.2.8-RELEASE228001November 29, 19982.2-STABLE after 2.2.8-RELEASE300000February 19, 19963.0-CURRENT before &man.mount.2; change300001September 24, 19973.0-CURRENT after &man.mount.2; change300002June 2, 19983.0-CURRENT after &man.semctl.2; change300003June 7, 19983.0-CURRENT after ioctl arg changes300004September 3, 19983.0-CURRENT after ELF conversion300005October 16, 19983.0-RELEASE300006October 16, 19983.0-CURRENT after 3.0-RELEASE300007January 22, 19993.0-STABLE after 3/4 branch310000February 9, 19993.1-RELEASE310001March 27, 19993.1-STABLE after 3.1-RELEASE310002April 14, 19993.1-STABLE after C++ constructor/destructor order
change3200003.2-RELEASE320001May 8, 19993.2-STABLE320002August 29, 19993.2-STABLE after binary-incompatible IPFW and
socket changes330000September 2, 19993.3-RELEASE330001September 16, 19993.3-STABLE330002November 24, 19993.3-STABLE after adding &man.mkstemp.3;
to libc340000December 5, 19993.4-RELEASE340001December 17, 19993.4-STABLE350000June 20, 20003.5-RELEASE350001July 12, 20003.5-STABLE400000January 22, 19994.0-CURRENT after 3.4 branch400001February 20, 19994.0-CURRENT after change in dynamic linker
handling400002March 13, 19994.0-CURRENT after C++ constructor/destructor
order change400003March 27, 19994.0-CURRENT after functioning
&man.dladdr.3;400004April 5, 19994.0-CURRENT after __deregister_frame_info dynamic
linker bug fix (also 4.0-CURRENT after EGCS 1.1.2
integration)400005April 27, 19994.0-CURRENT after &man.suser.9; API change
(also 4.0-CURRENT after newbus)400006May 31, 19994.0-CURRENT after cdevsw registration
change400007June 17, 19994.0-CURRENT after the addition of so_cred for
socket level credentials400008June 20, 19994.0-CURRENT after the addition of a poll syscall
wrapper to libc_r400009July 20, 19994.0-CURRENT after the change of the kernel's
dev_t type to struct
specinfo pointer400010September 25, 19994.0-CURRENT after fixing a hole
in &man.jail.2;400011September 29, 19994.0-CURRENT after the sigset_t
datatype change400012November 15, 19994.0-CURRENT after the cutover to the GCC 2.95.2
compiler400013December 4, 19994.0-CURRENT after adding pluggable linux-mode
ioctl handlers400014January 18, 20004.0-CURRENT after importing OpenSSL400015January 27, 20004.0-CURRENT after the C++ ABI change in GCC
2.95.2 from -fvtable-thunks to -fno-vtable-thunks by
default400016February 27, 20004.0-CURRENT after importing OpenSSH400017March 13, 20004.0-RELEASE400018March 17, 20004.0-STABLE after 4.0-RELEASE400019May 5, 20004.0-STABLE after the introduction of delayed
checksums.400020June 4, 20004.0-STABLE after merging libxpg4 code into
libc.400021July 8, 20004.0-STABLE after upgrading Binutils to 2.10.0,
ELF branding changes, and tcsh in the base
system.410000July 14, 20004.1-RELEASE410001July 29, 20004.1-STABLE after 4.1-RELEASE410002September 16, 20004.1-STABLE after &man.setproctitle.3; moved from
libutil to libc.411000September 25, 20004.1.1-RELEASE4110014.1.1-STABLE after 4.1.1-RELEASE420000October 31, 20004.2-RELEASE420001January 10, 20014.2-STABLE after combining libgcc.a and
libgcc_r.a, and associated GCC linkage
changes.430000March 6, 20014.3-RELEASE430001May 18, 20014.3-STABLE after wint_t introduction.430002July 22, 20014.3-STABLE after PCI powerstate API
merge.440000August 1, 20014.4-RELEASE440001October 23, 20014.4-STABLE after d_thread_t introduction.440002November 4, 20014.4-STABLE after mount structure changes (affects
filesystem klds).440003December 18, 20014.4-STABLE after the userland components of smbfs
were imported.450000December 20, 20014.5-RELEASE450001February 24, 20024.5-STABLE after the usb structure element
rename.450004April 16, 20024.5-STABLE after the
sendmail_enable &man.rc.conf.5;
variable was made to take the value
NONE.450005April 27, 20024.5-STABLE after moving to XFree86 4 by default
for package builds.450006May 1, 20024.5-STABLE after accept filtering was fixed so
that is no longer susceptible to an easy DoS.460000June 21, 20024.6-RELEASE460001June 21, 20024.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.460002July 19, 20024.6.2-RELEASE460100June 26, 20024.6-STABLE460101June 26, 20024.6-STABLE after MFC of `sed -i'.460102September 1, 20024.6-STABLE after MFC of many new pkg_install
features from the HEAD.470000October 8, 20024.7-RELEASE470100October 9, 20024.7-STABLE470101November 10, 2002Start 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.470102January 23, 20034.7-STABLE after MFC of mbuf changes to replace
m_aux mbufs by m_tag's470103February 14, 20034.7-STABLE gets OpenSSL 0.9.7480000March 30, 20034.8-RELEASE480100April 5, 20034.8-STABLE480101May 22, 20034.8-STABLE after &man.realpath.3; has been made
thread-safe480102August 10, 20034.8-STABLE 3ware API changes to twe.490000October 27, 20034.9-RELEASE490100October 27, 20034.9-STABLE490101January 8, 20044.9-STABLE after e_sid was added to struct
kinfo_eproc.490102February 4, 20044.9-STABLE after MFC of libmap functionality
for rtld.491000May 25, 20044.10-RELEASE491100June 1, 20044.10-STABLE491101August 11, 20044.10-STABLE after MFC of revision 20040629 of
the package tools491102November 16, 20044.10-STABLE after VM fix dealing with unwiring
of fictitious pages492000December 17, 20044.11-RELEASE492100December 17, 20044.11-STABLE492101April 18, 20064.11-STABLE after adding libdata/ldconfig
directories to mtree files.500000March 13, 20005.0-CURRENT500001April 18, 20005.0-CURRENT after adding addition ELF header
fields, and changing our ELF binary branding
method.500002May 2, 20005.0-CURRENT after kld metadata changes.500003May 18, 20005.0-CURRENT after buf/bio changes.500004May 26, 20005.0-CURRENT after binutils upgrade.500005June 3, 20005.0-CURRENT after merging libxpg4 code into
libc and after TASKQ interface introduction.500006June 10, 20005.0-CURRENT after the addition of AGP
interfaces.500007June 29, 20005.0-CURRENT after Perl upgrade to 5.6.0500008July 7, 20005.0-CURRENT after the update of KAME code to
2000/07 sources.500009July 14, 20005.0-CURRENT after ether_ifattach() and
ether_ifdetach() changes.500010July 16, 20005.0-CURRENT after changing mtree defaults
back to original variant, adding -L to follow
symlinks.500011July 18, 20005.0-CURRENT after kqueue API changed.500012September 2, 20005.0-CURRENT after &man.setproctitle.3; moved from
libutil to libc.500013September 10, 20005.0-CURRENT after the first SMPng commit.500014January 4, 20015.0-CURRENT after <sys/select.h> moved to
<sys/selinfo.h>.500015January 10, 20015.0-CURRENT after combining libgcc.a and
libgcc_r.a, and associated GCC linkage
changes.500016January 24, 20015.0-CURRENT after change allowing libc and libc_r
to be linked together, deprecating -pthread
option.500017February 18, 20015.0-CURRENT after switch from struct ucred to
struct xucred to stabilize kernel-exported API for
mountd et al.500018February 24, 20015.0-CURRENT after addition of CPUTYPE make
variable for controlling CPU-specific
optimizations.500019June 9, 20015.0-CURRENT after moving machine/ioctl_fd.h to
sys/fdcio.h500020June 15, 20015.0-CURRENT after locale names renaming.500021June 22, 20015.0-CURRENT after Bzip2 import.
Also signifies removal of S/Key.500022July 12, 20015.0-CURRENT after SSE support.500023September 14, 20015.0-CURRENT after KSE Milestone 2.500024October 1, 20015.0-CURRENT after d_thread_t,
and moving UUCP to ports.500025October 4, 20015.0-CURRENT after ABI change for descriptor
and creds passing on 64 bit platforms.500026October 9, 20015.0-CURRENT after moving to XFree86 4 by default
for package builds, and after the new libc strnstr()
function was added.500027October 10, 20015.0-CURRENT after the new libc strcasestr()
function was added.500028December 14, 20015.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.500029January 29, 20025.0-CURRENT after a change was made in the return
value of &man.sendfile.2;.500030February 15, 20025.0-CURRENT after the introduction of the
type fflags_t, which is the
appropriate size for file flags.500031February 24, 20025.0-CURRENT after the usb structure element
rename.500032March 16, 20025.0-CURRENT after the introduction of
Perl 5.6.1.500033April 3, 20025.0-CURRENT after the
sendmail_enable &man.rc.conf.5;
variable was made to take the value
NONE.500034April 30, 20025.0-CURRENT after mtx_init() grew a third
argument.500035May 13, 20025.0-CURRENT with Gcc 3.1.500036May 17, 20025.0-CURRENT without Perl in /usr/src500037May 29, 20025.0-CURRENT after the addition of
&man.dlfunc.3;500038July 24, 20025.0-CURRENT after the types of some struct
sockbuf members were changed and the structure was
reordered.500039September 1, 20025.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.500040September 20, 20025.0-CURRENT after various changes to disk
functions were made in the name of removing dependency
on disklabel structure internals.500041October 1, 20025.0-CURRENT after the addition of
&man.getopt.long.3; to libc.500042October 15, 20025.0-CURRENT after Binutils 2.13 upgrade, which
included new FreeBSD emulation, vec, and output
format.500043November 1, 20025.0-CURRENT after adding weak pthread_XXX stubs
to libc, obsoleting libXThrStub.so.
5.0-RELEASE.500100January 17, 20035.0-CURRENT after branching for
RELENG_5_0500101February 19, 2003<sys/dkstat.h> is empty and should
not be included.500102February 25, 20035.0-CURRENT after the d_mmap_t interface
change.500103February 26, 20035.0-CURRENT after taskqueue_swi changed to run
without Giant, and taskqueue_swi_giant added to run
with Giant.500104February 27, 2003cdevsw_add() and cdevsw_remove() no
longer exists.
Appearance of MAJOR_AUTO allocation facility.500105March 4, 20035.0-CURRENT after new cdevsw initialization
method.500106March 8, 2003devstat_add_entry() has been replaced by
devstat_new_entry()500107March 15, 2003Devstat interface change; see sys/sys/param.h
1.149500108March 15, 2003Token-Ring interface changes.500109March 25, 2003Addition of vm_paddr_t.500110March 28, 20035.0-CURRENT after &man.realpath.3; has been made
thread-safe500111April 9, 20035.0-CURRENT after &man.usbhid.3; has been synced
with NetBSD500112April 17, 20035.0-CURRENT after new NSS implementation
and addition of POSIX.1 getpw*_r, getgr*_r
functions500113May 2, 20035.0-CURRENT after removal of the old rc
system.501000June 4, 20035.1-RELEASE.501100June 2, 20035.1-CURRENT after branching for
RELENG_5_1.501101June 29, 20035.1-CURRENT after correcting the semantics of
sigtimedwait(2) and sigwaitinfo(2).501102July 3, 20035.1-CURRENT after adding the lockfunc and
lockfuncarg fields to
&man.bus.dma.tag.create.9;.501103July 31, 20035.1-CURRENT after GCC 3.3.1-pre 20030711 snapshot
integration.501104August 5, 20035.1-CURRENT 3ware API changes to twe.501105August 17, 20035.1-CURRENT dynamically-linked /bin and /sbin
support and movement of libraries to /lib.501106September 8, 20035.1-CURRENT after adding kernel support for
Coda 6.x.501107September 17, 20035.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.501108September 23, 20035.1-CURRENT after PFIL_HOOKS API update501109September 27, 20035.1-CURRENT after adding kiconv(3)501110September 28, 20035.1-CURRENT after changing default operations
for open and close in cdevsw501111October 16, 20035.1-CURRENT after changed layout of
cdevsw501112October 16, 2003 5.1-CURRENT after adding kobj multiple
inheritance501113October 31, 2003 5.1-CURRENT after the if_xname change in
struct ifnet501114November 16, 2003 5.1-CURRENT after changing /bin and /sbin to
be dynamically linked502000December 7, 20035.2-RELEASE502010February 23, 20045.2.1-RELEASE502100December 7, 20035.2-CURRENT after branching for
RELENG_5_2502101December 19, 20035.2-CURRENT after __cxa_atexit/__cxa_finalize
functions were added to libc.502102January 30, 20045.2-CURRENT after change of default thread
library from libc_r to libpthread.502103February 21, 20045.2-CURRENT after device driver API
megapatch.502104February 25, 20045.2-CURRENT after getopt_long_only()
addition.502105March 5, 20045.2-CURRENT after NULL is made into ((void *)0)
for C, creating more warnings.502106March 8, 20045.2-CURRENT after pf is linked to the build and
install.502107March 10, 20045.2-CURRENT after time_t is changed to a
64-bit value on sparc64.502108March 12, 20045.2-CURRENT after Intel C/C++ compiler support in
some headers and execve(2) changes to be more strictly
conforming to POSIX.502109March 22, 20045.2-CURRENT after the introduction of the
bus_alloc_resource_any API502110March 27, 20045.2-CURRENT after the addition of UTF-8
locales502111April 11, 20045.2-CURRENT after the removal of the getvfsent(3)
API502112April 13, 20045.2-CURRENT after the addition of the .warning
directive for make.502113June 4, 20045.2-CURRENT after ttyioctl() was made mandatory
for serial drivers.502114June 13, 20045.2-CURRENT after import of the ALTQ
framework.502115June 14, 20045.2-CURRENT after changing sema_timedwait(9) to
return 0 on success and a non-zero error code on
failure.502116June 16, 20045.2-CURRENT after changing kernel dev_t to be
pointer to struct cdev *.502117June 17, 20045.2-CURRENT after changing kernel udev_t to
dev_t.502118June 17, 20045.2-CURRENT after adding support for
CLOCK_VIRTUAL and CLOCK_PROF to clock_gettime(2) and
clock_getres(2).502119June 22, 20045.2-CURRENT after changing network interface
cloning overhaul.502120July 2, 20045.2-CURRENT after the update of the package tools
to revision 20040629.502121July 9, 20045.2-CURRENT after marking Bluetooth code as
non-i386 specific.502122July 11, 20045.2-CURRENT after the introduction of the KDB
debugger framework, the conversion of DDB into a
backend and the introduction of the GDB
backend.502123July 12, 20045.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.502124July 24, 20045.2-CURRENT after the change to separate the way
ports rc.d and legacy scripts are started.502125July 28, 20045.2-CURRENT after the backout of the previous
change.502126July 31, 20045.2-CURRENT after the removal of
kmem_alloc_pageable() and the import of gcc
3.4.2.502127August 2, 20045.2-CURRENT after changing the UMA kernel
API to allow ctors/inits to fail.502128August 8, 20045.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.503000August 23, 20045.3-BETA/RC before the pfil API change503001September 22, 20045.3-RELEASE503100October 16, 20045.3-STABLE after branching for RELENG_5_3503101December 3, 20045.3-STABLE after addition of glibc style
&man.strftime.3; padding options.503102February 13, 20055.3-STABLE after OpenBSD's nc(1) import
MFC.503103February 27, 20055.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.503104February 28, 20055.4-PRERELEASE after the MFC of the change of
ifi_epoch from wall clock time to uptime.503105March 2, 20055.4-PRERELEASE after the MFC of the fix of
EOVERFLOW check in vswprintf(3).504000April 3, 20055.4-RELEASE.504100April 3, 20055.4-STABLE after branching for RELENG_5_4504101May 11, 20055.4-STABLE after increasing the default
thread stacksizes504102June 24, 20055.4-STABLE after the addition of sha256504103October 3, 20055.4-STABLE after the MFC of if_bridge504104November 13, 20055.4-STABLE after the MFC of bsdiff and
portsnap504105January 17, 20065.4-STABLE after MFC of ldconfig_local_dirs
change.505000May 12, 20065.5-RELEASE.505100May 12, 20065.5-STABLE after branching for RELENG_5_5600000August 18, 20046.0-CURRENT600001August 27, 20046.0-CURRENT after permanently enabling PFIL_HOOKS
in the kernel.600002August 30, 20046.0-CURRENT after initial addition of
ifi_epoch to struct if_data. Backed out after a
few days. Do not use this value.600003September 8, 20046.0-CURRENT after the re-addition of the
ifi_epoch member of struct if_data.600004September 29, 20046.0-CURRENT after addition of the struct inpcb
argument to the pfil API.600005October 5, 20046.0-CURRENT after addition of the "-d
DESTDIR" argument to newsyslog.600006November 4, 20046.0-CURRENT after addition of glibc style
&man.strftime.3; padding options.600007December 12, 20046.0-CURRENT after addition of 802.11 framework
updates.600008January 25, 20056.0-CURRENT after changes to VOP_*VOBJECT()
functions and introduction of MNTK_MPSAFE flag for
Giantfree filesystems.600009February 4, 20056.0-CURRENT after addition of the cpufreq
framework and drivers.600010February 6, 20056.0-CURRENT after importing OpenBSD's
nc(1).600011February 12, 20056.0-CURRENT after removing semblance of SVID2
matherr() support.600012February 15, 20056.0-CURRENT after increase of default thread
stacks' size.600013February 19, 20056.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.600014February 21, 20056.0-CURRENT after EOVERFLOW checks in
vswprintf(3) fixed.600015February 25, 20056.0-CURRENT after changing the struct if_data
member, ifi_epoch, from wall clock time to
uptime.600016February 26, 20056.0-CURRENT after LC_CTYPE disk format
changed.600017February 27, 20056.0-CURRENT after NLS catalogs disk format
changed.600018February 27, 20056.0-CURRENT after LC_COLLATE disk format
changed.600019February 28, 2005Installation of acpica includes into
/usr/include.600020March 9, 2005Addition of MSG_NOSIGNAL flag to send(2)
API.600021March 17, 2005Addition of fields to cdevsw600022March 21, 2005Removed gtar from base system.600023April 13, 2005LOCAL_CREDS, LOCAL_CONNWAIT socket options added
to unix(4).600024April 19, 2005&man.hwpmc.4; and related tools added to
6.0-CURRENT.600025April 26, 2005struct icmphdr added to 6.0-CURRENT.600026May 3, 2005pf updated to 3.7.600027May 6, 2005Kernel libalias and ng_nat introduced.600028May 13, 2005POSIX ttyname_r(3) made available through
unistd.h and libc.600029May 29, 20056.0-CURRENT after libpcap updated to v0.9.1 alpha
096.600030June 5, 20056.0-CURRENT after importing NetBSD's
if_bridge(4).600031June 10, 20056.0-CURRENT after struct ifnet was broken out
of the driver softcs.600032July 11, 20056.0-CURRENT after the import of libpcap
v0.9.1.600033July 25, 20056.0-STABLE after bump of all shared library
versions that had not been changed since
RELENG_5.600034August 13, 20056.0-STABLE after credential argument is added to
dev_clone event handler. 6.0-RELEASE.600100November 1, 20056.0-STABLE after 6.0-RELEASE600101December 21, 20056.0-STABLE after incorporating scripts from the
local_startup directories into the base
&man.rcorder.8;.600102December 30, 20056.0-STABLE after updating the ELF types and
constants.600103January 15, 20066.0-STABLE after MFC of pidfile(3) API.600104January 17, 20066.0-STABLE after MFC of ldconfig_local_dirs
change.600105February 26, 20066.0-STABLE after NLS catalog support of
csh(1).601000May 6, 20066.1-RELEASE601100May 6, 20066.1-STABLE after 6.1-RELEASE.601101June 22, 20066.1-STABLE after the import of csup.601102July 11, 20066.1-STABLE after the iwi(4) update.601103July 17, 20066.1-STABLE after the resolver update to
BIND9, and exposure of reentrant version of
netdb functions.601104August 8, 20066.1-STABLE after DSO (dynamic shared
objects) support has been enabled in
OpenSSL.601105September 2, 20066.1-STABLE after 802.11 fixups changed the
api for the IEEE80211_IOC_STA_INFO ioctl.602000November 15, 20066.2-RELEASE602100September 15, 20066.2-STABLE after 6.2-RELEASE.602101December 12, 20066.2-STABLE after the addition of Wi-Spy
quirk.602102December 28, 20066.2-STABLE after pci_find_extcap()
addition.602103January 16, 20076.2-STABLE after MFC of dlsym change to look for
a requested symbol both in specified dso and its
implicit dependencies.602104January 28, 20076.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.602105February 20, 20076.2-STABLE after MFC of BSD licensed version of
&man.gzip.1; ported from NetBSD.602106March 31, 20076.2-STABLE after MFC of PCI MSI and MSI-X
support.602107April 6, 20076.2-STABLE after MFC of ncurses 5.6 and wide
character support.602108April 11, 20076.2-STABLE after MFC of CAM 'SG' peripheral
device, which implements a subset of Linux SCSI SG
passthrough device API.602109April 17, 20076.2-STABLE after MFC of readline 5.2 patchset
002.602110May 2, 20076.2-STABLE after MFC of pmap_invalidate_cache(),
pmap_change_attr(), pmap_mapbios(),
pmap_mapdev_attr(), and pmap_unmapbios() for amd64 and
i386.602111June 11, 20076.2-STABLE after MFC of BOP_BDFLUSH and caused
breakage of the filesystem modules KBI.602112September 21, 20076.2-STABLE after libutil(3) MFC's.602113October 25, 20076.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.602114October 30, 20076.2-STABLE after ctype ABI forward compatibility
restored.602115November 21, 20076.2-STABLE after back out of wide and single byte
ctype separation.603000November 25, 20076.3-RELEASE603100November 25, 20076.3-STABLE after 6.3-RELEASE.603101December 7, 20076.3-STABLE after fixing
multibyte type support in bit macro.603102April 24, 20086.3-STABLE after adding l_sysid to struct
flock.603103May 27, 20086.3-STABLE after MFC of the
memrchr function.603104June 15, 20086.3-STABLE after MFC of support for
:u variable modifier in
make(1).604000October 4, 20086.4-RELEASE604100October 4, 20086.4-STABLE after 6.4-RELEASE.700000July 11, 20057.0-CURRENT.700001July 23, 20057.0-CURRENT after bump of all shared library
versions that had not been changed since
RELENG_5.700002August 13, 20057.0-CURRENT after credential argument is added to
dev_clone event handler.700003August 25, 20057.0-CURRENT after memmem(3) is added to
libc.700004October 30, 20057.0-CURRENT after solisten(9) kernel arguments
are modified to accept a backlog parameter.700005November 11, 20057.0-CURRENT after IFP2ENADDR() was changed to
return a pointer to IF_LLADDR().700006November 11, 20057.0-CURRENT after addition of
if_addr member to struct
ifnet and IFP2ENADDR() removal.700007December 2, 20057.0-CURRENT after incorporating scripts from the
local_startup directories into the base
&man.rcorder.8;.700008December 5, 20057.0-CURRENT after removal of MNT_NODEV mount
option.700009December 19, 20057.0-CURRENT after ELF-64 type changes and symbol
versioning.700010December 20, 20057.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.700011December 31, 20057.0-CURRENT after tv_sec was made time_t on
all platforms but Alpha.700012January 8, 20067.0-CURRENT after ldconfig_local_dirs
change.700013January 12, 20067.0-CURRENT after changes to
/etc/rc.d/abi to support
/compat/linux/etc/ld.so.cache
being a symlink in a readonly filesystem.700014January 26, 20067.0-CURRENT after pts import.700015March 26, 20067.0-CURRENT after the introduction of version 2
of &man.hwpmc.4;'s ABI.700016April 22, 20067.0-CURRENT after addition of &man.fcloseall.3;
to libc.700017May 13, 20067.0-CURRENT after removal of ip6fw.700018July 15, 20067.0-CURRENT after import of snd_emu10kx.700019July 29, 20067.0-CURRENT after import of OpenSSL
0.9.8b.700020September 3, 20067.0-CURRENT after addition of bus_dma_get_tag
function700021September 4, 20067.0-CURRENT after libpcap 0.9.4 and tcpdump 3.9.4
import.700022September 9, 20067.0-CURRENT after dlsym change to look for a
requested symbol both in specified dso and its
implicit dependencies.700023September 23, 20067.0-CURRENT after adding new sound IOCTLs for the
OSSv4 mixer API.700024September 28, 20067.0-CURRENT after import of OpenSSL
0.9.8d.700025November 11, 20067.0-CURRENT after the addition of libelf.700026November 26, 20067.0-CURRENT after major changes on sound
sysctls.700027November 30, 20067.0-CURRENT after the addition of Wi-Spy
quirk.700028December 15, 20067.0-CURRENT after the addition of sctp calls to
libc700029January 26, 20077.0-CURRENT after the GNU &man.gzip.1;
implementation was replaced with a BSD licensed
version ported from NetBSD.700030February 7, 20077.0-CURRENT after the removal of IPIP tunnel
encapsulation (VIFF_TUNNEL) from the IPv4 multicast
forwarding code.700031February 23, 20077.0-CURRENT after the modification of
bus_setup_intr() (newbus).700032March 2, 20077.0-CURRENT after the inclusion of ipw(4) and
iwi(4) firmware.700033March 9, 20077.0-CURRENT after the inclusion of ncurses wide
character support.700034March 19, 20077.0-CURRENT after changes to how insmntque(),
getnewvnode(), and vfs_hash_insert() work.700035March 26, 20077.0-CURRENT after addition of a notify mechanism
for CPU frequency changes.700036April 6, 20077.0-CURRENT after import of the ZFS
filesystem.700037April 8, 20077.0-CURRENT after addition of CAM 'SG' peripheral
device, which implements a subset of Linux SCSI SG
passthrough device API.700038April 30, 20077.0-CURRENT after changing &man.getenv.3;,
&man.putenv.3;, &man.setenv.3; and &man.unsetenv.3; to
be POSIX conformant.700039May 1, 20077.0-CURRENT after the changes in 700038 were
backed out.700040May 10, 20077.0-CURRENT after the addition of &man.flopen.3;
to libutil.700041May 13, 20077.0-CURRENT after enabling symbol versioning, and
changing the default thread library to libthr.700042May 19, 20077.0-CURRENT after the import of gcc
4.2.0.700043May 21, 20077.0-CURRENT after bump of all shared library
versions that had not been changed since
RELENG_6.700044June 7, 20077.0-CURRENT after changing the argument for
vn_open()/VOP_OPEN() from file descriptor index to the
struct file *.700045June 10, 20077.0-CURRENT after changing &man.pam.nologin.8; to
provide an account management function instead of an
authentication function to the PAM framework.700046June 11, 20077.0-CURRENT after updated 802.11 wireless
support.700047June 11, 20077.0-CURRENT after adding TCP LRO interface
capabilities.700048June 12, 20077.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.700049July 3, 20077.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.700050July 4, 20077.0-CURRENT after converting setenv/putenv/etc.
calls from traditional BSD to POSIX.700051July 4, 20077.0-CURRENT after adding new mmap/lseek/etc
syscalls.700052July 6, 20077.0-CURRENT after moving I4B headers to
include/i4b.700053September 30, 20077.0-CURRENT after the addition of support for
PCI domains700054October 25, 20077.0-CURRENT after MFC of wide and single byte
ctype separation.700055October 28, 20077.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 again700100December 22, 20077.0-STABLE after 7.0-RELEASE700101February 8, 20087.0-STABLE after the MFC of m_collapse().700102March 30, 20087.0-STABLE after the MFC of
kdb_enter_why().700103April 10, 20087.0-STABLE after adding l_sysid to struct
flock.700104April 11, 20087.0-STABLE after the MFC of procstat(1).700105April 11, 20087.0-STABLE after the MFC of umtx
features.700106April 15, 20087.0-STABLE after the MFC of &man.write.2; support
to &man.psm.4;.700107April 20, 20087.0-STABLE after the MFC of F_DUP2FD command
to &man.fcntl.2;.700108May 5, 20087.0-STABLE after some &man.lockmgr.9; changes,
which makes it necessary to include
sys/lock.h in order to use
&man.lockmgr.9;.700109May 27, 20087.0-STABLE after MFC of the
memrchr function.700110August 5, 20087.0-STABLE after MFC of kernel NFS lockd
client.700111August 20, 20087.0-STABLE after addition of physically
contiguous jumbo frame support.700112August 27, 20087.0-STABLE after MFC of kernel DTrace
support.701000November 25, 20087.1-RELEASE701100November 25, 20087.1-STABLE after 7.1-RELEASE.701101January 10, 20097.1-STABLE after strndup
merge.701102January 17, 20097.1-STABLE after cpuctl(4) support
added.701103February 7, 20097.1-STABLE after the merge of
multi-/no-IPv4/v6 jails.701104February 14, 20097.1-STABLE after the store of the suspension
owner in the struct mount, and introduction of
vfs_susp_clean method into the struct vfsops.701105March 12, 20097.1-STABLE after the incompatible change
to the kern.ipc.shmsegs sysctl to allow to allocate
larger SysV shared memory segments on 64bit
architectures.701106March 14, 20097.1-STABLE after the merge of a fix for
POSIX semaphore wait operations.702000April 15, 20097.2-RELEASE702100April 15, 20097.2-STABLE after 7.2-RELEASE.702101May 15, 20097.2-STABLE after ichsmb(4) was changed to
use left-adjusted slave addressing to match other
SMBus controller drivers.702102May 28, 20097.2-STABLE after MFC of the
fdopendir function.702103June 06, 20097.2-STABLE after MFC of PmcTools.702104July 14, 20097.2-STABLE after MFC of the
closefrom system call.702105July 31, 20097.2-STABLE after MFC of the SYSVIPC ABI
change.702106September 14, 20097.2-STABLE after MFC of the x86 PAT
enhancements and addition of d_mmap_single() and
the scatter/gather list VM object type.703000February 9, 20107.3-RELEASE703100February 9, 20107.3-STABLE after 7.3-RELEASE.704000December 22, 20107.4-RELEASE704100December 22, 20107.4-STABLE after 7.4-RELEASE.800000October 11, 20078.0-CURRENT. Separating wide and single byte
ctype.800001October 16, 20078.0-CURRENT after libpcap 0.9.8 and tcpdump 3.9.8
import.800002October 21, 20078.0-CURRENT after renaming kthread_create()
and friends to kproc_create() etc.800003October 24, 20078.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 again800004November 12, 20078.0-CURRENT after agp(4) driver moved from
src/sys/pci to src/sys/dev/agp800005December 4, 2007
- 8.0-CURRENT after
- changes
- to the jumbo frame allocator.
+ 8.0-CURRENT after changes to the jumbo frame
+ allocator (rev 174247).800006December 7, 20078.0-CURRENT after the addition of callgraph
capture functionality to &man.hwpmc.4;.800007December 25, 20078.0-CURRENT after kdb_enter() gains a "why"
argument.800008December 28, 20078.0-CURRENT after LK_EXCLUPGRADE option
removal.800009January 9, 20088.0-CURRENT after introduction of
&man.lockmgr.disown.9;800010January 10, 20088.0-CURRENT after the &man.vn.lock.9; prototype
change.800011January 13, 20088.0-CURRENT after the &man.VOP.LOCK.9; and
&man.VOP.UNLOCK.9; prototype changes.800012January 19, 20088.0-CURRENT after introduction of
&man.lockmgr.recursed.9;, &man.BUF.RECURSED.9; and
&man.BUF.ISLOCKED.9; and the removal of
BUF_REFCNT().800013January 23, 20088.0-CURRENT after introduction of the
ASCII encoding.800014January 24, 20088.0-CURRENT after changing the prototype of
&man.lockmgr.9; and removal of
lockcount() and
LOCKMGR_ASSERT().800015January 26, 20088.0-CURRENT after extending the types
of the &man.fts.3; structures.800016February 1, 20088.0-CURRENT after adding an argument to
MEXTADD(9)800017February 6, 20088.0-CURRENT after the introduction of
LK_NODUP and LK_NOWITNESS options in the
&man.lockmgr.9; space.800018February 8, 20088.0-CURRENT after the addition of
m_collapse.800019February 9, 20088.0-CURRENT after the addition of current
working directory, root directory, and jail
directory support to the kern.proc.filedesc
sysctl.800020February 13, 20088.0-CURRENT after introduction of
&man.lockmgr.assert.9; and
BUF_ASSERT functions.800021February 15, 20088.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;.800023February 25, 20088.0-CURRENT after changing the prototypes of
&man.lockstatus.9; and &man.VOP.ISLOCKED.9;, more
specifically retiring the
struct thread argument.800024March 1, 20088.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;.800025March 8, 20088.0-CURRENT after adding F_DUP2FD command
to &man.fcntl.2;.800026March 12, 20088.0-CURRENT after changing the priority parameter
to cv_broadcastpri such that 0 means no
priority.800027March 24, 20088.0-CURRENT after changing the bpf monitoring ABI
when zerocopy bpf buffers were added.800028March 26, 20088.0-CURRENT after adding l_sysid to struct
flock.800029March 28, 20088.0-CURRENT after reintegration of the
BUF_LOCKWAITERS function and the
addition of &man.lockmgr.waiters.9;.800030April 1, 20088.0-CURRENT after the introduction of the
&man.rw.try.rlock.9; and &man.rw.try.wlock.9;
functions.800031April 6, 20088.0-CURRENT after the introduction of the
lockmgr_rw and
lockmgr_args_rw
functions.800032April 8, 20088.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.800033April 8, 20088.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.800034April 10, 20088.0-CURRENT after introduction of the
memrchr function.800035April 16, 20088.0-CURRENT after introduction of the
fdopendir function.800036April 20, 20088.0-CURRENT after switchover of 802.11 wireless
to multi-bss support (aka vaps).800037May 9, 20088.0-CURRENT after addition of multi routing
table support (aka setfib(1), setfib(2)).800038May 26, 20088.0-CURRENT after removal of netatm and
ISDN4BSD. Also, the addition of the
Compact C Type (CTF) tools.800039June 14, 20088.0-CURRENT after removal of sgtty.800040June 26, 20088.0-CURRENT with kernel NFS lockd client.800041July 22, 20088.0-CURRENT after addition of arc4random_buf(3)
and arc4random_uniform(3).800042August 8, 20088.0-CURRENT after addition of cpuctl(4).800043August 13, 20088.0-CURRENT after changing bpf(4) to use a
single device node, instead of device cloning.800044August 17, 20088.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.800045August 20, 20088.0-CURRENT after the integration of the
MPSAFE TTY layer, including changes to various
drivers and utilities that interact with it.800046September 8, 20088.0-CURRENT after the separation of the GDT
per CPU on amd64 architecture.800047September 10, 20088.0-CURRENT after removal of VSVTX, VSGID
and VSUID.800048September 16, 20088.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.800049September 17, 20088.0-CURRENT after the removal of &man.suser.9;
and &man.suser.cred.9;.800050October 20, 20088.0-CURRENT after buffer cache API
change.800051October 23, 20088.0-CURRENT after the removal of the
&man.MALLOC.9; and &man.FREE.9; macros.800052October 28, 20088.0-CURRENT after the introduction of accmode_t
and renaming of VOP_ACCESS 'a_mode' argument
to 'a_accmode'.800053November 2, 20088.0-CURRENT after the prototype change of
&man.vfs.busy.9; and the introduction of its
MBF_NOWAIT and MBF_MNTLSTLOCK flags.800054November 22, 20088.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.800055November 27, 20088.0-CURRENT after the addition of Intel™
Core, Core2, and Atom support to
&man.hwpmc.4;.800056November 29, 20088.0-CURRENT after the introduction of
multi-/no-IPv4/v6 jails.800057December 1, 20088.0-CURRENT after the switch to the
ath hal source code.800058December 12, 20088.0-CURRENT after the introduction of
the VOP_VPTOCNP operation.800059December 15, 20088.0-CURRENT incorporates the
new arp-v2 rewrite.800060December 19, 20088.0-CURRENT after the addition of makefs.800061January 15, 20098.0-CURRENT after TCP Appropriate Byte
Counting.800062January 28, 20098.0-CURRENT after removal of minor(),
minor2unit(), unit2minor(), etc.800063February 18, 20098.0-CURRENT after GENERIC config change to use
the USB2 stack, but also the addition of
fdevname(3).800064February 23, 20098.0-CURRENT after the USB2 stack is moved to and
replaces dev/usb.800065February 26, 20098.0-CURRENT after the renaming of all functions
in libmp(3).800066February 27, 20098.0-CURRENT after changing USB devfs handling and
layout.800067February 28, 20098.0-CURRENT after adding getdelim(), getline(),
stpncpy(), strnlen(), wcsnlen(), wcscasecmp(), and
wcsncasecmp().800068March 2, 20098.0-CURRENT after renaming the ushub devclass to
uhub.800069March 9, 20098.0-CURRENT after libusb20.so.1 was renamed to
libusb.so.1.800070March 9, 20098.0-CURRENT after merging IGMPv3 and
Source-Specific Multicast (SSM) to the IPv4
stack.800071March 14, 20098.0-CURRENT after gcc was patched to use C99
inline semantics in c99 and gnu99 mode.800072March 15, 20098.0-CURRENT after the IFF_NEEDSGIANT flag has
been removed; non-MPSAFE network device drivers are no
longer supported.800073March 18, 20098.0-CURRENT after the dynamic string token
substitution has been implemented for rpath and needed
paths.800074March 24, 20098.0-CURRENT after tcpdump 4.0.0 and
libpcap 1.0.0 import.800075April 6, 20098.0-CURRENT after layout of structs vnet_net,
vnet_inet and vnet_ipfw has been changed.800076April 9, 20098.0-CURRENT after adding delay profiles in
dummynet.800077April 14, 20098.0-CURRENT after removing VOP_LEASE() and
vop_vector.vop_lease.800078April 15, 20098.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.800079April 15, 20098.0-CURRENT after struct llentry pointers are
added to struct route and struct route_in6.800080April 15, 20098.0-CURRENT after layout of struct inpcb has been
changed.800081April 19, 20098.0-CURRENT after the layout of struct
malloc_type has been changed.800082April 21, 20098.0-CURRENT after the layout of struct ifnet has
changed, and with if_ref() and if_rele() ifnet
refcounting.800083April 22, 20098.0-CURRENT after the implementation of a
low-level Bluetooth HCI API.800084April 29, 20098.0-CURRENT after IPv6 SSM and MLDv2
changes.800085April 30, 20098.0-CURRENT after enabling support for
VIMAGE kernel builds with one active image.800086May 8, 20098.0-CURRENT after adding support for input lines
of arbitrarily length in patch(1).800087May 11, 20098.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.800088May 20, 20098.0-CURRENT after net80211 monitor mode
changes.800089May 23, 20098.0-CURRENT after adding UDP control block
support.800090May 23, 20098.0-CURRENT after virtualizing interface
cloning.800091May 27, 20098.0-CURRENT after adding hierarchical jails
and removing global securelevel.800092May 29, 20098.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.800093May 29, 20098.0-CURRENT after adding mnt_xflag to
struct mount.800094May 30, 20098.0-CURRENT after adding
&man.VOP.ACCESSX.9;.800095May 30, 20098.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.800096June 1, 20098.0-CURRENT after updating to the new netisr
implementation and after changing the way we
store and access FIBs.800097June 8, 20098.0-CURRENT after the introduction of vnet
destructor hooks and infrastructure.800097June 11, 20098.0-CURRENT after the introduction of netgraph
outbound to inbound path call detection and queuing,
which also changed the layout of struct
thread.800098June 14, 20098.0-CURRENT after OpenSSL 0.9.8k import.800099June 22, 20098.0-CURRENT after NGROUPS update and moving
route virtualization into its own VImage
module.800100June 24, 20098.0-CURRENT after SYSVIPC ABI change.800101June 29, 20098.0-CURRENT after the removal of the
/dev/net/* per-interface character
devices.800102July 12, 20098.0-CURRENT after padding was added to
struct sackhint, struct tcpcb, and struct
tcpstat.800103July 13, 20098.0-CURRENT after replacing struct tcpopt
with struct toeopt in the TOE driver interface
to the TCP syncache.800104July 14, 20098.0-CURRENT after the addition of the
linker-set based per-vnet allocator.800105July 19, 20098.0-CURRENT after version bump for all
shared libraries that do not have symbol versioning
turned on.800106July 24, 20098.0-CURRENT after introduction of OBJT_SG
VM object type.800107August 2, 20098.0-CURRENT after making the newbus subsystem
Giant free by adding the newbus sxlock and
8.0-RELEASE.800108November 21, 20098.0-STABLE after implementing EVFILT_USER kevent
filter.800500January 7, 20108.0-STABLE after
__FreeBSD_version bump to make
pkg_add -r use
packages-8-stable.800501January 24, 20108.0-STABLE after change of the
scandir(3) and
alphasort(3) prototypes to
conform to SUSv4.800502January 31, 20108.0-STABLE after addition of
sigpause(3).800503February 25, 20108.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.800504March 1, 20108.0-STABLE after MFC of importing x86emu, a
software emulator for real mode x86 CPU from
OpenBSD.800505May 18, 20108.0-STABLE after MFC of adding liblzma, xz,
xzdec, and lzmainfo.801000June 14, 20108.1-RELEASE801500June 14, 20108.1-STABLE after 8.1-RELEASE.801501November 3, 20108.1-STABLE after KBI change in struct sysentvec,
and implementation of PL_FLAG_SCE/SCX/EXEC/SI and
pl_siginfo for ptrace(PT_LWPINFO) .802000December 22, 20108.2-RELEASE802500December 22, 20108.2-STABLE after 8.2-RELEASE.802501February 28, 20118.2-STABLE after merging DTrace changes,
including support for userland tracing.802502March 6, 20118.2-STABLE after merging log2 and log2f
into libm.802503May 1, 20118.2-STABLE after upgrade of the gcc to the last
GPLv2 version from the FSF gcc-4_2-branch.802504May 28, 20118.2-STABLE after introduction of the KPI and
supporting infrastructure for modular congestion
control.802505May 28, 20118.2-STABLE after introduction of Hhook and Khelp
KPIs.802506May 28, 20118.2-STABLE after addition of OSD to struct
tcpcb.802507June 6, 20118.2-STABLE after ZFS v28 import.802508June 8, 20118.2-STABLE after removal of the schedtail event
handler and addition of the sv_schedtail method to
struct sysvec.802509July 14, 20118.2-STABLE after merging the SSSE3 support
into binutils.802510July 19, 20118.2-STABLE after addition of
RFTSIGZMB flag for
rfork(2).802511September 9, 20118.2-STABLE after addition of automatic detection
of USB mass storage devices which do not support the
no synchronize cache SCSI command.802512September 10, 20118.2-STABLE after merging of
re-factoring of auto-quirk.802513October 25, 20118.2-STABLE after merging of the MAP_PREFAULT_READ
flag to mmap(2).802514November 16, 20118.2-STABLE after merging of
addition of posix_fallocate(2) syscall.802515January 6, 20128.2-STABLE after merging of addition of the
posix_fadvise(2) system call.802516January 16, 20128.2-STABLE after merging gperf 3.0.3802517February 15, 20128.2-STABLE after introduction of the new
extensible sysctl(3) interface NET_RT_IFLISTL
to query address lists (rev
- 231769.
+ 231769).
803000March 3, 20128.3-RELEASE.803500March 3, 20128.3-STABLE after branching releng/8.3
(RELENG_8_3).804000March 28, 20138.4-RELEASE.804500March 28, 20138.4-STABLE after 8.4-RELEASE.900000August 22, 20099.0-CURRENT.900001September 8, 20099.0-CURRENT after importing x86emu, a software
emulator for real mode x86 CPU from OpenBSD.900002September 23, 20099.0-CURRENT after implementing the EVFILT_USER
kevent filter functionality.900003December 2, 20099.0-CURRENT after addition of
sigpause(3) and PIE
support in csu.900004December 6, 20099.0-CURRENT after addition of libulog and its
libutempter compatibility interface.900005December 12, 20099.0-CURRENT after addition of
sleepq_sleepcnt(), which can be
used to query the number of waiters on a specific
waiting queue.900006January 4, 20109.0-CURRENT after change of the
scandir(3) and
alphasort(3) prototypes to
conform to SUSv4.900007January 13, 20109.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.900008January 20, 20109.0-CURRENT after the import of BSDL bc/dc and
the deprecation of GNU bc/dc.900009January 26, 20109.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.900010March 22, 20109.0-CURRENT after the import of zlib
1.2.4.900011April 24, 20109.0-CURRENT after adding soft-updates
journalling.900012May 10, 20109.0-CURRENT after adding liblzma, xz, xzdec,
and lzmainfo.900013May 24, 20109.0-CURRENT after bringing in USB fixes for
linux(4).900014June 10, 20109.0-CURRENT after adding Clang.900015July 22, 20109.0-CURRENT after the import of BSD grep.900016July 28, 20109.0-CURRENT after adding mti_zone to
struct malloc_type_internal.900017August 23, 20109.0-CURRENT after changing back default grep to
GNU grep and adding WITH_BSD_GREP knob.900018August 24, 20109.0-CURRENT after the
pthread_kill(3) -generated signal
is identified as SI_LWP in si_code. Previously,
si_code was SI_USER.900019August 28, 20109.0-CURRENT after addition of the
MAP_PREFAULT_READ flag to
mmap(2).900020September 9, 20109.0-CURRENT after adding drain functionality
to sbufs, which also changed the layout of
struct sbuf.900021September 13, 20109.0-CURRENT after DTrace has grown support
for userland tracing.900022October 2, 20109.0-CURRENT after addition of the BSDL man
utilities and retirement of GNU/GPL man
utilities.900023October 11, 20109.0-CURRENT after updating xz to git 20101010
snapshot.900024November 11, 20109.0-CURRENT after libgcc.a was replaced
by libcompiler_rt.a.900025November 12, 20109.0-CURRENT after the introduction of the
modularised congestion control.900026November 30, 20109.0-CURRENT after the introduction of Serial
Management Protocol (SMP) passthrough and the
XPT_SMP_IO and XPT_GDEV_ADVINFO CAM CCBs.900027December 5, 20109.0-CURRENT after the addition of log2 to
libm.900028December 21, 20109.0-CURRENT after the addition of the Hhook
(Helper Hook), Khelp (Kernel Helpers) and Object
Specific Data (OSD) KPIs.900029December 28, 20109.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.900030January 12, 20119.0-CURRENT after the update of libdialog to
version 20100428.900031February 7, 20119.0-CURRENT after the addition of
pthread_getthreadid_np(3).900032February 8, 20119.0-CURRENT after the removal of the uio_yield
prototype and symbol.900033February 18, 20119.0-CURRENT after the update of binutils to
version 2.17.50.900034March 8, 20119.0-CURRENT after the struct sysvec
(sv_schedtail) changes.900035March 29, 20119.0-CURRENT after the update of base gcc and
libstdc++ to the last GPLv2 licensed revision.900036April 18, 20119.0-CURRENT after the removal of libobjc and
Objective-C support from the base system.900037May 13, 20119.0-CURRENT after importing the libprocstat(3)
library and fuser(1) utility to the base
system.900038May 22, 20119.0-CURRENT after adding a lock flag argument to
VFS_FHTOVP(9).900039June 28, 20119.0-CURRENT after importing pf from OpenBSD
4.5.900040July 19, 2011Increase default MAXCPU for FreeBSD to 64 on
amd64 and ia64 and to 128 for XLP (mips).900041August 13, 20119.0-CURRENT after the implementation of Capsicum
capabilities; fget(9) gains a rights argument.900042August 28, 2011Bump shared libraries' version numbers for
libraries whose ABI has changed in preparation for
9.0.900043September 2, 2011Add automatic detection of USB mass storage
devices which do not support the no synchronize cache
SCSI command.900044September 10, 2011Re-factor auto-quirk. 9.0-RELEASE.900045January 2, 20129-CURRENT after MFC of true/false from
1000002.900500January 2, 20129.0-STABLE.900501January 6, 20129.0-STABLE after merging of addition of the
posix_fadvise(2) system call.900502January 16, 20129.0-STABLE after merging gperf 3.0.3900503February 15, 20129.0-STABLE after introduction of the new
extensible sysctl(3) interface NET_RT_IFLISTL
to query address lists (rev
231768).900504March 3, 20129.0-STABLE after changes related to mounting
of filesystem inside a jail (rev
232728).900505March 13, 20129.0-STABLE after introduction of new tcp(4)
socket options: TCP_KEEPINIT, TCP_KEEPIDLE,
TCP_KEEPINTVL, and TCP_KEEPCNT (rev
232945).900506May 22, 20129.0-STABLE after introduction of the
quick_exit function and
related changes required for C++11 (rev
235786).901000August 5, 20129.1-RELEASE.901500August 6, 20129.1-STABLE after branching releng/9.1
(RELENG_9_1).901501November 11, 20129.1-STABLE after LIST_PREV() added to queue.h
(rev 242893) and KBI change in USB
serial devices (rev 240659).901502November 28, 20129.1-STABLE after USB serial jitter buffer
requires rebuild of USB serial device modules.901503February 21, 20139.1-STABLE after USB moved to the driver
structure requiring a rebuild of all USB modules.
Also indicates the presence of nmtree.901504March 15, 20139.1-STABLE after install gained -l, -M, -N and
related flags and cat gained the -l option.901505June 13, 20139.1-STABLE after fixes in ctfmerge boostrapping
(rev 249243).1000000September 26, 201110.0-CURRENT.1000001November 4, 201110-CURRENT after addition of the posix_fadvise(2)
system call.1000002December 12, 201110-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).1000003December 16, 201110-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).1000004January 1, 201210-CURRENT after the removal of skpc(9) and the
addition of memcchr(9) (rev
229200).1000005January 16, 201210-CURRENT after the removal of support for
SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR,
SIOCSIFDSTADDR ioctls (rev
230207).1000006January 26, 201210-CURRENT after introduction of read capacity
data asynchronous notification in the cam(4) layer
(rev 230590).1000007February 5, 201210-CURRENT after introduction of new tcp(4)
socket options: TCP_KEEPINIT, TCP_KEEPIDLE,
TCP_KEEPINTVL, and TCP_KEEPCNT (rev
231025).1000008February 11, 201210-CURRENT after introduction of the new
extensible sysctl(3) interface NET_RT_IFLISTL
to query address lists (rev
231505).1000009February 25, 201210-CURRENT after import of libarchive 3.0.3
(rev 232153).1000010March 31, 201210-CURRENT after xlocale cleanup (rev
233757).1000011April 16, 201210-CURRENT import of LLVM/Clang 3.1 trunk r154661
(rev 234353).1000012May 2, 201210-CURRENT jemalloc import
(rev 234924).1000013May 22, 201210-CURRENT after byacc import
(rev 235788).1000014June 27, 201210-CURRENT after BSD sort becoming the default
sort (rev 237629).1000015July 12, 201210-CURRENT after import of OpenSSL 1.0.1c
(rev 238405).(not changed)July 13, 201210-CURRENT after the fix for LLVM/Clang 3.1
regression (rev 238429).1000016August 8, 201210-CURRENT after KBI change in &man.ucom.4;
(rev 239179).1000017August 8, 201210-CURRENT after adding streams feature to the
USB stack (rev 239214).1000018September 8, 201210-CURRENT after major rewrite of &man.pf.4;
(rev 240233).1000019October 6, 201210-CURRENT after &man.pfil.9; KBI/KPI changed
to supply packets in net byte order to AF_INET
filter hooks (rev 241245).1000020October 16, 201210-CURRENT after the network interface cloning
KPI changed and struct if_clone becoming opaque (rev
241610).1000021October 22, 201210-CURRENT after removal of support for
non-MPSAFE filesystems and addition of support for
FUSEFS (rev
241519,
241897).1000022October 22, 201210-CURRENT after the entire IPv4 stack switched
to network byte order for IP packet header storage
(rev 241913).1000023November 5, 201210-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).1000024November 5, 201210-CURRENT after clang was made the default
compiler on i386 and amd64
(rev 242624).1000025November 17, 201210-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).1000026January 11, 201310-CURRENT after install gained the -N flag (rev
245313). May also be used to
indicate the presence of nmtree.1000027January 29, 201310-CURRENT after cat gained the -l flag (rev
246083).1000028February 13, 201310-CURRENT after USB moved to the driver structure
requiring a rebuild of all USB modules (rev
246759).1000029March 4, 201310-CURRENT after the introduction of tickless
callout facility which also changed the layout of
struct callout (rev 247777).1000030March 12, 201310-CURRENT after KPI breakage introduced in the
VM subsystem to support read/write locking (rev
248084).1000031April 26, 201310-CURRENT after the dst parameter of the
ifnet if_output method was
changed to take const qualifier (rev
249925).1000032May 1, 201310-CURRENT after the introduction of the
accept4 (rev
250154) and
pipe2 (rev
250159) system calls.1000033May 21, 201310-CURRENT after flex 2.5.37 import (rev
250881).1000034June 3, 201310-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).1000035June 8, 201310-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
bsd.port.mkDo 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).VariableDescriptionARCHThe architecture as returned by uname
-m (e.g., i386)OPSYSThe operating system type, as returned by
uname -s (e.g.,
FreeBSD)OSRELThe release version of the operating system
(e.g., 2.1.5 or
2.2.7)OSVERSIONThe numeric version of the operating system; the
same as __FreeBSD_version.LOCALBASEThe base of the local tree (e.g.,
/usr/local)PREFIXWhere 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
.endifYou did remember to use tab instead of spaces after
BROKEN= and
:-).Use the exec Statement in Wrapper
ScriptsIf 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 RationallyThe 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 CC and
CXXThe 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?= gccCXX?= g++Here is an example which respects neither
CC nor CXX
variables:CC= gccCXX= 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 CFLAGSThe 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 -WerrorHere is an example which does not respect the
CFLAGS variable:CFLAGS= -Wall -WerrorThe 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_SOUNDUsing system optimization flags, the
Makefile would look similar to the
following example:CFLAGS+= -DHAVE_SOUNDThreading LibrariesThe 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.FeedbackDo 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.README.htmlDo 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
BROKEN, FORBIDDEN, or
IGNOREIn 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.VariablesBROKEN 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 compilefails its configuration or installation
processinstalls 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 properlydoes not work on the installed version of
&os;requires &os; kernel sources to build, but the
user does not have them installedhas a distfile which may not be automatically
fetched due to licensing restrictionsdoes 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 amd64NOT_FOR_ARCHS= ia64 sparc64A 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 NotesThe 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.xIGNORE= is unsupported on FreeBSD 5.xresulting 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
DEPRECATED or
EXPIRATION_DATEDo 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 .error
ConstructThe 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 .errorAssume that someone has the lineUSE_POINTYHAT=yesin 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
.endifUsage of sysctlThe 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 DistfilesSometimes 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 LinuxismsDo 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.MiscellaneaThe 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 MakefileHere 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 UpThe &os; Ports Collection is constantly changing. Here is
some information on how to keep up.FreshPortsOne 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 RepositoryIt 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 ListIf 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
pointyhat.FreeBSD.orgOne 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 ScannerThe 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 SystemAnother 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.AppendicesValues of USES
Values of USESFeatureArgumentsDescription
&values.uses;
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.
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.
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 ReportsprojProjectskernKernelarchArchitecturesbinUserland ProgramsportsPortsdocsDocumentationPC-BSDKrisMoorekmoore@FreeBSD.orgPC-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.
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.
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 PagedaemonKonstantinBelousovkib@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 bsnmpd(1)MikolajGolubtrociny@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.
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 SystemsKlausOhrhallingerk@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.orgKDE/&os; home pagearea51
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:
KDE SC: 4.10.2, 4.10.3, 4.10.4
Qt: 5.0.2 (area51)
PyQt: 4.10.2; QScintilla 2.7.2; SIP: 4.14.7
KDevelop: 4.5.1
Calligra: 2.6.2
CMake: 2.8.11.1
Digikam (and KIPI-plugins): 3.1.0, 3.2.0
KDE Telepathy: 0.6.0, 0.6.1
As a result — according to PortScout
— kde@ 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.0GáborKövesdángabor@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 SupportJean-SébastienPédrondumbbell@FreeBSD.orgKonstantinBelousovkib@FreeBSD.orgProject status on the wiki
Due to non-&os;-related activities from April to end of June,
the project progressed slowly:
Some important problems in TTM were fixed and several others
are being worked out. Applications affected by these bugs are
non-linear video editing software (which do not use Xv to
preview the video) or "screen" of VirtualBox, for
instance.
Regarding the locking issue with OpenGL, no work has been
done yet. glxgears works but some modern desktop
environments or WebGL demos hang. Once TTM bugs described
above are fixed, this is the next target.
Patches to Mesa to make it build out-of-the-box were
submitted upstream. As of writing, some were committed but
not all of them. Additionally, as result of a joint work with
Jonathan Gray (of OpenBSD), Mesa should work on &os;, OpenBSD,
and hopefully on other BSD flavors without additional
patches.
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 DriverRuiPaulorpaulo@FreeBSD.orgKevinLokevlo@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 BIO_DELETE SupportPawel JakubDawidekpjd@FreeBSD.orgStevenHartlandsmh@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.
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:
+
+
+
Implement pmap_copy() to support fork()
+ system calls.
+
Support for multiple page sizes.
+
Implement superpage creation, promotion, demotion, and
+ eviction mechanisms.
+
Implement PV entry management for superpages.
+
Partially integrate code to the head branch.
+
+
+
Next steps:
+
+
+
Test and benchmark.
+
Complete integration into &os; head.
+
+
+
This project is jointly sponsored by The &os; Foundation and
+ Semihalf sp.j.
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;
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.
FreshPorts.org is a
valuable tool for further information about individual ports,
such as current version, last checkin, and many other useful
statistics. You may subscribe to a mailing list to get the
latest information about your favorite ports.
The
-
+
Web Interface to the Source Repository
allows you to browse the files in the source repository. Changes
that affect the entire port system are now documented in the
- CHANGES file.
+ CHANGES file.
Changes that affect individual ports are now documented in the
- UPDATING file.
+ UPDATING file.
However, the definitive answer to any question is undoubtedly to read
- the source code of
+ the source code of
bsd.port.mk, and associated files.
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 @@
AlmacenamientoSinopsisEste 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 dispositivoA 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ísicosTipo de unidadNombre de dispositivo de la unidadDiscos duros IDEadUnidades CDROM IDEacdDiscos duros SCSI y dispositivos de almacenamiento masivo
USBdaUnidades CDROM SCSIcdDiferentes tipos de unidades CDROM no estándaresmcd 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)fdUnidades de cinta SCSIsaUnidades de cinta IDEastUnidades Flashfla para dispositivos &diskonchip;Unidades RAIDaacd para &adaptec; AdvancedRAID,
mlxd y mlyd
para &mylex;,
amrd para AMI &megaraid;,
idad para Compaq Smart RAID,
twed para &tm.3ware; RAID.
DavidO'BrienTexto original de Añadir discosdiscosañadirDigamos 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).particionesslicesfdisk&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;sysinstallañadir discossuNavegar en SysinstallPuede 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 fdiskUna 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 discoparticiones BSDA 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ónsysinstall 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.
TerminarEl último paso es editar
/etc/fstab
y añadir una entrada para su nuevo disco.Uso de utilidades de línea de comandosUso de slicesEsta 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.DedicadoOS/2Si 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 /1Una 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 /1A 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;.RAIDSoftware RAIDChristopherShumwayTexto original de JimBrownRevisado por Configuración de controlador de disco
concatenado (CCD)RAIDsoftwareRAIDCCDAl 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 hardwareAdemá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 UDMA33Si &os; no detecta todos los discos
asegúrese de que ha colocado correctamente los
jumpers. La mayoría de los discos IDE
tienen un jumperCable 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 CCDEl 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 4En sistemas 5.X, use la siguiente línea:device ccdEn 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 autoEsto 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 ad3Esto 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 ficherosPuede que todavía no exista el
nodo de dispositivo para ccd0c.
Si es así, ejecute lo siguiente:
cd /dev
sh MAKEDEV ccd0En 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/ad3eEl 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/ccd0cAutomatizaciónSeguramente 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.confDurante 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 -CPara 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 2El administrador de volúmenes VinumRAIDsoftwareRAIDVinumEl 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 HardwareRAIDhardwareFreeBSD 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 lostConsulte &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: DEGRADEDPrimero debe desconectar el disco del array para
que pueda retirarlo con seguridad:&prompt.root; atacontrol detach 3Reemplace 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 presentReconstruya el array:&prompt.root; atacontrol rebuild ar0El comando de reconstrucción no responderá hasta
que termine la tarea. Puede abrir otra terminal (mediante
AltFn)
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% completedEspere hasta que termine la operación.MarcFonvieilleTexto de Dispositivos de almacenamiento USBUSBdiscosHoy 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ónEl 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 umassEl 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 cdDado 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 ehciTenga 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ónLa 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: detachedLecturas recomendadasAdemas 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;.MikeMeyerTexto de Creación y uso de medios ópticos (CD)CDROMcreaciónIntroducciónLos 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 9660sistema de ficherosISO 9660El 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/cdrtoolsEl 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 CDATAPIQué 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 CDcontrolador ATAPI/CAMSi 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.mkisofsEl 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/árbolsistemas de ficherosISO 9660Este 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 ficherosHFSsistemas de ficherosJolietExiste 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.CDROMscreación cd CD arrancablesLa ú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/miarranqueHecho 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 /mntEn 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 /mntAhora 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;.burncdCDROMgrabarSi 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 fixateEsto 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.cdrecordSi 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=dispositivoficheroimagen.isoLa 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:CDROMsgrabar&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 audioPuede 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 SCSIUse cdda2wav para extraer el audio.&prompt.user; cdda2wav -v255 -D2,0 -B -OwavUse cdrecord para escribir
los ficheros .wav.&prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wavAsegúrese de que 2,0
este configurado apropiadamente, como se describe en la
.Unidades ATAPIEl 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 acd0t99En 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 ... fixateDuplicar CDs de datosPuede 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=2048Hecha la imagen puede garbarla en un CD como se
describió anteriormente.Uso de CD de datosAhora 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 /mntrecibirá 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 /mntTenga 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 /mntEn 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=15000Esto 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 crudos (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 fixatePara 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/acd1No 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.MarcFonvieilleOriginal de Uso del controlador ATAPI/CAMGrabadora de CDcontrolador ATAPI/CAMEste 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 atapicamEs 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 closedPuede 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 /mntComo 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;.MarcFonvieilleTexto de AndyPolyakovCon colaboraciones de Crear y utilizar medios ópticos (DVDs)DVDgrabarIntroducciónComparado 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ónUtilice &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/datosLas 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.isoLa 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ídeoDVDDVD-VideoUn 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ídeoLa 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+RWDVDDVD+RWA 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/cd0Necesita 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/datosnuevosEl 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/datosnuevosLas 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/zeroUso de un DVD-RWDVDDVD-RWUn 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/cd0Un 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.isoLa 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/datosSi 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/cd0Para devolverlo al formato secuencial use:&prompt.root; dvd+rw-format -blank=full /dev/cd0MultisesiónMuy 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/nuevosdatosUsando 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ónPara 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.JulioMerinoTexto original de MartinKarlssonReescrito 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 disquetesEl dispositivoEl 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 anterioresTambié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
posterioresEn 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.FormatearUn 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 anterioresUse 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.1440Formateo en versiones 5.0 y posterioresUse 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/fd0La etiqueta de discoTras 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 fd1440Desde &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 ficherosAhora 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/fd0El disco está para su uso.Uso de un disquetePara 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 datosmedios de cintaLos principales medios de cinta son 4mm, 8mm, QIC, mini-cartridge
y DLT.4mm (DDS: Digital Data Storage)medios de cintacintas DDS (4mm)medios de cintacintas QICLas 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 cintacintas 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.QICmedios de cintaQIC-150Las 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.DLTmedios de cintaDLTDLT 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.AITmedios de cintaAITAIT 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 cintaLa 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 readyLa 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 flexiblesdiscos flexiblesLos 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?targzipcompresiónDesafortunadamente, &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/fd0Hay 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 nombredeficheroLa 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 solicitadoBases para respaldosLos tres principales programas para respaldos son
&man.dump.8;, &man.tar.1; y &man.cpio.1;.Dump y Restorebackup softwaredump / restoredumprestoreLos 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..rhostsTambié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>&1Advertencia: 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 dump a través de
ssh&prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
usuario@maquinaobjetivo.ejemplo.com dd of=/misficherosgrandes/dump-usr-l0.gzUso del método integrado de dump,
configurando la variable de ambiente RSH:Uso de dump a través de
ssh con RSH
configurada&prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f usuario@maquinaobjetivo.ejemplo.com:/dev/sa0 /usrtarsoftware de respaldotar&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.tarEn 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>&1Puede 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=20bSi le preocupa la seguridad del proceso de hacer un
respaldo a través de una red debe usar
ssh en lugar de rsh.
cpiosoftware de respaldocpio&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.cpiocpio 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; dofind $f << backup.listdone
&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).paxsoftware de respaldopaxpaxPOSIXIEEE&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.Amandasoftware de respaldoAmandaAmandaAmanda (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 nadaNo 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 emergenciaAntes del desastreSolamente existen cuatro pasos que debe realizar
en preparación de cualquier desastre que pudiera
ocurrir.disklabelPrimero, 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 floppiesSegundo, 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 script 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 desastreLa 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.mountpartición raízdisklabelnewfsTrate 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.MarcFonvieilleReorganizado y mejorado por Sistemas de ficheros en red, memoria y respaldados en ficherodiscos virtualesdiscosvirtualesAdemá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.NFSCodadiscosmemoriaEsto 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.Xdiscosfile-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 vnPara 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 vn0imagendedisco
&prompt.root; mount /dev/vn0c /mntPara 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 vnconfig&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 vn0nuevaimagen
&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% /mntSistemas de ficheros basados en fichero en
FreeBSD 5.Xdiscosfile-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 mdconfig 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/mntPara crear una imagen nueva de un sistema de ficheros
con &man.mdconfig.8;:Creación de un disco respaldado en fichero
con mdconfig&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% /mntSi 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
mdmfs&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% /mntSi 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.Xdiscossistemas 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% /mntPara 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.Xdiscossistemas 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
mdconfig&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% /mntCreación de un nuevo disco basado en memoria con
mdmfs&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% /mntEn 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 memoriadiscosdesconectar un disco de memoriaCuando 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 4Es 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 vn4TomRhodesEscrito por Instantáneas (snapshots) de sistemas
de ficherossistemas de ficherossnapshotsFreeBSD 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 /varTambién puede usar &man.mksnap.ffs.8; para
crear una instantánea:&prompt.root; mksnap_ffs /var /var/snapshot/snapSi busca ficheros de instantánea en un sistema de
de ficheros (por ejemplo /var) puede usar
&man.find.1;:&prompt.root; find /var -flags snapshotUna 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 /mntPodrá 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 4Para 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 ficheroscontabilidadespacio en discocuotas de discoLas 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 discoAntes 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 QUOTAEl 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 discorevisiónHay 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 2En 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 2Por 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 cuotacuotas de discolímitesUna 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 -vDebe 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 duroUn 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 suaveLos 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 testQuotas 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-19999Para más información consulte la página de
manual &man.edquota.8;.Revisión de los límites de cuota y
uso de discocuotas de discorevisandoPuede 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 60periodo de graciaEn 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 NFSNFSLas 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.rquotadY reinicie inetd:&prompt.root; kill -HUP `cat /var/run/inetd.pid`LuckyGreenEscrito por shamrock@cypherpunks.toCifrado de particiones de discodiscoscifrado&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 kernelConviértase en rootLa 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-RELEASEAñada soporte de &man.gbde.4; al fichero de
configuración de su kernelAñada la siguiente línea al fichero de
configuración de su kernel con el editor que
prefiera:options GEOM_BDEConfigure, recompile e instale el kernel de &os;.
Este proceso se detalla en el
.Reinicie con el nuevo kernel.Preparación del disco duro cifradoEl 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 discoInstale 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/ad4Crée un directorio para los ficheros
lock de gbde&prompt.root; mkdir /etc/gbdeLos ficheros lock de
gbde
contienen información que gbde
requiere para acceder a las particiones cifradas. Sin el
acceso a los ficheros lockgbde 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 gbdeUna 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 gbdedeben 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/ad4s1cSe 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.bdeCrée un sistema de ficheros en el dispositivo
cifradoUna 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 cifradaCrée un punto de montaje para el sistema cifrado
de ficheros.&prompt.root; mkdir /privateMontar el sistema cifrado de ficheros.&prompt.root; mount /dev/ad4s1c.bde /privateVerificar que el sistema cifrado de ficheros esté
disponibleel 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% /privateMontaje de sistemas cifrados de ficherosTodos 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/ad4s1cSe 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 ficherosComo 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.bdeMontar los sistemas cifrados de ficheros&prompt.root; mount /dev/ad4s1c.bde /privateEl sistema cifrado de ficheros está listo para su
uso.Montar automáticamente particiones cifradasEs 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/ad4s1cTenga 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 @@
JimMockÁtszervezte, átrendezte és egyes
részeit átdolgozta: RandyPrattA sysinstall bemutatása, ábrái
és bemásolása: A &os; telepítéseÁttekintéstelepítésA &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ényekMinimá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;AlphaAz 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 hardverekA &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õ
feladatokKészítsünk leltárt a
számítógépünkrõlA &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árraEszköz neveIRQIO portokMegjegyzésElsõ merevlemez--Mérete 40 GB, gyártmánya
Seagate, elsõdleges IDE masterCD-ROM meghajtó--Elsõdleges IDE slaveMásodik merevlemez--Mérete 20 GB, gyártmánya
IBM, másodlagos IDE masterElsõ IDE vezérlõ140x1f0Hálózati kártya--&intel; 10/100Modem--&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 adatainkatAmennyiben 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étHa 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énA 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ülTegyü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ásaTegyü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ásainkatAmennyiben 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ülHa 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ímAz alapértelmezett átjáró
IP-címeA gépünk neveDNS (névfeloldó) szerverek
IP-címeiHálózati maszkHa 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 modemmelHa 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átA soros (COM) port számát, amelyen
keresztül a modem kapcsolódik a
gépünkhözAz internet-szolgáltatónktól
kapott felhasználói nevet és
jelszótOlvassuk el &os; hibajegyzékétHabá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ányokatA &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 DVDUgyanazon a számítógépen
levõ &ms-dos; partícióPendrive (USB-flash-tároló)SCSI- vagy QIC-szalagFloppylemezekHálózaton keresztül:FTP oldalról, tûzfalon keresztül vagy
szükség szerint HTTP proxy
használatávalNFS szerverrõlPárhuzamos vagy soros vonali kapcsolaton
keresztülHa 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ó lemeztA &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éseA 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éseAz 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=16Az image pendrive-ra írásaAz .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=64kRendszerindításra alkalmas floppy lemezt az
alábbi lépések mentén tudunk
készíteni:A rendszerindító lemezek image-einek
beszerzéseA &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éseMindegyik 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
floppykraAz .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.DOSAzok 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éseAlapé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ásaRendszerindítás &i386;-onKezdjü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üjeVárjuk ki a tíz másodperces
szünetet vagy egybõl nyomjuk le az
Enter billentyût.Rendszerindítás &sparc64;-enA 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 L1A 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álataA 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ényeireavail 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 vty0Figyelmesen 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ásaHa 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ásaKilépés a
sysinstall programbólA 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 ] NoAz ü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 ] NemHa 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 sysinstall
bemutatásaA 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 Usage kiválasztása a
sysinstall
fõmenüjébenA dokumentációs menü
kiválasztásaA 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ásaEzzel megjelenik a dokumentációs
menü.A sysinstall
dokumentációs menüjeFelté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ásaA 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 sysinstall
fõmenüjeA 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 sysinstall
billentyûkiosztást beállító
menüjeA 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 sysinstall
fõmenüjeA sysinstall
beállításaiAz 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éseA 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éseLemezterület lefoglalásaElsõ 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ásaEgy 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.DOSMicrosoft WindowsEgy 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.SCSIBIOSA 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ávalItt 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áraFeltû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õttA 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 Using Entire
Disk funkciójávalAmikor 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éseMindezek 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 sysinstall
rendszerválasztókat tartalmazó
menüjeAz 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ónHa 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õlA 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
Disklabel
segítségévelA 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ásaPartícióÁllományrendszerMéretLeírása/1 GBEz 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/var512 MB-tl 4096 MB-igA /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/usrA 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ásaPartícióÁllományrendszerMéretLeírásb-Lásd a leírástAhogy 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/disknA lemez többi részeA 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 sysinstall Disklabel
partíciószerkesztõjeA 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 sysinstall Disklabel
partíciószerkesztõje,
alapértelmezett értékekkelHa 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ónAz 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éseMiutá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ásaVé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ásaA 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ásaA terjesztések típusának
kiválasztásaA 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ásaA Portgyûjtemény
telepítéseMiutá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 ] NoAz ü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 ] NemA 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éseHa 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ásaHa 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ásaTelepítés FTP szerverrõltelepítéshálózatFTPHá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)FTPpasszív módEzzel 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)FTPHTTP proxyn keresztülEzzel 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éseEzutá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 ] NoAz ü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 ] NemA 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ánA 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ásaA 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 ] NoFordí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 ] NemA 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ásaA 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ásaA 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 ] NoA fordítás: Felhasználói megerõsítés szükséges
Aktiválja most az ed0 csatolót?
[ Igen ] NemA &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 ] NoA 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 ] NemHa 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 ] NoFordí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 ] NemA 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 ] NoFordí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 ] NemA &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 inetd.conf
módosításaMiutá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éseSSHsshd 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 FTPFTPanonim 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ásaAz 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éseHa 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 ] NoAz ü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 ] NemAz ü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ásaiA 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 ] NoFordí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 ] NemA &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éseEz 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ásaA 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 exports
szerkesztéseA 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 kliensAz 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ásaiSzá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 ] NoFordítás: Felhasználói megerõsítés szükséges
Testreszabja a rendszerkonzol beállításait?
[ Igen ] NemA 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ásaiA 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ásaiA 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ásaMiutá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õlA 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ásaHa 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 ] NoFordí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 ] NemA &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ásaA nyilakkal kiválasztható a megfelelõ
térség, amit aztán az
Enter billentyûvel tudunk
lezárni.Az ország kiválasztásaA megfelelõ ország a
nyílbillentyûkkel, valamint az
Enter billentyûvel
választható ki.Az idõzóna kiválasztásaA 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 ] NoAz üzenet fordítása: Megerõsítés
Ezek szerint az 'EDT' elfogadható?
[ Igen ] NemErõ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álataEz 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 ] NoA fordítás: Felhasználói megerõsítés szükséges
Engedélyezi a Linux binárisok futtatását?
[ Igen ] NemA &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ásaiEzen 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 ] NemA 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ásaA 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ásaA 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ásaA nyílbillentyûkkel válasszuk ki a
Port menüpontot és
nyomjuk meg az Enter billentyût.Az egér portjának
kiválasztásaMivel 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éseBefejezé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ásaPró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éseA 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 ] NoAz ü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 ] NemA &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ásaEkkor 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ásaA 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éseA 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éseAz &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ételeA 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 ] NemEzé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ásaA nyílbillentyûkkel válasszuk ki a
User (Felhasználó)
menüpontot és nyomjuk meg az Enter
billentyût.A felhasználó adatainak
megadásaAmikor 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õlCsoportokat 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 root 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õlHa 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õlVá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 ] NoFordí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 ] NemVá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.TomRhodesÍrta: További hálózati
szolgálatások
beállításaA 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õ szintjeEzek 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.mapA 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.FTPanonimAz 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ásaItt 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ásaEbbõ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ó szintjeAz &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ásaA &os;/&arch.i386; indulásaHa 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ásaFontos, 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 CtrlAltDel
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éstelepítéshibakeresésA 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ödikA 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álataA &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 0A 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 /mntEbben 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álaszokA 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 rootMi 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)kernelHa 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
a2:da(0,a)kernelsorral 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ínekkontrasztAmikor 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.ValentinoVaschettoÍrta: MarcFonvieilleFrissítette: Telepítési útmutató
haladóknakEbben a szakaszban megtudhatjuk, hogyan telepítsük
a &os;-t speciális esetekben.A &os; telepítése billentyûzet vagy
monitor nélkültelepítésfej nélküli (soros konzol)soros konzolA 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
konzolramountHa 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/mntA 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.confMiutá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 /mntMost már leválaszthatjuk a pendrive-ot,
és ugorjunk közvetlenül a harmadik
lépésre.A null-modem kábel
csatlakoztatásanull-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 konzolramountHa 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.isoEzt 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.confEzutá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/helyeMost 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ásaMost 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éprecuEzután a &man.cu.1; parancs
felhasználásával kapcsolódjunk
rá a gépre:&prompt.root; cu -l /dev/cuau0Ezt &os; 7.X
esetén így kell használnunk:&prompt.root; cu -l /dev/cuad0Ezzel 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éseAz 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éseA &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éseAz 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.X és
8.X ISO image-ek nevei
és jelentéseiÁllománynévTartalom&os;-változat-RELEASE-architektúra-bootonly.isoEzzel 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.gzEz 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.imgEz 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.isoEz 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.isoEzen 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.isoEz 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.isoA &os; dokumentációja.&os;-változat-RELEASE-architektúra-livefs.isoEz 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ásaEzutá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;
lemezzeltelepítéshálózatFTPA &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 /cdromHozzunk 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:/nonexistentGondoskodjuk 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ásatelepítésfloppyHa 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/fd0Ezutá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óltelepítésMS-DOS partíciórólAmikor 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:\freebsdC:\>xcopy e:\bin c:\freebsd\bin\ /sC:\>xcopy e:\manpages c:\freebsd\manpages\ /sA 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ásatelepítésQIC/SCSI-szalagrólValó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 ... dist2Mielõ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énktelepítéshálózatsoros (PPP)telepítéshálózatpárhuzamos (PLIP)telepítéshálózatEthernetHá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énktelepítéshálózatNFSA 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 @@
JimMockRistrutturato, riorganizzato, ed in parte
riscritto da RandyPrattIl tour guidato su sysinstall, e gli screenshot sono
di Installazione di FreeBSDSinossiinstallazioneFreeBSD è 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'InstallazioneInventario del Tuo ComputerPrima 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 DispositiviNome DispositivoIRQporte di I/ONotePrimo hard diskN/AN/A40 GB, fabbricato da Seagate, primo IDE masterCDROMN/AN/APrimo IDE slaveSecondo hard diskN/AN/A20 GB, fabbricato da IBM, secondo IDE masterPrimo controller IDE140x1f0Scheda di reteN/AN/A&intel; 10/100ModemN/AN/A&tm.3com; 56K faxmodem, su COM1…
Backup Dei Tuoi DatiSe 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 FreeBSDSe 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 EsistenteSupponiamo 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 EsistenteSupponiamo 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 AlphaAlphaDovrai 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 EIDEQuesto 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 ReteSe 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/DSLSe 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 IPIndirizzo IP del gateway di defaultIl nome host (hostname)Indirizzi IP dei server DNSMaschera di ReteSe 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 ModemSe 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 ISPLa porta COM: sulla quale il tuo modem è
connessoIl nome utente e relativa password del tuo account
dell'ISPControllare i Possibili Errori di FreeBSD Post-ReleaseSebbene 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 FreeBSDIl processo di installazione di FreeBSD può installare
FreeBSD prendendo file da una delle seguenti fonti:Media LocaleUn CDROM o DVDUna partizione DOS sullo stesso computerUn nastro magnetico SCSI o QICFloppy diskReteUn sito FTP, passando attraverso un firewall, o usando un proxy
HTTP, a seconda della necessitàUn server NFSUna connessione parallela o seriale dedicataSe 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 BootIl 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 AvviabileI 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 FloppyDevi 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 DiskI file .flpnon
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.DOSSe 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/fd0Su 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'InstallazionePer 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.AvvioAvvio 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
AltS. 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
InvioAvvio per AlphaAlphaIniziamo 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 DispositiviLe 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 Dispositiviavail 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 vty0Analizza 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 SysinstallUsa 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 ] NoIl 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 SysinstallL'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
SysinstallCome Selezionare il Menù della DocumentazioneDal menù principale, seleziona con i tasti freccia
Doc e premi Invio.Come Selezionare il Menù della DocumentazioneVerrà 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ù TastieraPer 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 SysinstallUna 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 SysinstallSchermata delle Opzioni di InstallazioneSeleziona Options e premi
Invio.Menù Principale di SysinstallOpzioni di SysinstallI 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 StandardL'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 StandardAllocazione dello Spazio su DiscoPrima 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 BIOSPrima di installare e configurare FreeBSD sul tuo sistema,
c'è una cosa importante che devi sapere, specialmente se hai
più dischi.DOSMicrosoft WindowsIn 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.SCSIBIOSI 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 FDiskTutte 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 FDiskTi 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à
sempread2,
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 ModificheCosa 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 DiscoQuando hai finito, premi Q. Le tue modifiche
saranno salvate da sysinstall, ma non
saranno ancora applicate al disco.Installare il Boot ManagerOra 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 ManagerPer 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 DispositivoSe 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 DischiCon 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
DisklabelOra 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 DiscoPartizionefilesystemDimensioneDescrizionea/100 MBQuesto è 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 /.bN/A2-3 x RAMLo 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/var50 MBLa 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/usrIl Resto del discoTutti 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 SuccessiviPartizioneFilesystemDimensioneDescrizionebN/AGuarda la descrizioneCome 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/disknIl resto del discoIl 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 SysinstallDisklabel 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 DefaultSe 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 NewfsSpazio per la Partizione RootLa 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 RootDopo 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 RootAlla 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 RootLo 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 SysinstallScegliere Cosa InstallareScegliere il Tipo di DistribuzioneScegliere 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 DistribuzioniInstallare la Collezione dei PortDopo 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 ] NoSeleziona &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 DistribuzioneSe 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 InstallazioneSe 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 InstallazioneModi di Installazione via FTPinstallazionenetworkFTPCi 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
serverQuesta 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
firewallFTPmodalità passivoQuesta 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 proxyFTPtramite proxy HTTPQuesta 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'InstallazioneSe 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 ] NoSeleziona &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-installazioneDopo 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 ReteSe 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 ] NoPer configurare un dispositivo di rete, seleziona &gui.yes; e
premi Invio. Altrimenti, seleziona &gui.no;
per continuare.Selezione del Dispositivo EthernetSeleziona 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 ed0Usa il Tab per selezionare i campi e riempili
con le giuste informazioni:HostIl nome host assoluto, come
k6-2.example.com in questo
caso.DomainIl nome del dominio nel quale si trova la tua macchina, come
example.com in questo
caso.IPv4 GatewayL'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 serverL'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 addressL'indirizzo IP in uso su questa interfaccia è
192.168.0.1NetmaskIl 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 ifconfigAltre 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 ] NoSelezionando &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 ] NoSe 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 ] NoSeleziona &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 ] NoScegliendo &gui.yes; ti sarà consentito aggiungere
servizi eliminando # all'inizio delle relative
linee.Editare inetd.confDopo 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 AnonimoFTPanonimo User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]Negare l'FTP AnonimoSelezionando &gui.no; e premendo Invio
consentirai a chi ha un account con password di usare l'FTP
per accedere alla macchina.Consentire l'FTP anonimoChiunque 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 defaultPremendo 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 ] NoSe 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'FTPL'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 exportsUsa 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 NFSIl 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 SicurezzaUn 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 disponibiliExtremeModerate&man.sendmail.8;NOSI&man.sshd.8;NOSI&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 serverNOSI&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 ] NoSelezionando &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 SicurezzaPremi 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 SistemaCi sono parecchie opzioni disponibili per personalizzare la
console di sistema. User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] NoPer vedere e configurare le opzioni, seleziona &gui.yes; e premi
Invio.Opzioni di Configurazione della Console di SistemaUn'opzione comunemente usata è lo screen saver. Usa
i tasti freccia per selezionare Saver e
premi Invio.Opzioni dello Screen SaverScegli 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 SaverPuoi 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 SistemaSelezionando Exit e premendo
Invio continuerai con le configurazioni
post-installazione.Regolazione della Zona di Fuso OrarioIl 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 ] NoSeleziona &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 RegioneLa regione appropriata viene selezionata usando i tasti freccia
e quindi premendo Invio.Selezione della tua NazioneScegli la nazione appropriata usando i tasti freccia e premi
Invio.Selezione della Tua Zona di Fuso OrarioLa zona di fuso orario appropriata viene selezionata usando i tasti
freccia e premendo Invio. Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] NoViene 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 ] NoSelezionando &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 MouseQuesta 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 MouseUsa i tasti freccia per selezionare Type
e premi Invio.Settare il Protocollo del MouseIl 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 MouseUsa i tasti freccia per selezionare Port
e premi Invio.Settare la Porta del MouseQuesto 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 MousePer ultimo, usa i tasti freccia per selezionare
Enable, e premi Invio
per abilitare e testare il demone del mouse.Test del Demone del MouseMuovi 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.TomRhodesContributo di Configurare I Servizi Addizionali di ReteLa 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 ReteLa 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.mapL'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.FTPanonimoL'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 defaultTi 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 NtpdateDa 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-LivelloLe 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 XA 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 ConfigurazioneCi 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/sysmouseIl 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.)? nOra, 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: HitachiOra 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.
4In 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? ySe 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 ] NoSe 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 CtrlAltBackspace.
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 DefaultA 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 DefaultUsa i tasti freccia per selezionare un desktop e premi
Invio. Verrà avviata l'installazione
del desktop selezionato.Installazione dei PackageI 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 ] NoSelezionando &gui.yes; e premendo Invio
verranno visualizzate le seguenti schermate per la selezione
dei package:Selezione della Categoria dei PackageSoltanto 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 PackageUsa Tab e con i tasti freccia seleziona
[ Install ] e premi
Invio. Dovrai confermare l'installazione dei
package:Conferma dell'Installazione dei PackageSelezionando &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/GruppiDovresti 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 ] NoSeleziona &gui.yes; e premi Invio per continuare
nell'aggiunta di un utente.Selezione di un UtenteSeleziona User con i tasti freccia e
premi Invio.Aggiungere Informazioni dell'UtenteLe 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 IDIl nome di login del nuovo utente (obbligatorio).UIDL'ID numerico per questo utente (lasciare bianco per una
scelta automatica).GroupIl nome del gruppo di login per questo utente (lasciate
bianco per una scelta automatica).PasswordLa password per questo utente (inserisci questo campo
con cura!).Full nameIl nome completo dell'utente (commento).Member groupsI gruppi a cui questo utente appartiene (cioè i diritti
di accesso concessi).Home directoryLa directory home dell'utente (lasciare in bianco per
il default).Login shellLa 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
GruppiI 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 root 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'InstallazioneSe 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'InstallazioneSeleziona 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 ] NoSeleziona &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 FreeBSDAvvio 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 AlphaAlphaUna volta finita la procedura di installazione, sarai in grado di
avviare FreeBSD scrivendo qualcosa di simile a questo nel prompt
SRM:>>>BOOT DKC0Questo 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 BOOTI 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
CtrlAltDel per riavviare il sistema, comunque questo non è
raccomandato durante un normale funzionamento.Hardware SupportatohardwareFreeBSD 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 guastiinstallazionelocalizzazione dei guastiQuesta 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 StortoA 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;DOSMolti 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 /mntIn 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 AlphaAlphaQuesta 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?ARCAlpha BIOSSRMNo. &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.ValentinoVaschettoContributo di Guida per un'Installazione AvanzataQuesta sezione descrive come installare FreeBSD in casi
speciali.Installare FreeBSD su un Sistema senza Monitor e Tastierainstallazioneheadless (console seriale)console serialeQuesto 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
SerialemountSe 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 /mntAdesso 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.configAdesso che hai il tuo floppy configurato correttamente,
devi smontare il floppy usando il comando &man.umount.8;:&prompt.root; cd /
&prompt.root; umount /mntAdesso puoi rimuovere il floppy.Connettere il Cavo Null-Modemcavo null modemDevi 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 HeadlesscuAdesso devi connetterti alla macchina con &man.cu.1;:&prompt.root; cu -l /dev/cuaa0Ci 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 InstallazionePer 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 InstallazioneCome 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 CorretteLe 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.XNome del FileContenutoversion-RELEASE-arch-miniinst.isoTutto quello di cui hai bisogno per installare
FreeBSD.version-RELEASE-arch-disc1.isoTutto quello di cui hai bisogno per installare FreeBSD,
e anche molti package addizionali di terze parti
che potresti provare.version-RELEASE-arch-disc2.isoUn 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.XNome del FileContenutoversion-RELEASE-arch-bootonly.isoTutto 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.isoTutto ciò di cui hai bisogno per installare
FreeBSD.version-RELEASE-arch-disc1.isoTutto 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.isoLa documentazione di &os; e molte applicazioni di
terze parti.
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 @@
JimMockRozdzia³ przebudowa³ i czê¶ciowo napisa³
od nowa RandyPrattOmówienie sysinstall, zrzuty ekranów i inne
fragmenty przygotowa³ Micha³WojciechowskiT³umaczy³ Instalacja FreeBSDStreszczenieinstalacjaWraz 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.CezaryMorgaPrzek³ad uzupe³ni³ Czynno¶ci wstêpneRozpoznanie komponentów komputeraPrzed 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±dzeniaIRQPort(y) we/wyUwagiPierwszy dysk twardybrakbrak40 GB, firmy Seagate, IDE 1 masterCDROMbrakbrakIDE 1 slaveDrugi dysk twardybrakbrak20 GB, firmy IBM, IDE 2 masterKontroler IDE140x1f0Karta sieciowabrakbrak&intel; 10/100Modembrakbrak&tm.3com; 56K faxmodem na COM1…
Przygotowanie kopii danychJe¶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 FreeBSDJe¿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 partycjiPrzyjmijmy, ¿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 partycjiPrzyjmijmy 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 AlphaAlphaW 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 EIDEPowy¿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 sieciJe¶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/DSLW 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 IPAdres IP domy¶nej bramyNazwa stacjiAdresy IP serwerów DNSMaska podsieciInformacje 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 modemInstalacja 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 internetowychNumer portu COM, do którego pod³±czony jest modemNazwa u¿ytkownika i has³o konta u dostawcy us³ugSprawdzenie erraty FreeBSDW 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 FreeBSDPliki potrzebne do rozpoczêcia instalacji systemu
mog± pochodziæ z jednego z wymienionych poni¿ej
¼róde³:No¶niki lokalneP³yta CDROM lub DVDPartycja DOS-owa na tym samym komputerzePamiêæ ta¶mowa QIC lub SCSIDyskietkiSieæSerwer FTP, tak¿e przez firewall lub proxy
HTTP, zale¿nie od potrzebSerwer NFSDedykowane po³±czenie równoleg³e lub szeregowePosiadaj±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 instalacjiInstalacja 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 startowychDyskietki 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 startoweDla 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 dyskietkiPliki .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.DOSJe¶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/fd0W 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 komputeraUruchomienie &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¼ AltS. 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 AlphaAlphaNa 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 vty0Warto 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 sysinstallKorzystaj±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 ] NoInstalacja 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 sysinstallSysinstall 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 sysinstallMenu dokumentacjiKorzystaj±c z klawiszy kursora, w g³ównym menu wybieramy
Doc i wciskamy Enter.Wybór menu dokumentacjiSpowoduje to wy¶wietlenie menu dokumentacji.Menu dokumentacji sysinstallWarto 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 klawiaturyAby 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 sysinstallWyboru 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 klawiaturyEkran opcji instalacjiWybieramy Options
i naciskamy Enter.G³ówne menu sysinstallOpcje sysinstallWarto¶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 standardowejInstalacja 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 standardowejPrzydzia³ miejsca na dyskuZaczynamy 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-iePrzed 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.DOSMicrosoft WindowsW 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.SCSIBIOSDro¿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 FDiskDokonywane 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-aMo¿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 zmianamiDalej 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 dyskNa koniec naciskamy Q. Dokonane zmiany
zostan± zapamiêtane przez sysinstall,
ale nie bêd± jeszcze zapisane na dysku.Instalacja programu ³aduj±cegoW 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 sysinstallEkran 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 dyskuJe¿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 dyskuKlawisz 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
DisklabelW 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 dyskuPartycjaSystem plikówRozmiarOpisa/100 MBBê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 /.bbrak2-3 x RAMPartycja 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/var50 MBW 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/usrReszta dyskuInne 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ówPartycjaSystem plikówRozmiarOpisbbrakPatrz: opisJak 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/dysknReszta dyskuPozosta³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 DisklabelDisklabel 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 ustawieniamiBy 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 partycjiWybieraj±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 partycjiPo 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 partycjiPoniewa¿ 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ówNa 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 DisklabelWybór sk³adników instalacjiWybór zestawu komponentówDecyzja 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ówInstalacja kolekcji portówPo 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 ] NoKlawiszami 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ówJe¿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 instalacjiW 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 instalacjiTryby instalacji przez FTPinstalacjasieæFTPMo¿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
serverWybó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
firewallFTPtryb pasywnyOpcja 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 proxyFTPprzez proxy HTTPTen 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 instalacjiMo¿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 ] NoWybieramy &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 instalacjiPo 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ñ sieciowychJe¶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 ] NoJe¶li chcemy skonfigurowaæ urz±dzenie sieciowe,
wybieramy &gui.yes; i wciskamy Enter.
W przeciwnym wypadku wybieramy &gui.no;.Wybór karty EthernetKlawiszami 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 ed0Klawiszem 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 ] NoJe¶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 ] NoJe¶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 ] NoWybieramy &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 ] NoWybranie &gui.yes; pozwoli na w³±czanie poszczególnych
us³ug poprzez usuniêcie znaku # na pocz±tku
w³a¶ciwego wiersza.Modyfikacja inetd.confGdy 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 FTPFTPanonimowe User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]Wy³±czenie anonimowego FTPWybranie 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 FTPW³±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 FTPMo¿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 ] NoJe¿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 FTPU¿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 plikowychSieciowe 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 exportsZgodnie 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 NFSInstalacja 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ñExtremeMedium&man.sendmail.8;NIETAK&man.sshd.8;NIETAK&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 NFSNIETAK&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 ] NoJe¿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 systemowejKilka opcji s³u¿y do konfiguracji konsoli systemowej. User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] NoAby zobaczyæ i zmieniæ ustawienia, wybieramy
&gui.yes; i wciskamy Enter.Opcje konfiguracji konsoli systemowejCzêsto stosowan± opcj± jest wygaszacz ekranu (screen saver).
Klawiszami kursora wybieramy Saver
i naciskamy Enter.Opcje wygaszacza ekranuZa 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 ekranuWarto¶æ mo¿emy zmieniæ, po czym wybieramy &gui.ok;
i wciskamy Enter, by wróciæ do menu
konfiguracji konsoli.Zakoñczenie konfiguracji konsoliWybieramy Exit i naciskamy
Enter, przechodz±c do kolejnego etapu
konfiguracji.Ustawienia strefy czasowejDziê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 ] NoBy 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 geograficznegoKlawiszami kursora wybieramy odpowiedni region,
po czym naciskamy Enter.Wybór krajuPrzy u¿yciu klawiszy kursora wybieramy odpowiedni kraj
i naciskamy Enter.Wybór strefy czasowejKlawiszami kursora wybieramy w³a¶ciw± strefê czasow±
i wciskamy Enter. Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] NoZostaniemy 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 ] NoWybranie &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 myszkiPos³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 myszkiKlawiszami kursora wskazujemy Type
i naciskamy Enter.Wybór protoko³u myszkiMyszka 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 myszkiZa pomoc± klawiszy kursora wybieramy Port
i wciskamy Enter.Wybór portu myszkiPoniewa¿ 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 myszkiNa koniec wybieramy Enable
i naciskamy Enter by w³±czyæ
demona myszki i go przetestowaæ.Testowanie demona myszkiNastê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.TomRhodesNapisa³ Konfiguracja dodatkowych us³ug sieciowychKonfiguracja 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 sieciPierwsz± 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.mapFlaga 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.FTPanonimoweWybó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 MTAW 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 ntpdateZ 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 sieciProgramy &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 XPocz±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 konfiguracjiSerwer 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/sysmouseKolejnym 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.)? nNastê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: HitachiW 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.
4Przygotowan± 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? yJe¶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 ] NoJe¿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
CtrlAltBackspace. 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 okienPocz±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 okienKlawiszami kursora wybieramy jedn± z opcji i wciskamy
Enter. Wybrany mened¿er okien zostanie
zainstalowany.Instalacja pakietówPakiety 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 ] NoJe¶li wybierzemy &gui.yes; i naci¶niemy Enter,
przejdziemy do ekranu wyboru pakietów:Wybór kategorii pakietówW 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ówDla 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ówKlawiszami kursora i Tab wybieramy [ Install ]
i wciskamy Enter. Pojawi siê pro¶ba o potwierdzenie chêci
zainstalowania pakietów:Potwierdzenie instalacji pakietówGdy 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 grupPowinni¶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 ] NoWybieramy &gui.yes; i naciskamy Enter,
by dodaæ u¿ytkownika.Dodawanie u¿ytkownikaKlawiszamy kursora wybieramy User
(u¿ytkownik) i wciskamy Enter.Dane nowego u¿ytkownikaKolejne pola wybieramy klawiszem Tab.
W dolnej czê¶ci ekranu pojawiaæ siê bêd± nastêpuj±ce opisy,
pomocne przy wprowadzaniu poszczególnych danych:Login IDNazwa nowego u¿ytkownika (obowi±zkowa).UIDNumer bêd±cy identyfikatorem u¿ytkownika (wype³niany
automatycznie, je¶li pole pozostanie puste).GroupNazwa podstawowej grupy u¿ytkownika (wybierana automatycznie,
je¶li pole pozostanie puste).PasswordHas³o u¿ytkownika (wpisujmy je uwa¿nie!).Full nameNazwisko u¿ytkownika (komentarz).Member groupsGrupy, których cz³onkiem bêdzie u¿ytkownik (czyli
dostanie ich uprawnienia).Home directoryDomowy katalog u¿ytkownika (wpisywany automatycznie,
je¶li pole pozostanie puste).Login shellPow³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 grupamiW 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 root 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 instalacjiJe¿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 instalacjiPrzy 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 ] NoWybieramy &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 FreeBSDUruchamianie 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 AlphaAlphaPo zakoñczeniu instalacji bêdziemy mogli uruchomiæ FreeBSD,
wpisuj±c nastêpuj±ce polecenie w konsoli SRM:>>>BOOT DKC0Nakazuje 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 BOOTKomunikaty pokazywane podczas ³adowania systemu bêd± podobne
(choæ nie identyczne) do komunikatów pokazywanych na &i386;.Wy³±czanie FreeBSDW³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
CtrlAltDel,
jednak w normalnych warunkach korzystanie z niej nie jest zalecane.Obs³ugiwany sprzêtsprzêtW 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ówinstalacjarozwi±zywanie problemówW 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 takZe 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;DOSWielu 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 /mntW 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 AlphaAlphaOto niektóre z najczê¶ciej zadawanych pytañ dotycz±cych
instalowania FreeBSD na komputerach Alpha.ARCAlpha BIOSSRMCzy 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.ValentinoVaschettoNapisa³ Instalacja zaawansowanaW tej czê¶ci omówiona zosta³a instalacja &os;
w sytuacjach wyj±tkowych.Instalacja FreeBSD na komputerze bez monitora
lub klawiaturyinstalacjabez g³owy (konsola szeregowa)konsola szeregowaTen 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 startowejmountJe¶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 /mntPo zamontowaniu dyskietki, wchodzimy do katalogu
/mnt:&prompt.root; cd /mntTeraz 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.configPo prawid³owym skonfigurowaniu dyskietki odmontowujemy
j± poleceniem &man.umount.8;:&prompt.root; cd /
&prompt.root; umount /mntMo¿emy wyj±æ dyskietkê ze stacji dyskietek.Pod³±czenie kabla null-modemkabel null-modemDwa 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 instalacjiMo¿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 bezg³owym komputeremcuZ komputerem ³±czymy siê korzystaj±c z
&man.cu.1;:&prompt.root; cu -l /dev/cuaa0Gotowe! 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 instalacjiDla 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 instalacyjnejW 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 ISOObrazy 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.X
i ich znaczenieNazwa plikuZawarto¶æversion-RELEASE-arch-miniinst.isoWszystko, co jest potrzebne do zainstalowania FreeBSD.version-RELEASE-arch-disc1.isoWszystko, 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.X
i ich znaczenieNazwa plikuZawarto¶æversion-RELEASE-arch-bootonly.isoWszystko 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.isoWszystko, co jest potrzebne do zainstalowania FreeBSD.version-RELEASE-arch-disc1.isoWszystko 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.isoDokumentacja &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 CDPliki 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 FreeBSDinstalacjasieæFTPUk³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 /cdromZak³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:/nonexistentNa 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 instalacyjnychinstalacjadyskietkiJe¿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/fd0W 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;instalacjaz MS-DOSBy 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:\freebsdC:\>xcopy e:\bin c:\freebsd\bin\ /sC:\>xcopy e:\manpages c:\freebsd\manpages\ /sW 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 instalacyjnejinstalacjaz ta¶my QIC/SCSIInstalacja 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 ... dist2Przeprowadzaj±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æinstalacjasieæport szeregowy (SLIP lub PPP)instalacjasieæport równoleg³y (PLIP)instalacjasieæEthernetS± 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 NFSinstalacjasieæNFSInstalacja 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 firsttermThe number of seg elements must be the same as the number of segtitle elements in the parent segmentedlistThe 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 annotationcaution must not occur in the descendants of cautionimportant must not occur in the descendants of cautionnote must not occur in the descendants of cautiontip must not occur in the descendants of cautionwarning must not occur in the descendants of cautioncaution must not occur in the descendants of importantimportant must not occur in the descendants of importantnote must not occur in the descendants of importanttip must not occur in the descendants of importantwarning must not occur in the descendants of importantcaution must not occur in the descendants of noteimportant must not occur in the descendants of notenote must not occur in the descendants of notetip must not occur in the descendants of notewarning must not occur in the descendants of notecaution must not occur in the descendants of tipimportant must not occur in the descendants of tipnote must not occur in the descendants of tiptip must not occur in the descendants of tipwarning must not occur in the descendants of tipcaution must not occur in the descendants of warningimportant must not occur in the descendants of warningnote must not occur in the descendants of warningtip must not occur in the descendants of warningwarning must not occur in the descendants of warningcaution must not occur in the descendants of captionequation must not occur in the descendants of captionexample must not occur in the descendants of captionfigure must not occur in the descendants of captionimportant must not occur in the descendants of captionnote must not occur in the descendants of captionsidebar must not occur in the descendants of captiontable must not occur in the descendants of captiontask must not occur in the descendants of captiontip must not occur in the descendants of captionwarning must not occur in the descendants of captioncaution must not occur in the descendants of equationequation must not occur in the descendants of equationexample must not occur in the descendants of equationfigure must not occur in the descendants of equationimportant must not occur in the descendants of equationnote must not occur in the descendants of equationtable must not occur in the descendants of equationtip must not occur in the descendants of equationwarning must not occur in the descendants of equationcaution must not occur in the descendants of exampleequation must not occur in the descendants of exampleexample must not occur in the descendants of examplefigure must not occur in the descendants of exampleimportant must not occur in the descendants of examplenote must not occur in the descendants of exampletable must not occur in the descendants of exampletip must not occur in the descendants of examplewarning must not occur in the descendants of examplecaution must not occur in the descendants of figureequation must not occur in the descendants of figureexample must not occur in the descendants of figurefigure must not occur in the descendants of figureimportant must not occur in the descendants of figurenote must not occur in the descendants of figuretable must not occur in the descendants of figuretip must not occur in the descendants of figurewarning must not occur in the descendants of figurecaution must not occur in the descendants of tableequation must not occur in the descendants of tableexample must not occur in the descendants of tablefigure must not occur in the descendants of tableimportant must not occur in the descendants of tableinformaltable must not occur in the descendants of tablenote must not occur in the descendants of tabletip must not occur in the descendants of tablewarning must not occur in the descendants of tablecaution must not occur in the descendants of footnoteepigraph must not occur in the descendants of footnoteequation must not occur in the descendants of footnoteexample must not occur in the descendants of footnotefigure must not occur in the descendants of footnotefootnote must not occur in the descendants of footnoteimportant must not occur in the descendants of footnoteindexterm must not occur in the descendants of footnotenote must not occur in the descendants of footnotesidebar must not occur in the descendants of footnotetable must not occur in the descendants of footnotetask must not occur in the descendants of footnotetip must not occur in the descendants of footnotewarning must not occur in the descendants of footnotesidebar must not occur in the descendants of sidebar