LinuxForum.Fans
Тема

K3B- сколько можно портить диски

Автор: u505 16 сообщений 5105 просмотров
#99142

Что год назад, когда я еще осваивал Linux на Suse. Что теперь, год спустя.
Запись проходит нормально. Но вот после диск даже не читается. Нигде.
Спасает только Parted Magic

Сколько можно? Хорошо что диски многоразовые использую
Кто с этим сталкивался? Лечится ли как нибудь?

#99145

даже и не знаю что вам сказать....
У Меня ВСЁ Работает.
вчера писал Windows.... VLC, с торрента, но ключ легальный. Поставил. Выбросите на помойку свой девайс.
вот скрипт:

text
#!/bin/bash

#Создаём "образ" диска

# mkisofs -r -J -o cd.iso ~/my_data/ #Тогда всё, что находится в каталоге ~/my_data, запишется в "образ" с именем cd.iso. Описание параметров:

# * -r - записать файловую систему RockRidge (поддерживает длинные имена файлов, читается на большинстве систем); # * -J - записать файловую систему Joliet (поддерживает длинные имена файлов, нужна при чтении диска под Windows); # * -o cd.iso - указывает имя файла образа.

#Записываем образ диска сразу на диск

# mkisofs -r -J ~/my_data/ | wodim dev=/dev/cdrw1 -

#Передаёт создаваемый образ программе wodim, которая записывает его на болванку в устройстве /dev/cdrw1.

#DEV="dvd" DEV="cdrom"

function cd_mount { MTAB=`sed -rn 's%^\S+\s+/mnt/'$DEV'\s+%&%p' /etc/mtab` if [ -z "$MTAB" ]; then sudo mount /mnt/$DEV || return $? fi return 0 }

function cd_umount { MTAB=`sed -rn 's%^\S+\s+/mnt/'$DEV'\s+%&%p' /etc/mtab` if [ -z "$MTAB" ]; then : else sudo umount /mnt/$DEV || return $? fi return 0 }

#TMPFILE="/var/tmp/record_iso_temp.iso" ISOIMAGE="$1"

#test -f $TMPFILE && rm $TMPFILE

if [ "$ISOIMAGE" = "" ]; then echo "Использование: $0 iso_image" exit 67 fi

if [ -f $ISOIMAGE ]; then : else echo "Плохой image '$ISOIMAGE'" exit 68 fi

read -n1 -p"Посчитать md5 образа '$ISOIMAGE'?" r echo if [ "$r" = "y" -o "$r" = "Y" ]; then echo "Подсчёт md5..." MD5_SRC=`md5sum $ISOIMAGE | sed -r 's/^([[:xdigit:]]{32}).*/\1/'` echo "md5 '$ISOIMAGE' = $MD5_SRC" else MD5_SRC="???" fi

echo

cd_umount || exit $?

sleep 3

CD=`cdrecord -scanbus | \ sed -rn ' s/^\s+([0-9]+,[0-9]+,[0-9]+)\s+[0-9]+\)\s+([^*].+)/\1 \2/ T p q ' ` #CD='1001,1,0' err=$?

echo "Found: '$CD'"

if [ $err != 0 -o "$CD" = "" ]; then echo "Error $err" exit $err else CD=`echo $CD | sed -r 's/^([0-9]+,[0-9]+,[0-9]+).*/\1/'` echo "SCSI ID: $CD" fi

VERIFY=""

SPEED="MAXIMUM"

while true do read -n1 -p" c - Очистить диск. l - Просмотр диска. w - Запись без очистки. v - Проверка контрольной суммы. 0,1,2,4,8,(1)6,h - Скорость записи (0 - минимальная скорость, h - максимальная скорость). текущая скорость: $SPEED. Ваш выбор?[clwv] " r echo case $r in [Cc]) echo -e "быстая очистка...\033[41;30m" cdrecord -v dev=$CD -blank=fast err=$? echo -e "\033[0m" if [ "$err" = 0 ]; then : else echo "Ошибка стирания" exit 70 fi break ;; [Ww]) echo "Запись без стирания" break ;; [Ll]) echo "просмотр содержимого диска" echo "Монтирование $DEVCD" if cd_mount; then echo "Чтение образа..." ls -la /mnt/$DEV --color # echo "Вычисление объёма..." # du /mnt/$DEV -sh cd_umount || exit $? else echo "Неудалось смонтировать диск (может он чистый?)" fi ;; [Vv]) VERIFY="V" break ;; 0) SPEED="minimum" ;; [1248]) SPEED=$r ;; 6) SPEED="16" ;; [hH]) SPEED="MAXIMUM" ;; *) echo -e "\033[31mневерный вывод, пожалуйста повторите...\a\033[0m" ;; esac done

