Skip to content


Пишем CD/DVD-диски в linux

Прожиг дисковИз консоли диски можно записывать программой cdrecord (она же wodim). Для доступа к приводу используется интерфейс SCSI GENERIC (sg). Работать с программой рекомендуется с правами суперпользователя (root-а), поскольку иногда ядром ограничивается множество доступных SCSI-команд для непривелегированных пользователей. Сначала нужно узнать какое устройство в системе у нас соответствует пищущему приводу. Это можно сделать, например, следующей командой:

dmesg | grep -E "CD.*RW" -A 1
scsi 1:0:0:0: CD-ROM            Optiarc  DVD RW AD-7200A  1.05 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray

Здесь видно, что пишущему приводу соответствует устройство /dev/sr0. На него есть также симлинки:

ls -l /dev/dvdrw
lrwxrwxrwx 1 root root 3 Июн  4 19:32 /dev/dvdrw -> sr0
ls -l /dev/dvd
lrwxrwxrwx 1 root root 3 Июн  4 19:32 /dev/dvd -> sr0

Затем создаем iso-образ или берем готовый и записываем:

cdrecord -v -dev=/dev/sr0 -blank=fast /tmp/CentOS-5.2-i386-LiveCD.iso                                  
wodim: No write mode specified.                                                                                                    
wodim: Asuming -tao mode.                                                                                                          
wodim: Future versions of wodim may have different drive dependent defaults.                                                       
TOC Type: 1 = CD-ROM                                                                                                               
scsidev: '/dev/sr0'                                                                                                                
devname: '/dev/sr0'                                                                                                                
scsibus: -2 target: -2 lun: -2                                                                                                     
Linux sg driver version: 3.5.27                                                                                                    
Wodim version: 1.1.8                                                                                                               
SCSI buffer size: 64512                                                                                                            
Device type    : Removable CD-ROM                                                                                                  
Version        : 5                                                                                                                 
Response Format: 2                                                                                                                 
Capabilities   :                                                                                                                   
Vendor_info    : 'Optiarc '                                                                                                        
Identification : 'DVD RW AD-7200A '                                                                                                
Revision       : '1.05'                                                                                                            
Device seems to be: Generic mmc2 DVD-R/DVD-RW.                                                                                     
Current: 0x000A (CD-RW)                                                                                                            
Profile: 0x002B (DVD+R/DL)                                                                                                         
Profile: 0x001B (DVD+R)                                                                                                            
Profile: 0x001A (DVD+RW)                                                                                                           
Profile: 0x0016 (DVD-R/DL layer jump recording)                                                                                    
Profile: 0x0015 (DVD-R/DL sequential recording)                                                                                    
Profile: 0x0014 (DVD-RW sequential recording)                                                                                      
Profile: 0x0013 (DVD-RW restricted overwrite)                                                                                      
Profile: 0x0012 (DVD-RAM)                                                                                                          
Profile: 0x0011 (DVD-R sequential recording)                                                                                       
Profile: 0x0010 (DVD-ROM)                                                                                                          
Profile: 0x000A (CD-RW) (current)                                                                                                  
Profile: 0x0009 (CD-R)                                                                                                             
Profile: 0x0008 (CD-ROM) (current)                                                                                                 
Profile: 0x0002 (Removable disk)                                                                                                   
Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).                                                                            
Driver flags   : MMC-3 SWABAUDIO BURNFREE                                                                                          
Supported modes: TAO PACKET SAO SAO/R96R RAW/R96R                                                                                  
Drive buf size : 866304 = 846 KB                                                                                                   
Beginning DMA speed test. Set CDR_NODMATEST environment variable if device
communication breaks or freezes immediately after that.
FIFO size      : 4194304 = 4096 KB
Track 01: data   696 MB
Total size:      800 MB (79:17.94) = 356846 sectors
Lout start:      800 MB (79:19/71) = 356846 sectors
Current Secsize: 2048
ATIP info from disk:
  Indicated writing power: 3
  Reference speed: 6
  Is not unrestricted
  Is erasable
  Disk sub type: High speed Rewritable (CAV) media (1)
  ATIP start of lead in:  -11240 (97:32/10)
  ATIP start of lead out: 359849 (79:59/74)
  1T speed low:  4 1T speed high: 10
  2T speed low:  4 2T speed high:  0 (reserved val  6)
  power mult factor: 1 5
  recommended erase/write power: 5
  A1 values: 24 1A D8
  A2 values: 26 B2 4A
