View | Details | Raw Unified | Return to bug 149447
Collapse All | Expand All

(-)basics/chapter.sgml (-88 / +88 lines)
Lines 22-31 Link Here
22
    <title>Synopsis</title>
22
    <title>Synopsis</title>
23
23
24
   <para>The following chapter will cover the basic commands and
24
   <para>The following chapter will cover the basic commands and
25
     functionality of the FreeBSD operating system.  Much of this
25
     functionality of the &os; operating system.  Much of this
26
     material is relevant for any &unix;-like operating system.  Feel
26
     material is relevant for any &unix;-like operating system.  Feel
27
     free to skim over this chapter if you are familiar with the
27
     free to skim over this chapter if you are familiar with the
28
     material.  If you are new to FreeBSD, then you will definitely
28
     material.  If you are new to &os;, then you will definitely
29
     want to read through this chapter carefully.</para>
29
     want to read through this chapter carefully.</para>
30
30
31
    <para>After reading this chapter, you will know:</para>
31
    <para>After reading this chapter, you will know:</para>
Lines 33-39 Link Here
33
    <itemizedlist>
33
    <itemizedlist>
34
      <listitem>
34
      <listitem>
35
        <para>How to use the <quote>virtual consoles</quote> of
35
        <para>How to use the <quote>virtual consoles</quote> of
36
	  FreeBSD.</para>
36
	  &os;.</para>
37
      </listitem>
37
      </listitem>
38
      <listitem>
38
      <listitem>
39
	<para>How &unix; file permissions work along with
39
	<para>How &unix; file permissions work along with
Lines 76-92 Link Here
76
    <indexterm><primary>virtual consoles</primary></indexterm>
76
    <indexterm><primary>virtual consoles</primary></indexterm>
77
    <indexterm><primary>terminals</primary></indexterm>
77
    <indexterm><primary>terminals</primary></indexterm>
78
78
79
    <para>FreeBSD can be used in various ways.  One of them is typing commands
79
    <para>&os; can be used in various ways.  One of them is typing commands
80
      to a text terminal.  A lot of the flexibility and power of a &unix;
80
      to a text terminal.  A lot of the flexibility and power of a &unix;
81
      operating system is readily available at your hands when using FreeBSD
81
      operating system is readily available at your hands when using &os;
82
      this way.  This section describes what <quote>terminals</quote> and
82
      this way.  This section describes what <quote>terminals</quote> and
83
      <quote>consoles</quote> are, and how you can use them in FreeBSD.</para>
83
      <quote>consoles</quote> are, and how you can use them in &os;.</para>
84
84
85
    <sect2 id="consoles-intro">
85
    <sect2 id="consoles-intro">
86
      <title>The Console</title>
86
      <title>The Console</title>
87
      <indexterm><primary>console</primary></indexterm>
87
      <indexterm><primary>console</primary></indexterm>
88
88
89
      <para>If you have not configured FreeBSD to automatically start a
89
      <para>If you have not configured &os; to automatically start a
90
	graphical environment during startup, the system will present you with
90
	graphical environment during startup, the system will present you with
91
	a login prompt after it boots, right after the startup scripts finish
91
	a login prompt after it boots, right after the startup scripts finish
92
	running.  You will see something similar to:</para>
92
	running.  You will see something similar to:</para>
Lines 108-118 Link Here
108
      <programlisting>FreeBSD/i386 (pc3.example.org) (ttyv0)</programlisting>
108
      <programlisting>FreeBSD/i386 (pc3.example.org) (ttyv0)</programlisting>
109
109
110
      <para>This line contains some bits of information about the system you
110
      <para>This line contains some bits of information about the system you
111
        have just booted.  You are looking at a <quote>FreeBSD</quote>
111
        have just booted.  You are looking at a <quote>&os;</quote>
112
	console, running on an Intel or compatible processor of the x86
112
	console, running on an Intel or compatible processor of the x86
113
	architecture<footnote>
113
	architecture<footnote>
114
	  <para>This is what <literal>i386</literal> means.  Note that even if
114
	  <para>This is what <literal>i386</literal> means.  Note that even if
115
	    you are not running FreeBSD on an Intel 386 CPU, this is going to
115
	    you are not running &os; on an Intel 386 CPU, this is going to
116
	    be <literal>i386</literal>.  It is not the type of your processor,
116
	    be <literal>i386</literal>.  It is not the type of your processor,
117
	    but the processor <quote>architecture</quote> that is shown
117
	    but the processor <quote>architecture</quote> that is shown
118
	    here.</para>
118
	    here.</para>
Lines 126-157 Link Here
126
      <programlisting>login:</programlisting>
126
      <programlisting>login:</programlisting>
127
127
128
      <para>This is the part where you are supposed to type in your
128
      <para>This is the part where you are supposed to type in your
129
	<quote>username</quote> to log into FreeBSD.  The next section
129
	<quote>username</quote> to log into &os;.  The next section
130
	describes how you can do this.</para>
130
	describes how you can do this.</para>
131
    </sect2>
131
    </sect2>
132
132
133
    <sect2 id="consoles-login">
133
    <sect2 id="consoles-login">
134
      <title>Logging into FreeBSD</title>
134
      <title>Logging into &os;</title>
135
135
136
      <para>FreeBSD is a multiuser, multiprocessing system.  This is
136
      <para>&os; is a multiuser, multiprocessing system.  This is
137
	the formal description that is usually given to a system that can be
137
	the formal description that is usually given to a system that can be
138
	used by many different people, who simultaneously run a lot of
138
	used by many different people, who simultaneously run a lot of
139
	programs on a single machine.</para>
139
	programs on a single machine.</para>
140
140
141
      <para>Every multiuser system needs some way to distinguish one
141
      <para>Every multiuser system needs some way to distinguish one