case $SPEED in MAXIMUM) SPEED="" ;; [1248]|16) SPEED="speed=$SPEED" ;; *) SPEED="speed=0" ;; esac

while [ -z $VERIFY ] do read -n1 -pЗапись?\(y/n\) r echo if [ "$r" = "y" ]; then break; else if [ "$r" = "n" ]; then echo "Abort" exit 69; else echo "Неверный ввод, только y или n" fi fi done

if [ -z $VERIFY ]; then echo -e "Начало записи $ISOIMAGE...\033[41;30m cdrecord -v $SPEED fs=16m dev=$CD $ISOIMAGE" cdrecord -v $SPEED fs=16m dev=$CD $ISOIMAGE err=$? echo -e "\033[0m" if [ $err = 0 ]; then echo -e "\033[32;1mЗапись успешна.\033[0m" else echo -e "\033[31;1mОшибка записи.\033[0m" exit $err fi fi

#Verify DEVCD=`sed -rn 's%^(\S+)\s+/mnt/'$DEV'\s+.*%\1%p' /etc/fstab` echo "Монтирование $DEVCD" cd_mount || exit $? #echo "Чтение образа($TMPFILE)..." #dd if=$DEVCD of=$TMPFILE || { err=$?; rm $TMPFILE; exit $err; } #cd_umount || { err=$?; rm $TMPFILE; exit $err; } echo "Вычисление md5sum" MD5=`dd if=$DEVCD | md5sum | sed -r 's/^([[:xdigit:]]{32}).*/\1/'` err=$? cd_umount || exit $? if [ $err = 0 ]; then echo "md5_disk=$MD5" echo "md5_src_=$MD5_SRC" if [ "$MD5" = "$MD5_SRC" ]; then echo -e "\033[32;1mКонтрольный суммы совпали.\033[0m" else echo -e "\033[31;1mКонтрольный НЕ суммы совпали!\033[0m" fi else echo -e "\033[31;1mRead error!\033[0m" fi

#rm $TMPFILE

как всегда - дарю бесплатно. это даже не GNU, а просто даром.

#99146

а что, реально найти диски, которые не пишутся в линуксе? по моему опыту - с точностью до наоборот... приходится применять SmallCDRecord, ибо Nero на некоторых компах НЕ работает. но скрипты наподобие вышеприведённого ВСЕГДА работают. Проверенно на iP1,2,3,4 и прочих.

#99147
drBatty написал:
Выбросите на помойку свой девайс.

А при чем здесь девайс? Во всех остальных программах все в порядке

drBatty написал:
а что, реально найти диски, которые не пишутся в линуксе?


Они пишутся, но после их даже не примонтировать
и зачем мне скрипт? с тем же успехом я могу из терминала писать

#99148

ST, я не могу открыть Вашу ссылку. повторите пожалуйста в текстовом виде.

ST написал:
А при чем здесь девайс? Во всех остальных программах все в порядке

в каких? cdrecord нормально работает? wodim?

#99151
drBatty написал:
повторите пожалуйста в текстовом виде

http://www.3dnews.ru/documents/dvd-guide/p42/2.jpg

drBatty написал:
в каких?

Windows: CDBurnerXP, Alcohol, Nero
MacOS X(Hakintosh): Toast Titanium, SimplyBurn
Linux: Brasero, GNOME Baker

drBatty написал:
cdrecord нормально работает? wodim?

Впервые слышу

#99284

Если именно k3b портит диски, то и не надо ею пользоваться.
Я всегда пользуюсь mkisofs или genisoimage, а для записи образа -
cdrecord или wodim. Также бывает, что диск плохо записывается
на максимальной скорости, а на малой нормально.

Пётр.

#99364
ST написал:
Впервые слышу

почитайте man.

#99430

Да не в этом дело.
Если K3B входит в дистр как программа записи дисков по умолчанию, то зачем я должен колдовать? Я сейчас смотрю, с точки зрения конечного пользователя
Ладно бы это только на одном дистрибутиве проявлялось, но ведь нет же.

