Bir cihaz dosyasını silerseniz ne olur?


21

Kabaca / dev altındaki dosyaları biliyorum.

İki tür (karakter / blok) olduğunu biliyorum, bu dosyalara erişerek çekirdekte bir sürücüyle iletişim kuruyor.

Birini silersem ne olacağını bilmek istiyorum - özellikle her iki tür dosya için. Bir blok cihaz dosyasını silersem, bunun /dev/sdane gibi bir etkisi olacağını varsayalım. Diski çıkardım mı?

Benzer şekilde, silersem /dev/mouse/mouse0ne olur? Fare çalışmayı durduruyor mu? Kendini otomatik olarak değiştirir mi?

Bu dosyaları bile silebilir miyim? Bir VM kursaydım, denerdim.


1
Bir kez SVR4 sisteminde / dev / zero sildim. Kötü bir fikir. Sistemimin yeniden önyüklenebilir hale getirilmesi biraz iş aldı.
Brad Lanam

Yanıtlar:


30

Bunlar sadece (özel) dosyalardır. Sadece gerçek cihaza "işaretçiler" olarak hizmet ederler. (yani çekirdeğin içindeki sürücü modülü.)

Eğer bir komut / servis o dosyayı zaten açtıysa, cihaza zaten bir tutacağı vardır ve çalışmaya devam edecektir.

Bazı komut / servis yeni bir bağlantı açmaya çalışırsa, o dosyaya erişmeye çalışır ve "dosya bulunamadı" nedeniyle başarısız olur.

Genellikle bu dosyalar udevotomatik olarak sistem başlangıcında ve bir USB cihazına takma gibi özel olaylarda oluşturur, ancak bunları kullanarak da elle oluşturabilirsiniz mknod.


3
Bu gerçekten soruyu cevaplamıyor ...
Gogeta70

"Genellikle bu dosyalar udev tarafından doldurulur" Genellikle, ancak Linux'ta. Orada makedevgenellikle işi yapar komut ve aksine udevçoğu os Unix benzeri arasında mevcut gibi görünüyor.
Sergiy Kolodyazhnyy,

1
@ Gogeta70 bu mesajın hangi kısmı cevapsız bırakıyor?
Ruslan,

@RonJohn Bu soru etiketlendi linuxveudev
Michael Mrozek

1
@RonJohn Evet, ancak "ama" ile. Ubuntu Hacks yoktur '06 gibi gösteriler arasındadır kitap /etc/init.d/makedev. Freebsd kılavuzu (1983 den) MAKEDEV 4.2BSD ortaya bahseder. Ben 1983 yılında bu yapmak için mantıklı olarak olacağını düşünüyorum MAKEDEV06 gibi init aracılığıyla otomatik
Sergiy Kolodyazhnyy

8

Aygıt dosyaları aslında, çekirdek aygıt tablosundaki bir giriş için kullanılan bir dosya diğer adıdır. Eğer / dev dosyalarına "ls -l" ile bakarsanız büyük bir cihaz numarasına ve küçük bir cihaz numarasına sahip olduklarını göreceksiniz. Dosyaları dosya sisteminden silerseniz, özel dosyayı çekirdek aygıt tablosundaki girişe yeniden bağlamak için uygun araçları kullanarak her zaman yeniden oluşturabilirsiniz - bkz. Mknod (1).


3

O andan itibaren, yalnızca bu aygıtları önceden açmış olan programlar tarafından erişilebilir. Yani dosya sistemlerini ayırmanın yolu yok. Ve udev ile yeniden başlatma bu aygıtları geri yükleyebilir. Unix öğrenmenin garip bir yolu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.