142
	<quote>user</quote> from the rest.  In FreeBSD (and all the
142
	<quote>user</quote> from the rest.  In &os; (and all the
143
	&unix;-like operating systems), this is accomplished by requiring that
143
	&unix;-like operating systems), this is accomplished by requiring that
144
	every user must <quote>log into</quote> the system before being able
144
	every user must <quote>log into</quote> the system before being able
145
	to run programs.  Every user has a unique name (the
145
	to run programs.  Every user has a unique name (the
146
	<quote>username</quote>) and a personal, secret key (the
146
	<quote>username</quote>) and a personal, secret key (the
147
	<quote>password</quote>).  FreeBSD will ask for these two before
147
	<quote>password</quote>).  &os; will ask for these two before
148
	allowing a user to run any programs.</para>
148
	allowing a user to run any programs.</para>
149
149
150
      <indexterm><primary>startup scripts</primary></indexterm>
150
      <indexterm><primary>startup scripts</primary></indexterm>
151
      <para>Right after FreeBSD boots and finishes running its startup
151
      <para>Right after &os; boots and finishes running its startup
152
	scripts<footnote>
152
	scripts<footnote>
153
	  <para>Startup scripts are programs that are run automatically by
153
	  <para>Startup scripts are programs that are run automatically by
154
	    FreeBSD when booting.  Their main function is to set things up for
154
	    &os; when booting.  Their main function is to set things up for
155
	    everything else to run, and start any services that you have
155
	    everything else to run, and start any services that you have
156
	    configured to run in the background doing useful things.</para>
156
	    configured to run in the background doing useful things.</para>
157
	</footnote>, it will present you with a prompt and ask for a valid
157
	</footnote>, it will present you with a prompt and ask for a valid
Lines 173-207 Link Here
173
	it to say that it is done for security reasons.</para>
173
	it to say that it is done for security reasons.</para>
174
174
175
      <para>If you have typed your password correctly, you should by now be
175
      <para>If you have typed your password correctly, you should by now be
176
	logged into FreeBSD and ready to try out all the available
176
	logged into &os; and ready to try out all the available
177
	commands.</para>
177
	commands.</para>
178
178
179
      <para>You should see the <acronym>MOTD</acronym> or message of
179
      <para>You should see the <acronym>MOTD</acronym> or message of
180
	the day followed by a command prompt (a <literal>#</literal>,
180
	the day followed by a command prompt (a <literal>#</literal>,
181
	<literal>$</literal>, or <literal>%</literal> character).  This
181
	<literal>$</literal>, or <literal>%</literal> character).  This
182
	indicates you have successfully logged into FreeBSD.</para>
182
	indicates you have successfully logged into &os;.</para>
183
    </sect2>
183
    </sect2>
184
184
185
    <sect2 id="consoles-virtual">
185
    <sect2 id="consoles-virtual">
186
      <title>Multiple Consoles</title>
186
      <title>Multiple Consoles</title>
187
187
188
      <para>Running &unix; commands in one console is fine, but FreeBSD can
188
      <para>Running &unix; commands in one console is fine, but &os; can
189
	run many programs at once.  Having one console where commands can be
189
	run many programs at once.  Having one console where commands can be
190
	typed would be a bit of a waste when an operating system like FreeBSD
190
	typed would be a bit of a waste when an operating system like &os;
191
	can run dozens of programs at the same time.  This is where
191
	can run dozens of programs at the same time.  This is where
192
	<quote>virtual consoles</quote> can be very helpful.</para>
192
	<quote>virtual consoles</quote> can be very helpful.</para>
193
193
194
      <para>FreeBSD can be configured to present you with many different
194
      <para>&os; can be configured to present you with many different
195
	virtual consoles.  You can switch from one of them to any other
195
	virtual consoles.  You can switch from one of them to any other
196
	virtual console by pressing a couple of keys on your keyboard.  Each
196
	virtual console by pressing a couple of keys on your keyboard.  Each
197
	console has its own different output channel, and FreeBSD takes care
197
	console has its own different output channel, and &os; takes care
198
	of properly redirecting keyboard input and monitor output as you
198
	of properly redirecting keyboard input and monitor output as you
199
	switch from one virtual console to the next.</para>
199
	switch from one virtual console to the next.</para>
200
200
201
      <para>Special key combinations have been reserved by FreeBSD for
201
      <para>Special key combinations have been reserved by &os; for
202
	switching consoles<footnote>
202
	switching consoles<footnote>
203
	  <para>A fairly technical and accurate description of all the details
203
	  <para>A fairly technical and accurate description of all the details
204
	    of the FreeBSD console and keyboard drivers can be found in the
204
	    of the &os; console and keyboard drivers can be found in the
205
	    manual pages of &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1;
205
	    manual pages of &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1;
206
	    and &man.kbdcontrol.1;.  We will not expand on the details here,
206
	    and &man.kbdcontrol.1;.  We will not expand on the details here,
207
	    but the interested reader can always consult the manual pages for
207
	    but the interested reader can always consult the manual pages for
Lines 211-223 Link Here
211
	<keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
211
	<keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
212
	<keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>, through
212
	<keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>, through
213
	<keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo> to switch
213
	<keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo> to switch
214
	to a different virtual console in FreeBSD.</para>
214
	to a different virtual console in &os;.</para>
215
215
216
      <para>As you are switching from one console to the next, FreeBSD takes
216
      <para>As you are switching from one console to the next, &os; takes
217
	care of saving and restoring the screen output.  The result is an
217
	care of saving and restoring the screen output.  The result is an
218
	<quote>illusion</quote> of having multiple <quote>virtual</quote>
218
	<quote>illusion</quote> of having multiple <quote>virtual</quote>
219
	screens and keyboards that you can use to type commands for
219
	screens and keyboards that you can use to type commands for
220
	FreeBSD to run.  The programs that you launch on one virtual console
220
	&os; to run.  The programs that you launch on one virtual console
221
	do not stop running when that console is not visible.  They continue
221
	do not stop running when that console is not visible.  They continue