#99439

ST, либо с девайсом проблемы либо с настройками kb3, эта программа надстройка над популярными консольными утилитами, они работают обычно хорошо.

#99456
papin-aziat написал:
эта программа надстройка над популярными консольными утилитами, они работают обычно хорошо.

Да знаю.
А вот в девайсе уже начал сомневаться, что то не хочет он работать как полагается.
Попробую второй САТАвский подцепить, посмотрим что получится.

#99460
ST написал:
Если K3B входит в дистр как программа записи дисков по умолчанию, то зачем я должен колдовать? Я сейчас смотрю, с точки зрения конечного пользователя

потому-что разработчики cdrecord не включили SUID бит. Ибо опасно.

text
In order to be able to use the SCSI transport subsystem of the OS, run at highest priority and lock itself
       into core cdrecord either needs to be run as root, needs to be installed suid root or must be  called  via
       RBACs pfexec mechanism.

причём обычный CD-ROM это тоже эмуляция SCSI. Т.е. это касается и ATA IDE.
лечится это командой chmod +s /usr/bin/cdrecord
(в slackware, в других дистрибутивах возможно по другому)


вопрос - зачем колдовать? ну вы хотите защищённую ОС? или удобную? "безопасность" и "удобства" - антонимы. SUID опасен, особенно в свети последних дыр в glibc.

#99707

Однако у меня wodim не имеет suid, а пользователь может записывать диски.

Пётр.

#99734
Peter написал:
Однако у меня wodim не имеет suid, а пользователь может записывать диски.

а в документации и не сказано, что не будет писать. Сказано лишь о возможных проблемах. Если у вас мощный компьютер, и лёгкая десктопная ОС - всё будет в порядке. А если SUID бита не будет, программу записи может прервать другая программа. Не надолго, но достаточно для того, что-бы испортить болванку.

У меня так было, причём и Nero9 портила, и k3b+wodim. Последнюю связку я вылечил, а Nero просто стёр вместе с вендой.

т.ч. смотрите что у вас там пишет, и
[console]chmod 4711 эта_программа[/console]
(это если проблемы начались)

#99862

Наговорили так что вообще теперь ничего не понял :D
Кстати, на SATA все прекрасно записалось и читается

drBatty написал:
ну вы хотите защищённую ОС? или удобную?

и вы удивляетесь потом, что юзеры шарахаются от Linux? Все вот говорят что ОС делает шаги к обычным юзерам, но только внешним видом.

Тут щас холивар скорее всего начнется, так что думаю не будет лишним тему прикрыть smile

#99864
ST написал:
Наговорили так что вообще теперь ничего не понял

не обращайте внимания - главное, рабочее решение я вам дал.

ST написал:
Кстати, на SATA все прекрасно записалось и читается

может и так. нет у меня под рукой SATA-CDROM.

ST написал:
и вы удивляетесь потом, что юзеры шарахаются от Linux? Все вот говорят что ОС делает шаги к обычным юзерам, но только внешним видом.

Понимаете, какая тут штука... Оно ведь как удобно: включил венду - она работает без вопросов, а в Linux не так - только в ограниченной учётки, в бесправной. Это конечно неудобно - за то надёжно: вы никогда не сможете случайно удалить данные, к которым у вас нет доступа.

Или другой пример: Заходите на сайт, а вам автоматически ставят нужную программу, и вы, без всякого усилия наслаждаетесь. Рай? Так и было задумано. А получилось - сами знаете как :(

Смысл этих историй прост: SUID бит опасен, и программисты не осмелились его поставить самостоятельно (к тому-же у многих работает и так). Требуется добро от администратора. Но на самом деле, это уже не так часто нужно. Во всяком случае, реже, чем давить ОК на тупых табличках "память 0x4068edh не может быть READ". Просто к табличкам и к глюком другой ОС все привыкли, а особенности Linux незнакомы и непонятны.

В данном случае мне только непонятна логика разрабов K3B - пару лет назад, табличку про установку SUID бита сделали, но сейчас, как я понял - опять убрали...

ST написал:
Тут щас холивар скорее всего начнется, так что думаю не будет лишним тему прикрыть

не начнётся. модераторы нервные и злые :)

Войдите или зарегистрируйтесь, чтобы ответить.