O que significa “rc” em /etc/rc.d? [duplicado]

26

Alguém tem uma ideia sobre a forma completa do rc.d, por exemplo, /etc/rc.d ?

Ele contém scripts usados para controlar o início, a parada e o reinício dos daemons. Mas qual é exatamente o significado de rc aqui?

    
por user3134198 30.01.2014 / 07:52

2 respostas

29

Isso vai muito longe na história do Unix. rc significa "executar comandos" e faz sentido:

rc

runcom (as in .cshrc or /etc/rc) The rc command derives from the runcom facility from the MIT CTSS system, ca. 1965. From Brian Kernighan and Dennis Ritchie, as told to Vicki Brown:

"There was a facility that would execute a bunch of commands stored in a file; it was called runcom for "run commands", and the file began to be called "a runcom". rc in Unix is a fossil from that usage."

Fonte

The idea of having the command processing shell be an ordinary slave program came from the Multics design, and a predecessor program on CTSS by Louis Pouzin called RUNCOM, the source of the ".rc" suffix on some Unix configuration files. The first time I remember the name "shell" for this function was in a Multics design document by Doug Eastwood (of BTL). Commands that return a value into the command line were called "evaluated commands" in the original Multics shell, which used square brackets where Unix uses backticks.

( fonte )

Em resumo, rc.d significa "comandos de execução" no nível de execução, que é seu uso real. O significado de .d pode ser encontrado aqui O que significa o .d nos nomes de diretório?

Por favor, não misture com rc o interpretador de shell que foi incluído no Plano 9, que eram descendentes da Bourne Shell.

    
por 30.01.2014 / 08:03
8

Se você está perguntando qual é o significado da sigla rc , de acordo com o arquivo de jargões , deriva de runcom :

rc file: /R�C fi:l/, n. [Unix: from runcom files on the CTSS system 1962-63, via the startup script /etc/rc] Script file containing startup instructions for an application program (or an entire operating system), usually a text file containing commands of the sort that might have been invoked manually once the system was running but are to be executed automatically each time the system starts up. See also dot file, profile (sense 1).

Fonte : link

Níveis de execução

Na versão 7, os /etc/rc foram substituídos por runlevels. Então, em uma caixa Linux moderna, você verá esse tipo de estrutura de diretório.

The runlevel system replaced the traditional /etc/rc script used in Version 7 Unix.

Fonte: link

$ ls -l
total 32
drwxr-xr-x. 2 root root 4096 Jan  3 12:21 init.d
drwxr-xr-x. 2 root root 4096 Jan  3 12:21 rc0.d
drwxr-xr-x. 2 root root 4096 Jan  3 12:21 rc1.d
drwxr-xr-x. 2 root root 4096 Jan  3 12:21 rc2.d
drwxr-xr-x. 2 root root 4096 Jan  3 12:21 rc3.d
drwxr-xr-x. 2 root root 4096 Jan  3 12:21 rc4.d
drwxr-xr-x. 2 root root 4096 Jan  3 12:21 rc5.d
drwxr-xr-x. 2 root root 4096 Jan  3 12:21 rc6.d

Cada um desses diretórios representa um runlevel . Diferentes distros usam isso de maneiras ligeiramente diferentes. Por exemplo, em distribuições baseadas no Red Hat, o nível de execução 3 destina-se à execução de um sistema sem um desktop, enquanto o 5 destina-se a executar um desktop.

Para designar que você deseja que um determinado serviço inicie em um nível, e não em outro, inicialmente você terá que criar links para os scripts rc reais de um determinado serviço, nomeando o link de uma maneira especial. Os links ficariam assim:

$ ls -l rc3.d/
total 0
lrwxrwxrwx. 1 root root 20 Dec  7 20:56 K50netconsole -> ../init.d/netconsole
lrwxrwxrwx. 1 root root 18 Dec  7 20:56 K85ebtables -> ../init.d/ebtables
lrwxrwxrwx. 1 root root 17 Dec  7 20:56 K90network -> ../init.d/network
lrwxrwxrwx. 1 root root 28 Jan  3 12:21 S04dkms_autoinstaller -> ../init.d/dkms_autoinstaller
lrwxrwxrwx. 1 root root 15 Dec 14 22:57 S95jexec -> ../init.d/jexec

Os nomes que começam com K significam que este serviço deve ser eliminado para este nível de execução, enquanto S significa que deve ser iniciado. Os números após o K & S indicou qual ordem os serviços devem ser eliminados e iniciados.

Nos últimos anos, essa abordagem começou a favorecer duas novas tecnologias, systemd & upstart .

    
por 30.01.2014 / 08:02

Tags