222
	running when you have switched to a different virtual console.</para>
222
	running when you have switched to a different virtual console.</para>
223
    </sect2>
223
    </sect2>
Lines 225-231 Link Here
225
    <sect2 id="consoles-ttys">
225
    <sect2 id="consoles-ttys">
226
      <title>The <filename>/etc/ttys</filename> File</title>
226
      <title>The <filename>/etc/ttys</filename> File</title>
227
227
228
      <para>The default configuration of FreeBSD will start up with eight
228
      <para>The default configuration of &os; will start up with eight
229
        virtual consoles.  This is not a hardwired setting though, and
229
        virtual consoles.  This is not a hardwired setting though, and
230
        you can easily customize your installation to boot with more
230
        you can easily customize your installation to boot with more
231
        or fewer virtual consoles.  The number and settings of the
231
        or fewer virtual consoles.  The number and settings of the
Lines 233-242 Link Here
233
        <filename>/etc/ttys</filename> file.</para>
233
        <filename>/etc/ttys</filename> file.</para>
234
234
235
      <para>You can use the <filename>/etc/ttys</filename> file to configure
235
      <para>You can use the <filename>/etc/ttys</filename> file to configure
236
	the virtual consoles of FreeBSD.  Each uncommented line in this file
236
	the virtual consoles of &os;.  Each uncommented line in this file
