Como verificar se um cdrom está na bandeja remotamente (via ssh)?

7

Eu tenho um servidor rodando o Ubuntu 10.04 (ele está do outro lado do mundo e eu não construí os meios para atualizá-lo remotamente ainda) e me disseram que há um CD em um de seus dois CDs. drives. Eu quero rasgar uma imagem do cd e, em seguida, baixá-lo para o meu computador local (não preciso de ajuda com qualquer um desses passos).

No entanto, não consigo confirmar se há ou não um CD na unidade, como me foi dito. Ele não montou automaticamente em qualquer lugar (o que eu estou pensando pode ser apenas um resultado de ser um servidor headless não rodando X, nautilus ou qualquer outra coisa agradável ao usuário).

Existem dois drives de CD conectados via SCSI:

austin@austinvpn:/proc/scsi$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: WDC WD400EB-75CP Rev: 06.0
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: Lite-On  Model: LTN486S 48x Max  Rev: YDS6
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi1 Channel: 00 Id: 01 Lun: 00
  Vendor: SAMSUNG  Model: CD-R/RW SW-248F  Rev: R602
  Type:   CD-ROM                           ANSI  SCSI revision: 05

No entanto, quando tento montar um desses dispositivos (e todos os outros dispositivos que possivelmente podem ser o CD-drive), ele diz no medium found :

austin@austinvpn:/proc/scsi$ sudo mount -t iso9660 /dev/scd1 /cdrom
mount: no medium found on /dev/sr1
austin@austinvpn:/proc/scsi$ sudo mount -t iso9660 /dev/scd0 /cdrom
mount: no medium found on /dev/sr0
austin@austinvpn:/proc/scsi$ sudo mount -t iso9660 /dev/cdrom /cdrom
mount: no medium found on /dev/sr1
austin@austinvpn:/proc/scsi$ sudo mount -t iso9660 /dev/cdrom1 /cdrom
mount: no medium found on /dev/sr0
austin@austinvpn:/proc/scsi$ sudo mount -t iso9660 /dev/cdrw /cdrom
mount: no medium found on /dev/sr1

Aqui está o conteúdo da minha pasta /dev :

austin@austinvpn:/proc/scsi$ ls /dev
agpgart          loop6               ram6      tty10  tty38  tty8
austinvpn        loop7               ram7      tty11  tty39  tty9
block            lp0                 ram8      tty12  tty4   ttyS0
bsg              mapper              ram9      tty13  tty40  ttyS1
btrfs-control    mcelog              random    tty14  tty41  ttyS2
bus              mem                 rfkill    tty15  tty42  ttyS3
cdrom            net                 root      tty16  tty43  urandom
cdrom1           network_latency     rtc       tty17  tty44  usbmon0
cdrw             network_throughput  rtc0      tty18  tty45  usbmon1
char             null                scd0      tty19  tty46  usbmon2
console          oldmem              scd1      tty2   tty47  usbmon3
core             parport0            sda       tty20  tty48  usbmon4
cpu_dma_latency  pktcdvd             sda1      tty21  tty49  vcs
disk             port                sda2      tty22  tty5   vcs1
dri              ppp                 sda5      tty23  tty50  vcs2
ecryptfs         psaux               sg0       tty24  tty51  vcs3
fb0              ptmx                sg1       tty25  tty52  vcs4
fd               pts                 sg2       tty26  tty53  vcs5
full             ram0                shm       tty27  tty54  vcs6
fuse             ram1                snapshot  tty28  tty55  vcs7
hpet             ram10               snd       tty29  tty56  vcsa
input            ram11               sndstat   tty3   tty57  vcsa1
kmsg             ram12               sr0       tty30  tty58  vcsa2
log              ram13               sr1       tty31  tty59  vcsa3
loop0            ram14               stderr    tty32  tty6   vcsa4
loop1            ram15               stdin     tty33  tty60  vcsa5
loop2            ram2                stdout    tty34  tty61  vcsa6
loop3            ram3                tty       tty35  tty62  vcsa7
loop4            ram4                tty0      tty36  tty63  vga_arbiter
loop5            ram5                tty1      tty37  tty7   zero

E aqui está o meu arquivo fstab :

austin@austinvpn:/proc/scsi$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/austinvpn-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=ed5520ae-c690-4ce6-881e-3598f299be06 /boot           ext2    defaults        0       2
/dev/mapper/austinvpn-swap_1 none            swap    sw              0       0

Estou faltando alguma coisa / fazendo algo errado, ou simplesmente não há CD na unidade ou a unidade está possivelmente quebrada? Existe algum comando legal para listar dispositivos com mídia montável?

Agradecemos antecipadamente por qualquer ajuda!

    
por adempewolff 06.09.2012 / 11:10

2 respostas

3

A saída não é tão bonita quanto a sua, mas não requer que você instale nada:

$ sudo lshw | awk '/\*-cd/,/con/' | sed -e 's/^[ \t]*//'

*-cdrom                   
description: DVD-RAM writer
product: DVD RW AD-7240S
vendor: Optiarc
physical id: 0.0.0
bus info: scsi@8:0.0.0
logical name: /dev/sr0
version: 1.00
capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram
configuration: ansiversion=5 status=nodisc
*-cdrom
description: DVD-RAM writer
physical id: 0.0.0
bus info: scsi@9:0.0.0
logical name: /dev/cdrom
logical name: /dev/cdrw
logical name: /dev/dvd
logical name: /dev/dvdrw
logical name: /dev/sr1
logical name: /media/X3_Linux
capabilities: audio cd-r cd-rw dvd dvd-r dvd-ram
configuration: mount.fstype=iso9660 mount.options=ro,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500 state=mounted status=ready
    
