outsource from india chennai india programmers freelance php coder freelance outsource scripts programming complicated perl patterns php module installation
outsource from india perl installation and configuration php installation linux system administration US$15,US$19,US$11,US$10 cheap programmer
india outsource outsource india chennai india programmers php perl mysql freelance freelance programmer
SHOWCASE of php and perl scripts CONTACT US for php custom perl scripts
HOME
 

11.1. How to access the /proc-filesystem

11.1.1. Using "cat" and "echo"

Using "cat" and "echo" is the simplest way to access the /proc filesystem, but some requirements are needed for that

  • The /proc-filesystem had to be enabled in kernel, means on compiling following switch has to be set

CONFIG_PROC_FS=y
   

  • The /proc-filesystem was mounted before, which can be tested using

# mount | grep "type proc"
none on /proc type proc (rw)
   

  • You need read and sometimes also write access (normally root only) to the /proc-filesystem

Normally, only entries in /proc/sys/* are writable, the others are readonly and for information retrieving only.

11.1.1.1. Retrieving a value

The value of an entry can be retrieved using "cat":

# cat /proc/sys/net/ipv6/conf/all/forwarding
0
    

11.1.1.2. Setting a value

A new value can be set (if entry is writable) using "echo":

# echo "1" >/proc/sys/net/ipv6/conf/all/forwarding
    

11.1.2. Using "sysctl"

Using the "sysctl" program to access the kernel switches is a modern method today. You can use it also, if the /proc-filesystem isn't mounted. But you have only access to /proc/sys/*!

The program "sysctl" is included in package "procps" (on Red Hat Linux systems).

  • The sysctl-interface had to be enabled in kernel, means on compiling following switch has to be set

CONFIG_SYSCTL=y
   

11.1.2.1. Retrieving a value

The value of an entry can be retrieved now:

# sysctl net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 0
    

11.1.2.2. Setting a value

A new value can be set (if entry is writable):

# sysctl -w net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.forwarding = 1
    

Note: Don't use spaces around the "=" on setting values. Also on multiple values per line, quote them like e.g.

# sysctl -w net.ipv4.ip_local_port_range="32768 61000"
net.ipv4.ip_local_port_range = 32768 61000
    

11.1.2.3. Additionals

Note: There are sysctl versions in the wild which displaying "/" instead of the "."

For more details take a look into sysctl's manpage.

Hint: for digging fast into the settings, use the option "-a" (display all entries) in conjunction with "grep".

11.1.3. Values found in /proc-filesystems

There are several formats seen in /proc-filesystem:

  • BOOLEAN: simple a "0" (false) or a "1" (true)

  • INTEGER: an integer value, can be unsigned, too

  • more sophisticated lines with several values: sometimes a header line is displayed also, if not, have a look into the kernel source to retrieve information about the meaning of each value...


Linux HOWTO full list
   This document, LDP HOWTO-INDEX, is copyrighted (c) 1995 - 2002 by Tim Bynum, Guylhem Aznar, Joshua Drake and Greg Ferguson. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/copyleft/fdl.html. If you have questions, please contact the LDP.
Web Design Copyright © 1999-2003. Chrisranjana Software Solutions Pvt Ltd. syndicate rss feed