237
	(lines that do not start with a <literal>#</literal> character) contains
237
	(lines that do not start with a <literal>#</literal> character) contains
238
	settings for a single terminal or virtual console.  The default
238
	settings for a single terminal or virtual console.  The default
239
	version of this file that ships with FreeBSD configures nine virtual
239
	version of this file that ships with &os; configures nine virtual
240
	consoles, and enables eight of them.  They are the lines that start with
240
	consoles, and enables eight of them.  They are the lines that start with
241
	<literal>ttyv</literal>:</para>
241
	<literal>ttyv</literal>:</para>
242
242
Lines 263-269 Link Here
263
263
264
      <para>A detailed description of what <quote>single user mode</quote> is
264
      <para>A detailed description of what <quote>single user mode</quote> is
265
	can be found in <xref linkend="boot-singleuser">.  It is worth noting
265
	can be found in <xref linkend="boot-singleuser">.  It is worth noting
266
	that there is only one console when you are running FreeBSD in single
266
	that there is only one console when you are running &os; in single
267
	user mode.  There are no virtual consoles available.  The settings of
267
	user mode.  There are no virtual consoles available.  The settings of
268
	the single user mode console can also be found in the
268
	the single user mode console can also be found in the
269
	<filename>/etc/ttys</filename> file.  Look for the line that starts
269
	<filename>/etc/ttys</filename> file.  Look for the line that starts
Lines 278-284 Link Here
278
      <note>
278
      <note>
279
        <para>As the comments above the <literal>console</literal> line
279
        <para>As the comments above the <literal>console</literal> line
280
	  indicate, you can edit this line and change <literal>secure</literal> to
280
	  indicate, you can edit this line and change <literal>secure</literal> to
281
	  <literal>insecure</literal>.  If you do that, when FreeBSD boots
281
	  <literal>insecure</literal>.  If you do that, when &os; boots
282
	  into single user mode, it will still ask for the
282
	  into single user mode, it will still ask for the
283
	  <username>root</username> password.</para>
283
	  <username>root</username> password.</para>
284
284
Lines 286-292 Link Here
286
	  <literal>insecure</literal></emphasis>.  If you ever forget
286
	  <literal>insecure</literal></emphasis>.  If you ever forget
287
	  the <username>root</username> password, booting into single user
287
	  the <username>root</username> password, booting into single user
288
	  mode is a bit involved.  It is still possible, but it might be a bit
288
	  mode is a bit involved.  It is still possible, but it might be a bit
289
	  hard for someone who is not very comfortable with the FreeBSD
289
	  hard for someone who is not very comfortable with the &os;
290
	  booting process and the programs involved.</para>
290
	  booting process and the programs involved.</para>
291
      </note>
291
      </note>
292
    </sect2>
292
    </sect2>
Lines 294-300 Link Here
294
    <sect2 id="consoles-vidcontrol">
294
    <sect2 id="consoles-vidcontrol">
295
      <title>Changing Console Video Modes</title>
295
      <title>Changing Console Video Modes</title>
296
296
297
      <para>The FreeBSD console default video mode may be adjusted to
297
      <para>The &os; console default video mode may be adjusted to
298
	1024x768, 1280x1024, or any other size supported by your
298
	1024x768, 1280x1024, or any other size supported by your
299
	graphics chip and monitor.  To use a different video mode, you
299
	graphics chip and monitor.  To use a different video mode, you
300
	first must recompile your kernel and include two additional
300
	first must recompile your kernel and include two additional
Lines 328-336 Link Here
328
    <title>Permissions</title>
328
    <title>Permissions</title>
329
    <indexterm><primary>UNIX</primary></indexterm>
329
    <indexterm><primary>UNIX</primary></indexterm>
330
330
331
    <para>FreeBSD, being a direct descendant of BSD &unix;, is based on
331
    <para>&os;, being a direct descendant of BSD &unix;, is based on
332
      several key &unix; concepts.  The first and
332
      several key &unix; concepts.  The first and
333
      most pronounced is that FreeBSD is a multi-user operating system.
333
      most pronounced is that &os; is a multi-user operating system.
334
      The system can handle several users all working simultaneously on
334
      The system can handle several users all working simultaneously on
335
      completely unrelated tasks.  The system is responsible for properly
335
      completely unrelated tasks.  The system is responsible for properly
336
      sharing and managing requests for hardware devices, peripherals,
336
      sharing and managing requests for hardware devices, peripherals,
Lines 450-456 Link Here
450
      of the file's permission.</para>
450
      of the file's permission.</para>
451
451
452
    <para>This is all well and good, but how does the system control
452
    <para>This is all well and good, but how does the system control
453
      permissions on devices? FreeBSD actually treats most hardware
453
      permissions on devices? &os; actually treats most hardware
454
      devices as a file that programs can open, read, and write data to
454
      devices as a file that programs can open, read, and write data to
455
      just like any other file.  These special device files are stored on
455
      just like any other file.  These special device files are stored on
456
      the <filename>/dev</filename> directory.</para>
456
      the <filename>/dev</filename> directory.</para>
Lines 798-804 Link Here
798
    <title>Directory Structure</title>
798
    <title>Directory Structure</title>
799
    <indexterm><primary>directory hierarchy</primary></indexterm>
799
    <indexterm><primary>directory hierarchy</primary></indexterm>
800
800
801
    <para>The FreeBSD directory hierarchy is fundamental to obtaining
801
    <para>The &os; directory hierarchy is fundamental to obtaining
802
      an overall understanding of the system.  The most important
802
      an overall understanding of the system.  The most important
803
      concept to grasp is that of the root directory,
803
      concept to grasp is that of the root directory,
804
      <quote>/</quote>.  This directory is the first one mounted at
804
      <quote>/</quote>.  This directory is the first one mounted at
Lines 979-985 Link Here
979
	      class="directory">/usr/local/</filename></entry>
979
	      class="directory">/usr/local/</filename></entry>
980
980
981
	      <entry>Local executables, libraries, etc.  Also used as
981
	      <entry>Local executables, libraries, etc.  Also used as
982
	        the default destination for the FreeBSD ports
982
	        the default destination for the &os; ports
983
	        framework.  Within <filename>/usr/local</filename>,
983
	        framework.  Within <filename>/usr/local</filename>,
984
	        the general layout sketched out by &man.hier.7; for
984
	        the general layout sketched out by &man.hier.7; for
985
	        <filename>/usr</filename> should be used.  Exceptions
985
	        <filename>/usr</filename> should be used.  Exceptions
Lines 999-1005 Link Here
999
	    
999
	    
1000
	    <row>
1000
	    <row>
1001
	      <entry><filename class="directory">/usr/ports/</filename></entry>
1001
	      <entry><filename class="directory">/usr/ports/</filename></entry>
1002
	      <entry>The FreeBSD Ports Collection (optional).</entry>
1002
	      <entry>The &os; Ports Collection (optional).</entry>
1003
	    </row>
1003
	    </row>
1004
	    
1004
	    
1005
	    <row>
1005
	    <row>
Lines 1074-1083 Link Here
1074
  <sect1 id="disk-organization">
1074
  <sect1 id="disk-organization">
1075
      <title>Disk Organization</title>
1075
      <title>Disk Organization</title>
1076
1076
1077
      <para>The smallest unit of organization that FreeBSD uses to find files
1077
      <para>The smallest unit of organization that &os; uses to find files
1078
	is the filename.  Filenames are case-sensitive, which means that
1078
	is the filename.  Filenames are case-sensitive, which means that
1079
	<filename>readme.txt</filename> and <filename>README.TXT</filename>
1079
	<filename>readme.txt</filename> and <filename>README.TXT</filename>
1080
	are two separate files.  FreeBSD does not use the extension
1080
	are two separate files.  &os; does not use the extension
1081
	(<filename>.txt</filename>) of a file to determine whether the file is
1081
	(<filename>.txt</filename>) of a file to determine whether the file is
1082
	a program, or a document, or some other form of data.</para>
1082
	a program, or a document, or some other form of data.</para>
1083
1083
Lines 1106-1120 Link Here
1106
	<literal>\</literal> to separate file and directory names, while &macos;
1106
	<literal>\</literal> to separate file and directory names, while &macos;
1107
	uses <literal>:</literal>.</para>
1107
	uses <literal>:</literal>.</para>
1108
1108
1109
      <para>FreeBSD does not use drive letters, or other drive names in the
1109
      <para>&os; does not use drive letters, or other drive names in the
1110
	path.  You would not write <filename>c:/foo/bar/readme.txt</filename>
1110
	path.  You would not write <filename>c:/foo/bar/readme.txt</filename>
1111
	on FreeBSD.</para>
1111
	on &os;.</para>
1112
1112
1113
      <para>Instead, one file system is designated the <firstterm>root
1113
      <para>Instead, one file system is designated the <firstterm>root
1114
	  file system</firstterm>.  The root file system's root directory is
1114
	  file system</firstterm>.  The root file system's root directory is
1115
	referred to as <literal>/</literal>.  Every other file system is then
1115
	referred to as <literal>/</literal>.  Every other file system is then
1116
	<firstterm>mounted</firstterm> under the root file system.  No matter
1116
	<firstterm>mounted</firstterm> under the root file system.  No matter
1117
	how many disks you have on your FreeBSD system, every directory
1117
	how many disks you have on your &os; system, every directory
1118
	appears to be part of the same disk.</para>
1118
	appears to be part of the same disk.</para>
1119
1119
1120
      <para>Suppose you have three file systems, called <literal>A</literal>,
1120
      <para>Suppose you have three file systems, called <literal>A</literal>,
Lines 1255-1261 Link Here
1255
	identical, to the <command>join</command> command.</para>
1255
	identical, to the <command>join</command> command.</para>
1256
1256
1257
      <para>This is not normally something you need to concern yourself with.
1257
      <para>This is not normally something you need to concern yourself with.
1258
	Typically you create file systems when installing FreeBSD and decide
1258
	Typically you create file systems when installing &os; and decide
1259
	where to mount them, and then never change them unless you add a new
1259
	where to mount them, and then never change them unless you add a new
1260
	disk.</para>
1260
	disk.</para>
1261
1261
Lines 1280-1286 Link Here
1280
	</listitem>
1280
	</listitem>
1281
1281
1282
	<listitem>
1282
	<listitem>
1283
	  <para>FreeBSD automatically optimizes the layout of files on a
1283
	  <para>&os; automatically optimizes the layout of files on a
1284
	    file system, depending on how the file system is being used.  So a
1284
	    file system, depending on how the file system is being used.  So a
1285
	    file system that contains many small files that are written
1285
	    file system that contains many small files that are written
1286
	    frequently will have a different optimization to one that contains
1286
	    frequently will have a different optimization to one that contains
Lines 1289-1295 Link Here
1289
	</listitem>
1289
	</listitem>
1290
	
1290
	
1291
	<listitem>
1291
	<listitem>
1292
	  <para>FreeBSD's file systems are very robust should you lose power.
1292
	  <para>&os;'s file systems are very robust should you lose power.
1293
	    However, a power loss at a critical point could still damage the
1293
	    However, a power loss at a critical point could still damage the
1294
	    structure of the file system.  By splitting your data over multiple
1294
	    structure of the file system.  By splitting your data over multiple
1295
	    file systems it is more likely that the system will still come up,
1295
	    file systems it is more likely that the system will still come up,
Lines 1302-1314 Link Here
1302
1302
1303
	<listitem>
1303
	<listitem>
1304
	  <para>File systems are a fixed size.  If you create a file system when
1304
	  <para>File systems are a fixed size.  If you create a file system when
1305
	    you install FreeBSD and give it a specific size, you may later
1305
	    you install &os; and give it a specific size, you may later
1306
	    discover that you need to make the partition bigger.  This is not
1306
	    discover that you need to make the partition bigger.  This is not
1307
	    easily accomplished without backing up, recreating the file system
1307
	    easily accomplished without backing up, recreating the file system
1308
	    with the new size, and then restoring the backed up data.</para>
1308
	    with the new size, and then restoring the backed up data.</para>
1309
1309
1310
	  <important>
1310
	  <important>
1311
	    <para>FreeBSD features the &man.growfs.8;
1311
	    <para>&os; features the &man.growfs.8;
1312
	      command, which makes it possible to increase the size of 
1312
	      command, which makes it possible to increase the size of 
1313
	      file system on the fly, removing this limitation.</para>
1313
	      file system on the fly, removing this limitation.</para>
1314
	  </important>
1314
	  </important>
Lines 1324-1334 Link Here
1324
	typical mount point in the file system hierarchy, or the letter of the
1324
	typical mount point in the file system hierarchy, or the letter of the
1325
	partition they are contained in.</para>
1325
	partition they are contained in.</para>
1326
1326
1327
      <para>FreeBSD also uses disk space for <firstterm>swap
1327
      <para>&os; also uses disk space for <firstterm>swap
1328
	  space</firstterm>.  Swap space provides FreeBSD with
1328
	  space</firstterm>.  Swap space provides &os; with
1329
	<firstterm>virtual memory</firstterm>.  This allows your computer to
1329
	<firstterm>virtual memory</firstterm>.  This allows your computer to
1330
	behave as though it has much more memory than it actually does.  When
1330
	behave as though it has much more memory than it actually does.  When
1331
	FreeBSD runs out of memory it moves some of the data that is not
1331
	&os; runs out of memory it moves some of the data that is not
1332
	currently being used to the swap space, and moves it back in (moving
1332
	currently being used to the swap space, and moves it back in (moving
1333
	something else out) when it needs it.</para>
1333
	something else out) when it needs it.</para>
1334
1334
Lines 1383-1391 Link Here
1383
      </informaltable>
1383
      </informaltable>
1384
1384
1385
      <para>Each partition-that-contains-a-file-system is stored in what
1385
      <para>Each partition-that-contains-a-file-system is stored in what
1386
	FreeBSD calls a <firstterm>slice</firstterm>.  Slice is FreeBSD's term
1386
	&os; calls a <firstterm>slice</firstterm>.  Slice is &os;'s term
1387
	for what the common call partitions, and again, this is because of
1387
	for what the common call partitions, and again, this is because of
1388
	FreeBSD's &unix; background.  Slices are numbered, starting at 1,
1388
	&os;'s &unix; background.  Slices are numbered, starting at 1,
1389
	through to 4.</para>
1389
	through to 4.</para>
1390
1390
1391
	<indexterm><primary>slices</primary></indexterm>
1391
	<indexterm><primary>slices</primary></indexterm>
Lines 1419-1425 Link Here
1419
	0.  Common codes that you will see are listed in 
1419
	0.  Common codes that you will see are listed in 
1420
	<xref linkend="basics-dev-codes">.</para>
1420
	<xref linkend="basics-dev-codes">.</para>
1421
1421
1422
      <para>When referring to a partition FreeBSD requires that you also name
1422
      <para>When referring to a partition &os; requires that you also name
1423
	the slice and disk that contains the partition, and when referring to
1423
	the slice and disk that contains the partition, and when referring to
1424
	a slice you must also refer to the disk name.
1424
	a slice you must also refer to the disk name.
1425
	Thus, you refer to a partition by listing
1425
	Thus, you refer to a partition by listing
Lines 1430-1438 Link Here
1430
      <para><xref linkend="basics-concept-disk-model"> shows a conceptual
1430
      <para><xref linkend="basics-concept-disk-model"> shows a conceptual
1431
	model of the disk layout that should help make things clearer.</para>
1431
	model of the disk layout that should help make things clearer.</para>
1432
1432
1433
      <para>In order to install FreeBSD you must first configure the disk
1433
      <para>In order to install &os; you must first configure the disk
1434
	slices, then create partitions within the slice you will use for
1434
	slices, then create partitions within the slice you will use for
1435
	FreeBSD, and then create a file system (or swap space) in each
1435
	&os;, and then create a file system (or swap space) in each
1436
	partition, and decide where that file system will be mounted.</para>
1436
	partition, and decide where that file system will be mounted.</para>
1437
1437
1438
      <table frame="none" pgwide="1" id="basics-dev-codes">
1438
      <table frame="none" pgwide="1" id="basics-dev-codes">
Lines 1524-1534 Link Here
1524
      <example id="basics-concept-disk-model">
1524
      <example id="basics-concept-disk-model">
1525
	<title>Conceptual Model of a Disk</title>
1525
	<title>Conceptual Model of a Disk</title>
1526
1526
1527
	<para>This diagram shows FreeBSD's view of the first IDE disk attached
1527
	<para>This diagram shows &os;'s view of the first IDE disk attached
1528
	  to the system.  Assume that the disk is 4&nbsp;GB in size, and contains
1528
	  to the system.  Assume that the disk is 4&nbsp;GB in size, and contains
1529
	  two 2&nbsp;GB slices (&ms-dos; partitions).  The first slice contains a &ms-dos;
1529
	  two 2&nbsp;GB slices (&ms-dos; partitions).  The first slice contains a &ms-dos;
1530
	  disk, <devicename>C:</devicename>, and the second slice contains a
1530
	  disk, <devicename>C:</devicename>, and the second slice contains a
1531
	  FreeBSD installation.  This example FreeBSD installation has three
1531
	  &os; installation.  This example &os; installation has three
1532
	  data partitions, and a swap partition.</para>
1532
	  data partitions, and a swap partition.</para>
1533
1533
1534
	<para>The three partitions will each hold a file system.  Partition
1534
	<para>The three partitions will each hold a file system.  Partition
Lines 1640-1646 Link Here
1640
	  <term><literal>fstype</literal></term>
1640
	  <term><literal>fstype</literal></term>
1641
            
1641
            
1642
	  <listitem><para>The file system type to pass to
1642
	  <listitem><para>The file system type to pass to
1643
		&man.mount.8;.  The default FreeBSD file system is
1643
		&man.mount.8;.  The default &os; file system is
1644
	      <literal>ufs</literal>.</para>
1644
	      <literal>ufs</literal>.</para>
1645
	  </listitem>
1645
	  </listitem>
1646
	</varlistentry>
1646
	</varlistentry>
Lines 1847-1853 Link Here
1847
  <sect1 id="basics-processes">
1847
  <sect1 id="basics-processes">
1848
    <title>Processes</title>
1848
    <title>Processes</title>
1849
1849
1850
    <para>FreeBSD is a multi-tasking operating system.  This means that it
1850
    <para>&os; is a multi-tasking operating system.  This means that it
1851
      seems as though more than one program is running at once.  Each program
1851
      seems as though more than one program is running at once.  Each program
1852
      running at any one time is called a <firstterm>process</firstterm>.
1852
      running at any one time is called a <firstterm>process</firstterm>.
1853
      Every command you run will start at least one new process, and there are
1853
      Every command you run will start at least one new process, and there are
Lines 1866-1872 Link Here
1866
      parent process.  The exception to this is a special process called
1866
      parent process.  The exception to this is a special process called
1867
      &man.init.8;.  <command>init</command> is always the first
1867
      &man.init.8;.  <command>init</command> is always the first
1868
      process, so its PID is always 1.  <command>init</command> is started
1868
      process, so its PID is always 1.  <command>init</command> is started
1869
      automatically by the kernel when FreeBSD starts.</para>
1869
      automatically by the kernel when &os; starts.</para>
1870
1870
1871
    <para>Two commands are particularly useful to see the processes on the
1871
    <para>Two commands are particularly useful to see the processes on the
1872
      system, &man.ps.1; and &man.top.1;.  The <command>ps</command> command is used to
1872
      system, &man.ps.1; and &man.top.1;.  The <command>ps</command> command is used to
Lines 2010-2018 Link Here
2010
      <username>root</username> user, who can send signals to everyone's
2010
      <username>root</username> user, who can send signals to everyone's
2011
      processes.</para>
2011
      processes.</para>
2012
2012
2013
    <para>FreeBSD will also send applications signals in some cases.  If an
2013
    <para>&os; will also send applications signals in some cases.  If an
2014
      application is badly written, and tries to access memory that it is not
2014
      application is badly written, and tries to access memory that it is not
2015
      supposed to, FreeBSD sends the process the <firstterm>Segmentation
2015
      supposed to, &os; sends the process the <firstterm>Segmentation
2016
	Violation</firstterm> signal (<literal>SIGSEGV</literal>).  If an
2016
	Violation</firstterm> signal (<literal>SIGSEGV</literal>).  If an
2017
      application has used the &man.alarm.3; system call to be alerted after a
2017
      application has used the &man.alarm.3; system call to be alerted after a
2018
      period of time has elapsed then it will be sent the Alarm signal
2018
      period of time has elapsed then it will be sent the Alarm signal
Lines 2030-2036 Link Here
2030
    <para><literal>SIGKILL</literal> can not be ignored by a process.  This is
2030
    <para><literal>SIGKILL</literal> can not be ignored by a process.  This is
2031
      the <quote>I do not care what you are doing, stop right now</quote>
2031
      the <quote>I do not care what you are doing, stop right now</quote>
2032
      signal.  If you send <literal>SIGKILL</literal> to a process then
2032
      signal.  If you send <literal>SIGKILL</literal> to a process then
2033
      FreeBSD will stop that process there and then<footnote>
2033
      &os; will stop that process there and then<footnote>
2034
	<para>Not quite true&mdash;there are a few things that can not be
2034
	<para>Not quite true&mdash;there are a few things that can not be
2035
	  interrupted.  For example, if the process is trying to read from a
2035
	  interrupted.  For example, if the process is trying to read from a
2036
	  file that is on another computer on the network, and the other
2036
	  file that is on another computer on the network, and the other
Lines 2141-2155 Link Here
2141
    <indexterm><primary>shells</primary></indexterm>
2141
    <indexterm><primary>shells</primary></indexterm>
2142
    <indexterm><primary>command line</primary></indexterm>
2142
    <indexterm><primary>command line</primary></indexterm>
2143
2143
2144
    <para>In FreeBSD, a lot of everyday work is done in a command line
2144
    <para>In &os;, a lot of everyday work is done in a command line
2145
      interface called a shell.  A shell's main job is to take commands
2145
      interface called a shell.  A shell's main job is to take commands
2146
      from the input channel and execute them.  A lot of shells also have
2146
      from the input channel and execute them.  A lot of shells also have
2147
      built in functions to help with everyday tasks such as file management,
2147
      built in functions to help with everyday tasks such as file management,
2148
      file globbing, command line editing, command macros, and environment
2148
      file globbing, command line editing, command macros, and environment
2149
      variables.  FreeBSD comes with a set of shells, such as 
2149
      variables.  &os; comes with a set of shells, such as 
2150
      <command>sh</command>, the Bourne Shell, and <command>tcsh</command>, 
2150
      <command>sh</command>, the Bourne Shell, and <command>tcsh</command>, 
2151
      the improved C-shell.  Many other shells are available
2151
      the improved C-shell.  Many other shells are available
2152
      from the FreeBSD Ports Collection, such as
2152
      from the &os; Ports Collection, such as
2153
      <command>zsh</command> and <command>bash</command>.</para>
2153
      <command>zsh</command> and <command>bash</command>.</para>
2154
2154
2155
    <para>Which shell do you use?  It is really a matter of taste.  If you
2155
    <para>Which shell do you use?  It is really a matter of taste.  If you
Lines 2235-2241 Link Here
2235
2235
2236
	  <row>
2236
	  <row>
2237
	    <entry><envar>OSTYPE</envar></entry>
2237
	    <entry><envar>OSTYPE</envar></entry>
2238
	    <entry>Type of operating system.  e.g., FreeBSD.</entry>
2238
	    <entry>Type of operating system.  e.g., &os;.</entry>
2239
	  </row>
2239
	  </row>
2240
2240
2241
	  <row>
2241
	  <row>
Lines 2349-2357 Link Here
2349
    <indexterm><primary>text editors</primary></indexterm>
2349
    <indexterm><primary>text editors</primary></indexterm>
2350
    <indexterm><primary>editors</primary></indexterm>
2350
    <indexterm><primary>editors</primary></indexterm>
2351
2351
2352
    <para>A lot of configuration in FreeBSD is done by editing text files.
2352
    <para>A lot of configuration in &os; is done by editing text files.
2353
      Because of this, it would be a good idea to become familiar
2353
      Because of this, it would be a good idea to become familiar
2354
      with a text editor.  FreeBSD comes with a few as part of the base
2354
      with a text editor.  &os; comes with a few as part of the base
2355
      system, and many more are available in the Ports Collection.</para>
2355
      system, and many more are available in the Ports Collection.</para>
2356
2356
2357
    <indexterm>
2357
    <indexterm>
Lines 2391-2400 Link Here
2391
      <primary>editors</primary>
2391
      <primary>editors</primary>
2392
      <secondary><command>emacs</command></secondary>
2392
      <secondary><command>emacs</command></secondary>
2393
    </indexterm>
2393
    </indexterm>
2394
    <para>FreeBSD also comes with more powerful text editors such as
2394
    <para>&os; also comes with more powerful text editors such as
2395
      <application>vi</application> as part of the base system, while other editors, like
2395
      <application>vi</application> as part of the base system, while other editors, like
2396
      <application>Emacs</application> and <application>vim</application>,
2396
      <application>Emacs</application> and <application>vim</application>,
2397
      are part of the FreeBSD Ports Collection (<filename role="package">editors/emacs</filename> and <filename role="package">editors/vim</filename>).  These editors offer much
2397
      are part of the &os; Ports Collection (<filename role="package">editors/emacs</filename> and <filename role="package">editors/vim</filename>).  These editors offer much
2398
      more functionality and power at the expense of being a little more
2398
      more functionality and power at the expense of being a little more
2399
      complicated to learn.  However if you plan on doing a lot of text
2399
      complicated to learn.  However if you plan on doing a lot of text
2400
      editing, learning a more powerful editor such as
2400
      editing, learning a more powerful editor such as
Lines 2413-2420 Link Here
2413
2413
2414
    <para>A device is a term used mostly for hardware-related
2414
    <para>A device is a term used mostly for hardware-related
2415
      activities in a system, including disks, printers, graphics
2415
      activities in a system, including disks, printers, graphics
2416
      cards, and keyboards.  When FreeBSD boots, the majority
2416
      cards, and keyboards.  When &os; boots, the majority
2417
      of what FreeBSD displays are devices being detected.
2417
      of what &os; displays are devices being detected.
2418
      You can look through the boot messages again by viewing
2418
      You can look through the boot messages again by viewing
2419
      <filename>/var/run/dmesg.boot</filename>.</para>
2419
      <filename>/var/run/dmesg.boot</filename>.</para>
2420
2420
Lines 2485-2491 Link Here
2485
          has at least three ABIs: SVR4, Solaris, SCO) does it hold
2485
          has at least three ABIs: SVR4, Solaris, SCO) does it hold
