quarta-feira, 13 de novembro de 2013

Um tipo estranho de arquivo ...

Você deve ter notado um estranho tipo de entrada de diretório, particularmente no / boot e / lib. Quando listado com ls-l, você teria visto algo como isto:


[me@linuxbox me]$ cd /boot

lrwxrwxrwx     25 Jul  3 16:42 System.map -> /boot/System.map-2.0.36-3
-rw-r--r-- 105911 Oct 13  1998 System.map-2.0.36-0.7
-rw-r--r-- 105935 Dec 29  1998 System.map-2.0.36-3
-rw-r--r-- 181986 Dec 11  1999 initrd-2.0.36-0.7.img
-rw-r--r-- 182001 Dec 11  1999 initrd-2.0.36.img
lrwxrwxrwx     26 Jul  3 16:42 module-info -> /boot/module-info-2.0.36-3
-rw-r--r--  11773 Oct 13  1998 module-info-2.0.36-0.7
-rw-r--r--  11773 Dec 29  1998 module-info-2.0.36-3
lrwxrwxrwx     16 Dec 11  1999 vmlinuz -> vmlinuz-2.0.36-3
-rw-r--r-- 454325 Oct 13  1998 vmlinuz-2.0.36-0.7

-rw-r--r-- 454434 Dec 29  1998 vmlinuz-2.0.36-3


Links Simbólicos

Observe os arquivos System.map módulo -info e vmlinuz . Veja a notação estranho após os nomes dos arquivos ?

Estes três arquivos são chamados de links simbólicos . Os links simbólicos são um tipo especial de arquivo que apontam para outro arquivo. Com links simbólicos , é possível para um único arquivo para ter vários nomes. Eis como funciona: Sempre que o sistema é dado um nome de arquivo que é um link simbólico , é transparentemente mapeado para o arquivo que ele está apontando.

Isto serve para que? Este é um recurso muito útil. Vamos considerar a listagem de diretório acima ( que é o diretório / boot de um sistema antigo Red Hat 5.2). Este sistema teve várias versões do kernel do Linux instalado. Podemos ver isso a partir dos arquivos vmlinuz- 2.0.36 - 0.7 e vmlinuz- 2.0.36 -3 . Estes nomes de arquivos sugerem que tanto a versão 2.0.36-0.7 e 2.0.36-3 estão instalados. Como os nomes de arquivos contêm a versão é fácil ver as diferenças na listagem do diretório. No entanto , isso seria confuso para programas que dependem de um nome fixo para o arquivo kernel. Estes programas podem esperar que o kernel simplesmente ser chamado de " vmlinuz " . Aqui é o lugar onde está a beleza do link simbólico. Com a criação de um link simbólico chamado vmlinuz que aponta para vmlinuz- 2.0.36 -3 , temos resolvido o problema.

Para criar links simbólicos , use o comando ln .

Nenhum comentário:

Postar um comentário