por Oli 06.09.2012 / 12:57
3

Usando o hwinfo:

Acho que respondi minhas próprias perguntas usando a ferramenta hwinfo . Esta ferramenta procura e lista várias informações úteis sobre os vários dispositivos no seu computador.

Pode ser instalado com sudo apt-get install hwinfo .

Ele também pode ser executado com o sinalizador --<hwitem> para listar apenas as informações de um tipo específico de hardware (ou seja, drives de CD). Aqui estão as opções para este sinalizador:

   --<hwitem>
          Probe for the particular hardware item. Available hardware items
          are:  all,  bios,  block,  bluetooth,  braille,  bridge, camera,
          cdrom, chipcard,  cpu,  disk,  dsl,  dvb,  fingerprint,  floppy,
          framebuffer,  gfxcard,  hub,  ide,  isapnp, isdn, joystick, key‐
          board, memory, modem, monitor, mouse, netcard,  network,  parti‐
          tion,  pci,  pcmcia, pcmcia-ctrl, pppoe, printer, scanner, scsi,
          smp, sound, storage-ctrl, sys, tape,  tv,  usb,  usb-ctrl,  vbe,
          wlan, and zip.

Usando o cdrom flag, posso encontrar as informações de que preciso.

austin@austinvpn:/proc/scsi$ sudo hwinfo --cdrom
15: SCSI 100.0: 10602 CD-ROM                                    
  [Created at block.247]
  Unique ID: KD9E.skIhcO_MyD1
  Parent ID: 3p2J.7RBlinTaF34
  SysFS ID: /class/block/sr0
  SysFS BusID: 1:0:0:0
  SysFS Device Link: /devices/pci0000:00/0000:00:1f.1/host1/target1:0:0/1:0:0:0
  Hardware Class: cdrom
  Model: "Lite-On LTN486S 48x Max"
  Vendor: "Lite-On"
  Device: "LTN486S 48x Max"
  Revision: "YDS6"
  Driver: "ata_piix", "sr"
  Device File: /dev/sr0 (/dev/sg1)
  Device Files: /dev/sr0, /dev/block/11:0, /dev/scd0, /dev/disk/by-path/pci-0000:00:1f.1-scsi-1:0:0:0, /dev/cdrom1
  Device Number: block 11:0 (char 21:1)
  Drive status: no medium
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #9 (IDE interface)
  Drive Speed: 48

16: SCSI 101.0: 10602 CD-ROM
  [Created at block.247]
  Unique ID: nOPI.WcCe56A4L50
  Parent ID: 3p2J.7RBlinTaF34
  SysFS ID: /class/block/sr1
  SysFS BusID: 1:0:1:0
  SysFS Device Link: /devices/pci0000:00/0000:00:1f.1/host1/target1:0:1/1:0:1:0
  Hardware Class: cdrom
  Model: "SAMSUNG CD-R/RW SW-248F"
  Vendor: "SAMSUNG"
  Device: "CD-R/RW SW-248F"
  Revision: "R602"
  Driver: "ata_piix", "sr"
  Device File: /dev/sr1 (/dev/sg2)
  Device Files: /dev/sr1, /dev/block/11:1, /dev/scd1, /dev/disk/by-path/pci-0000:00:1f.1-scsi-1:0:1:0, /dev/cdrom, /dev/cdrw
  Device Number: block 11:1 (char 21:2)
  Drive status: no medium
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #9 (IDE interface)
  Drive Speed: 48

Como você pode ver, ele relata, Drive status: no medium para ambas as unidades - parecendo confirmar que o CD não está na unidade, o CD está irreconhecível ou a unidade está quebrada.

Usando o hwinfo para encontrar o status da unidade:

Se você não quisesse examinar todas as listas info hwinfo , poderia automatizar ainda mais o processo com o seguinte comando:

sudo hwinfo --cdrom | grep 'Drive status:'

Que retornará rapidamente se houver CDs em qualquer uma das unidades.

austin@austinvpn:/proc/scsi$ sudo hwinfo --cdrom | grep 'Drive status:'
  Drive status: no medium
  Drive status: no medium

Estou procurando saber se há uma maneira de grep o nome do modelo ao mesmo tempo e atualizarei essa resposta quando eu descobrir.

Espero que isso possa ajudar alguém!

edit:

Aqui está um comando um pouco mais útil que mostrará o nome do modelo e o arquivo do dispositivo (assim, se uma mídia estiver presente, você saberá em qual unidade está presente e onde você pode montá-la / extrair uma imagem da ).

sudo hwinfo --cdrom | grep -e 'Model' -e 'Drive status:' -e 'Device File:'

Veja a aparência da saída:

austin@austinvpn:/proc/scsi$ sudo hwinfo --cdrom | grep -e 'Model' -e 'Drive status:' -e 'Device File:'
  Model: "Lite-On LTN486S 48x Max"
  Device File: /dev/sr0 (/dev/sg1)
  Drive status: no medium
  Model: "SAMSUNG CD-R/RW SW-248F"
  Device File: /dev/sr1 (/dev/sg2)
  Drive status: no medium
    
por adempewolff 06.09.2012 / 11:40