2486
          true.</para>
2486
          true.</para>
2487
2487
2488
        <para>FreeBSD tries to work around this problem somewhat by
2488
        <para>&os; tries to work around this problem somewhat by
2489
          providing a utility for <emphasis>branding</emphasis> a
2489
          providing a utility for <emphasis>branding</emphasis> a
2490
          known <acronym>ELF</acronym> executable with information
2490
          known <acronym>ELF</acronym> executable with information
2491
          about the ABI it is compliant with.  See the manual page for
2491
          about the ABI it is compliant with.  See the manual page for
Lines 2493-2504 Link Here
2493
      </listitem>
2493
      </listitem>
2494
    </itemizedlist>
2494
    </itemizedlist>
2495
2495
2496
    <para>FreeBSD comes from the <quote>classic</quote> camp and used
2496
    <para>&os; comes from the <quote>classic</quote> camp and used
2497
      the &man.a.out.5; format, a technology tried and proven through
2497
      the &man.a.out.5; format, a technology tried and proven through
2498
      many generations of BSD releases, until the beginning of the 3.X
2498
      many generations of BSD releases, until the beginning of the 3.X
2499
      branch. Though it was possible to build and run native
2499
      branch. Though it was possible to build and run native
2500
      <acronym>ELF</acronym> binaries (and kernels) on a FreeBSD
