[deployment-guide/comm-rel: 33/74] Added chapter introduction.
by dsilas
commit e0ff33de382f683b0a419dff4f8cb478cec88bb3
Author: Jaromir Hradilek <jhradile(a)redhat.com>
Date: Thu Jun 24 18:35:21 2010 +0200
Added chapter introduction.
I have also extended the introduction of the first section to improve
the readability.
en-US/Keyboard_Configuration.xml | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/en-US/Keyboard_Configuration.xml b/en-US/Keyboard_Configuration.xml
index 24a4916..b9e90ab 100644
--- a/en-US/Keyboard_Configuration.xml
+++ b/en-US/Keyboard_Configuration.xml
@@ -3,9 +3,15 @@
]>
<chapter id="ch-Keyboard_Configuration">
<title>Keyboard Configuration</title>
+ <para>
+ This chapter describes how to change the keyboard layout, as well as how to add the <application>Keyboard Indicator</application> applet to the panel. It also covers the option to enforce a typing break, and explains both advantages and disadvantages of doing so.
+ </para>
<section id="s1-keyboard-layout">
<title>Changing the Keyboard Layout</title>
<para>
+ The installation program allowed you to configure a keyboard layout for your system. However, the default settings may not always suit your current needs. To configure a different keyboard layout after the installation, use the <application>Keyboard Preferences</application> tool.
+ </para>
+ <para>
To open <application>Keyboard Layout Preferences</application>, select <menuchoice><guimenu>System</guimenu><guisubmenu>Preferences</guisubmenu><guimenuitem>Keyboard</guimenuitem></menuchoice> from the panel, and click the <guilabel>Layouts</guilabel> tab.
</para>
<figure id="fig-keyboard-layouts-layout">
13 years, 11 months
[deployment-guide/comm-rel: 32/74] Merge branch 'master' of git+ssh://git.engineering.redhat.com/srv/git/users/dhensley/Deployment_Guid
by dsilas
commit 9a7201f308ccb843ce24d99c55b7dc0850ca5899
Merge: bc572e7... e1a3166...
Author: Jaromir Hradilek <jhradile(a)redhat.com>
Date: Thu Jun 24 17:57:39 2010 +0200
Merge branch 'master' of git+ssh://git.engineering.redhat.com/srv/git/users/dhensley/Deployment_Guide
en-US/Authentication_Configuration.xml | 280 ++-
en-US/Deployment_Guide.xml | 4 +
en-US/Email.xml | 4 +-
en-US/PackageKit.xml | 87 +-
en-US/RPM.xml | 93 +-
en-US/The_proc_File_System.xml | 5236 +++++++++++++++++++++++++
en-US/Users_and_Groups.xml | 519 ++--
en-US/Yum.xml | 4 +-
en-US/images/Users_Groups-Create_New_User.png | Bin 35507 -> 129307 bytes
en-US/images/Users_Groups-User_Manager.png | Bin 26023 -> 44516 bytes
en-US/images/group-new.png | Bin 3111 -> 43377 bytes
en-US/images/group-properties.png | Bin 2991 -> 66401 bytes
en-US/images/user-properties.png | Bin 14297 -> 70120 bytes
13 files changed, 5899 insertions(+), 328 deletions(-)
---
13 years, 11 months
[deployment-guide/comm-rel: 31/74] Wrote the Changing the Keyboard Layout section.
by dsilas
commit bc572e716fe5c2c20c84a187e880702ed05102a6
Author: Jaromir Hradilek <jhradile(a)redhat.com>
Date: Thu Jun 24 17:55:28 2010 +0200
Wrote the Changing the Keyboard Layout section.
en-US/Keyboard_Configuration.xml | 46 +++++++++++++++----
.../keyboard-configuration-layouts-default.png | Bin 0 -> 3446 bytes
2 files changed, 36 insertions(+), 10 deletions(-)
---
diff --git a/en-US/Keyboard_Configuration.xml b/en-US/Keyboard_Configuration.xml
index 826f0d7..24a4916 100644
--- a/en-US/Keyboard_Configuration.xml
+++ b/en-US/Keyboard_Configuration.xml
@@ -5,6 +5,9 @@
<title>Keyboard Configuration</title>
<section id="s1-keyboard-layout">
<title>Changing the Keyboard Layout</title>
+ <para>
+ To open <application>Keyboard Layout Preferences</application>, select <menuchoice><guimenu>System</guimenu><guisubmenu>Preferences</guisubmenu><guimenuitem>Keyboard</guimenuitem></menuchoice> from the panel, and click the <guilabel>Layouts</guilabel> tab.
+ </para>
<figure id="fig-keyboard-layouts-layout">
<title>Keybord Layout Preferences</title>
<mediaobject>
@@ -16,6 +19,9 @@
</textobject>
</mediaobject>
</figure>
+ <para>
+ You will be presented with a list of available layouts. To add a new one, click the <guibutton>Add...</guibutton> button below the list, and you will be prompted to chose which layout you want to add.
+ </para>
<figure id="fig-keyboard-layouts-layout-new">
<title>Choosing a layout</title>
<mediaobject>
@@ -27,6 +33,23 @@
</textobject>
</mediaobject>
</figure>
+ <para>
+ Currently, there are two ways how to chose the keyboard layout: you can either find it by the country it is associated with (the <guilabel>By country</guilabel> tab), or you can select it by the language (the <guilabel>By language</guilabel> tab). In either case, first select the desired country or language from the <guilabel>Country</guilabel> or <guilabel>Language</guilabel> pulldown menu, then specify the variant from the <guilabel>Variants</guilabel> menu. The preview of the layout changes imediately. To confirm the selection, click <guibutton>Add</guibutton>.
+ </para>
+ <figure id="fig-keyboard-layouts-default">
+ <title>Selecting the default layout</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/keyboard-configuration-layouts-default.png" format="PNG" scalefit="1" />
+ </imageobject>
+ <textobject>
+ <para>Selecting the default layout</para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ <para>
+ Finally, to make the new layout the default, select the radio button next to its name. The changes take effect immediately. Note that there is a text-entry field at the bottom of the window where you can safely test your settings. Once you are satisfied, click <guibutton>Close</guibutton> to close the window.
+ </para>
<figure id="fig-keyboard-layouts-layout-test">
<title>Testing the layout</title>
<mediaobject>
@@ -38,28 +61,31 @@
</textobject>
</mediaobject>
</figure>
- <figure id="fig-keyboard-layouts-layout-separate">
- <title>Disabling separate layout for each window</title>
+ <note>
+ <title>Suggestion: Disable Separate Layout for Each Window</title>
+ <para>
+ By default, changing the keyboard layout affects the active window only. This means that if you change the layout and switch to another window, this window will use the old one, which might be confusing. To turn this unfortunate behavior off, unselect the <guilabel>Separate layout for each window</guilabel> checkbox.
+ </para>
<mediaobject>
<imageobject>
- <imagedata fileref="images/keyboard-configuration-layouts-separate.png" format="PNG" scalefit="1" />
+ <imagedata fileref="images/keyboard-configuration-layouts-separate.png" align="center" format="PNG" scalefit="1" />
</imageobject>
<textobject>
<para>Disabling separate layout for each window</para>
</textobject>
</mediaobject>
- </figure>
- <figure id="fig-keyboard-layouts-layout-prioritize">
- <title>Changing the order of layouts</title>
+ <para>
+ Doing this has its drawbacks though, as you will no longer be able to chose the default layout by selecting the radio buton as shown in <xref linkend="fig-keyboard-layouts-default" />. To make the layout the default, simply drag it at the beginning of the list.
+ </para>
<mediaobject>
<imageobject>
- <imagedata fileref="images/keyboard-configuration-layouts-prioritize.png" format="PNG" scalefit="1" />
+ <imagedata fileref="images/keyboard-configuration-layouts-prioritize.png" align="center" format="PNG" scalefit="1" />
</imageobject>
<textobject>
<para>Changing the order of layouts</para>
</textobject>
</mediaobject>
- </figure>
+ </note>
</section>
<section id="s1-keyboard-indicator">
<title>Adding the Keyboard Layout Indicator</title>
@@ -109,7 +135,7 @@
<section id="s1-keyboard-break">
<title>Setting Up a Typing Break</title>
<para>
- Typing for a long period of time can be not only tiresome, but it can also increase the risk of serious health problems, such as the carpal tunnel syndrome. One way of preventing this is to configure the system to enforce the typing break. Simply select <menuchoice><guimenu>System</guimenu><guisubmenu>Preferences</guisubmenu><guimenuitem>Keyboard</guimenuitem></menuchoice> from the panel, click the <guilabel>Typing Break</guilabel> tab, and check the <guilabel>Lock screen to enforce typing break</guilabel> box.
+ Typing for a long period of time can be not only tiresome, but it can also increase the risk of serious health problems, such as the carpal tunnel syndrome. One way of preventing this is to configure the system to enforce the typing break. Simply select <menuchoice><guimenu>System</guimenu><guisubmenu>Preferences</guisubmenu><guimenuitem>Keyboard</guimenuitem></menuchoice> from the panel, click the <guilabel>Typing Break</guilabel> tab, and select the <guilabel>Lock screen to enforce typing break</guilabel> check box.
</para>
<figure id="fig-keyboard-break">
<title>Typing Break Properties</title>
@@ -123,7 +149,7 @@
</mediaobject>
</figure>
<para>
- To increase or decrease the amount of time you want to be allowed to type before the break is enforced, click the up or down button next to the <guilabel>Work interval lasts</guilabel> label respectively. You can do the same with the <guilabel>Break interval lasts</guilabel> setting to alter the length of the break itself. Finally, check the <guilabel>Allow postponing of breaks</guilabel> if you want to be able to delay the break in case you need to finish the work. The changes take effect immediately.
+ To increase or decrease the amount of time you want to be allowed to type before the break is enforced, click the up or down button next to the <guilabel>Work interval lasts</guilabel> label respectively. You can do the same with the <guilabel>Break interval lasts</guilabel> setting to alter the length of the break itself. Finally, select the <guilabel>Allow postponing of breaks</guilabel> checkbox if you want to be able to delay the break in case you need to finish the work. The changes take effect immediately.
</para>
<figure id="fig-keyboard-break-take">
<title>Taking a break</title>
diff --git a/en-US/images/keyboard-configuration-layouts-default.png b/en-US/images/keyboard-configuration-layouts-default.png
new file mode 100644
index 0000000..87143db
Binary files /dev/null and b/en-US/images/keyboard-configuration-layouts-default.png differ
13 years, 11 months
[deployment-guide/comm-rel: 29/74] new changes to authconfig section and /etc/sysconfig/auth section
by dsilas
commit 1d6a7d136c86b5a753d8eaf4522d0ad2b894ad83
Author: Martin Prpic <mprpic(a)redhat.com>
Date: Thu Jun 24 17:30:29 2010 +0200
new changes to authconfig section and /etc/sysconfig/auth section
en-US/Authentication_Configuration.xml | 866 ++++++++++++++++++++++++++------
en-US/The_sysconfig_Directory.xml | 34 ++-
en-US/images/authconfig_LDAP_kerb.png | Bin 0 -> 52573 bytes
en-US/images/authconfig_advanced.png | Bin 0 -> 44688 bytes
4 files changed, 742 insertions(+), 158 deletions(-)
---
diff --git a/en-US/Authentication_Configuration.xml b/en-US/Authentication_Configuration.xml
index 6015c71..b71a216 100644
--- a/en-US/Authentication_Configuration.xml
+++ b/en-US/Authentication_Configuration.xml
@@ -14,10 +14,10 @@
<primary>authentication</primary>
</indexterm>
<para>When a user logs in to a &MAJOROS; system, the username and password combination must be verified, or <firstterm>authenticated</firstterm>, as a valid and active user. Sometimes the information to verify the user is located on the local system, and other times the system defers the authentication to a user database on a remote system.</para>
- <para>The <application>Authentication Configuration Tool</application> provides a graphical interface for configuring user information retrieval from LDAP, NIS, and Winbind user account databases. This tool also allows you to configure Kerberos to be used as the authentication protocol when using LDAP or NIS.</para>
+ <para>The <application>Authentication Configuration Tool</application> provides a graphical interface for configuring user information retrieval from <firstterm>Lightweight Directory Access Protocol</firstterm> (LDAP), <firstterm> Network Information Service</firstterm> (NIS), and <firstterm>Winbind</firstterm> user account databases. This tool also allows you to configure Kerberos to be used as the authentication protocol when using LDAP or NIS.</para>
<note>
<title>Note</title>
- <para>If you configured a medium or high security level during installation (or with the <application>Security Level Configuration Tool</application>), then the firewall will prevent NIS (Network Information Service) authentication. <remark>Is this still true?</remark>
+ <para>If you configured a medium or high security level during installation (or with the <application>Security Level Configuration Tool</application>), then the firewall will prevent NIS authentication. For more information about Firewalls, refer to section <citetitle pubwork="section">Firewalls</citetitle> of the <citetitle>Security Guide</citetitle> <!-- TBD6 : link to section 2.8. Firewalls in Security Guide -->
</para>
</note>
<indexterm significance="normal">
@@ -36,7 +36,7 @@
<application>Authentication Configuration Tool</application>
</see>
</indexterm>
- <para>To start the graphical version of the <application>Authentication Configuration Tool</application> from the desktop, select the System (on the panel) > <guimenuitem>Administration</guimenuitem> > <guimenuitem>Authentication</guimenuitem> or type the command <command>system-config-authentication</command> at a shell prompt (for example, in an <application>XTerm</application> or a <application>GNOME</application> terminal).</para>
+ <para>To start the graphical version of the <application>Authentication Configuration Tool</application> from the desktop, click <menuchoice><guimenu>System</guimenu> <guimenuitem>Administration</guimenuitem> <guimenuitem>Authentication</guimenuitem></menuchoice> or type the command <command>system-config-authentication</command> at a shell prompt (for example, in an <application>XTerm</application> or a <application>GNOME</application> terminal).</para>
<important>
<title>Important</title>
<para>After exiting the authentication program, any changes you made take effect immediately.</para>
@@ -46,6 +46,14 @@
<para>
The <guilabel>Identity & Authentication</guilabel> tab allows you to configure how users should be authenticated, and has several options for each method of authentication. To select which user account database should be used, select an option from the drop-down list.
</para>
+ <figure>
+ <title><guilabel>Identity & Authentication</guilabel>; changing the option in the <guilabel>User Account Database</guilabel> drop-down list changes the contents of the tab.</title>
+ <mediaobject id="mediaobj-authconfig_LDAP_kerb">
+ <imageobject>
+ <imagedata align="center" fileref="images/authconfig_LDAP_kerb.png" format="PNG" />
+ </imageobject>
+ </mediaobject>
+ </figure>
<para>
The following list explains what each option configures:
</para>
@@ -59,173 +67,188 @@
</listitem>
<listitem>
<para>
- <guilabel>LDAP Server</guilabel> — Specifies the IP address of the <systemitem class="service">LDAP</systemitem>server.
+ <guilabel>LDAP Server</guilabel> — Specifies the IP address of the <systemitem class="service">LDAP</systemitem> server.
</para>
</listitem>
<listitem>
<para>
- <guilabel>Use TLS to encrypt connections</guilabel> — When enabled, <systemitem class="protocol">Transport Layer Security</systemitem> will be used to encrypt passwords sent to the <systemitem class="service">LDAP</systemitem> server. The <guibutton>Download CA Certificate</guibutton> option allows you to specify a URL from which to download a valid <firstterm>CA (Certificate Authority) Certificate</firstterm>. A valid CA Certificate must be in PEM (Privacy Enhanced Mail) format.</para>
+ <guilabel>Use TLS to encrypt connections</guilabel> — When enabled, <systemitem class="protocol">Transport Layer Security</systemitem> (TLC) will be used to encrypt passwords sent to the <systemitem class="service">LDAP</systemitem> server. The <guibutton>Download CA Certificate</guibutton> option allows you to specify a URL from which to download a valid <firstterm>Certificate Authority certificate</firstterm> (CA). A valid CA certificate must be in the <firstterm>Privacy Enhanced Mail</firstterm> (PEM) format.</para>
<important>
<title>Important</title>
<para>
The <guilabel>Use TLS to encrypt connections</guilabel> option must not be ticked if an <systemitem class="protocol">ldaps://</systemitem> server address is specified in the <guilabel>LDAP Server</guilabel> field.
</para>
</important>
- <para>For more information about CA Certificates, refer to <citetitle pubwork="section">Section 22.8.2, "An Overview of Certificates and Security"</citetitle> in the <citetitle>Deployment Guide</citetitle><!--TBD6: link to the Section 22.8.2, “An Overview of Certificates and Security” section of the Deployment Guide -->.</para>
+ <para>For more information about CA Certificates, refer to <xref linkend="s2-secureserver-overview-certs"/>
+ </para>
</listitem>
</itemizedlist>
<para>The <filename>openldap-clients</filename> package must be installed for this option to work.</para>
- <para>For more information about LDAP, refer to <citetitle pubwork="chapter">Chapter 25, "Lightweight Directory Access Protocol (LDAP)"</citetitle> in the <citetitle>Deployment Guide</citetitle><!-- TBD6: link to the Chapter 25, "Lightweight Directory Access Protocol (LDAP)" chapter in DG. -->
+ <para>For more information about LDAP, refer to <xref linkend="ch-Lightweight_Directory_Access_Protocol_LDAP"/>
</para>
- <para>
+ <para>
LDAP provides the following methods of authentication:
</para>
- <itemizedlist>
- <listitem>
- <para>
- <guilabel>Kerberos password</guilabel> — This option enables Kerberos authentication. It contains the following specifications:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <guilabel>Kerberos password</guilabel> — This option enables Kerberos authentication. It contains the following specifications:
<itemizedlist>
<listitem>
<para>
<guilabel>Realm</guilabel> — Configures the realm for the Kerberos server. The realm is the network that uses Kerberos, composed of one or more KDCs and a potentially large number of clients.
</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>KDCs</guilabel> — Defines the Key Distribution Centers (KDC), which are servers that issue Kerberos tickets.
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>KDCs</guilabel> — Defines the Key Distribution Centers (KDC), which are servers that issue Kerberos tickets.
</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Admin Servers</guilabel> — Specifies the administration server(s) running <command>kadmind</command>.
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Admin Servers</guilabel> — Specifies the administration server(s) running <command>kadmind</command>.
</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
The <guimenu>Kerberos Settings</guimenu> dialog also allows you to use DNS to resolve hosts to realms and locate KDCs for realms.
</para>
- <para>
- The <filename>krb5-libs</filename> and <filename>krb5-workstation</filename> packages must be installed for this option to work. For more information about Kerberos, refer to <citetitle pubwork="section">Section 43.6, “Kerberos”</citetitle> in the <citetitle>Deployment Guide</citetitle><!-- TBD6: link to the Section 43.6, “Kerberos” section in DG -->.
+ <para>
+ The <filename>krb5-libs</filename> and <filename>krb5-workstation</filename> packages must be installed for this option to work. For more information about Kerberos, refer to section<citetitle pubwork="section"> "Kerberos"</citetitle> of the <citetitle>Security Guide</citetitle><!-- TBD6: link to the section "2.6. Kerberos" of the Security Guide -->.
</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>LDAP password</guilabel> — This option instructs standard PAM-enabled applications to use LDAP authentication with options specified in the User Account Configuration of LDAP. When using this option, you must provide an <systemitem class="protocol">ldaps://</systemitem> server address or use TLS for LDAP authentication.
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>LDAP password</guilabel> — This option instructs standard PAM-enabled applications to use LDAP authentication with options specified in the User Account Configuration of LDAP. When using this option, you must provide an <systemitem class="protocol">ldaps://</systemitem> server address or use TLS for LDAP authentication.
</para>
- </listitem>
- </itemizedlist>
-
- <bridgehead>NIS</bridgehead>
- <para>
- The <guilabel>NIS</guilabel> option configures the system to connect to an NIS server (as an NIS client) for user and password authentication. To configure this option, specify the NIS domain and NIS server. If the NIS server is not specified, the daemon attempts to find it via broadcast.
+ </listitem>
+ </itemizedlist>
+
+ <bridgehead>NIS</bridgehead>
+ <para>
+ The <guilabel>NIS</guilabel> option configures the system to connect to a NIS server (as an NIS client) for user and password authentication. To configure this option, specify the NIS domain and NIS server. If the NIS server is not specified, the daemon attempts to find it via broadcast.
</para>
- <para>The <package>ypbind</package> package must be installed for this option to work. If the NIS user account databse is used, the <systemitem class="daemon">portmap</systemitem> and <systemitem class="daemon">ypbind</systemitem> services are started and are also enabled to start at boot time.</para>
- <para>For more information about NIS, refer to <citetitle pubwork="section">"Section 43.2.3, Securing NIS"</citetitle> in the <citetitle>Deployment Guide</citetitle><!-- TBD6: link to Section 43.2.3, “Securing NIS” section of the DG -->.</para>
- <para>
+ <para>The <package>ypbind</package> package must be installed for this option to work. If the NIS user account databse is used, the <systemitem class="daemon">portmap</systemitem> and <systemitem class="daemon">ypbind</systemitem> services are started and are also enabled to start at boot time.</para>
+ <para>For more information about NIS, refer to section <citetitle pubwork="section">"Securing NIS"</citetitle> of the <citetitle>Security Guide</citetitle><!-- TBD6: link to Section 2.2.3., “Securing NIS” section of the Security Guide -->.</para>
+ <para>
NIS provides the following methods of authentication:
</para>
<itemizedlist>
<listitem>
<para>
- <guilabel>Kerberos password</guilabel> — This option enables Kerberos authentication. For more information about configuration of the Kerberos authentication method, refer to previous section on LDAP<!-- TBD6: link to the Kerberos password option in the previous section on LDAP -->
- </para>
- </listitem>
- <listitem>
- <para>
- <guilabel>NIS password</guilabel> — TODO <remark>How does NIS password authenticate? Does it store password info on the NIS server and access that?</remark>
- </para>
- </listitem>
- </itemizedlist>
-
- <bridgehead>Winbind</bridgehead>
- <para>The <guilabel>Winbind</guilabel> option configures the system to connect to a Windows Active Directory or a Windows domain controller. User information from the specified directory or domain controller can then be accessed, and server authentication options can be configured. It contains the following specifications:</para>
- <itemizedlist>
- <listitem>
- <para>
- <guilabel>Winbind Domain</guilabel> — Specifies the Windows Active Directory or domain controller to connect to.</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Security Model</guilabel> — Allows you to select a security model, which configures how clients should respond to Samba. The drop-down list allows you to select any of the following:
+ <guilabel>Kerberos password</guilabel> — This option enables Kerberos authentication. For more information about configuration of the Kerberos authentication method, refer to the previous section on LDAP.<!-- TBD6: link to the Kerberos password option in the previous section on LDAP -->
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>NIS password</guilabel> — This option enables NIS authentication. NIS can provide authentication information to outside processes to authenticate users.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <bridgehead>Winbind</bridgehead>
+ <para>The <guilabel>Winbind</guilabel> option configures the system to connect to a Windows Active Directory or a Windows domain controller. User information from the specified directory or domain controller can then be accessed, and server authentication options can be configured. It contains the following specifications:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <guilabel>Winbind Domain</guilabel> — Specifies the Windows Active Directory or domain controller to connect to.</para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Security Model</guilabel> — Allows you to select a security model, which configures how clients should respond to Samba. The drop-down list allows you to select any of the following:
<itemizedlist>
<listitem>
<para>
<guilabel>ads</guilabel> — This mode instructs Samba to act as a domain member in an Active Directory Server (ADS) realm. To operate in this mode, the <filename>krb5-server</filename> package must be installed, and Kerberos must be configured properly.</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>domain</guilabel> — In this mode, Samba will attempt to validate the username/password by authenticating it through a Windows NT Primary or Backup Domain Controller, similar to how a Windows NT Server would.</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>server</guilabel> — In this mode, Samba will attempt to validate the username/password by authenticating it through another SMB server (for example, a Windows NT Server). If the attempt fails, the <guilabel>user</guilabel> mode will take effect instead.</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>user</guilabel> — This is the default mode. With this level of security, a client must first log in with a valid username and password. Encrypted passwords can also be used in this security mode.</para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Winbind ADS Realm</guilabel> — When the <guilabel>ads</guilabel> Security Model is selected, this allows you to specify the ADS Realm the Samba server should act as a domain member of.</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Winbind Domain Controllers</guilabel> — Use this option to specify which domain controller <command>winbind</command> should use. For more information about domain controllers, please refer to <citetitle pubwork="section">Section 20.6.3, "Domain Controller"</citetitle>of the<citetitle>Deployment Guide</citetitle> <!-- TBD6: link to Section 20.6.3, “Domain Controller” section of the DG-->
- </para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Template Shell</guilabel> — When filling out the user information for a Windows NT user, the <command>winbindd</command> daemon uses the value chosen here to to specify the login shell for that user.</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Allow offline login</guilabel> — TODO <remark>What does this option do?</remark>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>domain</guilabel> — In this mode, Samba will attempt to validate the username/password by authenticating it through a Windows NT Primary or Backup Domain Controller, similar to how a Windows NT Server would.</para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>server</guilabel> — In this mode, Samba will attempt to validate the username/password by authenticating it through another SMB server (for example, a Windows NT Server). If the attempt fails, the <guilabel>user</guilabel> mode will take effect instead.</para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>user</guilabel> — This is the default mode. With this level of security, a client must first log in with a valid username and password. Encrypted passwords can also be used in this security mode.</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Winbind ADS Realm</guilabel> — When the <guilabel>ads</guilabel> Security Model is selected, this allows you to specify the ADS Realm the Samba server should act as a domain member of.</para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Winbind Domain Controllers</guilabel> — Use this option to specify which domain controller <command>winbind</command> should use. For more information about domain controllers, please refer to <xref linkend="s2-samba-domain-controller"/>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Template Shell</guilabel> — When filling out the user information for a Windows NT user, the <command>winbindd</command> daemon uses the value chosen here to to specify the login shell for that user.</para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Allow offline login</guilabel> — By checking this option, you allow authentication information to be stored in a local cache (provided by SSSD). This information is then used when a user attempts to authenticate while offline.
</para>
- </listitem>
- </itemizedlist>
-
+ </listitem>
+ </itemizedlist>
- <para>For more information about the <command>winbindd</command> service, refer to <citetitle pubwork="section">Section 20.2, "Samba Daemons and Related Services"</citetitle> in the <citetitle>Deployment Guide</citetitle>. <!--TBD6 : linke to section Section 20.2, “Samba Daemons and Related Services” in the DG -->
- </para>
- <para>
+
+ <para>For more information about the <command>winbindd</command> service, refer to <xref linkend="s1-samba-daemons"/>.
+ </para>
+ <para>
Winbind provides only one method of authentication, <guilabel>Winbind password</guilabel>. This method of authentication uses the options specified in the User Account Configuration of Winbind to connect to a Windows Active Directory or a Windows domain controller.
</para>
-
- </section>
- <section id="sect-The_Authentication_Configuration_Tool-Advanced_Options">
- <title>Advanced Options</title>
- <para>
- The Advanced Options tab allows you to configure the following:
- </para>
- <bridgehead>Local Authentication Options</bridgehead>
- <itemizedlist>
- <listitem>
- <para>
- <guilabel>Enable fingerprint reader support</guilabel> — By checking this option, you enable fingerprint authentication to log in by scanning your finger with the fingerprint reader.
+ <note>
+ <title>Note</title>
+ <para>
+ The SSSD service handles all the authentication procedures by default (except for Winbind). No user interaction is needed to set up the SSSD service with the <application>Authentication Configuration Tool</application>. For more information about the SSSD service, refer to <xref linkend="chap-SSSD_User_Guide-Introduction"/>
+ </para>
+ </note>
+
+ </section>
+ <section id="sect-The_Authentication_Configuration_Tool-Advanced_Options">
+ <title>Advanced Options</title>
+ <para>
+ This tab allows you to configure advanced options, as listed below.
+ </para>
+ <figure>
+ <title><guilabel>Advanced Options</guilabel></title>
+ <mediaobject id="mediaobj-authconfig_advanced">
+ <imageobject>
+ <imagedata align="center" fileref="images/authconfig_advanced.png" format="PNG" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <bridgehead>Local Authentication Options</bridgehead>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <guilabel>Enable fingerprint reader support</guilabel> — By checking this option, you enable fingerprint authentication to log in by scanning your finger with the fingerprint reader.
</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Enable local access control</guilabel> — When enabled, <filename>/etc/security/access.conf</filename> is consulted for authorization of a user.
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Enable local access control</guilabel> — When enabled, <filename>/etc/security/access.conf</filename> is consulted for authorization of a user.
</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Password Hashing Algorithm</guilabel> — This option lets you specify which hashing or cryptographic algorithm should be used to encrypt locally stored passwords.
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Password Hashing Algorithm</guilabel> — This option lets you specify which hashing or cryptographic algorithm should be used to encrypt locally stored passwords.
</para>
- </listitem>
- </itemizedlist>
- <bridgehead>Other Authentication Options</bridgehead>
- <para>
- <guilabel>Create home directories on the first login</guilabel> — When enabled, a home directory of a user is created automatically on his first login if it does not already exist.
+ </listitem>
+ </itemizedlist>
+ <bridgehead>Other Authentication Options</bridgehead>
+ <para>
+ <guilabel>Create home directories on the first login</guilabel> — When enabled, the user's home directory is automatically created when they log in if it does not already exist.
</para>
- <bridgehead>Smart Card Authentication Options</bridgehead>
- <para>
- <guilabel>Enable smart card support</guilabel> — This option enables smart card authentication. Smart card authentication allows you to log in using a certificate and a key associated with a smart card.
+ <bridgehead>Smart Card Authentication Options</bridgehead>
+ <para>
+ <guilabel>Enable smart card support</guilabel> — This option enables smart card authentication. Smart card authentication allows you to log in using a certificate and a key associated with a smart card.
</para>
<para>
When the <guilabel>Enable smart card support</guilabel> option is checked, the following options can be specified:
@@ -238,41 +261,574 @@
<para>
<guilabel>Ignore</guilabel> — The card removal is ignored and the system continues to function as normal.
</para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Lock</guilabel> — The current session is immediately locked.
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Lock</guilabel> — The current session is immediately locked.
</para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Require smart card login</guilabel> — Requires the user to login and authenticate with a smart card. It essentially disables any other type of password authentication. This option should not be selected until after you have successfully logged in using a smart card.
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Require smart card login</guilabel> — Requires the user to login and authenticate with a smart card. It essentially disables any other type of password authentication. This option should not be selected until after you have successfully logged in using a smart card.
</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- The <package>pam_pkcs11</package> and the <package>coolkey</package> packages must be installed for this option to work. For more information about smart cards, refer to <citetitle pubwork="section">section "4.1. Enabling Smart Card Login on Red Hat Enterprise Linux</citetitle>of the<citetitle>Managing Smart Cards with the Enterprise Security Client</citetitle> guide<!-- TBD6: link to: section "4.1. Enabling Smart Card Login on Red Hat Enterprise Linux" of the "Managing Smart Cards with the Enterprise Security Client" guide found on http://documentation-stage.bne.redhat.com/docs/en-US/Red_Hat_Enterprise_L... or section "2.3.2. Getting Started with your new Smart Card" of the "Security Guide" found on http://documentation-stage.bne.redhat.com/docs/en-US/Red_Hat_Enterprise_L...
y_Guide/#sect-Security_Guide-Single_Sign_on_SSO-->
-
- </para>
- </section>
- <section id="sect-The_Authentication_Configuration_Tool-Command_Line_Version">
- <title>Command Line Version</title>
- <para>
- The <application>Authentication Configuration Tool</application> can also be run as a command line tool with no interface. The command line version can be used in a configuration script or a kickstart script. The authentication options are summarized in <!--<xref linkend="tb-authconfig-cmd-line"/>-->.
+ </listitem>
+ </itemizedlist>
</para>
+ <para>
+ The <package>pam_pkcs11</package> and the <package>coolkey</package> packages must be installed for this option to work. For more information about smart cards, refer to <citetitle pubwork="section">section "Enabling Smart Card Login on Red Hat Enterprise Linux"</citetitle> of the <citetitle>Managing Smart Cards with the Enterprise Security Client</citetitle> guide. <!-- TBD6: link to: section "4.1. Enabling Smart Card Login on Red Hat Enterprise Linux" of the "Managing Smart Cards with the Enterprise Security Client" guide found on http://documentation-stage.bne.redhat.com/docs/en-US/Red_Hat_Enterprise_L... OR section "2.3.2. Getting Started with your new Smart Card" of the "Security Guide" found on http://documentation-stage.bne.redhat.com/docs/en-US/Red_Hat_Enterprise_L...
y_Guide/#sect-Security_Guide-Single_Sign_on_SSO-->
+
<note>
- <title>Tip</title>
- <para>These options can also be found in the <command>authconfig</command> man page or by typing <command>authconfig --help</command> at the shell prompt.</para>
+ <title>Note</title>
+ <para>
+ You can restore all of the options specified in the <application>Authentication Configuration Tool</application> to the previous configuration setup by clicking <guibutton>Revert</guibutton>.
+ </para>
</note>
- <remark>I have some questions about the commands listed under "authconfig --help". Is there a need for a "--enablemd5" option if the option "--passalgo=<descrypt|bigcrypt|md5|sha256|sha512>" chooses the algorithm to be used? Same goes for some commands that are not present in the new GUI, like "--enablesmbauth" (and all SMB related commands), "--enablehesiod" or "--enablewins". Are these features you can still use but are not present in the GUI? </remark>
-
- </section>
+
+ </para>
+ </section>
+ <section id="sect-The_Authentication_Configuration_Tool-Command_Line_Version">
+ <title>Command Line Version</title>
+ <para>
+ The <application>Authentication Configuration Tool</application> also supports a command line interface. The command line version can be used in a configuration script or a kickstart script. The authentication options are summarized in <xref linkend="tb-authconfig-cmd-line"/>.
+ </para>
+ <note>
+ <title>Tip</title>
+ <para>These options can also be found in the <command>authconfig</command> man page or by typing <command>authconfig --help</command> at the shell prompt.</para>
+ </note>
+
+ <table id="tb-authconfig-cmd-line">
+ <title>Command Line Options</title>
+ <tgroup cols="2">
+ <colspec colname="option" colnum="1" colwidth="15*"/>
+ <colspec colname="description" colnum="2" colwidth="10*"/>
+ <thead>
+ <row>
+ <entry>
+ Option
+ </entry>
+ <entry>
+ Description
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <command>--enableshadow, --useshadow</command>
+ </entry>
+ <entry>
+ Enable shadow passwords
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disableshadow</command>
+ </entry>
+ <entry>
+ Disable shadow passwords
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--passalgo=<replaceable><descrypt|bigcrypt|md5|sha256|sha512></replaceable></command>
+ </entry>
+ <entry>
+ Hash/crypt algorithm to be used
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablenis</command>
+ </entry>
+ <entry>
+ Enable NIS for user account configuration
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablenis</command>
+ </entry>
+ <entry>
+ Disable NIS for user account configuration
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--nisdomain=<replaceable><domain></replaceable>
+ </command>
+ </entry>
+ <entry>Specify an NIS domain</entry>
+ </row>
+ <row>
+ <entry>
+ <command>--nisserver=<replaceable><server></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Specify an NIS server
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enableldap</command>
+ </entry>
+ <entry>
+ Enable LDAP for user account configuration
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disableldap</command>
+ </entry>
+ <entry>
+ Disable LDAP for user account configuration
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enableldaptls</command>
+ </entry>
+ <entry>
+ Enable use of TLS with LDAP
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disableldaptls</command>
+ </entry>
+ <entry>
+ Disable use of TLS with LDAP
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enableldapauth</command>
+ </entry>
+ <entry>
+ Enable LDAP for authentication
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disableldapauth</command>
+ </entry>
+ <entry>
+ Disable LDAP for authentication
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--ldapserver=<replaceable><server></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Specify an LDAP server
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--ldapbasedn=<replaceable><dn></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Specify an LDAP base DN (Distinguished Name)
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--ldaploadcacert=<replaceable><URL></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Load a CA certificate from the specified URL
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablekrb5</command>
+ </entry>
+ <entry>
+ Enable Kerberos for authentication
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablekrb5</command>
+ </entry>
+ <entry>
+ Disable Kerberos for authentication
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--krb5kdc=<replaceable><server></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Specify Kerberos KDC server
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--krb5adminserver=<replaceable><server></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Specify Kerberos administration server
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--krb5realm=<replaceable><realm></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Specify Kerberos realm
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablekrb5kdcdns</command>
+ </entry>
+ <entry>
+ Enable use of DNS to find Kerberos KDCs
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablekrb5kdcdns</command>
+ </entry>
+ <entry>
+ Disable use of DNS to find Kerberos KDCs
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablekrb5realmdns</command>
+ </entry>
+ <entry>
+ Enable use of DNS to find Kerberos realms
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablekrb5realmdns</command>
+ </entry>
+ <entry>
+ Disable use of DNS to find Kerberos realms
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablewinbind</command>
+ </entry>
+ <entry>
+ Enable winbind for user account configuration
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablewinbind</command>
+ </entry>
+ <entry>
+ Disable winbind for user account configuration
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablewinbindauth</command>
+ </entry>
+ <entry>
+ Enable winbindauth for authentication
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablewinbindauth</command>
+ </entry>
+ <entry>
+ Disable winbindauth for authentication
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--winbindseparator=<replaceable><\></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Character used to separate the domain and user part of winbind usernames if <command>winbindusedefaultdomain</command> is not enabled
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--winbindtemplatehomedir=<replaceable></home/%D/%U></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Directory that winbind users have as their home
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--winbindtemplateprimarygroup=<replaceable><nobody></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Group that winbind users have as their primary group
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--winbindtemplateshell=<replaceable></bin/false></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Shell that winbind users have as their default login shell
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablewinbindusedefaultdomain</command>
+ </entry>
+ <entry>
+ Configures winbind to assume that users with no domain in their usernames are domain users
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablewinbindusedefaultdomain</command>
+ </entry>
+ <entry>
+ Configures winbind to assume that users with no domain in their usernames are not domain users
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--winbindjoin=<replaceable><Administrator></replaceable>
+ </command>
+ </entry>
+ <entry>
+ Joins the winbind domain or ADS realm as the specified administrator
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablewinbindoffline</command>
+ </entry>
+ <entry>
+ Configures winbind to allow offline login
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablewinbindoffline</command>
+ </entry>
+ <entry>
+ Configures winbind to prevent offline login
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <command>--enablecache</command>
+ </entry>
+ <entry>
+ Enable <command>nscd</command>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablecache</command>
+ </entry>
+ <entry>
+ Disable <command>nscd</command>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablelocauthorize</command>
+ </entry>
+ <entry>
+ Local authorization is sufficient for local users
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablelocauthorize</command>
+ </entry>
+ <entry>
+ Local users are also authorized through a remote service
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablepamaccess</command>
+ </entry>
+ <entry>
+ Check <filename>/etc/security/access.conf</filename> during account authorization
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablepamaccess</command>
+ </entry>
+ <entry>
+ Do not check <filename>/etc/security/access.conf</filename> during account authorization
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablemkhomedir</command>
+ </entry>
+ <entry>
+ Create a home directory for a user on the first login
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablemkhomedir</command>
+ </entry>
+ <entry>
+ Do not create a home directory for a user on the first login
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablesmartcard</command>
+ </entry>
+ <entry>
+ Enable authentication with a smart card
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablesmartcard</command>
+ </entry>
+ <entry>
+ Disable authentication with a smart card
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablerequiresmartcard</command>
+ </entry>
+ <entry>
+ Require smart card for authentication
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablerequiresmartcard</command>
+ </entry>
+ <entry>
+ Do not require smart card for authentication
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--smartcardmodule=<replaceable><module></replaceable></command>
+ </entry>
+ <entry>
+ Default smart card module to use
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--smartcardaction=<replaceable><0=Lock|1=Ignore></replaceable></command>
+ </entry>
+ <entry>
+ Action to be taken when smart card removal is detected
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--enablefingerprint</command>
+ </entry>
+ <entry>
+ Enable fingerprint authentication
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--disablefingerprint</command>
+ </entry>
+ <entry>
+ Disnable fingerprint authentication
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--nostart</command>
+ </entry>
+ <entry>
+ Do not start or stop the <command>portmap</command>, <command>ypbind</command>, or <command>nscd</command> services even if they are configured
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--test</command>
+ </entry>
+ <entry>
+ Do not update the configuration files, only print the new settings
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--update, --kickstart</command>
+ </entry>
+ <entry>
+ Opposite of <command>--test</command>, update configuration files with changed settings
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--updateall</command>
+ </entry>
+ <entry>
+ Update all configuration files
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--probe</command>
+ </entry>
+ <entry>
+ Probe and display network defaults
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--savebackup=<replaceable><name></replaceable></command>
+ </entry>
+ <entry>
+ Save a backup of all configuration files
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--restorebackup=<replaceable><name></replaceable></command>
+ </entry>
+ <entry>
+ Restore a backup of all configuration files
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>--restorelastbackup</command>
+ </entry>
+ <entry>
+ Restore the backup of configuration files saved before the previous configuration change
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
</section>
+ </section>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="SSSD.xml" />
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="SSSD.xml" />
+</chapter>
diff --git a/en-US/The_sysconfig_Directory.xml b/en-US/The_sysconfig_Directory.xml
index 0dc49c0..c289b25 100644
--- a/en-US/The_sysconfig_Directory.xml
+++ b/en-US/The_sysconfig_Directory.xml
@@ -64,17 +64,29 @@
<itemizedlist>
<listitem>
<para>
- <command>USEMD5=<replaceable><value></replaceable>
+ <command>PASSWORDALGORITHM=<replaceable><value></replaceable>
</command>, where <command><replaceable><value></replaceable>
</command> is one of the following:</para>
<itemizedlist>
<listitem>
<para>
- <command>yes</command> — MD5 is used for authentication.</para>
+ <command>descrypt</command> — DESCRYPT is used for authentication.</para>
</listitem>
<listitem>
<para>
- <command>no</command> — MD5 is not used for authentication.</para>
+ <command>bigcrypt</command> — BIGCRYPT is used for authentication.</para>
+ </listitem>
+ <listitem>
+ <para>
+ <command>md5</command> — MD5 is used for authentication.</para>
+ </listitem>
+ <listitem>
+ <para>
+ <command>sha256</command> — SHA256 is used for authentication.</para>
+ </listitem>
+ <listitem>
+ <para>
+ <command>sha512</command> — SHA512 is used for authentication.</para>
</listitem>
</itemizedlist>
</listitem>
@@ -110,6 +122,22 @@
</listitem>
</itemizedlist>
</listitem>
+ <listitem>
+ <para>
+ <command>FORCELEGACY=<replaceable><value></replaceable>
+ </command>, where <command><replaceable><value></replaceable>
+ </command> is one of the following:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <command>yes</command> — The implicit use of SSSD by the <application>Authentication Configuration Tool</application> is disabled.</para>
+ </listitem>
+ <listitem>
+ <para>
+ <command>no</command> — The implicit use of SSSD by the <application>Authentication Configuration Tool</application> is enabled.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
</itemizedlist>
</section>
<section
diff --git a/en-US/images/authconfig_LDAP_kerb.png b/en-US/images/authconfig_LDAP_kerb.png
new file mode 100644
index 0000000..0da191d
Binary files /dev/null and b/en-US/images/authconfig_LDAP_kerb.png differ
diff --git a/en-US/images/authconfig_advanced.png b/en-US/images/authconfig_advanced.png
new file mode 100644
index 0000000..1fa30ce
Binary files /dev/null and b/en-US/images/authconfig_advanced.png differ
13 years, 11 months
[deployment-guide/comm-rel: 28/74] Merge branch 'flo'
by dsilas
commit e1a31664836b79d2cfa53f695a743650413722c0
Merge: 5e463bb... a7a068a...
Author: Douglas Silas <dhensley(a)redhat.com>
Date: Thu Jun 24 16:22:37 2010 +0200
Merge branch 'flo'
en-US/Users_and_Groups.xml | 519 +++++++++++++------------
en-US/images/Users_Groups-Create_New_User.png | Bin 35507 -> 129307 bytes
en-US/images/Users_Groups-User_Manager.png | Bin 26023 -> 44516 bytes
en-US/images/group-new.png | Bin 3111 -> 43377 bytes
en-US/images/group-properties.png | Bin 2991 -> 66401 bytes
en-US/images/user-properties.png | Bin 14297 -> 70120 bytes
6 files changed, 277 insertions(+), 242 deletions(-)
---
13 years, 11 months
[deployment-guide/comm-rel: 27/74] ready for review
by dsilas
commit a7a068a4ca3232358d104ad39e9d0addc07be82e
Author: fnadge <fnadge(a)redhat.com>
Date: Thu Jun 24 16:13:04 2010 +0200
ready for review
en-US/Users_and_Groups.xml | 519 +++++++++++++------------
en-US/images/Users_Groups-Create_New_User.png | Bin 35507 -> 129307 bytes
en-US/images/Users_Groups-User_Manager.png | Bin 26023 -> 44516 bytes
en-US/images/group-new.png | Bin 3111 -> 43377 bytes
en-US/images/group-properties.png | Bin 2991 -> 66401 bytes
en-US/images/user-properties.png | Bin 14297 -> 70120 bytes
6 files changed, 277 insertions(+), 242 deletions(-)
---
diff --git a/en-US/Users_and_Groups.xml b/en-US/Users_and_Groups.xml
index 753e83e..ac0aa63 100644
--- a/en-US/Users_and_Groups.xml
+++ b/en-US/Users_and_Groups.xml
@@ -105,7 +105,7 @@
</indexterm>
<para>To view a list of local users on the system, click the <guilabel>Users</guilabel> tab. To view a list of local groups on the system, click the <guilabel>Groups</guilabel> tab.</para>
<para>To find a specific user or group, type the first few letters of the name in the <guilabel>Search filter</guilabel> field. Press <keycap>Enter</keycap> or click the <guibutton>Apply filter</guibutton> button. The filtered list is displayed.</para>
- <para>To sort the users or groups, click on the column name. The users or groups are sorted according to the value of that column.</para>
+ <para>To sort the users or groups, click on the column User Name or Group Name. The users or groups are sorted according to the value of that column.</para>
<para>&MAJOROS; reserves user IDs below 500 for system users. By default, the <application>User Manager</application> does not display system users. To view all users, including the system users, go to <guimenuitem>Edit</guimenuitem> > <guimenuitem>Preferences</guimenuitem> and uncheck <guimenuitem>Hide system users and groups</guimenuitem> from the dialog box.</para>
<section
id="s2-redhat-config-users-user-new">
@@ -121,7 +121,7 @@
<title>Tip</title>
<para>It is advisable to use a much longer password, as this makes it more difficult for an intruder to guess it and access the account without permission. It is also recommended that the password not be based on a dictionary term; use a combination of letters, numbers and special characters.</para>
</note>
- <para>Select a login shell. If you are not sure which shell to select, accept the default value of <computeroutput>/bin/bash</computeroutput>. The default home directory is <filename>/home/<replaceable><username></replaceable>/</filename>. You can change the home directory that is created for the user, or you can choose not to create the home directory by unselecting <guilabel>Create home directory</guilabel>.</para>
+ <para>Select a login shell from the pulldown list. If you are not sure which shell to select, accept the default value of <computeroutput>/bin/bash</computeroutput>. The default home directory is <filename>/home/<replaceable><username></replaceable>/</filename>. You can change the home directory that is created for the user, or you can choose not to create the home directory by unselecting <guilabel>Create home directory</guilabel>.</para>
<para>If you select to create the home directory, default configuration files are copied from the <filename>/etc/skel/</filename> directory into the new home directory.</para>
<para>&MAJOROS; uses a <firstterm>user private group</firstterm> (UPG) scheme. The UPG scheme does not add or change anything in the standard UNIX way of handling groups; it offers a new convention. Whenever you create a new user, by default, a unique group with the same name as the user is created. If you do not want to create this group, unselect <guilabel>Create a private group for the user</guilabel>.</para>
<para>To specify a user ID for the user, select <guibutton>Specify user ID manually</guibutton>. If the option is not selected, the next available user ID above 500 is assigned to the new user. Because &MAJOROS; reserves user IDs below 500 for system users, it is not advisable to manually assign user IDs 1-499.</para>
@@ -560,271 +560,306 @@
</tgroup>
</table>
</section>
- <section
- id="s2-groups-add">
- <title>Adding a Group</title>
- <indexterm
- significance="normal">
- <primary>group configuration</primary>
- <secondary>
- <command>groupadd</command>
- </secondary>
- </indexterm>
- <indexterm
- significance="normal">
- <primary>adding</primary>
- <secondary>group</secondary>
- </indexterm>
- <para>To add a group to the system, use the command <command>groupadd</command>:</para>
- <screen>
-<command>groupadd <replaceable><group-name></replaceable>
- </command>
- </screen>
- <para>Command line options for <command>groupadd</command> are detailed in <xref
- linkend="table-groupadd-options"/>.</para>
- <table
- id="table-groupadd-options">
- <title>
- <command>groupadd</command> Command Line Options</title>
- <tgroup
- cols="2">
- <colspec
- colname="option"
- colnum="1"
- colwidth="20*"/>
- <colspec
- colname="description"
- colnum="2"
- colwidth="50*"/>
- <thead>
- <row>
- <entry>
+ <section id="s2-groups-add">
+ <title>Adding a Group</title>
+ <indexterm significance="normal">
+ <primary>group configuration</primary>
+ <secondary><command moreinfo="none">groupadd</command>
+ </secondary>
+ </indexterm>
+ <indexterm significance="normal">
+ <primary>adding</primary>
+ <secondary>group</secondary>
+ </indexterm>
+ <para>
+ To add a group to the system, use the command <command moreinfo="none">groupadd</command>:
+ </para>
+<screen>
+<command moreinfo="none">groupadd <replaceable><group-name></replaceable></command>
+</screen>
+ <para>
+ Command line options for <command moreinfo="none">groupadd</command> are detailed in <xref linkend="table-groupadd-options"/>.
+ </para>
+
+ <table id="table-groupadd-options">
+ <title><command moreinfo="none">groupadd</command> Command Line Options</title>
+
+ <tgroup cols="2">
+ <colspec colnum="1" colname="option" colwidth="20*"></colspec>
+
+ <colspec colnum="2" colname="description" colwidth="50*"></colspec>
+ <thead><row>
+ <entry>
Option
</entry>
- <entry>
+
+ <entry>
Description
</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <option>-g</option>
- <replaceable><gid></replaceable>
- </entry>
- <entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <option>-g</option> <replaceable><gid></replaceable>
+ </entry>
+
+ <entry>
Group ID for the group, which must be unique and greater than 499
</entry>
- </row>
- <row>
- <entry>
- <option>-r</option>
- </entry>
- <entry>
+ </row>
+
+ <row>
+ <entry>
+ <option>-r</option>
+ </entry>
+
+ <entry>
Create a system group with a GID less than 500
</entry>
- </row>
- <row>
- <entry>
- <option>-f</option>
- </entry>
- <entry>
- When used with <option>-g</option>
- <replaceable><gid></replaceable> and <replaceable><gid></replaceable> already exists, <command>groupadd</command> will choose another unique <replaceable><gid></replaceable> for the group.
+ </row>
+
+ <row>
+ <entry>
+ <option>-f</option>
</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
- <section
- id="s2-redhat-config-users-passwd-aging">
- <title>Password Aging</title>
- <indexterm
- significance="normal">
- <primary>password</primary>
- <secondary>forcing expiration of</secondary>
- </indexterm>
- <indexterm
- significance="normal">
- <primary>password</primary>
- <secondary>aging</secondary>
- </indexterm>
- <indexterm
- significance="normal">
- <primary>expiration of password, forcing</primary>
- </indexterm>
- <indexterm
- significance="normal">
- <primary>
- <command>chage</command> command</primary>
- <secondary>forcing password expiration with</secondary>
- </indexterm>
- <indexterm
- significance="normal">
- <primary>user configuration</primary>
- <secondary>password</secondary>
- <tertiary>forcing expiration of</tertiary>
- </indexterm>
- <para>For security reasons, it is advisable to require users to change their passwords periodically. This can be done when adding or editing a user on the <guilabel>Password Info</guilabel> tab of the <application>User Manager</application>.</para>
- <para>To configure password expiration for a user from a shell prompt, use the <command>chage</command> command, followed by an option from <xref
- linkend="table-chage-options"/>, followed by the username of the user.</para>
- <important>
- <title>Important</title>
- <para>Shadow passwords must be enabled to use the <command>chage</command> command.</para>
- </important>
- <table
- id="table-chage-options">
- <title>
- <command>chage</command> Command Line Options</title>
- <tgroup
- cols="2">
- <colspec
- colname="option"
- colnum="1"
- colwidth="20*"/>
- <colspec
- colname="description"
- colnum="2"
- colwidth="50*"/>
- <thead>
- <row>
- <entry>
+
+ <entry>
+ When used with <option>-g</option> <replaceable><gid></replaceable> and <replaceable><gid></replaceable> already exists, <command>groupadd</command> will choose another unique <replaceable><gid></replaceable> for the group.
+ </entry>
+
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ <section id="s2-redhat-config-users-passwd-aging">
+ <title>Password Aging</title>
+ <indexterm significance="normal">
+ <primary>password</primary>
+ <secondary>forcing expiration of</secondary>
+ </indexterm>
+ <indexterm significance="normal">
+ <primary>password</primary>
+ <secondary>aging</secondary>
+ </indexterm>
+ <indexterm significance="normal">
+ <primary>expiration of password, forcing</primary>
+ </indexterm>
+ <indexterm significance="normal">
+ <primary><command moreinfo="none">chage</command> command</primary>
+ <secondary>forcing password expiration with</secondary>
+ </indexterm>
+ <indexterm significance="normal">
+ <primary>user configuration</primary>
+ <secondary>password</secondary>
+ <tertiary>forcing expiration of</tertiary>
+ </indexterm>
+
+ <para>
+ For security reasons, it is advisable to require users to change their passwords periodically. This can be done when adding or editing a user on the <guilabel moreinfo="none">Password Info</guilabel> tab of the <application>User Manager</application>.
+ </para>
+
+ <para>
+ To configure password expiration for a user from a shell prompt, use the <command moreinfo="none">chage</command> command with an option from <xref linkend="table-chage-options"/>, followed by the username.
+ </para>
+
+ <important>
+ <title>Important</title>
+
+ <para>
+ Shadow passwords must be enabled to use the <command moreinfo="none">chage</command> command. For more information, see <xref linkend="s1-users-groups-shadow-utilities" />.
+ </para>
+ </important>
+
+ <table id="table-chage-options">
+ <title><command moreinfo="none">chage</command> Command Line Options</title>
+
+ <tgroup cols="2">
+ <colspec colnum="1" colname="option" colwidth="20*"></colspec>
+
+ <colspec colnum="2" colname="description" colwidth="50*"></colspec>
+ <thead><row>
+ <entry>
Option
</entry>
- <entry>
+
+ <entry>
Description
</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <option>-m</option>
- <replaceable><days></replaceable>
- </entry>
- <entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <option>-m</option> <replaceable><days></replaceable>
+ </entry>
+
+ <entry>
Specifies the minimum number of days between which the user must change passwords. If the value is 0, the password does not expire.
</entry>
- </row>
- <row>
- <entry>
- <option>-M</option>
- <replaceable><days></replaceable>
- </entry>
- <entry>
+ </row>
+
+ <row>
+ <entry>
+ <option>-M</option> <replaceable><days></replaceable>
+ </entry>
+
+ <entry>
Specifies the maximum number of days for which the password is valid. When the number of days specified by this option plus the number of days specified with the <option>-d</option> option is less than the current day, the user must change passwords before using the account.
</entry>
- </row>
- <row>
- <entry>
- <option>-d</option>
- <replaceable><days></replaceable>
- </entry>
- <entry>
+ </row>
+
+ <row>
+ <entry>
+ <option>-d</option> <replaceable><days></replaceable>
+ </entry>
+
+ <entry>
Specifies the number of days since January 1, 1970 the password was changed
</entry>
- </row>
- <row>
- <entry>
- <option>-I</option>
- <replaceable><days></replaceable>
- </entry>
- <entry>
+ </row>
+
+ <row>
+ <entry>
+ <option>-I</option> <replaceable><days></replaceable>
+ </entry>
+
+ <entry>
Specifies the number of inactive days after the password expiration before locking the account. If the value is 0, the account is not locked after the password expires.
</entry>
- </row>
- <row>
- <entry>
- <option>-E</option>
- <replaceable><date></replaceable>
- </entry>
- <entry>
+ </row>
+
+ <row>
+ <entry>
+ <option>-E</option> <replaceable><date></replaceable>
+ </entry>
+
+ <entry>
Specifies the date on which the account is locked, in the format YYYY-MM-DD. Instead of the date, the number of days since January 1, 1970 can also be used.
</entry>
- </row>
- <row>
- <entry>
- <option>-W</option>
- <replaceable><days></replaceable>
- </entry>
- <entry>
+ </row>
+
+ <row>
+ <entry>
+ <option>-W</option> <replaceable><days></replaceable>
+ </entry>
+
+ <entry>
Specifies the number of days before the password expiration date to warn the user.
</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <note>
- <title>Tip</title>
- <para>If the <command>chage</command> command is followed directly by a username (with no options), it displays the current password aging values and allows them to be changed.</para>
- </note>
- <para>You can configure a password to expire the first time a user logs in. This forces users to change passwords the first time they log in.</para>
- <note>
- <title>Note</title>
- <para>This process will not work if the user logs in using the SSH protocol.</para>
- </note>
- <orderedlist
- continuation="restarts"
- inheritnum="ignore">
- <listitem>
- <para>
- <emphasis>Lock the user password</emphasis> — If the user does not exist, use the <command>useradd</command> command to create the user account, but do not give it a password so that it remains locked.</para>
- <para>If the password is already enabled, lock it with the command:</para>
- <screen>
-<command>usermod -L <replaceable>username</replaceable>
- </command>
- </screen>
- </listitem>
- <listitem>
- <para>
- <emphasis>Force immediate password expiration</emphasis> — Type the following command:</para>
- <screen>chage -d 0 <replaceable>username</replaceable>
- </screen>
- <para>This command sets the value for the date the password was last changed to the epoch (January 1, 1970). This value forces immediate password expiration no matter what password aging policy, if any, is in place.</para>
- </listitem>
- <listitem>
- <para>
- <emphasis>Unlock the account</emphasis> — There are two common approaches to this step. The administrator can assign an initial password or assign a null password.</para>
- <warning>
- <title>Warning</title>
- <para>Do not use the <command>passwd</command> command to set the password as it disables the immediate password expiration just configured.</para>
- </warning>
- <para>To assign an initial password, use the following steps:</para>
- <itemizedlist>
- <listitem>
- <para>Start the command line Python interpreter with the <command>python</command> command. It displays the following:</para>
- <screen> Python 2.4.3 (#1, Jul 21 2006, 08:46:09) [GCC 4.1.1 20060718 (Red Hat 4.1.1-9)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>></screen>
- </listitem>
- <listitem>
- <para>At the prompt, type the following commands. Replace <replaceable><password></replaceable> with the password to encrypt and <replaceable><salt></replaceable> with a random combination of at least 2 of the following: any alphanumeric character, the slash (/) character or a dot (.):</para>
- <screen>
-<command>import crypt; print crypt.crypt("<replaceable><password></replaceable>","<replaceable><salt></replaceable>")</command>
- </screen>
- <para>The output is the encrypted password, similar to <computeroutput>'12CsGd8FRcMSM'</computeroutput>.</para>
- </listitem>
- <listitem>
- <para>Press <keycap>Ctrl</keycap>-<keycap>D</keycap> to exit the Python interpreter.</para>
- </listitem>
- <listitem>
- <para>At the shell, enter the following command (replacing <replaceable><encrypted-password></replaceable> with the encrypted output of the Python interpreter):</para>
- <screen>usermod -p "<replaceable><encrypted-password></replaceable>" <replaceable><username></replaceable>
- </screen>
- </listitem>
- </itemizedlist>
- <para>Alternatively, you can assign a null password instead of an initial password. To do this, use the following command:</para>
- <screen>usermod -p "" <replaceable>username</replaceable>
- </screen>
- <warning>
- <title>Caution</title>
- <para>Using a null password, while convenient, is a highly unsecure practice, as any third party can log in first an access the system using the unsecure username. Always make sure that the user is ready to log in before unlocking an account with a null password.</para>
- </warning>
- <para>In either case, upon initial log in, the user is prompted for a new password.</para>
- </listitem>
- </orderedlist>
- </section>
- <section
- id="s2-redhat-config-users-process">
+ </row>
+
+ <row>
+ <entry>
+ <option>-l</option>
+ </entry>
+
+ <entry>
+ Lists current account aging settings.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <note><title>Tip</title>
+ <para>
+ If the <command moreinfo="none">chage</command> command is followed directly by a username (with no options), it displays the current password aging values and allows them to be changed interactively.
+ </para>
+ </note>
+
+ <para>
+ You can configure a password to expire the first time a user logs in. This forces users to change passwords immediately.
+ </para>
+
+ <orderedlist inheritnum="ignore" continuation="restarts">
+
+ <listitem>
+ <para>
+ <emphasis>Set up an initial password</emphasis> — There are two common approaches to this step. The administrator can assign a default password or assign a null password.
+ </para>
+
+ <para>
+ To assign a default password, use the following steps:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Start the command line Python interpreter with the <command moreinfo="none">python</command> command. It displays the following:
+ </para>
+
+<screen>
+Python 2.4.3 (#1, Jul 21 2006, 08:46:09)
+[GCC 4.1.1 20060718 (Application Stack 4.1.1-9)] on linux2
+Type "help", "copyright", "credits" or "license" for more information.
+>>></screen>
+
+ </listitem>
+
+ <listitem>
+
+ <para>At the prompt, type the following commands. Replace <replaceable><password></replaceable> with the password to encrypt and <replaceable><salt></replaceable> with a random combination of at least 2 of the following: any alphanumeric character, the slash (/) character or a dot (.):
+ </para>
+
+<screen>
+<command moreinfo="none">import crypt; print
+
+crypt.crypt("<replaceable><password></replaceable>","<replaceable><salt></replaceable>")</command>
+</screen>
+
+ <para>
+ The output is the encrypted password, similar to <computeroutput moreinfo="none">'12CsGd8FRcMSM'</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Press <keycap moreinfo="none">Ctrl</keycap>-<keycap moreinfo="none">D</keycap> to exit the Python interpreter.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ At the shell, enter the following command (replacing <replaceable><encrypted-password></replaceable> with the encrypted output of the Python interpreter):
+
+ </para>
+
+<screen>usermod -p "<replaceable><encrypted-password></replaceable>" <replaceable><username></replaceable></screen>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Alternatively, you can assign a null password instead of an initial password. To do this, use the following command:
+ </para>
+
+<screen>usermod -p "" <replaceable>username</replaceable></screen>
+ <warning>
+ <title>Caution</title>
+
+ <para>
+ Using a null password, while convenient, is a highly unsecure practice, as any third party can log in first an access the system using the unsecure username. Always make sure that the user is ready to log in before unlocking an account with a null password.
+ </para>
+
+ </warning>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis>Force immediate password expiration</emphasis> — Type the following command:
+ </para>
+<screen>chage -d 0 <replaceable>username</replaceable></screen>
+ <para>
+ This command sets the value for the date the password was last changed to the epoch (January 1, 1970). This value forces immediate password expiration no matter what password aging policy, if any, is in place.
+ </para>
+ </listitem>
+ </orderedlist>
+
+ <para>
+ Upon the initial log in, the user is now prompted for a new password.
+ </para>
+ </section>
+<section id="s2-redhat-config-users-process">
<title>Explaining the Process</title>
<para>The following steps illustrate what happens if the command <command>useradd juan</command> is issued on a system that has shadow passwords enabled:</para>
<orderedlist
diff --git a/en-US/images/Users_Groups-Create_New_User.png b/en-US/images/Users_Groups-Create_New_User.png
index 1ff3453..b38f7b3 100644
Binary files a/en-US/images/Users_Groups-Create_New_User.png and b/en-US/images/Users_Groups-Create_New_User.png differ
diff --git a/en-US/images/Users_Groups-User_Manager.png b/en-US/images/Users_Groups-User_Manager.png
index 007648c..c314821 100644
Binary files a/en-US/images/Users_Groups-User_Manager.png and b/en-US/images/Users_Groups-User_Manager.png differ
diff --git a/en-US/images/group-new.png b/en-US/images/group-new.png
index 5e7d9ce..61eb0c3 100644
Binary files a/en-US/images/group-new.png and b/en-US/images/group-new.png differ
diff --git a/en-US/images/group-properties.png b/en-US/images/group-properties.png
index c04c833..36b0541 100644
Binary files a/en-US/images/group-properties.png and b/en-US/images/group-properties.png differ
diff --git a/en-US/images/user-properties.png b/en-US/images/user-properties.png
index 3efef4d..97179d9 100644
Binary files a/en-US/images/user-properties.png and b/en-US/images/user-properties.png differ
13 years, 11 months
[deployment-guide/comm-rel: 26/74] procFS: convert some RHELs into entities
by dsilas
commit 5e463bb163fc220ea21ecc9635915929540d9d64
Author: Douglas Silas <dhensley(a)redhat.com>
Date: Thu Jun 24 13:59:56 2010 +0200
procFS: convert some RHELs into entities
en-US/The_proc_File_System.xml | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/en-US/The_proc_File_System.xml b/en-US/The_proc_File_System.xml
index e4b8904..653587d 100644
--- a/en-US/The_proc_File_System.xml
+++ b/en-US/The_proc_File_System.xml
@@ -267,7 +267,7 @@ To turn packet forwarding on, run <command>echo 1 > /proc/sys/net/ipv4/ip_forwar
In most cases, the content of the files listed in this
section are not the same as those installed on your
machine. This is because much of the information is specific
- to the hardware on which Red Hat Enterprise Linux is running
+ to the hardware on which &MAJOROS; is running
for this documentation effort.
</para>
</note>
@@ -419,7 +419,7 @@ ro root=/dev/VolGroup00/LogVol00 rhgb quiet 3
</para>
<para>
- For more information on LVM used in Red Hat Enterprise Linux,
+ For more information on LVM used in &MAJOROS;,
refer to <ulink
url="http://www.tldp.org/HOWTO/LVM-HOWTO/index.html">http://www.tldp.org/HOWTO/LVM-HOWTO/index.html</ulink>.
</para>
@@ -2264,7 +2264,7 @@ WRONG. above replaces below
<para>
This file specifies the version of the Linux kernel and
<filename>gcc</filename> in use, as well as
- the version of Red Hat Enterprise Linux installed on the
+ the version of &MAJOROS; installed on the
system:
</para>
-->
13 years, 11 months
[deployment-guide/comm-rel: 25/74] Merge branch 'jarek'
by dsilas
commit 0818bc40ed0453edb66cd5d7700e55a4ed7f9aed
Merge: 51db08b... 37637c5...
Author: Douglas Silas <dhensley(a)redhat.com>
Date: Thu Jun 24 12:44:50 2010 +0200
Merge branch 'jarek'
en-US/Keyboard_Configuration.xml | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
---
13 years, 11 months
[deployment-guide/comm-rel: 24/74] DG.xml, proc_fs: re-add the proc FS chapter from SAG
by dsilas
commit 51db08b3d0d0da3cce35d2a8a226e1b55385083e
Author: Douglas Silas <dhensley(a)redhat.com>
Date: Thu Jun 24 12:37:03 2010 +0200
DG.xml, proc_fs: re-add the proc FS chapter from SAG
Fix BZ#594697: ddomingo and I decided the best place for this chapter is the DG instead of the SAG; therefore, re-adding. Note: chapter is fully updated and has SME sign-off.
en-US/Deployment_Guide.xml | 4 +
en-US/The_proc_File_System.xml | 5236 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 5240 insertions(+), 0 deletions(-)
---
diff --git a/en-US/Deployment_Guide.xml b/en-US/Deployment_Guide.xml
index 5c4b980..088e3f4 100644
--- a/en-US/Deployment_Guide.xml
+++ b/en-US/Deployment_Guide.xml
@@ -100,6 +100,10 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
href="Console_Access.xml"
lang="en-US,as-IN,bn-IN,gu-IN,hi-IN,kn-IN,ml-IN,mr-IN,or-IN,pa-IN,si-LK,ta-IN,te-IN,ja-JP,zh-CN,fr-FR,es-ES"/>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ lang="en-US,as-IN,bn-IN,gu-IN,hi-IN,kn-IN,ml-IN,mr-IN,or-IN,pa-IN,si-LK,ta-IN,te-IN,ja-JP,zh-CN,fr-FR,es-ES"
+ href="The_proc_File_System.xml" />
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="The_sysconfig_Directory.xml"
diff --git a/en-US/The_proc_File_System.xml b/en-US/The_proc_File_System.xml
new file mode 100644
index 0000000..e4b8904
--- /dev/null
+++ b/en-US/The_proc_File_System.xml
@@ -0,0 +1,5236 @@
+<?xml version='1.0'?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<chapter
+ id="ch-proc">
+ <title>The <filename>proc</filename> File System</title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>introduced</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>/proc/</filename> directory</primary>
+ <see>
+ <filename>proc</filename> file system</see>
+ </indexterm>
+
+ <para>
+ The Linux kernel has two primary functions: to control access to
+ physical devices on the computer and to schedule when and how
+ processes interact with these devices. The <filename>/proc/</filename> directory (also called
+ the <filename>proc</filename> file system)
+ contains a hierarchy of special files which represent the current
+ state of the kernel, allowing applications and users to
+ peer into the kernel's view of the system.
+ </para>
+
+ <para>
+The <filename>/proc/</filename> directory contains a wealth of information detailing
+system hardware and any running processes. In addition, some of the files within
+<filename>/proc/</filename> can be manipulated by users and applications to communicate
+configuration changes to the kernel.
+ </para>
+
+ <note>
+ <para>
+Later versions of the 2.6 kernel have made the <filename>/proc/ide/</filename> and <filename>/proc/pci/</filename> obsolete. The <command>/proc/ide/</command> file system is now superseded by files in <command>sysfs</command>; to retrieve information on PCI devices, use <command>lspci</command> instead. For more information on <command>sysfs</command> or <command>lspci</command>, refer to their respective <command>man</command> pages.
+</para>
+ </note>
+
+ <section
+ id="s1-proc-virtual">
+ <title>A Virtual File System</title>
+ <indexterm
+ significance="normal">
+ <primary>file system</primary>
+ <secondary>virtual</secondary>
+ <see>
+ <filename>proc</filename> file system</see>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>virtual file system</primary>
+ <see>
+ <filename>proc</filename> file system</see>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>virtual files</primary>
+ <see>
+ <filename>proc</filename> file system</see>
+ </indexterm>
+
+ <para>
+ Linux systems store all data as <emphasis>files</emphasis>. Most users are
+ familiar with the two primary types of files: text and
+ binary. But the <filename>/proc/</filename>
+ directory contains another type of file called a
+ <firstterm>virtual file</firstterm>. As such,
+ <filename>/proc/</filename> is often referred
+ to as a <firstterm>virtual file system</firstterm>.
+ </para>
+
+ <para>
+Virtual files have unique qualities. Most of them are
+ listed as zero bytes in size, but can still contain a large
+amount of information when viewed. In addition, most of the
+ time and date stamps on virtual files reflect the current
+ time and date, indicative of the fact they are constantly
+ updated.
+ </para>
+
+ <para>
+ Virtual files such as <filename>/proc/interrupts</filename>, <filename>/proc/meminfo</filename>, <filename>/proc/mounts</filename>, and <filename>/proc/partitions</filename> provide an
+ up-to-the-moment glimpse of the system's hardware. Others, like
+ the <filename>/proc/filesystems</filename> file
+ and the <filename>/proc/sys/</filename>
+ directory provide system configuration information and
+ interfaces.
+ </para>
+
+ <para>
+ For organizational purposes, files containing information on a
+ similar topic are grouped into virtual directories and
+ sub-directories. Process directories
+ contain information about each running process on the system.
+ </para>
+
+ <remark>
+WAS::
+ For organizational purposes, files containing information on a
+ similar topic are grouped into virtual directories and
+ sub-directories. For instance, <filename>/proc/ide/</filename> contains information for
+ all physical IDE devices. Likewise, process directories
+ contain information about each running process on the system.
+</remark>
+
+<!-- BZ#561622, removed /proc/ide and all relevant references
+ <para>
+ For organizational purposes, files containing information on a
+ similar topic are grouped into virtual directories and
+ sub-directories. For instance, <filename
+ >/proc/ide/</filename> contains information for
+ all physical IDE devices. Likewise, process directories
+ contain information about each running process on the system.
+ </para> -->
+
+ <section
+ id="s2-proc-viewing">
+ <title>Viewing Virtual Files</title>
+ <indexterm
+ significance="normal">
+ <primary>files, proc file system</primary>
+ <secondary>viewing</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>viewing files within</secondary>
+ </indexterm>
+ <para>
+Most files within <filename>/proc/</filename> files operate
+similarly to text files, storing useful system and hardware data
+in human-readable text format. As such, you can use <command>cat</command>, <command>more</command>, or <command>less</command>
+to view them. For example, to display information about the system's CPU,
+run <command>cat /proc/cpuinfo</command>. This will return output similar to the
+following:
+ </para>
+
+ <screen>
+processor : 0
+vendor_id : AuthenticAMD
+cpu family : 5
+model : 9
+model name : AMD-K6(tm) 3D+
+Processor stepping : 1 cpu
+MHz : 400.919
+cache size : 256 KB
+fdiv_bug : no
+hlt_bug : no
+f00f_bug : no
+coma_bug : no
+fpu : yes
+fpu_exception : yes
+cpuid level : 1
+wp : yes
+flags : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr
+bogomips : 799.53
+</screen>
+
+
+ <para>
+Some files in <command>/proc/</command> contain information that is not human-readable.
+To retrieve information from such files, use tools such as <command>lspci</command>, <command>apm</command>, <command>free</command>, and <command>top</command>.
+ </para>
+
+ <note>
+ <title>Note</title>
+
+ <para>
+ Some of the virtual files in the <filename>/proc/</filename> directory are readable only
+ by the root user.
+ </para>
+ </note>
+ </section>
+
+ <section
+ id="s2-proc-change">
+ <title>Changing Virtual Files</title>
+ <indexterm
+ significance="normal">
+ <primary>files, proc file system</primary>
+ <secondary>changing</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>changing files within</secondary>
+ </indexterm>
+
+ <para>
+ As a general rule, most virtual files within the <filename>/proc/</filename> directory are
+ read-only. However, some can be used to adjust settings in
+ the kernel. This is especially true for files in the
+ <filename>/proc/sys/</filename> subdirectory.
+ </para>
+
+ <para>
+ To change the value of a virtual file, use the following command:
+</para>
+
+ <para>
+ <command>echo <replaceable>value</replaceable> > /proc/<replaceable>file</replaceable>
+ </command>
+ </para>
+
+ <para>
+For example, to change the
+ hostname on the fly, run:
+ </para>
+
+
+ <para>
+ <command>echo <replaceable>www.example.com</replaceable> > /proc/sys/kernel/hostname </command>
+ </para>
+
+ <para>
+ Other files act as binary or Boolean switches. Typing
+ <command>cat
+ /proc/sys/net/ipv4/ip_forward</command> returns either a
+ <computeroutput>0</computeroutput> (off or false) or a
+ <computeroutput>1</computeroutput> (on or true). A
+ <computeroutput>0</computeroutput> indicates
+ that the kernel is not forwarding network packets.
+To turn packet forwarding on, run <command>echo 1 > /proc/sys/net/ipv4/ip_forward</command>.
+ </para>
+
+ <note>
+ <title>Tip</title>
+ <para>
+ Another command used to alter settings in the <filename>/proc/sys/</filename> subdirectory is
+ <command>/sbin/sysctl</command>. For more
+ information on this command, refer to <xref
+ linkend="s1-proc-sysctl"/>
+ </para>
+ </note>
+
+ <para>
+ For a listing of some of the kernel configuration files available in the <filename>/proc/sys/</filename> subdirectory, refer to <xref
+ linkend="s2-proc-dir-sys"/>.
+ </para>
+ </section>
+ </section>
+
+ <section
+ id="s1-proc-topfiles">
+ <title>Top-level Files within the <filename>proc</filename> File System</title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>files within, top-level</secondary>
+ </indexterm>
+
+ <para>
+ Below is a list of some of the more useful virtual files in the top-level of the <filename>/proc/</filename> directory.
+ </para>
+
+ <note>
+ <title>Note</title>
+ <para>
+ In most cases, the content of the files listed in this
+ section are not the same as those installed on your
+ machine. This is because much of the information is specific
+ to the hardware on which Red Hat Enterprise Linux is running
+ for this documentation effort.
+ </para>
+ </note>
+ <!--
+ <section id="s2-proc-apm">
+ <title><filename>/proc/apm</filename></title>
+ <indexterm significance="normal">
+ <primary><filename>proc</filename> file system</primary>
+ <secondary><filename>/proc/apm</filename>
+ </secondary>
+ </indexterm>
+
+ <para>
+ This file provides information about the state of the
+ <firstterm>Advanced Power Management (APM)</firstterm> system
+ and is used by the <command>apm</command>
+ command. If a system with no battery is connected to an AC
+ power source, this virtual file would look similar to the
+ following:
+ </para>
+
+ <screen>
+ 1.16 1.2 0x07 0x01 0xff 0x80 -1% -1 ?
+ </screen>
+
+ <para>
+ Running the <command>apm -v</command> command
+ on such a system results in output similar to the following:
+ </para>
+
+ <screen>
+ APM BIOS 1.2 (kernel driver 1.16ac) AC on-line, no system battery
+ </screen>
+
+ <para>
+ For systems which do not use a battery as a power source,
+ <command>apm</command> is able do little more
+ than put the machine in standby mode. The <command
+ >apm</command> command is much more useful on
+ laptops. For example, the following output is from the
+ command <command>cat /proc/apm</command> on a
+ laptop while plugged into a power outlet:
+ </para>
+
+ <screen>
+ 1.16 1.2 0x03 0x01 0x03 0x09 100% -1 ?
+ </screen>
+
+ <para>
+ When the same laptop is unplugged from its power source for a
+ few minutes, the content of the <filename
+ >apm</filename> file changes to something like
+ the following:
+ </para>
+
+ <screen>
+ 1.16 1.2 0x03 0x00 0x00 0x01 99% 1792 min
+ </screen>
+
+ <para>
+ The <command>apm -v</command> command now
+ yields more useful data, such as the following:
+ </para>
+
+ <screen>
+ APM BIOS 1.2 (kernel driver 1.16) AC off-line, battery status high: 99% (1 day, 5:52)
+ </screen>
+
+ </section>
+ -->
+ <section
+ id="s2-proc-buddyinfo">
+ <title>
+ <filename>/proc/buddyinfo</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/buddyinfo</filename>
+ </secondary>
+ </indexterm>
+
+ <para>
+ This file is used primarily for diagnosing memory
+ fragmentation issues. Using the buddy algorithm, each column
+ represents the number of pages of a certain order (a certain
+ size) that are available at any given time. For example, for
+ zone <firstterm>direct memory access</firstterm> (DMA), there are 90 of
+ 2<superscript>(0*PAGE_SIZE)</superscript> chunks of memory. Similarly, there are 6 of
+ 2<superscript>(1*PAGE_SIZE)</superscript> chunks, and 2 of 2<superscript>(2*PAGE_SIZE)</superscript> chunks of
+ memory available.
+ </para>
+
+ <para>
+ The <computeroutput>DMA</computeroutput> row references
+ the first 16 MB on a system, the <computeroutput>HighMem</computeroutput> row references all memory
+ greater than 4 GB on a system, and the <computeroutput>Normal</computeroutput> row references all memory
+ in between.
+ </para>
+
+ <para>
+ The following is an example of the output typical of
+ <filename>/proc/buddyinfo</filename>:
+ </para>
+
+ <screen>
+Node 0, zone DMA 90 6 2 1 1 ...
+Node 0, zone Normal 1650 310 5 0 0 ...
+Node 0, zone HighMem 2 0 0 1 1 ...
+</screen>
+
+ </section>
+
+ <section
+ id="s2-proc-cmdline">
+ <title>
+ <filename>/proc/cmdline</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/cmdline</filename>
+ </secondary>
+ </indexterm>
+
+ <para>
+ This file shows the parameters passed to the kernel at the
+ time it is started. A sample <filename>/proc/cmdline</filename> file looks like the
+ following:
+ </para>
+
+ <screen>
+ro root=/dev/VolGroup00/LogVol00 rhgb quiet 3
+</screen>
+
+ <para>
+ This tells us that the kernel is mounted read-only (signified
+ by <computeroutput>(ro)</computeroutput>),
+ located on the first logical volume (<computeroutput>LogVol00</computeroutput>) of the first
+ volume group (<computeroutput>/dev/VolGroup00</computeroutput>). <computeroutput>LogVol00</computeroutput> is the equivalent
+ of a disk partition in a non-LVM system (Logical Volume
+ Management), just as <computeroutput>/dev/VolGroup00</computeroutput> is similar
+ in concept to <filename>/dev/hda1</filename>,
+ but much more extensible.
+ </para>
+
+ <para>
+ For more information on LVM used in Red Hat Enterprise Linux,
+ refer to <ulink
+ url="http://www.tldp.org/HOWTO/LVM-HOWTO/index.html">http://www.tldp.org/HOWTO/LVM-HOWTO/index.html</ulink>.
+ </para>
+
+ <para>
+ Next, <computeroutput>rhgb</computeroutput>
+ signals that the <filename>rhgb</filename>
+ package has been installed, and graphical booting is
+ supported, assuming <filename>/etc/inittab</filename> shows a default
+ runlevel set to <command>id:5:initdefault:</command>.
+ </para>
+
+ <para>
+ Finally, <computeroutput>quiet</computeroutput> indicates all verbose
+ kernel messages are suppressed at boot time.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-cpuinfo">
+ <title>
+ <filename>/proc/cpuinfo</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/cpuinfo</filename>
+ </secondary>
+ </indexterm>
+
+ <para>
+ This virtual file identifies the type of processor used by
+ your system. The following is an example of the output
+ typical of <filename>/proc/cpuinfo</filename>:
+ </para>
+
+ <screen>
+processor : 0
+vendor_id : GenuineIntel
+cpu family : 15
+model : 2
+model name : Intel(R) Xeon(TM) CPU 2.40GHz
+stepping : 7 cpu
+MHz : 2392.371
+cache size : 512 KB
+physical id : 0
+siblings : 2
+runqueue : 0
+fdiv_bug : no
+hlt_bug : no
+f00f_bug : no
+coma_bug : no
+fpu : yes
+fpu_exception : yes
+cpuid level : 2
+wp : yes
+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
+bogomips : 4771.02
+</screen>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <computeroutput>processor</computeroutput> —
+ Provides each processor with an identifying number. On
+ systems that have one processor, only a <computeroutput>0</computeroutput> is present.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>cpu
+ family</computeroutput> — Authoritatively
+ identifies the type of processor in the system. For an
+ Intel-based system, place the number in front of "86" to
+ determine the value. This is particularly helpful for
+ those attempting to identify the architecture of an
+ older system such as a 586, 486, or 386. Because some
+ RPM packages are compiled for each of these particular
+ architectures, this value also helps users determine
+ which packages to install.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>model
+ name</computeroutput> — Displays the common name
+ of the processor, including its project name.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>cpu MHz</computeroutput>
+ — Shows the precise speed in megahertz for the
+ processor to the thousandths decimal place.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>cache
+ size</computeroutput> — Displays the amount of
+ level 2 memory cache available to the processor.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>siblings</computeroutput> —
+ Displays the number of sibling CPUs on the same physical
+ CPU for architectures which use hyper-threading.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>flags</computeroutput>
+ — Defines a number of different qualities about
+ the processor, such as the presence of a floating point
+ unit (FPU) and the ability to process MMX instructions.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section
+ id="s2-proc-crypto">
+ <title>
+ <filename>/proc/crypto</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/crypto</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file lists all installed cryptographic ciphers used by
+ the Linux kernel, including additional details for each. A
+ sample <filename>/proc/crypto</filename> file
+ looks like the following:
+ </para>
+
+ <screen>
+name : sha1
+module : kernel
+type : digest
+blocksize : 64
+digestsize : 20
+name : md5
+module : md5
+type : digest
+blocksize : 64
+digestsize : 16
+</screen>
+
+ </section>
+
+ <section
+ id="s2-proc-devices">
+ <title>
+ <filename>/proc/devices</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/devices</filename>
+ </secondary>
+ <tertiary>block devices</tertiary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/devices</filename>
+ </secondary>
+ <tertiary>character devices</tertiary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>character devices</primary>
+ <secondary>definition of</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>character devices</primary>
+ <seealso>
+ <filename>/proc/devices</filename>
+ </seealso>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>block devices</primary>
+ <seealso>
+ <filename>/proc/devices</filename>
+ </seealso>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>block devices</primary>
+ <secondary>definition of</secondary>
+ </indexterm>
+ <para>
+ This file displays the various character and block devices
+ currently configured (not including devices whose modules are
+ not loaded). Below is a sample output from this file:
+ </para>
+
+ <screen>
+Character devices:
+ 1 mem
+ 4 /dev/vc/0
+ 4 tty
+ 4 ttyS
+ 5 /dev/tty
+ 5 /dev/console
+ 5 /dev/ptmx
+ 7 vcs
+ 10 misc
+ 13 input
+ 29 fb
+ 36 netlink
+ 128 ptm
+ 136 pts
+ 180 usb
+
+Block devices:
+ 1 ramdisk
+ 3 ide0
+ 9 md
+ 22 ide1
+ 253 device-mapper
+ 254 mdp
+</screen>
+
+ <para>
+ The output from <filename>/proc/devices</filename> includes the major
+ number and name of the device, and is broken into two major
+ sections: <computeroutput>Character
+ devices</computeroutput> and <computeroutput>Block devices</computeroutput>.
+ </para>
+
+ <para>
+ <firstterm>Character devices</firstterm> are similar to
+ <firstterm>block devices</firstterm>, except for two basic
+ differences:
+ </para>
+
+ <orderedlist
+ inheritnum="ignore"
+ continuation="restarts">
+ <listitem>
+ <para>
+ Character devices do not require buffering. Block devices
+ have a buffer available, allowing them to order requests
+ before addressing them. This is important for devices
+ designed to store information — such as hard drives
+ — because the ability to order the information
+ before writing it to the device allows it to be placed in
+ a more efficient order.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Character devices send data with no preconfigured
+ size. Block devices can send and receive information in
+ blocks of a size configured per device.
+ </para>
+ </listitem>
+ </orderedlist>
+
+ <para>
+ For more information about devices refer to the following
+ installed documentation:
+ </para>
+
+ <screen>
+/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/devices.txt
+</screen>
+
+ </section>
+
+ <section
+ id="s2-proc-dma">
+ <title>
+ <filename>/proc/dma</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/dma</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file contains a list of the registered ISA DMA channels
+ in use. A sample <filename>/proc/dma</filename> files looks like the
+ following:
+ </para>
+ <screen>
+4: cascade
+</screen>
+ </section>
+
+ <section
+ id="s2-proc-execdomains">
+ <title>
+ <filename>/proc/execdomains</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/execdomains</filename>
+ </secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>execution domains</primary>
+ <seealso>
+ <filename>/proc/execdomains</filename>
+ </seealso>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>execution domains</primary>
+ <secondary>definition of</secondary>
+ </indexterm>
+ <para>
+ This file lists the <firstterm>execution domains</firstterm>
+ currently supported by the Linux kernel, along with the range
+ of personalities they support.
+ </para>
+
+ <screen>
+0-0 Linux [kernel]
+</screen>
+
+ <para>
+ Think of execution domains as the "personality" for an
+ operating system. Because other binary formats, such as
+ Solaris, UnixWare, and FreeBSD, can be used with Linux,
+ programmers can change the way the operating system treats
+ system calls from these binaries by changing the personality
+ of the task. Except for the <computeroutput>PER_LINUX</computeroutput> execution domain,
+ different personalities can be implemented as dynamically
+ loadable modules.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-fb">
+ <title>
+ <filename>/proc/fb</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/fb</filename>
+ </secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>frame buffer device</primary>
+ <seealso>
+ <filename>/proc/fb</filename>
+ </seealso>
+ </indexterm>
+ <para>
+ This file contains a list of frame buffer devices, with the
+ frame buffer device number and the driver that controls
+ it. Typical output of <filename>/proc/fb</filename> for systems which contain
+ frame buffer devices looks similar to the following:
+ </para>
+
+ <screen>
+0 VESA VGA
+</screen>
+ </section>
+
+ <section
+ id="s2-proc-filesystems">
+ <title>
+ <filename>/proc/filesystems</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/filesystems</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file displays a list of the file system types currently
+ supported by the kernel. Sample output from a generic
+ <filename>/proc/filesystems</filename> file
+ looks similar to the following:
+ </para>
+
+ <screen>
+nodev sysfs
+nodev rootfs
+nodev bdev
+nodev proc
+nodev sockfs
+nodev binfmt_misc
+nodev usbfs
+nodev usbdevfs
+nodev futexfs
+nodev tmpfs
+nodev pipefs
+nodev eventpollfs
+nodev devpts
+ ext2
+nodev ramfs
+nodev hugetlbfs
+ iso9660
+nodev mqueue
+ ext3
+nodev rpc_pipefs
+nodev autofs
+</screen>
+
+ <para>
+ The first column signifies whether the file system is mounted
+ on a block device. Those beginning with <computeroutput>nodev</computeroutput> are not mounted on a
+ device. The second column lists the names of the file systems
+ supported.
+ </para>
+
+ <para>
+ The <command>mount</command> command cycles
+ through the file systems listed here when one is not
+ specified as an argument.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-interrupts">
+ <title>
+ <filename>/proc/interrupts</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/interrupts</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file records the number of interrupts per IRQ on the x86
+ architecture. A standard <filename>/proc/interrupts</filename> looks similar to
+ the following:
+ </para>
+
+ <screen>
+ CPU0
+ 0: 80448940 XT-PIC timer
+ 1: 174412 XT-PIC keyboard
+ 2: 0 XT-PIC cascade
+ 8: 1 XT-PIC rtc
+ 10: 410964 XT-PIC eth0
+ 12: 60330 XT-PIC PS/2 Mouse
+ 14: 1314121 XT-PIC ide0
+ 15: 5195422 XT-PIC ide1
+NMI: 0
+ERR: 0
+</screen>
+
+ <para>
+ For a multi-processor machine, this file may look slightly
+ different:
+ </para>
+
+ <screen>
+ CPU0 CPU1
+ 0: 1366814704 0 XT-PIC timer
+ 1: 128 340 IO-APIC-edge keyboard
+ 2: 0 0 XT-PIC cascade
+ 8: 0 1 IO-APIC-edge rtc
+ 12: 5323 5793 IO-APIC-edge PS/2 Mouse
+ 13: 1 0 XT-PIC fpu
+ 16: 11184294 15940594 IO-APIC-level Intel EtherExpress Pro 10/100 Ethernet
+ 20: 8450043 11120093 IO-APIC-level megaraid
+ 30: 10432 10722 IO-APIC-level aic7xxx
+ 31: 23 22 IO-APIC-level aic7xxx
+NMI: 0
+ERR: 0
+</screen>
+
+ <para>
+ The first column refers to the IRQ number. Each CPU in the
+ system has its own column and its own number of interrupts
+ per IRQ. The next column reports the type of interrupt, and
+ the last column contains the name of the device that is
+ located at that IRQ.
+ </para>
+
+ <para>
+ Each of the types of interrupts seen in this file, which
+ are architecture-specific, mean something different. For
+ x86 machines, the following values are common:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <computeroutput>XT-PIC</computeroutput>
+ — This is the old AT computer interrupts.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>IO-APIC-edge</computeroutput> —
+ The voltage signal on this interrupt transitions from
+ low to high, creating an <emphasis>edge</emphasis>,
+ where the interrupt occurs and is only signaled
+ once. This kind of interrupt, as well as the
+ <computeroutput>IO-APIC-level</computeroutput>
+ interrupt, are only seen on systems with processors
+ from the 586 family and higher.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>IO-APIC-level</computeroutput> —
+ Generates interrupts when its voltage signal is high
+ until the signal is low again.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section
+ id="s2-proc-iomem">
+ <title>
+ <filename>/proc/iomem</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/iomem</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file shows you the current map of the system's memory
+ for each physical device:
+ </para>
+
+ <screen>
+00000000-0009fbff : System RAM
+0009fc00-0009ffff : reserved
+000a0000-000bffff : Video RAM area
+000c0000-000c7fff : Video ROM
+000f0000-000fffff : System ROM
+00100000-07ffffff : System RAM
+00100000-00291ba8 : Kernel code
+00291ba9-002e09cb : Kernel data
+e0000000-e3ffffff : VIA Technologies, Inc. VT82C597 [Apollo VP3] e4000000-e7ffffff : PCI Bus #01
+e4000000-e4003fff : Matrox Graphics, Inc. MGA G200 AGP
+e5000000-e57fffff : Matrox Graphics, Inc. MGA G200 AGP
+e8000000-e8ffffff : PCI Bus #01
+e8000000-e8ffffff : Matrox Graphics, Inc. MGA G200 AGP
+ea000000-ea00007f : Digital Equipment Corporation DECchip 21140 [FasterNet]
+ea000000-ea00007f : tulip ffff0000-ffffffff : reserved
+</screen>
+
+ <para>
+ The first column displays the memory registers used by each
+ of the different types of memory. The second column lists the
+ kind of memory located within those registers and displays
+ which memory registers are used by the kernel within the
+ system RAM or, if the network interface card has multiple
+ Ethernet ports, the memory registers assigned for each port.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-ioports">
+ <title>
+ <filename>/proc/ioports</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/ioports</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ The output of <filename>/proc/ioports</filename> provides a list of
+ currently registered port regions used for input or output
+ communication with a device. This file can be quite long. The
+ following is a partial listing:
+ </para>
+
+ <screen>
+0000-001f : dma1
+0020-003f : pic1
+0040-005f : timer
+0060-006f : keyboard
+0070-007f : rtc
+0080-008f : dma page reg
+00a0-00bf : pic2
+00c0-00df : dma2
+00f0-00ff : fpu
+0170-0177 : ide1
+01f0-01f7 : ide0
+02f8-02ff : serial(auto)
+0376-0376 : ide1
+03c0-03df : vga+
+03f6-03f6 : ide0
+03f8-03ff : serial(auto)
+0cf8-0cff : PCI conf1
+d000-dfff : PCI Bus #01
+e000-e00f : VIA Technologies, Inc. Bus Master IDE
+e000-e007 : ide0
+e008-e00f : ide1
+e800-e87f : Digital Equipment Corporation DECchip 21140 [FasterNet]
+e800-e87f : tulip
+</screen>
+
+ <para>
+ The first column gives the I/O port address range reserved
+ for the device listed in the second column.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-kcore">
+ <title>
+ <filename>/proc/kcore</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/kcore</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file represents the physical memory of the system and is
+ stored in the core file format. Unlike most <filename>/proc/</filename> files, <filename>kcore</filename> displays a size. This value
+ is given in bytes and is equal to the size of the physical
+ memory (RAM) used plus 4 KB.
+ </para>
+
+ <para>
+ The contents of this file are designed to be examined by a
+ debugger, such as <command>gdb</command>, and
+ is not human readable.
+ </para>
+
+ <warning>
+ <title>Caution</title>
+
+ <para>
+ Do not view the <filename>/proc/kcore</filename> virtual file. The
+ contents of the file scramble text output on the
+ terminal. If this file is accidentally viewed, press
+ <keycombo><keycap>Ctrl</keycap>
+ <keycap>C</keycap>
+ </keycombo>
+ to stop the process and then type <command>reset</command> to bring back the command
+ line prompt.
+ </para>
+ </warning>
+ </section>
+
+ <section
+ id="s2-proc-kmsg">
+ <title>
+ <filename>/proc/kmsg</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/kmsg</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file is used to hold messages generated by the
+ kernel. These messages are then picked up by other programs,
+ such as <command>/sbin/klogd</command> or
+ <command>/bin/dmesg</command>.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-loadavg">
+ <title>
+ <filename>/proc/loadavg</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/loadavg</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file provides a look at the load average in regard to
+ both the CPU and IO over time, as well as additional data
+ used by <command>uptime</command> and other
+ commands. A sample <filename>/proc/loadavg</filename> file looks similar
+ to the following:
+ </para>
+
+ <screen>
+0.20 0.18 0.12 1/80 11206
+</screen>
+<!-- BZ#248718, changes "10 minute periods" to 15 -->
+ <para>
+ The first three columns measure CPU and IO utilization of the
+ last one, five, and 15 minute periods. The fourth column
+ shows the number of currently running processes and the total
+ number of processes. The last column displays the last
+ process ID used.
+ </para>
+
+ <para>In addition, load average also refers to the number of processes ready to run (i.e. in the run queue, waiting for a CPU share.</para>
+ </section>
+
+ <section
+ id="s2-proc-locks">
+ <title>
+ <filename>/proc/locks</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/locks</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file displays the files currently locked by the
+ kernel. The contents of this file contain internal kernel
+ debugging data and can vary tremendously, depending on the
+ use of the system. A sample <filename>/proc/locks</filename> file for a lightly
+ loaded system looks similar to the following:
+ </para>
+
+ <screen>
+1: POSIX ADVISORY WRITE 3568 fd:00:2531452 0 EOF
+2: FLOCK ADVISORY WRITE 3517 fd:00:2531448 0 EOF
+3: POSIX ADVISORY WRITE 3452 fd:00:2531442 0 EOF
+4: POSIX ADVISORY WRITE 3443 fd:00:2531440 0 EOF
+5: POSIX ADVISORY WRITE 3326 fd:00:2531430 0 EOF
+6: POSIX ADVISORY WRITE 3175 fd:00:2531425 0 EOF
+7: POSIX ADVISORY WRITE 3056 fd:00:2548663 0 EOF
+</screen>
+
+ <para>
+ Each lock has its own line which starts with a unique
+ number. The second column refers to the class of lock used,
+ with <computeroutput>FLOCK</computeroutput>
+ signifying the older-style UNIX file locks from a <command>flock</command> system call and
+ <computeroutput>POSIX</computeroutput>
+ representing the newer POSIX locks from the <command>lockf</command> system call.
+ </para>
+
+ <para>
+ The third column can have two values: <computeroutput>ADVISORY</computeroutput> or <computeroutput>MANDATORY</computeroutput>. <computeroutput>ADVISORY</computeroutput> means that the lock
+ does not prevent other people from accessing the data; it
+ only prevents other attempts to lock it. <computeroutput>MANDATORY</computeroutput> means that no
+ other access to the data is permitted while the lock is
+ held. The fourth column reveals whether the lock is allowing
+ the holder <computeroutput>READ</computeroutput> or <computeroutput>WRITE</computeroutput> access to the
+ file. The fifth column shows the ID of the process holding
+ the lock. The sixth column shows the ID of the file being
+ locked, in the format of <computeroutput><replaceable>MAJOR-DEVICE</replaceable>:<replaceable>MINOR-DEVICE</replaceable>:<replaceable>INODE-NUMBER</replaceable>
+ </computeroutput>. The
+ seventh and eighth column shows the start and end of the
+ file's locked region.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-mdstat">
+ <title>
+ <filename>/proc/mdstat</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/mdstat</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file contains the current information for multiple-disk,
+ RAID configurations. If the system does not contain such a
+ configuration, then <filename>/proc/mdstat</filename> looks similar to the
+ following:
+ </para>
+
+ <screen>
+Personalities : read_ahead not set unused devices: <none>
+</screen>
+
+ <para>
+ This file remains in the same state as seen above unless a
+ software RAID or <filename>md</filename>
+ device is present. In that case, view <filename>/proc/mdstat</filename> to find the current
+ status of <filename>md<replaceable>X</replaceable>
+ </filename>
+ RAID devices.
+ </para>
+
+ <para>
+ The <filename>/proc/mdstat</filename> file
+ below shows a system with its <filename>md0</filename> configured as a RAID 1 device,
+ while it is currently re-syncing the disks:
+ </para>
+
+ <screen>
+Personalities : [linear] [raid1] read_ahead 1024 sectors
+md0: active raid1 sda2[1] sdb2[0] 9940 blocks [2/2] [UU] resync=1% finish=12.3min algorithm 2 [3/3] [UUU]
+unused devices: <none>
+</screen>
+ </section>
+
+ <section
+ id="s2-proc-meminfo">
+ <title>
+ <filename>/proc/meminfo</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/meminfo</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This is one of the more commonly used files in the <filename>/proc/</filename> directory, as it reports a
+ large amount of valuable information about the systems RAM
+ usage.
+ </para>
+
+ <para>
+ The following sample <filename>/proc/meminfo</filename> virtual file is from
+ a system with 256 MB of RAM and 512 MB of swap space:
+ </para>
+
+ <screen>
+MemTotal: 255908 kB
+MemFree: 69936 kB
+Buffers: 15812 kB
+Cached: 115124 kB
+SwapCached: 0 kB
+Active: 92700 kB
+Inactive: 63792 kB
+HighTotal: 0 kB
+HighFree: 0 kB
+LowTotal: 255908 kB
+LowFree: 69936 kB
+SwapTotal: 524280 kB
+SwapFree: 524280 kB
+Dirty: 4 kB
+Writeback: 0 kB
+Mapped: 42236 kB
+Slab: 25912 kB
+Committed_AS: 118680 kB
+PageTables: 1236 kB
+VmallocTotal: 3874808 kB
+VmallocUsed: 1416 kB
+VmallocChunk: 3872908 kB
+HugePages_Total: 0
+HugePages_Free: 0
+Hugepagesize: 4096 kB
+</screen>
+
+ <para>
+ Much of the information here is used by the <command>free</command>, <command>top</command>, and <command>ps</command> commands. In fact, the output of
+ the <command>free</command> command is
+ similar in appearance to the contents and structure of
+ <filename>/proc/meminfo</filename>. But by
+ looking directly at <filename>/proc/meminfo</filename>, more details are
+ revealed:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <computeroutput>MemTotal</computeroutput>
+ — Total amount of physical RAM, in kilobytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>MemFree</computeroutput>
+ — The amount of physical RAM, in kilobytes, left
+ unused by the system.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>Buffers</computeroutput>
+ — The amount of physical RAM, in kilobytes, used
+ for file buffers.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>Cached</computeroutput>
+ — The amount of physical RAM, in kilobytes, used as
+ cache memory.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>SwapCached</computeroutput> — The
+ amount of swap, in kilobytes, used as cache memory.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>Active</computeroutput>
+ — The total amount of buffer or page cache memory,
+ in kilobytes, that is in active use. This is memory that
+ has been recently used and is usually not reclaimed for
+ other purposes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>Inactive</computeroutput>
+ — The total amount of buffer or page cache memory,
+ in kilobytes, that are free and available. This is memory
+ that has not been recently used and can be reclaimed for
+ other purposes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>HighTotal</computeroutput> and
+ <computeroutput>HighFree</computeroutput>
+ — The total and free amount of memory, in
+ kilobytes, that is not directly mapped into kernel
+ space. The <computeroutput>HighTotal</computeroutput> value can vary
+ based on the type of kernel used.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>LowTotal</computeroutput>
+ and <computeroutput>LowFree</computeroutput> — The
+ total and free amount of memory, in kilobytes, that is
+ directly mapped into kernel space. The <computeroutput>LowTotal</computeroutput> value can vary
+ based on the type of kernel used.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>SwapTotal</computeroutput> — The
+ total amount of swap available, in kilobytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>SwapFree</computeroutput>
+ — The total amount of swap free, in kilobytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>Dirty</computeroutput>
+ — The total amount of memory, in kilobytes, waiting
+ to be written back to the disk.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>Writeback</computeroutput> — The
+ total amount of memory, in kilobytes, actively being
+ written back to the disk.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>Mapped</computeroutput>
+ — The total amount of memory, in kilobytes, which
+ have been used to map devices, files, or libraries using
+ the <command>mmap</command> command.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>Slab</computeroutput>
+ — The total amount of memory, in kilobytes, used by
+ the kernel to cache data structures for its own use.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>Committed_AS</computeroutput> — The
+ total amount of memory, in kilobytes, estimated to
+ complete the workload. This value represents the worst
+ case scenario value, and also includes swap memory.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>PageTables</computeroutput> — The
+ total amount of memory, in kilobytes, dedicated to the
+ lowest page table level.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>VMallocTotal</computeroutput> — The
+ total amount of memory, in kilobytes, of total allocated
+ virtual address space.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>VMallocUsed</computeroutput> — The
+ total amount of memory, in kilobytes, of used virtual
+ address space.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>VMallocChunk</computeroutput> — The
+ largest contiguous block of memory, in kilobytes, of
+ available virtual address space.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>HugePages_Total</computeroutput> —
+ The total number of hugepages for the system. The number
+ is derived by dividing <computeroutput>Hugepagesize</computeroutput> by the
+ megabytes set aside for hugepages specified in <filename>/proc/sys/vm/hugetlb_pool</filename>. <emphasis>This
+ statistic only appears on the x86, Itanium, and AMD64
+ architectures.</emphasis>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>HugePages_Free</computeroutput> —
+ The total number of hugepages available for the
+ system. <emphasis>This statistic only appears on the x86,
+ Itanium, and AMD64 architectures.</emphasis>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>Hugepagesize</computeroutput> — The
+ size for each hugepages unit in kilobytes. By default,
+ the value is 4096 KB on uniprocessor kernels for 32 bit
+ architectures. For SMP, hugemem kernels, and AMD64, the
+ default is 2048 KB. For Itanium architectures, the
+ default is 262144 KB. <emphasis>This statistic only
+ appears on the x86, Itanium, and AMD64
+ architectures.</emphasis>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section
+ id="s2-proc-misc">
+ <title>
+ <filename>/proc/misc</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/misc</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file lists miscellaneous drivers registered on the
+ miscellaneous major device, which is device number 10:
+ </para>
+
+ <screen>
+63 device-mapper 175 agpgart 135 rtc 134 apm_bios
+</screen>
+
+ <para>
+ The first column is the minor number of each device, while
+ the second column shows the driver in use.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-modules">
+ <title>
+ <filename>/proc/modules</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/modules</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file displays a list of all modules loaded into the
+ kernel. Its contents vary based on the configuration and use
+ of your system, but it should be organized in a similar
+ manner to this sample <filename>/proc/modules</filename> file output:
+ </para>
+
+ <note>
+ <title>Note</title>
+
+ <para>
+ This example has been reformatted into a readable
+ format. Most of this information can also be viewed via the
+ <command>/sbin/lsmod</command> command.
+ </para>
+ </note>
+
+
+ <screen>
+nfs 170109 0 - Live 0x129b0000
+lockd 51593 1 nfs, Live 0x128b0000
+nls_utf8 1729 0 - Live 0x12830000
+vfat 12097 0 - Live 0x12823000
+fat 38881 1 vfat, Live 0x1287b000
+autofs4 20293 2 - Live 0x1284f000
+sunrpc 140453 3 nfs,lockd, Live 0x12954000
+3c59x 33257 0 - Live 0x12871000
+uhci_hcd 28377 0 - Live 0x12869000
+md5 3777 1 - Live 0x1282c000
+ipv6 211845 16 - Live 0x128de000
+ext3 92585 2 - Live 0x12886000
+jbd 65625 1 ext3, Live 0x12857000
+dm_mod 46677 3 - Live 0x12833000
+</screen>
+
+
+ <para>
+ The first column contains the name of the module.
+ </para>
+
+ <para>
+ The second column refers to the memory size of the module, in
+ bytes.
+ </para>
+
+ <para>
+ The third column lists how many instances of the module are
+ currently loaded. A value of zero represents an unloaded
+ module.
+ </para>
+
+ <para>
+ The fourth column states if the module depends upon another
+ module to be present in order to function, and lists those
+ other modules.
+ </para>
+
+ <para>
+ The fifth column lists what load state the module is in:
+ <command>Live</command>, <command>Loading</command>, or <command>Unloading</command> are the only possible
+ values.
+ </para>
+
+ <para>
+ The sixth column lists the current kernel memory offset for
+ the loaded module. This information can be useful for
+ debugging purposes, or for profiling tools such as <filename>oprofile</filename>.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-mounts">
+ <title>
+ <filename>/proc/mounts</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/mounts</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file provides a list of all mounts in use by the system:
+ </para>
+
+ <screen>
+rootfs / rootfs rw 0 0
+/proc /proc proc rw,nodiratime 0 0 none
+/dev ramfs rw 0 0
+/dev/mapper/VolGroup00-LogVol00 / ext3 rw 0 0
+none /dev ramfs rw 0 0
+/proc /proc proc rw,nodiratime 0 0
+/sys /sys sysfs rw 0 0
+none /dev/pts devpts rw 0 0
+usbdevfs /proc/bus/usb usbdevfs rw 0 0
+/dev/hda1 /boot ext3 rw 0 0
+none /dev/shm tmpfs rw 0 0
+none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
+sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
+</screen>
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c8
+typo corrected
+ -->
+ <para>
+ The output found here is similar to the contents of <filename>/etc/mtab</filename>, except that <filename>/proc/mounts</filename> is more up-to-date.
+ </para>
+
+ <para>
+ The first column specifies the device that is mounted, the
+ second column reveals the mount point, and the third column
+ tells the file system type, and the fourth column tells you
+ if it is mounted read-only (<computeroutput>ro</computeroutput>) or read-write
+ (<computeroutput>rw</computeroutput>). The
+ fifth and sixth columns are dummy values designed to match
+ the format used in <filename>/etc/mtab</filename>.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-mtrr">
+ <title>
+ <filename>/proc/mtrr</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/mtrr</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file refers to the current Memory Type Range Registers
+ (MTRRs) in use with the system. If the system architecture
+ supports MTRRs, then the <filename>/proc/mtrr</filename> file may look similar
+ to the following:
+ </para>
+
+ <screen>
+reg00: base=0x00000000 ( 0MB), size= 256MB: write-back, count=1
+reg01: base=0xe8000000 (3712MB), size= 32MB: write-combining, count=1
+</screen>
+
+ <para>
+ MTRRs are used with the Intel P6 family of processors
+ (Pentium II and higher) and control processor access to
+ memory ranges. When using a video card on a PCI or AGP bus, a
+ properly configured <filename>/proc/mtrr</filename> file can increase
+ performance more than 150%.
+ </para>
+
+ <para>
+ Most of the time, this value is properly configured by
+ default. More information on manually configuring this file
+ can be found locally at the following location:
+ </para>
+
+ <screen>
+/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/mtrr.txt
+</screen>
+ </section>
+
+ <section
+ id="s2-proc-partitions">
+ <title>
+ <filename>/proc/partitions</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/partitions</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file contains partition block allocation information. A
+ sampling of this file from a basic system looks similar to
+ the following:
+ </para>
+
+ <screen>
+major minor #blocks name
+ 3 0 19531250 hda
+ 3 1 104391 hda1
+ 3 2 19422585 hda2
+253 0 22708224 dm-0
+253 1 524288 dm-1
+</screen>
+
+ <para>
+ Most of the information here is of little importance to the
+ user, except for the following columns:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <computeroutput>major</computeroutput>
+ — The major number of the device with this
+ partition. The major number in the <filename>/proc/partitions</filename>,
+ (<computeroutput>3</computeroutput>),
+ corresponds with the block device <computeroutput>ide0</computeroutput>, in <filename>/proc/devices</filename>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>minor</computeroutput>
+ — The minor number of the device with this
+ partition. This serves to separate the partitions into
+ different physical devices and relates to the number at
+ the end of the name of the partition.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>#blocks</computeroutput>
+ — Lists the number of physical disk blocks
+ contained in a particular partition.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>name</computeroutput>
+ — The name of the partition.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section
+ id="s2-proc-pci">
+ <title>
+ <filename>/proc/pci</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/pci</filename>
+ </secondary>
+ <tertiary>viewing using <command>lspci</command>
+ </tertiary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <command>lspci</command>
+ </primary>
+ </indexterm>
+ <para>
+ This file contains a full listing of every PCI device on the
+ system. Depending on the number of PCI devices, <filename>/proc/pci</filename> can be rather long. A
+ sampling of this file from a basic system looks similar to
+ the following:
+ </para>
+
+
+ <screen>
+Bus 0, device 0, function 0: Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 3). Master Capable. Latency=64. Prefetchable 32 bit memory at 0xe4000000 [0xe7ffffff].
+Bus 0, device 1, function 0: PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 3). Master Capable. Latency=64. Min Gnt=128.
+Bus 0, device 4, function 0: ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 2).
+Bus 0, device 4, function 1: IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 1). Master Capable. Latency=32. I/O at 0xd800 [0xd80f].
+Bus 0, device 4, function 2: USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 1). IRQ 5. Master Capable. Latency=32. I/O at 0xd400 [0xd41f].
+Bus 0, device 4, function 3: Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 2). IRQ 9.
+Bus 0, device 9, function 0: Ethernet controller: Lite-On Communications Inc LNE100TX (rev 33). IRQ 5. Master Capable. Latency=32. I/O at 0xd000 [0xd0ff].
+Bus 0, device 12, function 0: VGA compatible controller: S3 Inc. ViRGE/DX or /GX (rev 1). IRQ 11. Master Capable. Latency=32. Min Gnt=4.Max Lat=255.
+</screen>
+
+ <para>
+ This output shows a list of all PCI devices, sorted in the
+ order of bus, device, and function. Beyond providing the
+ name and version of the device, this list also gives
+ detailed IRQ information so an administrator can quickly
+ look for conflicts.
+ </para>
+
+ <note>
+ <title>Tip</title>
+ <para>
+ To get a more readable version of this information, type:
+ </para>
+
+ <screen>
+/sbin/lspci -vb
+</screen>
+ </note>
+ </section>
+
+ <section
+ id="s2-proc-slabinfo">
+ <title>
+ <filename>/proc/slabinfo</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/slabinfo</filename>
+ </secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>slab pools</primary>
+ <see>
+ <filename>/proc/slabinfo</filename>
+ </see>
+ </indexterm>
+ <para>
+ This file gives full information about memory usage on the
+ <firstterm>slab</firstterm> level. Linux kernels greater than
+ version 2.2 use <firstterm>slab pools</firstterm> to manage
+ memory above the page level. Commonly used objects have their
+ own slab pools.
+ </para>
+
+ <para>
+ Instead of parsing the highly verbose <filename>/proc/slabinfo</filename> file manually, the
+ <filename>/usr/bin/slabtop</filename> program
+ displays kernel slab cache information in real time. This
+ program allows for custom configurations, including column
+ sorting and screen refreshing.
+ </para>
+
+ <para>
+ A sample screen shot of <filename>/usr/bin/slabtop</filename> usually looks
+ like the following example:
+ </para>
+
+ <screen>
+Active / Total Objects (% used) : 133629 / 147300 (90.7%)
+Active / Total Slabs (% used) : 11492 / 11493 (100.0%)
+Active / Total Caches (% used) : 77 / 121 (63.6%)
+Active / Total Size (% used) : 41739.83K / 44081.89K (94.7%)
+Minimum / Average / Maximum Object : 0.01K / 0.30K / 128.00K
+OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
+44814 43159 96% 0.62K 7469 6 29876K ext3_inode_cache
+36900 34614 93% 0.05K 492 75 1968K buffer_head
+35213 33124 94% 0.16K 1531 23 6124K dentry_cache
+7364 6463 87% 0.27K 526 14 2104K radix_tree_node
+2585 1781 68% 0.08K 55 47 220K vm_area_struct
+2263 2116 93% 0.12K 73 31 292K size-128
+1904 1125 59% 0.03K 16 119 64K size-32
+1666 768 46% 0.03K 14 119 56K anon_vma
+1512 1482 98% 0.44K 168 9 672K inode_cache
+1464 1040 71% 0.06K 24 61 96K size-64
+1320 820 62% 0.19K 66 20 264K filp
+678 587 86% 0.02K 3 226 12K dm_io
+678 587 86% 0.02K 3 226 12K dm_tio
+576 574 99% 0.47K 72 8 288K proc_inode_cache
+528 514 97% 0.50K 66 8 264K size-512
+492 372 75% 0.09K 12 41 48K bio
+465 314 67% 0.25K 31 15 124K size-256
+452 331 73% 0.02K 2 226 8K biovec-1
+420 420 100% 0.19K 21 20 84K skbuff_head_cache
+305 256 83% 0.06K 5 61 20K biovec-4
+290 4 1% 0.01K 1 290 4K revoke_table
+264 264 100% 4.00K 264 1 1056K size-4096
+260 256 98% 0.19K 13 20 52K biovec-16
+260 256 98% 0.75K 52 5 208K biovec-64
+</screen>
+
+ <para>
+ Some of the more commonly used statistics in <filename>/proc/slabinfo</filename> that are included
+ into <filename>/usr/bin/slabtop</filename>
+ include:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <computeroutput>OBJS</computeroutput>
+ — The total number of objects (memory blocks),
+ including those in use (allocated), and some spares not
+ in use.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>ACTIVE</computeroutput>
+ — The number of objects (memory blocks) that are
+ in use (allocated).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>USE</computeroutput>
+ — Percentage of total objects that are
+ active. ((ACTIVE/OBJS)(100))
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>OBJ
+ SIZE</computeroutput> — The size of the objects.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>SLABS</computeroutput>
+ — The total number of slabs.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>OBJ/SLAB</computeroutput> — The
+ number of objects that fit into a slab.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>CACHE
+ SIZE</computeroutput> — The cache size of the
+ slab.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>NAME</computeroutput>
+ — The name of the slab.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ For more information on the <filename>/usr/bin/slabtop</filename> program, refer
+ to the <filename>slabtop</filename> man
+ page.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-stat">
+ <title>
+ <filename>/proc/stat</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/stat</filename>
+ </secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>epoch</primary>
+ <secondary>definition of</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>epoch</primary>
+ <seealso>
+ <filename>/proc/stat</filename>
+ </seealso>
+ </indexterm>
+ <para>
+ This file keeps track of a variety of different statistics
+ about the system since it was last restarted. The contents
+ of <filename>/proc/stat</filename>, which
+ can be quite long, usually begins like the following
+ example:
+ </para>
+
+ <screen>
+cpu 259246 7001 60190 34250993 137517 772 0
+cpu0 259246 7001 60190 34250993 137517 772 0
+intr 354133732 347209999 2272 0 4 4 0 0 3 1 1249247 0 0 80143 0 422626 5169433
+ctxt 12547729
+btime 1093631447
+processes 130523
+procs_running 1
+procs_blocked 0
+preempt 5651840
+cpu 209841 1554 21720 118519346 72939 154 27168
+cpu0 42536 798 4841 14790880 14778 124 3117
+cpu1 24184 569 3875 14794524 30209 29 3130
+cpu2 28616 11 2182 14818198 4020 1 3493
+cpu3 35350 6 2942 14811519 3045 0 3659
+cpu4 18209 135 2263 14820076 12465 0 3373
+cpu5 20795 35 1866 14825701 4508 0 3615
+cpu6 21607 0 2201 14827053 2325 0 3334
+cpu7 18544 0 1550 14831395 1589 0 3447
+intr 15239682 14857833 6 0 6 6 0 5 0 1 0 0 0 29 0 2 0 0 0 0 0 0 0 94982 0 286812
+ctxt 4209609
+btime 1078711415
+processes 21905
+procs_running 1
+procs_blocked 0
+</screen>
+
+ <para>
+ Some of the more commonly used statistics include:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <computeroutput>cpu</computeroutput>
+ — Measures the number of
+ <firstterm>jiffies</firstterm> (1/100 of a second for
+ x86 systems) that the system has been in user mode, user
+ mode with low priority (nice), system mode, idle task,
+ I/O wait, IRQ (hardirq), and softirq respectively. The
+ IRQ (hardirq) is the direct response to a hardware
+ event. The IRQ takes minimal work for queuing the
+ "heavy" work up for the softirq to execute. The softirq
+ runs at a lower priority than the IRQ and therefore may
+ be interrupted more frequently. The total for all CPUs
+ is given at the top, while each individual CPU is listed
+ below with its own statistics. The following example is
+ a 4-way Intel Pentium Xeon configuration with
+ multi-threading enabled, therefore showing four physical
+ processors and four virtual processors totaling eight
+ processors.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>page</computeroutput>
+ — The number of memory pages the system has
+ written in and out to disk.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>swap</computeroutput>
+ — The number of swap pages the system has brought
+ in and out.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>intr</computeroutput>
+ — The number of interrupts the system has
+ experienced.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>btime</computeroutput>
+ — The boot time, measured in the number of seconds
+ since January 1, 1970, otherwise known as the
+ <firstterm>epoch</firstterm>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section
+ id="s2-proc-swaps">
+ <title>
+ <filename>/proc/swaps</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/swaps</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file measures swap space and its utilization. For a
+ system with only one swap partition, the output of <filename>/proc/swaps</filename> may look similar to
+ the following:
+ </para>
+
+ <screen>
+Filename Type Size Used Priority
+/dev/mapper/VolGroup00-LogVol01 partition 524280 0 -1
+</screen>
+
+ <para>
+ While some of this information can be found in other files
+ in the <filename>/proc/</filename>
+ directory, <filename>/proc/swap</filename>
+ provides a snapshot of every swap file name, the type of
+ swap space, the total size, and the amount of space in use
+ (in kilobytes). The priority column is useful when multiple
+ swap files are in use. The lower the priority, the more
+ likely the swap file is to be used.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-sysrq-trigger">
+ <title>
+ <filename>/proc/sysrq-trigger</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sysrq-trigger</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ Using the <command>echo</command> command to
+ write to this file, a remote root user can execute most
+ System Request Key commands remotely as if at the local
+ terminal. To <command>echo</command> values
+ to this file, the <filename>/proc/sys/kernel/sysrq</filename> must be
+ set to a value other than <computeroutput>0</computeroutput>. For more information
+ about the System Request Key, refer to <xref
+ linkend="s3-proc-sys-kernel"/>.
+ </para>
+
+ <para>
+ Although it is possible to write to this file, it cannot be
+ read, even by the root user.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-uptime">
+ <title>
+ <filename>/proc/uptime</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/uptime</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ This file contains information detailing how long the system
+ has been on since its last restart. The output of <filename>/proc/uptime</filename> is quite minimal:
+ </para>
+
+ <screen>
+350735.47 234388.90
+</screen>
+
+ <para>
+ The first number is the total number of seconds the system
+ has been up. The second number is how much of that time the
+ machine has spent idle, in seconds.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-version">
+ <title>
+ <filename>/proc/version</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/version</filename>
+ </secondary>
+ </indexterm>
+
+ <para>
+This file specifies the version of the Linux kernel, the version of
+<command>gcc</command> used to compile the kernel, and the time of
+kernel compilation. It also contains the kernel compiler's user name
+(in parentheses).
+</para>
+
+
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c8
+WRONG. above replaces below
+<para>
+ This file specifies the version of the Linux kernel and
+ <filename>gcc</filename> in use, as well as
+ the version of Red Hat Enterprise Linux installed on the
+ system:
+ </para>
+ -->
+ <screen>
+Linux version 2.6.8-1.523 (user(a)foo.redhat.com) (gcc version 3.4.1 20040714 \ (Red Hat Enterprise Linux 3.4.1-7)) #1 Mon Aug 16 13:27:03 EDT 2004
+</screen>
+
+
+ <para>
+ This information is used for a variety of purposes,
+ including the version data presented when a user logs in.
+ </para>
+ </section>
+ </section>
+ <section
+ id="s1-proc-directories">
+ <title>Directories within <filename>/proc/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>subdirectories within</secondary>
+ </indexterm>
+ <para>
+ Common groups of information concerning the kernel are grouped
+ into directories and subdirectories within the <filename
+ moreinfo="none">/proc/</filename> directory.
+ </para>
+
+ <section
+ id="s2-proc-processdirs">
+ <title>Process Directories</title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>process directories</secondary>
+ </indexterm>
+ <para>
+ Every <filename>/proc/</filename> directory
+ contains a number of directories with numerical names. A
+ listing of them may be similar to the following:
+ </para>
+
+
+ <screen>
+dr-xr-xr-x 3 root root 0 Feb 13 01:28 1
+dr-xr-xr-x 3 root root 0 Feb 13 01:28 1010
+dr-xr-xr-x 3 xfs xfs 0 Feb 13 01:28 1087
+dr-xr-xr-x 3 daemon daemon 0 Feb 13 01:28 1123
+dr-xr-xr-x 3 root root 0 Feb 13 01:28 11307
+dr-xr-xr-x 3 apache apache 0 Feb 13 01:28 13660
+dr-xr-xr-x 3 rpc rpc 0 Feb 13 01:28 637
+dr-xr-xr-x 3 rpcuser rpcuser 0 Feb 13 01:28 666
+</screen>
+
+ <para>
+ These directories are called <firstterm>process
+ directories</firstterm>, as they are named after a program's
+ process ID and contain information specific to that
+ process. The owner and group of each process directory is
+ set to the user running the process. When the process is
+ terminated, its <filename>/proc/</filename>
+ process directory vanishes.
+ </para>
+
+ <para>
+ Each process directory contains the following files:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <computeroutput>cmdline</computeroutput>
+ — Contains the command issued when starting the
+ process.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>cwd</computeroutput>
+ — A symbolic link to the current working directory
+ for the process.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>environ</computeroutput>
+ — A list of the environment variables for the
+ process. The environment variable is given in all
+ upper-case characters, and the value is in lower-case
+ characters.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>exe</computeroutput>
+ — A symbolic link to the executable of this
+ process.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>fd</computeroutput>
+ — A directory containing all of the file
+ descriptors for a particular process. These are given in
+ numbered links:
+ </para>
+
+
+ <screen>
+total 0
+lrwx------ 1 root root 64 May 8 11:31 0 -> /dev/null
+lrwx------ 1 root root 64 May 8 11:31 1 -> /dev/null
+lrwx------ 1 root root 64 May 8 11:31 2 -> /dev/null
+lrwx------ 1 root root 64 May 8 11:31 3 -> /dev/ptmx
+lrwx------ 1 root root 64 May 8 11:31 4 -> socket:[7774817]
+lrwx------ 1 root root 64 May 8 11:31 5 -> /dev/ptmx
+lrwx------ 1 root root 64 May 8 11:31 6 -> socket:[7774829]
+lrwx------ 1 root root 64 May 8 11:31 7 -> /dev/ptmx
+</screen>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>maps</computeroutput>
+ — A list of memory maps to the various executables
+ and library files associated with this process. This
+ file can be rather long, depending upon the complexity
+ of the process, but sample output from the <command>sshd</command> process begins like the
+ following:
+ </para>
+
+ <screen>
+08048000-08086000 r-xp 00000000 03:03 391479 /usr/sbin/sshd
+08086000-08088000 rw-p 0003e000 03:03 391479 /usr/sbin/sshd
+08088000-08095000 rwxp 00000000 00:00 0
+40000000-40013000 r-xp 0000000 03:03 293205 /lib/ld-2.2.5.so
+40013000-40014000 rw-p 00013000 03:03 293205 /lib/ld-2.2.5.so
+40031000-40038000 r-xp 00000000 03:03 293282 /lib/libpam.so.0.75
+40038000-40039000 rw-p 00006000 03:03 293282 /lib/libpam.so.0.75
+40039000-4003a000 rw-p 00000000 00:00 0
+4003a000-4003c000 r-xp 00000000 03:03 293218 /lib/libdl-2.2.5.so
+4003c000-4003d000 rw-p 00001000 03:03 293218 /lib/libdl-2.2.5.so
+</screen>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>mem</computeroutput>
+ — The memory held by the process. This file cannot
+ be read by the user.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>root</computeroutput>
+ — A link to the root directory of the process.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>stat</computeroutput>
+ — The status of the process.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>statm</computeroutput>
+ — The status of the memory in use by the
+ process. Below is a sample <filename>/proc/statm</filename> file:
+ </para>
+
+
+ <screen>
+263 210 210 5 0 205 0
+</screen>
+
+ <para>
+ The seven columns relate to different memory statistics for the process. From left to right, they report the following aspects of the memory used:
+ </para>
+
+ <orderedlist
+ inheritnum="ignore"
+ continuation="restarts">
+ <listitem>
+ <para>
+ Total program size, in kilobytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Size of memory portions, in kilobytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Number of pages that are shared.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Number of pages that are code.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Number of pages of data/stack.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Number of library pages.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Number of dirty pages.
+ </para>
+ </listitem>
+ </orderedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>status</computeroutput>
+ — The status of the process in a more readable
+ form than <filename>stat</filename> or
+ <filename>statm</filename>. Sample
+ output for <command>sshd</command> looks
+ similar to the following:
+ </para>
+
+ <screen>
+Name: sshd
+State: S (sleeping)
+Tgid: 797
+Pid: 797
+PPid: 1
+TracerPid: 0
+Uid: 0 0 0 0
+Gid: 0 0 0 0
+FDSize: 32
+Groups:
+VmSize: 3072 kB
+VmLck: 0 kB
+VmRSS: 840 kB
+VmData: 104 kB
+VmStk: 12 kB
+VmExe: 300 kB
+VmLib: 2528 kB
+SigPnd: 0000000000000000
+SigBlk: 0000000000000000
+SigIgn: 8000000000001000
+SigCgt: 0000000000014005
+CapInh: 0000000000000000
+CapPrm: 00000000fffffeff
+CapEff: 00000000fffffeff
+</screen>
+
+ <para>
+ The information in this output includes the process name
+ and ID, the state (such as <computeroutput>S (sleeping)</computeroutput> or
+ <computeroutput>R
+ (running)</computeroutput>), user/group ID running the
+ process, and detailed data regarding memory usage.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <section
+ id="s3-proc-self">
+ <title>
+ <filename>/proc/self/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/self/</filename> directory</secondary>
+ </indexterm>
+ <para>
+ The <filename>/proc/self/</filename>
+ directory is a link to the currently running process. This
+ allows a process to look at itself without having to know
+ its process ID.
+ </para>
+
+ <para>
+ Within a shell environment, a listing of the <filename>/proc/self/</filename> directory produces
+ the same contents as listing the process directory for
+ that process.
+ </para>
+ </section>
+ </section>
+
+ <section
+ id="s2-proc-dir-bus">
+ <title>
+ <filename>/proc/bus/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/bus/</filename> directory</secondary>
+ </indexterm>
+ <para>
+ This directory contains information specific to the various
+ buses available on the system. For example, on a standard
+ system containing PCI and USB buses, current data on each of
+ these buses is available within a subdirectory within
+ <filename>/proc/bus/</filename> by the same
+ name, such as <filename>/proc/bus/pci/</filename>.
+ </para>
+
+ <para>
+ The subdirectories and files available within <filename>/proc/bus/</filename> vary depending on the
+ devices connected to the system. However, each bus type has
+ at least one directory. Within these bus directories are
+ normally at least one subdirectory with a numerical name,
+ such as <filename>001</filename>, which
+ contain binary files.
+ </para>
+
+ <para>
+ For example, the <filename>/proc/bus/usb/</filename> subdirectory
+ contains files that track the various devices on any USB
+ buses, as well as the drivers required for them. The
+ following is a sample listing of a <filename>/proc/bus/usb/</filename> directory:
+ </para>
+
+ <screen>
+total 0 dr-xr-xr-x 1 root root 0 May 3 16:25 001
+-r--r--r-- 1 root root 0 May 3 16:25 devices
+-r--r--r-- 1 root root 0 May 3 16:25 drivers
+</screen>
+
+ <para>
+ The <filename>/proc/bus/usb/001/</filename>
+ directory contains all devices on the first USB bus and the
+ <filename>devices</filename> file identifies
+ the USB root hub on the motherboard.
+ </para>
+
+ <para>
+ The following is a example of a <filename>/proc/bus/usb/devices</filename> file:
+ </para>
+
+ <screen>
+T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
+B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
+D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
+P: Vendor=0000 ProdID=0000 Rev= 0.00
+S: Product=USB UHCI Root Hub
+S: SerialNumber=d400
+C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
+I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
+E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
+</screen>
+ </section>
+
+ <section
+ id="s2-proc-dir-driver">
+ <title>
+ <filename>/proc/driver/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/driver/</filename> directory</secondary>
+ </indexterm>
+ <para>
+ This directory contains information for specific drivers in
+ use by the kernel.
+ </para>
+
+ <para>
+ A common file found here is <filename>rtc</filename> which provides output from
+ the driver for the system's <firstterm>Real Time Clock
+ (RTC)</firstterm>, the device that keeps the time while the
+ system is switched off. Sample output from <filename>/proc/driver/rtc</filename> looks like the
+ following:
+ </para>
+
+ <screen>
+rtc_time : 16:21:00
+rtc_date : 2004-08-31
+rtc_epoch : 1900
+alarm : 21:16:27
+DST_enable : no
+BCD : yes
+24hr : yes
+square_wave : no
+alarm_IRQ : no
+update_IRQ : no
+periodic_IRQ : no
+periodic_freq : 1024
+batt_status : okay
+</screen>
+
+ <para>
+ For more information about the RTC, refer to the following
+ installed documentation:
+ </para>
+
+ <para>
+ <filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/rtc.txt</filename>.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-dir-fs">
+ <title>
+ <filename>/proc/fs</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/fs/</filename> directory</secondary>
+ </indexterm>
+ <para>
+ This directory shows which file systems are exported. If
+ running an NFS server, typing <command>cat
+ /proc/fs/nfsd/exports</command> displays the file systems
+ being shared and the permissions granted for those file
+ systems. For more on file system sharing with NFS, refer to
+ the <citetitle pubwork="chapter">Network File System (NFS)</citetitle> chapter of the <citetitle>Storage Administration Guide</citetitle>.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-dir-irq">
+ <title>
+ <filename>/proc/irq/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/irq/</filename> directory</secondary>
+ </indexterm>
+ <para>
+ This directory is used to set IRQ to CPU affinity, which
+ allows the system to connect a particular IRQ to only one
+ CPU. Alternatively, it can exclude a CPU from handling any
+ IRQs.
+ </para>
+
+ <para>
+ Each IRQ has its own directory, allowing for the individual
+ configuration of each IRQ. The <filename>/proc/irq/prof_cpu_mask</filename> file is a
+ bitmask that contains the default values for the <filename>smp_affinity</filename> file in the IRQ
+ directory. The values in <filename>smp_affinity</filename> specify which CPUs
+ handle that particular IRQ.
+ </para>
+
+ <para>
+ For more information about the <filename>/proc/irq/</filename> directory, refer to the
+ following installed documentation:
+ </para>
+
+ <screen>
+/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/filesystems/proc.txt
+</screen>
+ </section>
+
+ <section
+ id="s2-proc-dir-net">
+ <title>
+ <filename>/proc/net/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/net/</filename> directory</secondary>
+ </indexterm>
+ <para>
+ This directory provides a comprehensive look at various
+ networking parameters and statistics. Each directory and
+ virtual file within this directory describes aspects of the
+ system's network configuration. Below is a partial list of
+ the <filename>/proc/net/</filename>
+ directory:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <filename>arp</filename> — Lists
+ the kernel's ARP table. This file is particularly useful
+ for connecting a hardware address to an IP address on a
+ system.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>atm/</filename> directory
+ — The files within this directory contain
+ <firstterm>Asynchronous Transfer Mode (ATM)</firstterm>
+ settings and statistics. This directory is primarily used
+ with ATM networking and ADSL cards.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>dev</filename> — Lists
+ the various network devices configured on the system,
+ complete with transmit and receive statistics. This file
+ displays the number of bytes each interface has sent and
+ received, the number of packets inbound and outbound, the
+ number of errors seen, the number of packets dropped, and
+ more.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>dev_mcast</filename> —
+ Lists Layer2 multicast groups on which each device is
+ listening.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>igmp</filename> — Lists
+ the IP multicast addresses which this system joined.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>ip_conntrack</filename> —
+ Lists tracked network connections for machines that are
+ forwarding IP connections.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>ip_tables_names</filename>
+ — Lists the types of <command>iptables</command> in use. This file is
+ only present if <command>iptables</command> is active on the
+ system and contains one or more of the following values:
+ <filename>filter</filename>, <filename>mangle</filename>, or <filename>nat</filename>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>ip_mr_cache</filename> —
+ Lists the multicast routing cache.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>ip_mr_vif</filename> —
+ Lists multicast virtual interfaces.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>netstat</filename> —
+ Contains a broad yet detailed collection of networking
+ statistics, including TCP timeouts, SYN cookies sent and
+ received, and much more.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>psched</filename> — Lists
+ global packet scheduler parameters.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>raw</filename> — Lists
+ raw device statistics.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>route</filename> — Lists
+ the kernel's routing table.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>rt_cache</filename> —
+ Contains the current routing cache.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>snmp</filename> — List of
+ Simple Network Management Protocol (SNMP) data for
+ various networking protocols in use.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>sockstat</filename> —
+ Provides socket statistics.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>tcp</filename> — Contains
+ detailed TCP socket information.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>tr_rif</filename> — Lists
+ the token ring RIF routing table.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>udp</filename> — Contains
+ detailed UDP socket information.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>unix</filename> — Lists
+ UNIX domain sockets currently in use.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>wireless</filename> —
+ Lists wireless interface data.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section
+ id="s2-proc-dir-scsi">
+ <title>
+ <filename>/proc/scsi/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/scsi/</filename> directory</secondary>
+ </indexterm>
+<!-- BZ#561622, removed /proc/ide and all relevant references
+ <para>
+ This directory is analogous to the <filename
+ >/proc/ide/</filename> directory, but it is
+ for connected SCSI devices.
+ </para> -->
+
+ <para>
+ The primary file in this directory is <filename>/proc/scsi/scsi</filename>, which contains a
+ list of every recognized SCSI device. From this listing, the
+ type of device, as well as the model name, vendor, SCSI
+ channel and ID data is available.
+ </para>
+
+ <para>
+ For example, if a system contains a SCSI CD-ROM, a tape
+ drive, a hard drive, and a RAID controller, this file looks
+ similar to the following:
+ </para>
+
+
+ <screen>
+Attached devices:
+Host: scsi1
+Channel: 00
+Id: 05
+Lun: 00
+Vendor: NEC
+Model: CD-ROM DRIVE:466
+Rev: 1.06
+Type: CD-ROM
+ANSI SCSI revision: 02
+Host: scsi1
+Channel: 00
+Id: 06
+Lun: 00
+Vendor: ARCHIVE
+Model: Python 04106-XXX
+Rev: 7350
+Type: Sequential-Access
+ANSI SCSI revision: 02
+Host: scsi2
+Channel: 00
+Id: 06
+Lun: 00
+Vendor: DELL
+Model: 1x6 U2W SCSI BP
+Rev: 5.35
+Type: Processor
+ANSI SCSI revision: 02
+Host: scsi2
+Channel: 02
+Id: 00
+Lun: 00
+Vendor: MegaRAID
+Model: LD0 RAID5 34556R
+Rev: 1.01
+Type: Direct-Access
+ANSI SCSI revision: 02
+</screen>
+
+ <para>
+ Each SCSI driver used by the system has its own directory
+ within <filename>/proc/scsi/</filename>,
+ which contains files specific to each SCSI controller using
+ that driver. From the previous example, <filename>aic7xxx/</filename> and <filename>megaraid/</filename> directories are
+ present, since two drivers are in use. The files in each of
+ the directories typically contain an I/O address range, IRQ
+ information, and statistics for the SCSI controller using
+ that driver. Each controller can report a different type
+ and amount of information. The Adaptec AIC-7880 Ultra SCSI
+ host adapter's file in this example system produces the
+ following output:
+ </para>
+
+ <screen>
+Adaptec AIC7xxx driver version: 5.1.20/3.2.4
+Compile Options:
+TCQ Enabled By Default : Disabled
+AIC7XXX_PROC_STATS : Enabled
+AIC7XXX_RESET_DELAY : 5
+Adapter Configuration:
+SCSI Adapter: Adaptec AIC-7880 Ultra SCSI host adapter
+Ultra Narrow Controller PCI MMAPed
+I/O Base: 0xfcffe000
+Adapter SEEPROM Config: SEEPROM found and used.
+Adaptec SCSI BIOS: Enabled
+IRQ: 30
+SCBs: Active 0, Max Active 1, Allocated 15, HW 16, Page 255
+Interrupts: 33726
+BIOS Control Word: 0x18a6
+Adapter Control Word: 0x1c5f
+Extended Translation: Enabled
+Disconnect Enable Flags: 0x00ff
+Ultra Enable Flags: 0x0020
+Tag Queue Enable Flags: 0x0000
+Ordered Queue Tag Flags: 0x0000
+Default Tag Queue Depth: 8
+Tagged Queue By Device array for aic7xxx
+host instance 1: {255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255}
+Actual queue depth per device for aic7xxx host instance 1: {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
+Statistics:
+
+(scsi1:0:5:0) Device using Narrow/Sync transfers at 20.0 MByte/sec, offset 15
+Transinfo settings: current(12/15/0/0), goal(12/15/0/0), user(12/15/0/0)
+Total transfers 0 (0 reads and 0 writes)
+ < 2K 2K+ 4K+ 8K+ 16K+ 32K+ 64K+ 128K+
+Reads: 0 0 0 0 0 0 0 0
+Writes: 0 0 0 0 0 0 0 0
+
+(scsi1:0:6:0) Device using Narrow/Sync transfers at 10.0 MByte/sec, offset 15
+Transinfo settings: current(25/15/0/0), goal(12/15/0/0), user(12/15/0/0)
+Total transfers 132 (0 reads and 132 writes)
+ < 2K 2K+ 4K+ 8K+ 16K+ 32K+ 64K+ 128K+
+Reads: 0 0 0 0 0 0 0 0
+Writes: 0 0 0 1 131 0 0 0
+</screen>
+
+ <para>
+ This output reveals the transfer speed to the SCSI
+ devices connected to the controller based on channel ID,
+ as well as detailed statistics concerning the amount and
+ sizes of files read or written by that device. For
+ example, this controller is communicating with the
+ CD-ROM at 20 megabytes per second, while the tape drive
+ is only communicating at 10 megabytes per second.
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-dir-sys">
+ <title>
+ <filename>/proc/sys/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sys/</filename> directory</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>system request key</primary>
+ <secondary>enabling</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sys/</filename> directory</secondary>
+ <tertiary>/proc/sys/kernel/sysrq</tertiary>
+ <see>system request key</see>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>changing files within</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>System Request Key</primary>
+ <secondary>definition of</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>SysRq</primary>
+ <see>system request key</see>
+ </indexterm>
+ <para>
+ The <filename>/proc/sys/</filename>
+ directory is different from others in <filename>/proc/</filename> because it not only
+ provides information about the system but also allows
+ the system administrator to immediately enable and
+ disable kernel features.
+ </para>
+
+ <warning>
+ <title>Caution</title>
+
+ <para>
+ Use caution when changing settings on a production
+ system using the various files in the <filename
+ moreinfo="none">/proc/sys/</filename>
+ directory. Changing the wrong setting may render the
+ kernel unstable, requiring a system reboot.
+ </para>
+
+ <para>
+ For this reason, be sure the options are valid for
+ that file before attempting to change any value in
+ <filename>/proc/sys/</filename>.
+ </para>
+ </warning>
+
+ <para>
+ A good way to determine if a particular file can be
+ configured, or if it is only designed to provide
+ information, is to list it with the <option>-l</option>
+ option at the shell prompt. If the file is writable, it
+ may be used to configure the kernel. For example, a
+ partial listing of <filename>/proc/sys/fs</filename> looks like the
+ following:
+ </para>
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c10
+removed dquot-nr entry from screen -->
+ <screen>
+-r--r--r-- 1 root root 0 May 10 16:14 dentry-state
+-rw-r--r-- 1 root root 0 May 10 16:14 dir-notify-enable
+-rw-r--r-- 1 root root 0 May 10 16:14 file-max
+-r--r--r-- 1 root root 0 May 10 16:14 file-nr
+</screen>
+
+ <para>
+ In this listing, the files <filename>dir-notify-enable</filename> and
+ <filename>file-max</filename> can be
+ written to and, therefore, can be used to configure the
+ kernel. The other files only provide feedback on current
+ settings.
+ </para>
+
+ <para>
+ Changing a value within a <filename>/proc/sys/</filename> file is done by
+ echoing the new value into the file. For example, to
+ enable the System Request Key on a running kernel, type
+ the command:
+ </para>
+
+ <screen>
+echo 1 > /proc/sys/kernel/sysrq
+</screen>
+
+ <para>
+ This changes the value for <filename>sysrq</filename> from <computeroutput>0</computeroutput> (off) to
+ <computeroutput>1</computeroutput> (on).
+ </para>
+
+ <para>
+ A few <filename>/proc/sys/</filename>
+ configuration files contain more than one value. To
+ correctly send new values to them, place a space
+ character between each value passed with the <command>echo</command> command, such as is done
+ in this example:
+ </para>
+
+ <screen>
+echo 4 2 45 > /proc/sys/kernel/acct
+</screen>
+
+ <note>
+ <title>Note</title>
+
+ <para>
+ Any configuration changes made using the <command
+ moreinfo="none">echo</command> command disappear when
+ the system is restarted. To make configuration changes
+ take effect after the system is rebooted, refer to
+ <xref
+ linkend="s1-proc-sysctl"/>.
+ </para>
+ </note>
+
+ <para>
+ The <filename>/proc/sys/</filename>
+ directory contains several subdirectories controlling
+ different aspects of a running kernel.
+ </para>
+
+ <section
+ id="s3-proc-sys-dev">
+ <title>
+ <filename>/proc/sys/dev/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sys/</filename> directory</secondary>
+ <tertiary>
+ <filename>/proc/sys/dev/</filename> directory</tertiary>
+ </indexterm>
+
+ <para>
+ This directory provides parameters for particular
+ devices on the system. Most systems have at least two
+ directories, <filename
+ moreinfo="none">cdrom/</filename> and <filename
+ moreinfo="none">raid/</filename>. Customized kernels
+ can have other directories, such as <filename
+ moreinfo="none">parport/</filename>, which provides
+ the ability to share one parallel port between
+ multiple device drivers.
+ </para>
+
+ <para>
+ The <filename>cdrom/</filename>
+ directory contains a file called <filename
+ moreinfo="none">info</filename>, which reveals a
+ number of important CD-ROM parameters:
+ </para>
+
+
+ <screen>
+CD-ROM information, Id: cdrom.c 3.20 2003/12/17
+drive name: hdc
+drive speed: 48
+drive # of slots: 1
+Can close tray: 1
+Can open tray: 1
+Can lock tray: 1
+Can change speed: 1
+Can select disk: 0
+Can read multisession: 1
+Can read MCN: 1
+Reports media changed: 1
+Can play audio: 1
+Can write CD-R: 0
+Can write CD-RW: 0
+Can read DVD: 0
+Can write DVD-R: 0
+Can write DVD-RAM: 0
+Can read MRW: 0
+Can write MRW: 0
+Can write RAM: 0
+</screen>
+
+ <para>
+ This file can be quickly scanned to discover the
+ qualities of an unknown CD-ROM. If multiple CD-ROMs
+ are available on a system, each device is given its
+ own column of information.
+ </para>
+
+ <para>
+ Various files in <filename>/proc/sys/dev/cdrom</filename>, such
+ as <filename>autoclose</filename> and
+ <filename>checkmedia</filename>, can
+ be used to control the system's CD-ROM. Use the
+ <command>echo</command> command to
+ enable or disable these features.
+ </para>
+
+ <para>
+ If RAID support is compiled into the kernel, a
+ <filename>/proc/sys/dev/raid/</filename>
+ directory becomes available with at least two files
+ in it: <filename>speed_limit_min</filename> and
+ <filename>speed_limit_max</filename>. These
+ settings determine the acceleration of RAID devices
+ for I/O intensive tasks, such as resyncing the disks.
+ </para>
+ </section>
+
+ <section
+ id="s3-proc-sys-fs">
+ <title>
+ <filename>/proc/sys/fs/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sys/</filename> directory</secondary>
+ <tertiary>
+ <filename>/proc/sys/fs/</filename> directory</tertiary>
+ </indexterm>
+ <para>
+ This directory contains an array of options and
+ information concerning various aspects of the file
+ system, including quota, file handle, inode, and
+ dentry information.
+ </para>
+
+ <para>
+ The <filename>binfmt_misc/</filename>
+ directory is used to provide kernel support for
+ miscellaneous binary formats.
+ </para>
+
+ <para>
+ The important files in <filename
+ moreinfo="none">/proc/sys/fs/</filename> include:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <filename>dentry-state</filename>
+ — Provides the status of the directory
+ cache. The file looks similar to the following:
+ </para>
+
+
+ <screen>
+57411 52939 45 0 0 0
+</screen>
+
+
+ <para>
+ The first number reveals the total number of
+ directory cache entries, while the second number
+ displays the number of unused entries. The third
+ number tells the number of seconds between when a
+ directory has been freed and when it can be
+ reclaimed, and the fourth measures the pages
+ currently requested by the system. The last two
+ numbers are not used and display only zeros.
+ </para>
+ </listitem>
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c10
+ <listitem>
+ <para>
+ <filename>dquot-nr</filename>
+ — Lists the maximum number of cached disk
+ quota entries.
+ </para>
+ </listitem> -->
+
+ <listitem>
+ <para>
+ <filename>file-max</filename>
+ — Lists the maximum number of file handles
+ that the kernel allocates. Raising the value in
+ this file can resolve errors caused by a lack of
+ available file handles.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>file-nr</filename>
+ — Lists the number of allocated file
+ handles, used file handles, and the maximum number
+ of file handles.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>overflowgid</filename>
+ and <filename>overflowuid</filename> —
+ Defines the fixed group ID and user ID,
+ respectively, for use with file systems that only
+ support 16-bit group and user IDs.
+ </para>
+ </listitem>
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c10
+ <listitem>
+ <para>
+ <filename>super-max</filename>
+ — Controls the maximum number of superblocks
+ available.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>super-nr</filename>
+ — Displays the current number of superblocks
+ in use.
+ </para>
+ </listitem> -->
+ </itemizedlist>
+ </section>
+
+ <section
+ id="s3-proc-sys-kernel">
+ <title>
+ <filename>/proc/sys/kernel/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sys/</filename> directory</secondary>
+ <tertiary>
+ <filename>/proc/sys/kernel/</filename> directory</tertiary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>System Request Key</primary>
+ <secondary>setting timing for</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>exec-shield</filename>
+ </primary>
+ <secondary>enabling</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>exec-shield</filename>
+ </primary>
+ <secondary>introducing</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sys/</filename> directory</secondary>
+ <tertiary>
+ <filename>/proc/sys/kernel/exec-shield</filename>
+ </tertiary>
+ </indexterm>
+ <para>
+ This directory contains a variety of different
+ configuration files that directly affect the operation
+ of the kernel. Some of the most important files
+ include:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <filename>acct</filename> —
+ Controls the suspension of process accounting
+ based on the percentage of free space available on
+ the file system containing the log. By default,
+ the file looks like the following:
+ </para>
+
+ <screen>
+4 2 30
+</screen>
+
+ <para>
+ The first value dictates the percentage of free
+ space required for logging to resume, while the
+ second value sets the threshold percentage of free
+ space when logging is suspended. The third value
+ sets the interval, in seconds, that the kernel
+ polls the file system to see if logging should be
+ suspended or resumed.
+ </para>
+ </listitem>
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c10
+ <listitem>
+ <para>
+ <filename>cap-bound</filename>
+ — Controls the <firstterm>capability
+ bounding</firstterm> settings, which provides a
+ list of capabilities for any process on the
+ system. If a capability is not listed here, then
+ no process, no matter how privileged, can do
+ it. The idea is to make the system more secure by
+ ensuring that certain things cannot happen, at
+ least beyond a certain point in the boot process.
+ </para>
+
+ <para>
+ For a valid list of values for this virtual file,
+ refer to the following installed documentation:
+ </para>
+
+ <para>
+ <filename
+ >/lib/modules/<replaceable>kernel-version</replaceable>/build/include/linux/capability.h</filename>.
+ </para>
+ </listitem>
+ -->
+ <listitem>
+ <para>
+ <filename>ctrl-alt-del</filename>
+ — Controls whether <keycombo><keycap>Ctrl</keycap>
+ <keycap>Alt</keycap>
+ <keycap>Delete</keycap>
+ </keycombo>
+ gracefully restarts the computer using <command>init</command> (<computeroutput>0</computeroutput>) or forces an
+ immediate reboot without syncing the dirty buffers
+ to disk (<computeroutput>1</computeroutput>).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>domainname</filename>
+ — Configures the system domain name, such as
+ <computeroutput>example.com</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>exec-shield</filename>
+ — Configures the Exec Shield feature of the
+ kernel. Exec Shield provides protection against
+ certain types of buffer overflow attacks.
+ </para>
+
+ <para>
+ There are two possible values for this virtual
+ file:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <command>0</command> —
+ Disables Exec Shield.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>1</command> —
+ Enables Exec Shield. This is the default
+ value.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <important>
+ <title>Important</title>
+
+ <para>
+ If a system is running security-sensitive
+ applications that were started while Exec Shield
+ was disabled, these applications must be
+ restarted when Exec Shield is enabled in order
+ for Exec Shield to take effect.
+ </para>
+ </important>
+ </listitem>
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c10
+ <listitem>
+ <para>
+ <filename
+ >exec-shield-randomize</filename>
+ — Enables location randomization of various
+ items in memory. This helps deter potential
+ attackers from locating programs and daemons in
+ memory. Each time a program or daemon starts, it
+ is put into a different memory location each time,
+ never in a static or absolute memory address.
+ </para>
+
+ <para>
+ There are two possible values for this virtual
+ file:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <command>0</command> —
+ Disables randomization of Exec Shield. This
+ may be useful for application debugging
+ purposes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>1</command> —
+ Enables randomization of Exec Shield. This is
+ the default value. Note: The <filename
+ moreinfo="none">exec-shield</filename> file
+ must also be set to <command
+ moreinfo="none">1</command> for <filename
+ moreinfo="none">exec-shield-randomize</filename>
+ to be effective.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem> -->
+
+ <listitem>
+ <para>
+ <filename>hostname</filename>
+ — Configures the system hostname, such as
+ <computeroutput>www.example.com</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>hotplug</filename>
+ — Configures the utility to be used when a
+ configuration change is detected by the
+ system. This is primarily used with USB and
+ Cardbus PCI. The default value of <computeroutput>/sbin/hotplug</computeroutput>
+ should not be changed unless testing a new program
+ to fulfill this role.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>modprobe</filename>
+ — Sets the location of the program used to
+ load kernel modules. The default value is
+ <computeroutput>/sbin/modprobe</computeroutput>
+ which means <command>kmod</command> calls it to load
+ the module when a kernel thread calls <command>kmod</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>msgmax</filename>
+ — Sets the maximum size of any message sent
+ from one process to another and is set to
+ <computeroutput>8192</computeroutput> bytes by
+ default. Be careful when raising this value, as
+ queued messages between processes are stored in
+ non-swappable kernel memory. Any increase in
+ <filename>msgmax</filename> would
+ increase RAM requirements for the system.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>msgmnb</filename>
+ — Sets the maximum number of bytes in a
+ single message queue. The default is
+ <computeroutput
+ moreinfo="none">16384</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>msgmni</filename>
+ — Sets the maximum number of message queue
+ identifiers. The default is <computeroutput>16</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>osrelease</filename>
+ — Lists the Linux kernel release
+ number. This file can only be altered by changing
+ the kernel source and recompiling.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>ostype</filename>
+ — Displays the type of operating system. By
+ default, this file is set to <computeroutput>Linux</computeroutput>, and this
+ value can only be changed by changing the kernel
+ source and recompiling.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>overflowgid</filename>
+ and <filename>overflowuid</filename> —
+ Defines the fixed group ID and user ID,
+ respectively, for use with system calls on
+ architectures that only support 16-bit group and
+ user IDs.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>panic</filename> —
+ Defines the number of seconds the kernel postpones
+ rebooting when the system experiences a kernel
+ panic. By default, the value is set to
+ <computeroutput>0</computeroutput>, which disables
+ automatic rebooting after a panic.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>printk</filename>
+ — This file controls a variety of settings
+ related to printing or logging error
+ messages. Each error message reported by the
+ kernel has a <firstterm>loglevel</firstterm>
+ associated with it that defines the importance of
+ the message. The loglevel values break down in
+ this order:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">0</computeroutput> —
+ Kernel emergency. The system is unusable.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">1</computeroutput> —
+ Kernel alert. Action must be taken
+ immediately.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">2</computeroutput> —
+ Condition of the kernel is considered
+ critical.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">3</computeroutput> —
+ General kernel error condition.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">4</computeroutput> —
+ General kernel warning condition.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">5</computeroutput> —
+ Kernel notice of a normal but significant
+ condition.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">6</computeroutput> —
+ Kernel informational message.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">7</computeroutput> —
+ Kernel debug-level messages.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Four values are found in the <filename>printk</filename> file:
+ </para>
+
+
+ <screen>
+6 4 1 7
+</screen>
+
+ <para>
+ Each of these values defines a different rule for
+ dealing with error messages. The first value,
+ called the <firstterm>console
+ loglevel</firstterm>, defines the lowest priority
+ of messages printed to the console. (Note that,
+ the lower the priority, the higher the loglevel
+ number.) The second value sets the default
+ loglevel for messages without an explicit loglevel
+ attached to them. The third value sets the lowest
+ possible loglevel configuration for the console
+ loglevel. The last value sets the default value
+ for the console loglevel.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>random/</filename>
+ directory — Lists a number of values related
+ to generating random numbers for the kernel.
+ </para>
+ </listitem>
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c10
+ <listitem>
+ <para>
+ <filename>rtsig-max</filename>
+ — Configures the maximum number of POSIX
+ real-time signals that the system may have queued
+ at any one time. The default value is
+ <computeroutput
+ >1024</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>rtsig-nr</filename>
+ — Lists the current number of POSIX
+ real-time signals queued by the kernel.
+ </para>
+ </listitem> -->
+
+ <listitem>
+ <para>
+ <filename>sem</filename> —
+ Configures <firstterm>semaphore</firstterm>
+ settings within the kernel. A semaphore is a
+ System V IPC object that is used to control
+ utilization of a particular process.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>shmall</filename>
+ — Sets the total amount of shared memory
+ that can be used at one time on the system, in
+ bytes. By default, this value is <computeroutput>2097152</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>shmmax</filename>
+ — Sets the largest shared memory segment
+ size allowed by the kernel, in bytes. By default,
+ this value is <computeroutput>33554432</computeroutput>. However,
+ the kernel supports much larger values than this.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>shmmni</filename>
+ — Sets the maximum number of shared memory
+ segments for the whole system, in bytes. By
+ default, this value is <computeroutput>4096</computeroutput>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>sysrq</filename> —
+ Activates the System Request Key, if this value is
+ set to anything other than zero (<computeroutput>0</computeroutput>), the default.
+ </para>
+
+ <para>
+ The System Request Key allows immediate input to
+ the kernel through simple key combinations. For
+ example, the System Request Key can be used to
+ immediately shut down or restart a system, sync
+ all mounted file systems, or dump important
+ information to the console. To initiate a System
+ Request Key, type <keycombo><keycap>Alt</keycap>
+ <keycap>SysRq</keycap>
+ <keycap>
+ <replaceable>system request
+ code</replaceable>
+ </keycap>
+ </keycombo>
+ . Replace <replaceable>system request
+ code</replaceable> with one of the following
+ system request codes:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <command>r</command> —
+ Disables raw mode for the keyboard and sets it
+ to XLATE (a limited keyboard mode which does
+ not recognize modifiers such as <keycap
+ moreinfo="none">Alt</keycap>, <keycap
+ moreinfo="none">Ctrl</keycap>, or <keycap
+ moreinfo="none">Shift</keycap> for all keys).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>k</command> —
+ Kills all processes active in a virtual
+ console. Also called <firstterm>Secure Access
+ Key</firstterm> (<firstterm>SAK</firstterm>),
+ it is often used to verify that the login
+ prompt is spawned from <command
+ moreinfo="none">init</command> and not a
+ trojan copy designed to capture usernames and
+ passwords.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>b</command> —
+ Reboots the kernel without first unmounting
+ file systems or syncing disks attached to the
+ system.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>c</command> —
+ Crashes the system without first unmounting
+ file systems or syncing disks attached to the
+ system.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>o</command> —
+ Shuts off the system.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>s</command> —
+ Attempts to sync disks attached to the system.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>u</command> —
+ Attempts to unmount and remount all file
+ systems as read-only.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>p</command> —
+ Outputs all flags and registers to the
+ console.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>t</command> —
+ Outputs a list of processes to the console.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>m</command>
+ —
+ Outputs memory statistics to the console.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>0</command> through
+ <command>9</command> —
+ Sets the log level for the console.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>e</command> —
+ Kills all processes except <command
+ moreinfo="none">init</command> using SIGTERM.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>i</command> —
+ Kills all processes except <command
+ moreinfo="none">init</command> using SIGKILL.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>l</command> —
+ Kills all processes using SIGKILL (including
+ <command>init</command>). <emphasis>The
+ system is unusable after issuing this System
+ Request Key code.</emphasis>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>h</command> —
+ Displays help text.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ This feature is most beneficial when using a
+ development kernel or when experiencing system
+ freezes.
+ </para>
+
+ <warning>
+ <title>Caution</title>
+
+ <para>
+ The System Request Key feature is considered a
+ security risk because an unattended console
+ provides an attacker with access to the
+ system. For this reason, it is turned off by
+ default.
+ </para>
+ </warning>
+
+ <para>
+ Refer to <filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/sysrq.txt</filename>
+ for more information about the System Request Key.
+ </para>
+ </listitem>
+
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c10
+
+<listitem>
+ <para>
+ <filename>sysrq-key</filename>
+ — Defines the key code for the System
+ Request Key (<computeroutput
+ >84</computeroutput> is the
+ default).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>sysrq-sticky</filename>
+ — Defines whether the System Request Key is
+ a chorded key combination. The accepted values are
+ as follows:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">0</computeroutput> —
+ <keycombo><keycap
+ moreinfo="none">Alt</keycap><keycap
+ moreinfo="none">SysRq</keycap>
+ </keycombo>
+ and the system request code must be pressed
+ simultaneously. This is the default value.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">1</computeroutput> —
+ <keycombo><keycap
+ >Alt</keycap><keycap
+ >SysRq</keycap>
+ </keycombo>
+ must be pressed simultaneously, but the system
+ request code can be pressed anytime before the
+ number of seconds specified in <filename
+ moreinfo="none">/proc/sys/kernel/sysrq-timer</filename>
+ elapses.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>sysrq-timer</filename>
+ — Specifies the number of seconds allowed to
+ pass before the system request code must be
+ pressed. The default value is <command
+ >10</command>.
+ </para>
+ </listitem>
+ -->
+ <listitem>
+ <para>
+ <filename>tainted</filename>
+ — Indicates whether a non-GPL module is
+ loaded.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">0</computeroutput> — No
+ non-GPL modules are loaded.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput
+ moreinfo="none">1</computeroutput> — At
+ least one module without a GPL license
+ (including modules with no license) is loaded.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <computeroutput>2</computeroutput>
+ —
+ At least one module was force-loaded with the
+ command <command>insmod
+ -f</command>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>threads-max</filename>
+ — Sets the maximum number of threads to be
+ used by the kernel, with a default value of
+ <computeroutput>2048</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>version</filename>
+ — Displays the date and time the kernel was
+ last compiled. The first field in this file, such
+ as <computeroutput>#3</computeroutput>, relates to
+ the number of times a kernel was built from the
+ source base.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section
+ id="s3-proc-sys-net">
+ <title>
+ <filename>/proc/sys/net/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sys/</filename> directory</secondary>
+ <tertiary>
+ <filename>/proc/sys/net/</filename> directory</tertiary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>DoS attack</primary>
+ <see>Denial of Service attack</see>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>Denial of Service attack</primary>
+ <secondary>definition of</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>Denial of Service attack</primary>
+ <seealso>
+ <filename>/proc/sys/net/</filename> directory</seealso>
+ </indexterm>
+ <para>
+ This directory contains subdirectories concerning
+ various networking topics. Various configurations at
+ the time of kernel compilation make different
+ directories available here, such as <filename
+ moreinfo="none">ethernet/</filename>, <filename
+ moreinfo="none">ipv4/</filename>, <filename
+ moreinfo="none">ipx/</filename>, and <filename
+ moreinfo="none">ipv6/</filename>. By altering the
+ files within these directories, system administrators
+ are able to adjust the network configuration on a
+ running system.
+ </para>
+
+ <para>
+ Given the wide variety of possible networking options
+ available with Linux, only the most common <filename
+ moreinfo="none">/proc/sys/net/</filename> directories
+ are discussed.
+ </para>
+
+ <para>
+ The <filename
+ moreinfo="none">/proc/sys/net/core/</filename>
+ directory contains a variety of settings that control
+ the interaction between the kernel and networking
+ layers. The most important of these files are:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <filename>message_burst</filename>
+ — Sets the amount of time in tenths of a
+ second required to write a new warning
+ message. This setting is used to mitigate
+ <firstterm>Denial of Service</firstterm>
+ (<firstterm>DoS</firstterm>) attacks. The default
+ setting is <computeroutput>50</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>message_cost</filename>
+ — Sets a cost on every warning message. The
+ higher the value of this file (default of
+ <computeroutput>5</computeroutput>), the more
+ likely the warning message is ignored. This
+ setting is used to mitigate DoS attacks.
+ </para>
+
+ <para>
+ The idea of a DoS attack is to bombard the
+ targeted system with requests that generate errors
+ and fill up disk partitions with log files or
+ require all of the system's resources to handle
+ the error logging. The settings in <filename>message_burst</filename> and
+ <filename>message_cost</filename>
+ are designed to be modified based on the system's
+ acceptable risk versus the need for comprehensive
+ logging.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>netdev_max_backlog</filename>
+ — Sets the maximum number of packets allowed
+ to queue when a particular interface receives
+ packets faster than the kernel can process
+ them. The default value for this file is
+ <computeroutput
+ moreinfo="none">300</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>optmem_max</filename>
+ — Configures the maximum ancillary buffer
+ size allowed per socket.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>rmem_default</filename>
+ — Sets the receive socket buffer default
+ size in bytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>rmem_max</filename>
+ — Sets the receive socket buffer maximum
+ size in bytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>wmem_default</filename>
+ — Sets the send socket buffer default size
+ in bytes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>wmem_max</filename>
+ — Sets the send socket buffer maximum size
+ in bytes.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ The <filename
+ moreinfo="none">/proc/sys/net/ipv4/</filename>
+ directory contains additional networking
+ settings. Many of these settings, used in conjunction
+ with one another, are useful in preventing attacks on
+ the system or when using the system to act as a
+ router.
+ </para>
+
+ <warning>
+ <title>Caution</title>
+
+ <para>
+ An erroneous change to these files may affect remote
+ connectivity to the system.
+ </para>
+ </warning>
+
+ <para>
+ The following is a list of some of the more important
+ files within the <filename
+ moreinfo="none">/proc/sys/net/ipv4/</filename>
+ directory:
+ </para>
+
+ <itemizedlist>
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c10
+ <listitem>
+ <para>
+ <filename
+ >icmp_destunreach_rate</filename>,
+ <filename
+ >icmp_echoreply_rate</filename>,
+ <filename
+ >icmp_paramprob_rate</filename>,
+ and <filename
+ >icmp_timeexeed_rate</filename>
+ — Set the maximum ICMP send packet rate, in
+ 1/100 of a second, to hosts under certain
+ conditions. A setting of <computeroutput
+ >0</computeroutput> removes any
+ delay and is not a good idea.
+ </para>
+ </listitem> -->
+
+ <listitem>
+ <para>
+ <filename>icmp_echo_ignore_all</filename>
+ and <filename>icmp_echo_ignore_broadcasts</filename>
+ — Allows the kernel to ignore ICMP ECHO
+ packets from every host or only those originating
+ from broadcast and multicast addresses,
+ respectively. A value of <computeroutput>0</computeroutput> allows the
+ kernel to respond, while a value of
+ <computeroutput>1</computeroutput>
+ ignores the packets.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>ip_default_ttl</filename> —
+ Sets the default <firstterm>Time To Live
+ (TTL)</firstterm>, which limits the number of hops
+ a packet may make before reaching its
+ destination. Increasing this value can diminish
+ system performance.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>ip_forward</filename>
+ — Permits interfaces on the system to
+ forward packets to one other. By default, this
+ file is set to <computeroutput>0</computeroutput>. Setting this
+ file to <computeroutput>1</computeroutput> enables network
+ packet forwarding.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>ip_local_port_range</filename>
+ — Specifies the range of ports to be used by
+ TCP or UDP when a local port is needed. The first
+ number is the lowest port to be used and the
+ second number specifies the highest port. Any
+ systems that expect to require more ports than the
+ default 1024 to 4999 should use a range from 32768
+ to 61000.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>tcp_syn_retries</filename> —
+ Provides a limit on the number of times the system
+ re-transmits a SYN packet when attempting to make
+ a connection.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>tcp_retries1</filename>
+ — Sets the number of permitted
+ re-transmissions attempting to answer an incoming
+ connection. Default of <computeroutput>3</computeroutput>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>tcp_retries2</filename>
+ — Sets the number of permitted
+ re-transmissions of TCP packets. Default of
+ <computeroutput>15</computeroutput>.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ The file called
+ </para>
+
+ <screen>
+<filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/networking/ip-sysctl.txt</filename>
+ </screen>
+
+ <para>
+ contains a complete list of files and options
+ available in the <filename
+ moreinfo="none">/proc/sys/net/ipv4/</filename>
+ directory.
+ </para>
+
+ <para>
+ A number of other directories exist within the
+ <filename
+ moreinfo="none">/proc/sys/net/ipv4/</filename>
+ directory and each covers a different aspect of the
+ network stack. The <filename
+ moreinfo="none">/proc/sys/net/ipv4/conf/</filename>
+ directory allows each system interface to be
+ configured in different ways, including the use of
+ default settings for unconfigured devices (in the
+ <filename
+ moreinfo="none">/proc/sys/net/ipv4/conf/default/</filename>
+ subdirectory) and settings that override all special
+ configurations (in the <filename
+ moreinfo="none">/proc/sys/net/ipv4/conf/all/</filename>
+ subdirectory).
+ </para>
+
+ <para>
+ The <filename
+ moreinfo="none">/proc/sys/net/ipv4/neigh/</filename>
+ directory contains settings for communicating with a
+ host directly connected to the system (called a
+ network neighbor) and also contains different settings
+ for systems more than one hop away.
+ </para>
+
+ <para>
+ Routing over IPV4 also has its own directory,
+ <filename
+ moreinfo="none">/proc/sys/net/ipv4/route/</filename>. Unlike
+ <filename>conf/</filename> and
+ <filename>neigh/</filename>, the
+ <filename
+ moreinfo="none">/proc/sys/net/ipv4/route/</filename>
+ directory contains specifications that apply to
+ routing with any interfaces on the system. Many of
+ these settings, such as <filename
+ moreinfo="none">max_size</filename>, <filename
+ moreinfo="none">max_delay</filename>, and <filename
+ moreinfo="none">min_delay</filename>, relate to
+ controlling the size of the routing cache. To clear
+ the routing cache, write any value to the <filename
+ moreinfo="none">flush</filename> file.
+ </para>
+
+ <para>
+ Additional information about these directories and the
+ possible values for their configuration files can be
+ found in:
+ </para>
+
+ <screen>
+/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/filesystems/proc.txt
+</screen>
+
+ </section>
+
+ <section
+ id="s3-proc-sys-vm">
+ <title>
+ <filename>/proc/sys/vm/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sys/</filename> directory</secondary>
+ <tertiary>
+ <filename>/proc/sys/vm/</filename> directory</tertiary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>hugepages</primary>
+ <secondary>configuration of</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>TLB cache</primary>
+ <see>hugepages</see>
+ </indexterm>
+ <para>
+ This directory facilitates the configuration of the Linux
+ kernel's virtual memory (VM) subsystem. The kernel makes
+ extensive and intelligent use of virtual memory, which is
+ commonly referred to as swap space.
+ </para>
+
+ <para>
+ The following files are commonly found in the <filename>/proc/sys/vm/</filename> directory:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <filename>block_dump</filename> —
+ Configures block I/O debugging when enabled. All
+ read/write and block dirtying operations done to files
+ are logged accordingly. This can be useful if
+ diagnosing disk spin up and spin downs for laptop
+ battery conservation. All output when <filename>block_dump</filename> is enabled can be
+ retrieved via <command>dmesg</command>. The default value is
+ <computeroutput>0</computeroutput>.
+ </para>
+ <note>
+ <title>Tip</title>
+ <para>
+ If <filename>block_dump</filename> is
+ enabled at the same time as kernel debugging, it is
+ prudent to stop the <command>klogd</command> daemon, as it generates
+ erroneous disk activity caused by <filename>block_dump</filename>.
+ </para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>dirty_background_ratio</filename>
+ — Starts background writeback of dirty data at
+ this percentage of total memory, via a pdflush
+ daemon. The default value is <command>10</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>dirty_expire_centisecs</filename>
+ — Defines when dirty in-memory data is old enough
+ to be eligible for writeout. Data which has been dirty
+ in-memory for longer than this interval is written out
+ next time a pdflush daemon wakes up. The default value
+ is <command>3000</command>, expressed
+ in hundredths of a second.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>dirty_ratio</filename>
+ — Starts active writeback of dirty data at this
+ percentage of total memory for the generator of dirty
+ data, via pdflush. The default value is <command>40</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>dirty_writeback_centisecs</filename>
+ — Defines the interval between pdflush daemon
+ wakeups, which periodically writes dirty in-memory data
+ out to disk. The default value is <command>500</command>, expressed in hundredths
+ of a second.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>laptop_mode</filename>
+ — Minimizes the number of times that a hard disk
+ needs to spin up by keeping the disk spun down for as
+ long as possible, therefore conserving battery power on
+ laptops. This increases efficiency by combining all
+ future I/O processes together, reducing the frequency
+ of spin ups. The default value is <computeroutput>0</computeroutput>, but is
+ automatically enabled in case a battery on a laptop is
+ used.
+ </para>
+
+ <para>
+ This value is controlled automatically by the acpid
+ daemon once a user is notified battery power is
+ enabled. No user modifications or interactions are
+ necessary if the laptop supports the ACPI (Advanced
+ Configuration and Power Interface) specification.
+ </para>
+
+ <para>
+ For more information, refer to the following installed
+ documentation:
+ </para>
+
+ <para>
+ <filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/laptop-mode.txt</filename>
+ </para>
+ </listitem>
+
+<!-- https://bugzilla.redhat.com/show_bug.cgi?id=561622#c10
+
+<listitem>
+ <para>
+ <filename
+ >lower_zone_protection</filename>
+ — Determines how aggressive the kernel is in
+ defending lower memory allocation zones. This is
+ effective when utilized with machines configured with
+ <filename>highmem</filename> memory
+ space enabled. The default value is <computeroutput
+ >0</computeroutput>, no protection at
+ all. All other integer values are in megabytes, and
+ <filename>lowmem</filename> memory is
+ therefore protected from being allocated by users.
+ </para>
+
+ <para>
+ For more information, refer to the following installed
+ documentation:
+ </para>
+
+ <para>
+ <filename
+ >/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/filesystems/proc.txt</filename>
+ </para>
+ </listitem> -->
+
+ <listitem>
+ <para>
+ <filename>max_map_count</filename>
+ — Configures the maximum number of memory map
+ areas a process may have. In most cases, the default
+ value of <computeroutput>65536</computeroutput> is appropriate.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>min_free_kbytes</filename>
+ — Forces the Linux VM (virtual memory manager) to
+ keep a minimum number of kilobytes free. The VM uses
+ this number to compute a <filename>pages_min</filename> value for each
+ <filename>lowmem</filename> zone in the
+ system. The default value is in respect to the total
+ memory on the machine.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>nr_hugepages</filename>
+ — Indicates the current number of configured
+ <filename>hugetlb</filename> pages in
+ the kernel.
+ </para>
+
+ <para>
+ For more information, refer to the following installed
+ documentation:
+ </para>
+
+ <para>
+ <filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/vm/hugetlbpage.txt</filename>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>nr_pdflush_threads</filename>
+ —
+ Indicates the number of pdflush daemons that are
+ currently running. This file is read-only, and should
+ not be changed by the user. Under heavy I/O loads, the
+ default value of two is increased by the kernel.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>overcommit_memory</filename>
+ — Configures the conditions under which a large
+ memory request is accepted or denied. The following
+ three modes are available:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <command>0</command> — The
+ kernel performs heuristic memory over commit
+ handling by estimating the amount of memory
+ available and failing requests that are blatantly
+ invalid. Unfortunately, since memory is allocated
+ using a heuristic rather than a precise algorithm,
+ this setting can sometimes allow available memory
+ on the system to be overloaded. This is the default
+ setting.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>1</command> — The
+ kernel performs no memory over commit
+ handling. Under this setting, the potential for
+ memory overload is increased, but so is performance
+ for memory intensive tasks (such as those executed
+ by some scientific software).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>2</command> — The
+ kernel fails requests for memory that add up to all
+ of swap plus the percent of physical RAM specified
+ in <filename>/proc/sys/vm/overcommit_ratio</filename>. This
+ setting is best for those who desire less risk of
+ memory overcommitment.
+ </para>
+
+ <note>
+ <title>Note</title>
+
+ <para>
+ This setting is only recommended for systems with
+ swap areas larger than physical memory.
+ </para>
+ </note>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>overcommit_ratio</filename>
+ — Specifies the percentage of physical RAM
+ considered when <filename>/proc/sys/vm/overcommit_memory</filename>
+ is set to <command>2</command>. The
+ default value is <command>50</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>page-cluster</filename>
+ — Sets the number of pages read in a single
+ attempt. The default value of <computeroutput>3</computeroutput>, which actually
+ relates to 16 pages, is appropriate for most systems.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>swappiness</filename> —
+ Determines how much a machine should swap. The higher
+ the value, the more swapping occurs. The default value,
+ as a percentage, is set to <computeroutput>60</computeroutput>.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ All kernel-based documentation can be found in the
+ following locally installed location:
+ </para>
+
+ <para>
+ <filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/</filename>,
+ which contains additional information.
+ </para>
+ </section>
+ </section>
+
+ <section
+ id="s2-proc-dir-sysvipc">
+ <title>
+ <filename>/proc/sysvipc/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sysvipc/</filename> directory</secondary>
+ </indexterm>
+ <para>
+ This directory contains information about System V IPC
+ resources. The files in this directory relate to System V IPC
+ calls for messages (<filename>msg</filename>), semaphores (<filename>sem</filename>), and shared memory (<filename>shm</filename>).
+ </para>
+ </section>
+
+ <section
+ id="s2-proc-tty">
+ <title>
+ <filename>/proc/tty/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/tty/</filename> directory</secondary>
+ </indexterm>
+ <para>
+ This directory contains information about the available and
+ currently used <firstterm>tty devices</firstterm> on the
+ system. Originally called <firstterm>teletype
+ devices</firstterm>, any character-based data terminals are
+ called tty devices.
+ </para>
+
+ <para>
+ In Linux, there are three different kinds of tty
+ devices. <firstterm>Serial devices</firstterm> are used with
+ serial connections, such as over a modem or using a serial
+ cable. <firstterm>Virtual terminals</firstterm> create the
+ common console connection, such as the virtual consoles
+ available when pressing <keycombo><keycap>Alt</keycap>
+ <keycap><F-key></keycap>
+ </keycombo>
+ at the system console. <firstterm>Pseudo terminals</firstterm>
+ create a two-way communication that is used by some higher
+ level applications, such as XFree86. The <filename>drivers</filename> file is a list of the
+ current tty devices in use, as in the following example:
+ </para>
+
+
+ <screen>
+serial /dev/cua 5 64-127 serial:callout
+serial /dev/ttyS 4 64-127 serial
+pty_slave /dev/pts 136 0-255 pty:slave
+pty_master /dev/ptm 128 0-255 pty:master
+pty_slave /dev/ttyp 3 0-255 pty:slave
+pty_master /dev/pty 2 0-255 pty:master
+/dev/vc/0 /dev/vc/0 4 0 system:vtmaster
+/dev/ptmx /dev/ptmx 5 2 system
+/dev/console /dev/console 5 1 system:console
+/dev/tty /dev/tty 5 0 system:/dev/tty
+unknown /dev/vc/%d 4 1-63 console
+</screen>
+
+ <para>
+ The <filename>/proc/tty/driver/serial</filename> file lists
+ the usage statistics and status of each of the serial tty
+ lines.
+ </para>
+
+ <para>
+ In order for tty devices to be used as network devices, the
+ Linux kernel enforces <firstterm>line discipline</firstterm>
+ on the device. This allows the driver to place a specific
+ type of header with every block of data transmitted over the
+ device, making it possible for the remote end of the
+ connection to a block of data as just one in a stream of data
+ blocks. SLIP and PPP are common line disciplines, and each
+ are commonly used to connect systems to one other over a
+ serial link.
+ </para>
+<!--
+ <para>
+ Registered line disciplines are stored in the <filename
+ >ldiscs</filename> file, and more detailed
+ information is available within the <filename
+ >ldisc/</filename> directory.
+ </para> -->
+ </section>
+
+<!-- mprpic: Fix BZ#239313
+ Note: I used as info sources the OOM section of the
+ performance guide (http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_MRG/1.0/html/Realtime... ), as well as an article about the OOM killer (http://linux-mm.org/OOM_Killer) -->
+ <section
+ id="s2-proc-pid">
+ <title>
+ <filename>/proc/<replaceable>PID</replaceable>/</filename>
+ </title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/<replaceable>PID</replaceable>/</filename> directory</secondary>
+ </indexterm>
+ <para>
+ Out of Memory (OOM) refers to a computing state where all available memory, including swap space, has been allocated. When this situation occurs, it will cause the system to panic and stop functioning as expected. There is a switch that controls OOM behavior in <filename
+ class="directory">/proc/sys/vm/panic_on_oom</filename>. When set to <filename>1</filename> the kernel will panic on OOM. A setting of <filename>0</filename> instructs the kernel to call a function named <filename>oom_killer</filename> on an OOM. Usually, <filename>oom_killer</filename> can kill rogue processes and the system will survive.
+ </para>
+ <para>The easiest way to change this is to echo the new value to <filename
+ class="directory">/proc/sys/vm/panic_on_oom</filename>.</para>
+ <screen>
+# cat /proc/sys/vm/panic_on_oom
+1
+
+# echo 0 > /proc/sys/vm/panic_on_oom
+
+# cat /proc/sys/vm/panic_on_oom
+0
+ </screen>
+ <para>
+ It is also possible to prioritize which processes get killed by adjusting the <filename>oom_killer</filename> score. In <filename
+ class="directory">/proc/<replaceable>PID</replaceable>/</filename> there are two tools labelled <filename>oom_adj</filename> and <filename>oom_score</filename>. Valid scores for <filename>oom_adj</filename> are in the range -16 to +15. To see the current <filename>oom_killer</filename> score, view the <filename>oom_score</filename> for the process. <filename>oom_killer</filename> will kill processes with the highest scores first.
+ </para>
+ <para>
+This example adjusts the oom_score of a process with a <replaceable>PID</replaceable> of 12465 to make it less likely that <filename>oom_killer</filename> will kill it.
+ </para>
+ <screen>
+# cat /proc/12465/oom_score
+79872
+
+# echo -5 > /proc/12465/oom_adj
+
+# cat /proc/12465/oom_score
+78
+ </screen>
+ <para>
+ There is also a special value of -17, which disables <filename>oom_killer</filename> for that process. In the example below, <filename>oom_score</filename> returns a value of 0, indicating that this process would not be killed.
+ </para>
+ <screen>
+# cat /proc/12465/oom_score
+78
+
+# echo -17 > /proc/12465/oom_adj
+
+# cat /proc/12465/oom_score
+0
+ </screen>
+ <para>A function called <filename>badness()</filename> is used to determine the actual score for each process. This is done by adding up 'points' for each examined process. The process scoring is done in the following way:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>The basis of each process's score is its memory size.</para>
+ </listitem>
+ <listitem>
+ <para>The memory size of any of the process's children (not including a kernel thread) is also added to the score</para>
+ </listitem>
+ <listitem>
+ <para>
+ The process's score is increased for 'niced' processes and decreased for long running processes.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Processes with the <filename>CAP_SYS_ADMIN</filename> and <filename>CAP_SYS_RAWIO</filename> capabilities have their scores reduced.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The final score is then bitshifted by the value saved in the <filename>oom_adj</filename> file.
+ </para>
+ </listitem>
+ </orderedlist>
+ <para>
+ Thus, a process with the highest <filename>oom_score</filename> value will most probably be a non-priviliged, recently started process that, along with its children, uses a large amount of memory, has been 'niced', and handles no raw I/O.
+ </para>
+ </section>
+ </section>
+ <section
+ id="s1-proc-sysctl">
+ <title>Using the <command>sysctl</command> Command</title>
+ <indexterm
+ significance="normal">
+ <primary>files, proc file system</primary>
+ <secondary>changing</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>files, proc file system</primary>
+ <secondary>viewing</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <command>sysctl</command>
+ </primary>
+ <secondary>controlling <filename>/proc/sys/</filename>
+ </secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>
+ <filename>/proc/sys/</filename> directory</secondary>
+ <seealso>
+ <command>sysctl</command>
+ </seealso>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>changing files within</secondary>
+ </indexterm>
+ <indexterm
+ significance="normal">
+ <primary>
+ <command>sysctl</command>
+ </primary>
+ <secondary>configuring with <filename>/etc/sysctl.conf</filename>
+ </secondary>
+ </indexterm>
+ <para>
+ The <command>/sbin/sysctl</command> command is
+ used to view, set, and automate kernel settings in the
+ <filename>/proc/sys/</filename> directory.
+ </para>
+
+ <para>
+ For a quick overview of all settings configurable in the
+ <filename>/proc/sys/</filename> directory, type
+ the <command>/sbin/sysctl -a</command> command
+ as root. This creates a large, comprehensive list, a small
+ portion of which looks something like the following:
+ </para>
+
+ <screen>
+net.ipv4.route.min_delay = 2 kernel.sysrq = 0 kernel.sem = 250 32000 32 128
+</screen>
+
+ <para>
+ This is the same information seen if each of the files were
+ viewed individually. The only difference is the file
+ location. For example, the <filename>/proc/sys/net/ipv4/route/min_delay</filename>
+ file is listed as <computeroutput>net.ipv4.route.min_delay</computeroutput>, with
+ the directory slashes replaced by dots and the <computeroutput>proc.sys</computeroutput> portion assumed.
+ </para>
+
+ <para>
+ The <command>sysctl</command> command can be
+ used in place of <command>echo</command> to
+ assign values to writable files in the <filename>/proc/sys/</filename> directory. For example,
+ instead of using the command
+ </para>
+
+
+ <screen>
+echo 1 > /proc/sys/kernel/sysrq
+</screen>
+
+ <para>
+ use the equivalent <command>sysctl</command>
+ command as follows:
+ </para>
+
+ <screen>
+sysctl -w kernel.sysrq="1"
+kernel.sysrq = 1
+</screen>
+
+
+ <para>
+ While quickly setting single values like this in <filename>/proc/sys/</filename> is helpful during
+ testing, this method does not work as well on a production
+ system as special settings within <filename>/proc/sys/</filename> are lost when the machine
+ is rebooted. To preserve custom settings, add them to the
+ <filename>/etc/sysctl.conf</filename> file.
+ </para>
+
+ <para>
+ Each time the system boots, the <command>init</command> program runs the <filename>/etc/rc.d/rc.sysinit</filename> script. This
+ script contains a command to execute <command>sysctl</command> using <filename>/etc/sysctl.conf</filename> to determine the
+ values passed to the kernel. Any values added to <filename>/etc/sysctl.conf</filename> therefore take
+ effect each time the system boots.
+ </para>
+ </section>
+ <section
+ id="s1-proc-additional-resources">
+<!-- <title>Additional Resources</title> -->
+ <title>References</title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>additional resources</secondary>
+ </indexterm>
+ <para>
+ Below are additional sources of information about <filename>proc</filename> file system.
+ </para>
+
+ <simplesect
+ id="s2-proc-installed-documentation">
+ <title>Installed Documentation</title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>additional resources</secondary>
+ <tertiary>installed documentation</tertiary>
+ </indexterm>
+ <para>
+ Some of the best documentation about the <filename>proc</filename> file system is installed on
+ the system by default.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/filesystems/proc.txt</filename>
+ — Contains assorted, but limited, information about
+ all aspects of the <filename>/proc/</filename> directory.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/sysrq.txt</filename>
+ — An overview of System Request Key options.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/sysctl/</filename>
+ — A directory containing a variety of <command>sysctl</command> tips, including
+ modifying values that concern the kernel (<filename>kernel.txt</filename>), accessing file
+ systems (<filename>fs.txt</filename>),
+ and virtual memory use (<filename>vm.txt</filename>).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/networking/ip-sysctl.txt</filename>
+ — A detailed overview of IP networking options.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </simplesect>
+
+ <simplesect
+ id="s2-proc-useful-websites">
+ <title>Useful Websites</title>
+ <indexterm
+ significance="normal">
+ <primary>
+ <filename>proc</filename> file system</primary>
+ <secondary>additional resources</secondary>
+ <tertiary>useful websites</tertiary>
+ </indexterm>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <ulink
+ url="http://www.linuxhq.com/">http://www.linuxhq.com/</ulink>
+ — This website maintains a complete database of
+ source, patches, and documentation for various versions
+ of the Linux kernel.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </simplesect>
+ </section>
+</chapter>
13 years, 11 months