Disk type:    Phase change
Manuf. index: 27
Manufacturer: Prodisc Technology Inc.
wodim: Cannot get next writable address for 'invisible' track.
wodim: This means that we are checking recorded media.
wodim: This media cannot be written in streaming mode anymore.
wodim: If you like to write to 'preformatted' RW media, try to blank the media first.
wodim: WARNING: Data may not fit on standard 74min disk.
Speed set to 1764 KB/s
Starting to write CD/DVD at speed  10.0 in real TAO mode for single session.
Last chance to quit, starting real write in    0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
Performing OPC...
Blanking PMA, TOC, pregap
Blanking time:   17.965s
Performing OPC...
Starting new track at sector: 0
Track 01:  696 of  696 MB written (fifo 100%) [buf 100%]  10.2x.
Track 01: Total bytes read/written: 730816512/730816512 (356844 sectors).
Writing  time:  481.694s
Average write speed  10.0x.
Min drive buffer fill was 100%
Fixating...
Fixating time:   31.676s
BURN-Free was never needed.
wodim: fifo had 11512 puts and 11512 gets.
wodim: fifo was 0 times empty and 11422 times full, min fill was 78%.

Для любителей графических интерфейсов есть k3b (обычно имеется в стандартных репозиториях) или проприетарный Nero.

Posted in *nix.

Tagged with , .


Удаление файлов, расширения которых не входят в заданный список

Есть задача – удалять из заданных директорий все файлы кроме тех, "расширения" которых входят в заданный список:

  • .mp3
  • .mp3_env
  • .mp3_dig
  • .mp2_env
  • .mp2_dig
  • .wav
  • .wav_env
  • .wav_dig

Сразу приношу свои извинения эстетам, которые скажут, что в UNIX-like OS нет понятия "расширение имени файла", и что это чисто DOS-овская терминология. Я понимаю, просто так проще было выразить мысль :)

#!/bin/bash
 
PREFIX=/var/spool/samba
SUBJ="Deleted files from $PREFIX at `/bin/hostname -s`"
TMP=/var/tmp/`basename $0`.$$
EMAIL=admin@somehost.com
# Base list of allowed extensions
EXTs="mp3 mp2 wav"
REGEX=".*\.\("
 
for i in $EXTs; do
  REGEX="${REGEX}${i}\|"
  REGEX="${REGEX}${i}_env\|"
  REGEX="${REGEX}${i}_dig\|"
done
 
# Trailing "|" deleting
REGEX=${REGEX/%|/}
# Trailing "\" deleting
REGEX=${REGEX/%\\/}
# Closing regex
REGEX="${REGEX}\)$"
# В результате получили такой regex:
# ".*\.\(mp3\|mp3_env\|mp3_dig\|mp2\|mp2_env\|mp2_dig\|wav\|wav_env\|wav_dig\)$"
 
for DIR in ${PREFIX}/dir1 ${PREFIX}/dir2; do
  find $DIR -type f ! -iregex "${REGEX}" -print0 | \
    /usr/bin/xargs --null -r stat --printf="|%n|\n" >> $TMP
  find $DIR -type f ! -iregex "${REGEX}" -print0 | \
    /usr/bin/xargs --null -r rm
done
 
if [ `/bin/cat $TMP | /usr/bin/wc -l` -gt 0 ]; then
  /bin/cat $TMP | /bin/mail -s "$SUBJ" $EMAIL -- -f robot@someserver.com
fi
 
[ -f $TMP ] && rm $TMP

Posted in *nix.

Tagged with , , , .


Избранное с bash.org.ru :)

Современный студент вместо подготовки к сессии ищет в сети красивый афоризм про пи%&#ц, чтобы поставить его в статус.

Пришла дочь с улицы, а с ней прибежал кот, покрутился пару секунд по кухне и обратно стал проситься.
Жена: Ну и чего это он приходил?
Дочь: Сейвился!

Продается книга "Огород без забот".
Подруга: "Огород без забот – это взял денег и пошел на рынок!"

xxx> А почему в компутере стол (desktop) покрывают обоями (wallpaper), а не скатертью?
yyy> Монитор вертикально — скатерть сползает.

zzz: Позвонили мне сегодня и говорят: "Нам выдали новый бачок, прийдите поменяйте". Я им – мол, я не занимаюсь бачками, вам к сантехнику. Через пару минут перезванивают, говорят, что сантехник этим не занимается, я в свою очередь, выходя из себя, сказал что я этим тоже не занимаюсь.
zzz: а час назад меня вызвал проректор и вставил пендюлей за то, что я отказался поменять лаборантке старый системник на новый!
zzz: сцуки, это ж нада системник бачком обозвать...

xxx: Чувак хочет переехать в Москву и там работать журналистом. Как ему лучше поступить чтоб с голода не умереть?
yyy: Не переезжать.

Posted in Fun.

Tagged with .


Сброс пароля администратора в системе "ЛИГА-Закон"

Чтобы сбросить пароль администратора в системе Liga, нужно в директории
c:\program files\liga70\data удалить файлы ubd.dat и ubd.idx.

При этом вся информация о пользователях системы будет утрачена, а вход в учетную запись "Администратор" будет возможен с пустым паролем.

Информация получена от технической поддержки Liga.

Posted in Windows.