2500
      <acronym>ELF</acronym> binaries (and kernels) on a &os;
2501
      system for some time before that, FreeBSD initially resisted the
2501
      system for some time before that, &os; initially resisted the
2502
      <quote>push</quote> to switch to <acronym>ELF</acronym> as the
2502
      <quote>push</quote> to switch to <acronym>ELF</acronym> as the
2503
      default format. Why?  Well, when the Linux camp made their
2503
      default format. Why?  Well, when the Linux camp made their
2504
      painful transition to <acronym>ELF</acronym>, it was not so much
2504
      painful transition to <acronym>ELF</acronym>, it was not so much
Lines 2509-2515 Link Here
2509
      <acronym>ELF</acronym> tools available offered a solution to the
2509
      <acronym>ELF</acronym> tools available offered a solution to the
2510
      shared library problem and were generally seen as <quote>the way
2510
      shared library problem and were generally seen as <quote>the way
2511
      forward</quote> anyway, the migration cost was accepted as
2511
      forward</quote> anyway, the migration cost was accepted as
2512
      necessary and the transition made.  FreeBSD's shared library
2512
      necessary and the transition made.  &os;'s shared library
2513
      mechanism is based more closely on Sun's
2513
      mechanism is based more closely on Sun's
2514
      &sunos; style shared library mechanism
