|
Автор |
Сообщение |
Sasha
Новенький
Зарегистрирован: 03.02.2006 Сообщения: 64
|
|
|
|
Возник вопрос такого плана, как сделать из 3 или 4 CD один DVD диск? Для примера можно взять Федору или какой ни будь другой дистрибутив Линукса. |
|
Вернуться к началу |
|
|
lembergus
Новенький
Зарегистрирован: 10.04.2006 Сообщения: 59 Откуда: Львов (Украина)
|
|
|
|
Привет!
Тебе еще актуально получить ответ на свой вопрос, если да, то я могу дать тебе список файлов и директорий из дистрибутива Fedora Core 4, он у меня есть на 1 DVD. Сам не делал, но вместе, я думаю, у нас должно получится.
Пиши, буду ждать.
Пока.
_________________ Невыполнимых задач нет, а если это тебе так кажется, значит ты что то пропустил
С уважением, lembergus |
|
Вернуться к началу |
|
|
Sasha
Новенький
Зарегистрирован: 03.02.2006 Сообщения: 64
|
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Для этого существуют скрипты ckloiber - ftp://people.redhat.com/ckloiber/.
Если делать все руками, то нужно сделать следующее:
Смонтировать все четыре образа.
Свалить с них все файлы _сохранив структуру каталогов_ в один каталог.
В файле .discinfo там, где пишется номер диска (строчка с циферкой 1/2/3/4) написать 1,2,3,4 - именно так, через запятую.
Удалить isolinux/boot.cat, а также удалить все TRANS.TBL.
Создать образ DVD: mkisofs -J -R -v -T -o /opt/my_fedora_dvd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 8 -boot-info-table /opt/fedora_tree.
Внедрить в ISO-шник md5sum: /usr/lib/anaconda-runtime/implantisomd5 --force /opt/my_fedora_dvd.iso
Затем этот образ прожечь на болванку.
За ответ благодарим no-dashi. |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Grigoriy
Тысячник
Зарегистрирован: 08.02.2006 Сообщения: 1322 Откуда: 74 регион, Россия
|
|
|
|
den писал(а): |
Для этого существуют скрипты ckloiber - ftp://people.redhat.com/ckloiber/.
Если делать все руками, то нужно сделать следующее:
Смонтировать все четыре образа.
Свалить с них все файлы _сохранив структуру каталогов_ в один каталог.
В файле .discinfo там, где пишется номер диска (строчка с циферкой 1/2/3/4) написать 1,2,3,4 - именно так, через запятую.
Удалить isolinux/boot.cat, а также удалить все TRANS.TBL.
Создать образ DVD: mkisofs -J -R -v -T -o /opt/my_fedora_dvd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 8 -boot-info-table /opt/fedora_tree.
Внедрить в ISO-шник md5sum: /usr/lib/anaconda-runtime/implantisomd5 --force /opt/my_fedora_dvd.iso
Затем этот образ прожечь на болванку.
За ответ благодарим no-dashi. |
есть только вопросик а под Виндой как объеденить линуксовые дистры ? |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
а как у дяди Васи в гараже отремонтировать "Мерседес"???? |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Grigoriy
Тысячник
Зарегистрирован: 08.02.2006 Сообщения: 1322 Откуда: 74 регион, Россия
|
|
|
|
den писал(а): |
а как у дяди Васи в гараже отремонтировать "Мерседес"???? |
в помощью лома и такой то матери ))) |
|
Вернуться к началу |
|
|
Sasha
Новенький
Зарегистрирован: 03.02.2006 Сообщения: 64
|
|
|
|
Собрал! Всё работает отлично. |
|
Вернуться к началу |
|
|
Grigoriy
Тысячник
Зарегистрирован: 08.02.2006 Сообщения: 1322 Откуда: 74 регион, Россия
|
|
|
|
ух ты. как ой дистр у тебя?
а тоу меня с АСП сервером не получилось не фига. ругается на кодовую страницу...на свою |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
У меня MDK10. Да все еще 10. и ASP 11
а вообще руки не доходят установить что-то более новое |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Grigoriy
Тысячник
Зарегистрирован: 08.02.2006 Сообщения: 1322 Откуда: 74 регион, Россия
|
|
|
|
den писал(а): |
У меня MDK10. Да все еще 10. и ASP 11
а вообще руки не доходят установить что-то более новое |
вообще то вопрос был к Sasha. )) |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
ну тогда писать нужно 2Sasha:
|
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Grigoriy
Тысячник
Зарегистрирован: 08.02.2006 Сообщения: 1322 Откуда: 74 регион, Россия
|
|
|
|
Для АСП Линукс пришел такой вот ответ:
Описанный способ предназначен для Fedora core, использующей инсталлятор
anaconda; для ASPLinux он не подходит. Последовательность действий для
всех дистрибутивов ASPLinux примерно следующая:
- создайте некоторый каталог для подготовки образа:
mkdir dvd
- скопируйте _полностью_ первый установочный диск, включая скрытые файлы;
- в каталог ASPLinux/RPMS скопируйте все rpm-пакеты с остальных
установочных дисков; для v10 и Server 4 скопируйте также каталог boot/
со второго установочного диска;
- объедините файлы Packages1, Packages2, ..., PackagesN в каталоге
ASPLinux/RPMS в один файл Packages1:
$ cat Packages2 Packages3 ... >> Packages1
$ rm Packages2 Packages3 ...
- Создайте iso-образ:
mkisofs -r -J -boot-info-table \
-b ASPLinux/boot/boot.cd -c ASPLinux/boot/boot.catalog \
-no-emul-boot -boot-load-size 4 \
-m TRANS.TBL -o dvd.iso dvd/
- запишите полученный образ на диск и попробуйте загрузиться с него.
Как альтернативный вариант - воспользуйтесь вот этим скриптом с нашего
форума:
http://community.asplinux.ru/forum/1/58808/ |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
А вот и сам скрипт чтобы ничего не потерялось
Код: |
#!/bin/bash
#
# asp11_cd_to_dvd This shell script convert ASPLinux CD to boot DVD
#
# This script requies mkisofs
#
# Copyright (c) by Nikolay Ulyanitsky <lystor@mail.ru>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
####################################
### CHANGELOG ######################
####################################
# * Fri Jan 27 2006
# - new version 0.1
# * Sat Jan 28 2006
# - new version 0.2
# - added some optimization
# * Sat Jan 28 2006
# - new version 0.3
# - fixed bug with ASPLinux/RPMS/Packages files (Thanks Arkady L. Shane aka Tigro)
####################################
### SCRIPT VARIABLES DECLARATION ###
####################################
# Main variables
readonly SCRIPT_VERSION="0.3"
readonly ASPLINUX_VERSION="11 (Seliger)"
readonly SCRIPT_NAME="ASPLinux $ASPLINUX_VERSION CD to DVD Converter"
readonly SCRIPT_FILE_NAME="asp11_cd_to_dvd"
readonly SCRIPT_FULL_FILE_NAME=$SCRIPT_FILE_NAME".sh"
readonly AUTHOR_NAME="Nikolay Ulyanitsky"
readonly AUTHOR_EMAIL="<lystor@mail.ru>"
readonly CD_IMAGE_FILE_MASK="asplinux*.img"
# Parameters
readonly IMAGES_DIR=$1
readonly TEMP_DIR=$2
readonly DVD_FILE_NAME=$3
# Local variables
readonly CACHE_DIR=$TEMP_DIR/$SCRIPT_FILE_NAME
readonly MOUNT_DIR=$TEMP_DIR/$SCRIPT_FILE_NAME"_mount"
# Tools
readonly RM=`which rm`
readonly MOUNT=`which mount`
readonly UMOUNT=`which umount`
readonly GREP=`which grep`
readonly CP=`which cp`
readonly MKISOFS=`which mkisofs`
readonly MKDIR=`which mkdir`
readonly RMDIR=`which rmdir`
readonly LS=`which ls`
readonly SED=`which sed`
readonly MV=`which mv`
readonly CAT=`which cat`
####################################
### SCRIPT FUNCTIONS ###############
####################################
umount_cd() {
while true; do
$MOUNT | $GREP $MOUNT_DIR > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo -e "\nUmounting CD image..."
$UMOUNT $MOUNT_DIR
[ "x"$1 == "x" ] && check_exit_status
else
break;
fi
done;
}
remove_mount_point(){
[ -d $MOUNT_DIR ] && (
echo -e "\nRemoving mount point..."
$RMDIR $MOUNT_DIR
[ "x"$1 == "x" ] && check_exit_status
)
}
clear_cache_dir() {
[ -d $CACHE_DIR ] && (
echo -e "\nClearing cache..."
$RM -f -r $CACHE_DIR
[ "x"$1 == "x" ] && check_exit_status
)
}
clear_resouces() {
umount_cd "nocheck"
remove_mount_point "nocheck"
clear_cache_dir "nocheck"
}
fatal_error () {
echo -e "\nFatal error! $1"
# echo "Clearing resources..."
[ `whoami` == "root" ] && clear_resouces
echo -e "\nTry '$SCRIPT_FULL_FILE_NAME --help' for more information.\n";
exit 1
}
# Check exit status of previous operation, print messagee and exit if it is non zero.
check_exit_status() {
if [ $? -eq 0 ]; then
echo "Result: SUCCESS";
else
fatal_error "Result: FAILED";
fi
}
print_greeting() {
echo -e "\n$SCRIPT_NAME v$SCRIPT_VERSION"
echo "Author: $AUTHOR_NAME $AUTHOR_EMAIL"
}
print_help () {
echo -e "\nUsage: $SCRIPT_FULL_FILE_NAME IMAGES_DIR TEMP_DIR DVD_FILE_NAME";
echo -e "Example: $SCRIPT_FULL_FILE_NAME /var/pub/asp/iso /tmp /var/pub/asp/dvd.iso\n"
echo "For running the script you must have a root privileges and installed mkisofs tool."
echo "If you want to convert ASPLinux $ASPLINUX_VERSION 4 CD you must have "
echo "at least 4*0.7Gb=2.8Gb in your TEMP_DIR directory and 2.8Gb on filesystem"
echo -e "where DVD_FILE_NAME will be created.\n"
echo -e "Report bugs to $AUTHOR_NAME $AUTHOR_EMAIL\n"
exit
}
check_input_data() {
# Fatal error: no root privileges
[ `whoami` != "root" ] && fatal_error "Only root can use this script."
# Check existens of necessary tools
[ "x"$RM == "x" ] && fatal_error "\"rm\" tool doesn't exist."
[ "x"$MOUNT == "x" ] && fatal_error "\"mount\" tool doesn't exist."
[ "x"$UMOUNT == "x" ] && fatal_error "\"umount\" tool doesn't exist."
[ "x"$GREP == "x" ] && fatal_error "\"grep\" tool doesn't exist."
[ "x"$CP == "x" ] && fatal_error "\"cp\" tool doesn't exist."
[ "x"$MKISOFS == "x" ] && fatal_error "\"mkisofs\" tool doesn't exist."
[ "x"$MKDIR == "x" ] && fatal_error "\"mkdir\" tool doesn't exist."
[ "x"$RMDIR == "x" ] && fatal_error "\"rmdir\" tool doesn't exist."
[ "x"$LS == "x" ] && fatal_error "\"ls\" tool doesn't exist."
[ "x"$SED == "x" ] && fatal_error "\"sed\" tool doesn't exist."
[ "x"$MV == "x" ] && fatal_error "\"mv\" tool doesn't exist."
[ "x"$CAT == "x" ] && fatal_error "\"cat\" tool doesn't exist."
# Fatal error: not enough parameters
[ $# -lt 3 ] && fatal_error "Not enough parameters."
# Fatal error: incorrect directory IMAGES_DIR
[ ! -d $IMAGES_DIR ] && fatal_error "Directory $IMAGES_DIR doesn't exist."
# Fatal error: incorrect directory TEMP_DIR
[ ! -d $TEMP_DIR ] && fatal_error "Directory $TEMP_DIR doesn't exist."
# Fatal error: no images in IMAGES_DIR
$LS $IMAGES_DIR/$CD_IMAGE_FILE_MASK > /dev/null 2>&1
[ $? -ne 0 ] && fatal_error "There are no ASPLinux $ASPLINUX_VERSION images in $IMAGES_DIR."
}
create_cache_dir() {
echo -e "\nCreating cache directory..."
$MKDIR $CACHE_DIR
check_exit_status
}
create_mount_point() {
[ ! -d $MOUNT_DIR ] && (
echo -e "\nCreating mount point..."
$MKDIR $MOUNT_DIR
check_exit_status
)
}
mount_cd () {
echo -e "\nMounting $1..."
$MOUNT -o loop $1 $MOUNT_DIR
check_exit_status
}
copy_data_from_cd() {
echo -e "\nCoping data from $1..."
cd $MOUNT_DIR
$CP -f -r -a . $CACHE_DIR/ > /dev/null 2>&1
check_exit_status
cd $OLDPWD
}
make_dvd() {
echo -e "\nCreating DVD..."
$MKISOFS -U --iso-level 4 -o $DVD_FILE_NAME \
-b "ASPLinux/boot/boot.cd" -c "ASPLinux/boot/boot.catalog" \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-R -m TRANS.TBL \
$CACHE_DIR
check_exit_status
}
correct_disc_info(){
# Change 4'th line in .discinfo to the value "1"
$SED '4d' $CACHE_DIR/.discinfo | $SED '3a1' > $CACHE_DIR/.discinfo.temp
$MV $CACHE_DIR/.discinfo.temp $CACHE_DIR/.discinfo
# Update disk number in .disk/info
echo -n "ASPLinux CD1" > $CACHE_DIR/.disk/info
# Correcting Packages
for PACKAGE in $CACHE_DIR/ASPLinux/RPMS/Packages{2,3,4,5}; do
[ -f $PACKAGE ] && (
$CAT $PACKAGE >> $CACHE_DIR/ASPLinux/RPMS/Packages1;
$RM $PACKAGE;
);
done
}
####################################
### MAIN ###########################
####################################
print_greeting
# Print help
[ "$1" == "--help" ] && print_help
check_input_data $@
clear_cache_dir
create_cache_dir
umount_cd
create_mount_point
for CD_FILE_NAME in $IMAGES_DIR/$CD_IMAGE_FILE_MASK; do
mount_cd $CD_FILE_NAME
copy_data_from_cd $CD_FILE_NAME
umount_cd
done
correct_disc_info
remove_mount_point
make_dvd
clear_cache_dir
echo -e "\nCongratulations. ASPLinux $ASPLINUX_VERSION DVD was created succesfully!\n" |
|
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
В сценарии есть небольшой баг:
Проблема решается небольшой коррекцией строки
for PACKAGE in $CACHE_DIR/ASPLinux/RPMS/Packages{2,3,4}; do
на
for PACKAGE in $CACHE_DIR/ASPLinux/RPMS/Packages{2,3,4,5}; do |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
|
|