---
name: "dhcpcd-2.0.x"
section: "8"
platform: "linux"
package: "dhcpcd"
version: "1:1.3.17pl2-8"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/dhcpcd-2.0.x"
---

# dhcpcd-2.0.x(8)

DHCP client daemon

## NAME

dhcpcd - DHCP client daemon

## SYNOPSIS

dhcpcd \[-c filename\] \[-d\] \[-h hostname\] \[-i vendorClassIdentifier\] \[-I clientIdentifier\] \[-k\] \[-l leasetime\] \[-r\] \[interface\]

## DESCRIPTION

**dhcpcd** is an implementation of the DHCP client specified in **RFC2131** (when -r option is not specified) and **RFC1541** (when -r option is specified).

It gets the host information (IP address, netmask, broadcast address, etc.) from a DHCP server and configures the network interface of the machine on which it is running. It also tries to renew the lease time according to **RFC2131** or **RFC1541** (obsolete).

## OPTIONS

- **-c** *filename*

  Specifies the command file which is invoked when **dhcpcd** successfully gets an IP address.

- **-d**

  Forces **dhcpcd** to run in the foreground.

- **-h** *hostname*

  specifies a string used for the hostname option field when **dhcpcd** sends DHCP messages. Some DHCP servers require the hostname option field containing a specific string in the DHCP messages from clients.

- **-i** *vendorClassIdentifier*

  Specifies the vendor class identifier string. **dhcpcd** uses the default vendor class identifier string (system name, sytem release, and machine type) if it is not specified.

- **-I** *clientIdentifier*

  Specifies the client identifier string. **dhcpcd** uses the default client identifier (Ethernet Address of the network interface) if it is not specified.

- **-k**

  Sends a **SIGTERM** signal to the **dhcpcd** process that is currently running.

- **-l** *leasetime*

  Specifies (in seconds) the recommended lease time to the server. (Note that the server can override this value if it sees fit). This value is used in the DHCPDISCOVER message.

- **-r**

  Makes dhcpcd RFC1541 (obsolete) compliant. dhcpcd is RFC2131 compliant unless this option is specified.

- **interface**

  Specifies the network interface name (eth0, eth1, etc.). **dhcpcd** uses the network interface *eth0* unless an explicit name is specified.

## FILES

- **/etc/dhcpc**

  directory used for storing files created by **dhcpcd**

- **/etc/dhcpc/hostinfo-***interface*

  file in which **dhcpcd** saves the host information. The word *interface* is actually replaced with the network interface name like *eth0* to which dhcpcd is attached.

- **/etc/dhcp/resolv.conf**

  file created by **dhcpcd** when the client receives DNS and domain name options

- **/var/run/dhcpcd-pid**

  file containing the process id of **dhcpcd**

- **/var/run/dhcpcd-cache.***interface*

  cache file containing the previously assigned IP address. The word *interface* is actually replaced with the network interface name like *eth0* to which **dhcpcd** is attached.

## SEE ALSO

*Dynamic Host Configuration Protocol,* RFC2131 and RFC1541 (obsolete)

*DHCP Options and BOOTP Vendor Extensions,* RFC1533

## BUGS

**dhcpcd** uses **[time(3)](/time/3.md)** to calculate the lease expiration time.  If the system time is changed while the client is running, the lease expiration time may not be predictable.

**dhcpcd** does not support the DHCPINFORM message.

**dhcpcd** cannot handle DHCP options (e.g. domain name) which have more than 255 characters. All the DHCP options have to be less than or equal to 255.

## AUTHOR

Yoichi Hariguchi \<yoichi@fore.com\>