2514
      &sunos; style shared library mechanism
2515
      and, as such, is very easy to use.</para>
2515
      and, as such, is very easy to use.</para>
Lines 2558-2577 Link Here
2558
      <filename>a.out</filename> than it was to migrate to
2558
      <filename>a.out</filename> than it was to migrate to
2559
      <acronym>ELF</acronym>.</para>
2559
      <acronym>ELF</acronym>.</para>
2560
2560
2561
    <para>However, as time passed, the build tools that FreeBSD
2561
    <para>However, as time passed, the build tools that &os;
2562
      derived their build tools from (the assembler and loader
2562
      derived their build tools from (the assembler and loader
2563
      especially) evolved in two parallel trees. The FreeBSD tree
2563
      especially) evolved in two parallel trees. The &os; tree
2564
      added shared libraries and fixed some bugs. The GNU folks that
2564
      added shared libraries and fixed some bugs. The GNU folks that
2565
      originally wrote these programs rewrote them and added simpler
2565
      originally wrote these programs rewrote them and added simpler
2566
      support for building cross compilers, plugging in different
2566
      support for building cross compilers, plugging in different
2567
      formats at will, and so on. Since many people wanted to build cross
2567
      formats at will, and so on. Since many people wanted to build cross
2568
      compilers targeting FreeBSD, they were out of luck since the
