10

I want to create a new socket file in /dev. Does the way to get it is adding a new rule to udev?

9
  • The usual way to create a Unix domain or TCP socket is programatically, via the mknod or socket system calls. The mknod command will not allow you to create a socket.

From the command line, use the socket package

  • If you wish to create a Unix/TCP socket from the command-line, try the socket command from the socket package (install it first). Summarizing its man page description:

    Socket creates an Internet domain TCP or a UNIX domain stream socket and connects it to stdin and stdout.

Examples of socket usage (from man page)

  1. socket -v coma.cs.tu-berlin.de nntp

    connects to the nntp port (port 119) of coma.cs.tu-berlin.de (130.149.28.10).

  2. socket -sl 3425

    creates a server socket on port 3425 on the local host and waits for a connection. After a connection has been closed, a new connection is accepted.

  3. socket -wslqvp "echo Socket! " 1938

    creates a server socket on port 1938 on the local host and waits for a connection. When a connection is accepted, the string "Socket!" is written to the socket. No data is read from the socket and written to the finger program. The connection is closed when an end-of-file condition at the standard output of the program occurs. Then a new connection is accepted.

  • Have you any idea how you would create the equivalent of /dev/log with the socket command? – Robin Winslow Nov 15 '14 at 18:59
1

You cannot create it, but you can copy from a working system as below to some shared location between the machines and copy from the shared location to the other system.

Machine A

cp -rf /dev/SRC shared_directory

Machine B

cp -rf shared_directory /dev/
0

I think your looking for the command mknod. (If you're interested in the system call it uses, here's the manpage for that.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.