Что год назад, когда я еще осваивал Linux на Suse. Что теперь, год спустя.
Запись проходит нормально. Но вот после диск даже не читается. Нигде.
Спасает только Parted Magic
Сколько можно? Хорошо что диски многоразовые использую
Кто с этим сталкивался? Лечится ли как нибудь?
K3B- сколько можно портить диски
даже и не знаю что вам сказать....
У Меня ВСЁ Работает.
вчера писал Windows.... VLC, с торрента, но ключ легальный. Поставил. Выбросите на помойку свой девайс.
вот скрипт:
#!/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, а просто даром.
а что, реально найти диски, которые не пишутся в линуксе? по моему опыту - с точностью до наоборот... приходится применять SmallCDRecord, ибо Nero на некоторых компах НЕ работает. но скрипты наподобие вышеприведённого ВСЕГДА работают. Проверенно на iP1,2,3,4 и прочих.
Выбросите на помойку свой девайс.
А при чем здесь девайс? Во всех остальных программах все в порядке
а что, реально найти диски, которые не пишутся в линуксе?

Они пишутся, но после их даже не примонтировать
и зачем мне скрипт? с тем же успехом я могу из терминала писать
ST, я не могу открыть Вашу ссылку. повторите пожалуйста в текстовом виде.
А при чем здесь девайс? Во всех остальных программах все в порядке
в каких? cdrecord нормально работает? wodim?
повторите пожалуйста в текстовом виде
http://www.3dnews.ru/documents/dvd-guide/p42/2.jpg
в каких?
Windows: CDBurnerXP, Alcohol, Nero
MacOS X(Hakintosh): Toast Titanium, SimplyBurn
Linux: Brasero, GNOME Baker
cdrecord нормально работает? wodim?
Впервые слышу
Если именно k3b портит диски, то и не надо ею пользоваться.
Я всегда пользуюсь mkisofs или genisoimage, а для записи образа -
cdrecord или wodim. Также бывает, что диск плохо записывается
на максимальной скорости, а на малой нормально.
Пётр.
Впервые слышу
почитайте man.
Да не в этом дело.
Если K3B входит в дистр как программа записи дисков по умолчанию, то зачем я должен колдовать? Я сейчас смотрю, с точки зрения конечного пользователя
Ладно бы это только на одном дистрибутиве проявлялось, но ведь нет же.
ST, либо с девайсом проблемы либо с настройками kb3, эта программа надстройка над популярными консольными утилитами, они работают обычно хорошо.
эта программа надстройка над популярными консольными утилитами, они работают обычно хорошо.
Да знаю.
А вот в девайсе уже начал сомневаться, что то не хочет он работать как полагается.
Попробую второй САТАвский подцепить, посмотрим что получится.
Если K3B входит в дистр как программа записи дисков по умолчанию, то зачем я должен колдовать? Я сейчас смотрю, с точки зрения конечного пользователя
потому-что разработчики cdrecord не включили SUID бит. Ибо опасно.
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.
Однако у меня wodim не имеет suid, а пользователь может записывать диски.
Пётр.
Однако у меня wodim не имеет suid, а пользователь может записывать диски.
а в документации и не сказано, что не будет писать. Сказано лишь о возможных проблемах. Если у вас мощный компьютер, и лёгкая десктопная ОС - всё будет в порядке. А если SUID бита не будет, программу записи может прервать другая программа. Не надолго, но достаточно для того, что-бы испортить болванку.
У меня так было, причём и Nero9 портила, и k3b+wodim. Последнюю связку я вылечил, а Nero просто стёр вместе с вендой.
т.ч. смотрите что у вас там пишет, и
[console]chmod 4711 эта_программа[/console]
(это если проблемы начались)
Наговорили так что вообще теперь ничего не понял :D
Кстати, на SATA все прекрасно записалось и читается
ну вы хотите защищённую ОС? или удобную?
и вы удивляетесь потом, что юзеры шарахаются от Linux? Все вот говорят что ОС делает шаги к обычным юзерам, но только внешним видом.
Тут щас холивар скорее всего начнется, так что думаю не будет лишним тему прикрыть smile
Наговорили так что вообще теперь ничего не понял
не обращайте внимания - главное, рабочее решение я вам дал.
Кстати, на SATA все прекрасно записалось и читается
может и так. нет у меня под рукой SATA-CDROM.
и вы удивляетесь потом, что юзеры шарахаются от Linux? Все вот говорят что ОС делает шаги к обычным юзерам, но только внешним видом.
Понимаете, какая тут штука... Оно ведь как удобно: включил венду - она работает без вопросов, а в Linux не так - только в ограниченной учётки, в бесправной. Это конечно неудобно - за то надёжно: вы никогда не сможете случайно удалить данные, к которым у вас нет доступа.
Или другой пример: Заходите на сайт, а вам автоматически ставят нужную программу, и вы, без всякого усилия наслаждаетесь. Рай? Так и было задумано. А получилось - сами знаете как :(
Смысл этих историй прост: SUID бит опасен, и программисты не осмелились его поставить самостоятельно (к тому-же у многих работает и так). Требуется добро от администратора. Но на самом деле, это уже не так часто нужно. Во всяком случае, реже, чем давить ОК на тупых табличках "память 0x4068edh не может быть READ". Просто к табличкам и к глюком другой ОС все привыкли, а особенности Linux незнакомы и непонятны.
В данном случае мне только непонятна логика разрабов K3B - пару лет назад, табличку про установку SUID бита сделали, но сейчас, как я понял - опять убрали...
Тут щас холивар скорее всего начнется, так что думаю не будет лишним тему прикрыть
не начнётся. модераторы нервные и злые :)