2568
      compilers targeting &os;, they were out of luck since the
2569
      older sources that FreeBSD had for <application>as</application> and <application>ld</application> were not up to the
2569
      older sources that &os; had for <application>as</application> and <application>ld</application> were not up to the
2570
      task. The new GNU tools chain (<application>binutils</application>) does support cross
2570
      task. The new GNU tools chain (<application>binutils</application>) does support cross
2571
      compiling, <acronym>ELF</acronym>, shared libraries, C++
2571
      compiling, <acronym>ELF</acronym>, shared libraries, C++
2572
      extensions, etc. In addition, many vendors are releasing
2572
      extensions, etc. In addition, many vendors are releasing
2573
      <acronym>ELF</acronym> binaries, and it is a good thing for
2573
      <acronym>ELF</acronym> binaries, and it is a good thing for
2574
      FreeBSD to run them.</para>
2574
      &os; to run them.</para>
2575
2575
2576
    <para><acronym>ELF</acronym> is more expressive than <filename>a.out</filename> and
2576
    <para><acronym>ELF</acronym> is more expressive than <filename>a.out</filename> and
2577
      allows more extensibility in the base system. The
2577
      allows more extensibility in the base system. The
Lines 2594-2600 Link Here
2594
      <title>Manual Pages</title>
2594
      <title>Manual Pages</title>
2595
      <indexterm><primary>manual pages</primary></indexterm>
2595
      <indexterm><primary>manual pages</primary></indexterm>
2596
2596
2597
      <para>The most comprehensive documentation on FreeBSD is in the form
2597
      <para>The most comprehensive documentation on &os; is in the form
2598
	of manual pages. Nearly every program on the system comes with a
2598
	of manual pages. Nearly every program on the system comes with a
2599
	short reference manual explaining the basic operation and various
2599
	short reference manual explaining the basic operation and various
2600
	arguments. These manuals can be viewed with the <command>man</command> command.  Use
2600
	arguments. These manuals can be viewed with the <command>man</command> command.  Use
Lines 2696-2702 Link Here
2696
      <title>GNU Info Files</title>
2696
      <title>GNU Info Files</title>
2697
      <indexterm><primary>Free Software Foundation</primary></indexterm>
2697
      <indexterm><primary>Free Software Foundation</primary></indexterm>
2698
2698
2699
      <para>FreeBSD includes many applications and utilities produced by
2699
      <para>&os; includes many applications and utilities produced by
2700
	the Free Software Foundation (FSF).  In addition to manual pages,
2700
	the Free Software Foundation (FSF).  In addition to manual pages,
2701
	these programs come with more extensive hypertext documents called
2701
	these programs come with more extensive hypertext documents called
2702
	<literal>info</literal> files which can be viewed with the
2702
	<literal>info</literal> files which can be viewed with the

Return to bug 149447