From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.2.5 Message-ID: <518A7088.1020004@complife.ru> Date: Wed, 08 May 2013 19:34:32 +0400 From: "Michael A. Kangin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.10) Gecko/20121030 Thunderbird/10.0.10 MIME-Version: 1.0 To: ALT Linux Community general discussions References: <518922BE.7070006@complife.ru> <5189FA68.7010506@complife.ru> In-Reply-To: Content-Type: multipart/mixed; boundary="------------070305090401010308020400" Subject: Re: [Comm] =?utf-8?b?0KHQtdGA0LLQtdGAINC90LAgcDc=?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 15:33:36 -0000 Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --------------070305090401010308020400 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 08.05.2013 11:34, Eugene Prokopiev пишет: >>>> Бету Кентавра. >>> еще лучше http://enp.itx.ru/linux/alt/p7/iso/, меньше придется >> Спасибо, посмотрю. Евгений, спасибо, посмотрел. Неплохая логика. Но у меня несколько ворчаний :) - нужны fdisk/gdisk. Все эти партед с sfdisk'ами - АДъ. ща полтора часа гуглений я так и не смог сделать разделы, выровненные по 2048 сектору. Впрочем, sfdisk понравился для размножения типовой конфигурации на все остальные диски. - пригодилось бы smartctl. к счастью, всё это можно тут же доустановить, до всёже, всёже. - хотелось бы штатный для альтов grub2 вместо extlinux'а. Ручками делается без проблем. - мне, привыкшему к логике, что boot device это там где /boot лежит, показалось логичным указать его как /dev/vda1. С печальными для бутсектора последствиями. Т.е. объяснялку было бы неплохо сделать чуть поподробнее. - не поддерживается самого вкусного - установка на заранее отформатированное и подготовленное дерева разделов. Установщик всё переформатирует с нуля. Прикладываю патч, который устраняет этот недостаток: если ROOT_DEVICE смонтированно, то будет использоваться текущая точка монтирования с обработкой вложенных монтирований вроде /usr, /var, /var/lib/vz. Кроме того, правильно вычисляются BOOT_DEVICE, если ROOT_DEVICE - raid1. Пока пробовал на виртуалочке, завтра займусь на реальном сервере. > > Там не нужен vnc, ибо консольный псевдоинсталлер, предполагающий, что > диски уже размечены требуемым образом вручную, и с работавшей на > ранних сборках фичей autoinstall (см. > http://admdev.blogspot.ru/2011/04/alt-linux-live.html) - но там вроде > нечему отвалиться. -- Michael A. Kangin --------------070305090401010308020400 Content-Type: text/x-patch; name="live-install.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="live-install.patch" --- /usr/sbin/live-install.old 2013-04-15 15:26:59.000000000 +0400 +++ /usr/sbin/live-install 2013-05-08 18:25:06.752000000 +0400 @@ -22,13 +22,17 @@ BOOT_DEVICE=$1 ROOT_DEVICE=$2 -mkfs.ext4 $ROOT_DEVICE > /dev/null -TMPDIR=`/bin/mktemp -d` -mount $ROOT_DEVICE $TMPDIR -mountpoint -q "$TMPDIR" || exit +if grep -q "^$ROOT_DEVICE " /proc/mounts; then + TMPDIR=`grep "^$ROOT_DEVICE " /proc/mounts |awk '{print $2}'` +else + mkfs.ext4 $ROOT_DEVICE > /dev/null + TMPDIR=`/bin/mktemp -d` + mount $ROOT_DEVICE $TMPDIR + mountpoint -q "$TMPDIR" || exit +fi cd $TMPDIR -cp -a /bin /boot /etc /lib* /root /sbin /usr /var /home . +rsync -a /bin /boot /etc /lib* /root /sbin /usr /var /home ./ mkdir dev media mnt proc srv sys tmp selinux cgroup run cat /usr/share/live-install/dev.cpio.bz2 | bunzip | cpio -i > /dev/null rm -f etc/rc.d/rc.local @@ -57,6 +61,24 @@ $ROOT_DEVICE / ext4 relatime 1 1 EOF +grep " $TMPDIR/" /proc/mounts | while read DEV MPOINT FSTYPE Z Z Z; do + MPOINT=`echo $MPOINT | sed -e "s|$TMPDIR||"` + case $MPOINT in + /usr) + FSOPTS="nodev,relatime" ;; + /var) + FSOPTS="nosuid,relatime" ;; + /home) + FSOPTS="nosuid,relatime" ;; + *) + FSOPTS="relatime" ;; + esac + + echo -e "$DEV\t$MPOINT\t$FSTYPE\t$FSOPTS\t1 2" >> etc/fstab +done + +mdadm -Ebsc partitions >> etc/mdadm.conf + for script in `ls /usr/share/live-install/scripts.d/` do . /usr/share/live-install/scripts.d/$script @@ -66,7 +88,16 @@ chroot . installkernel --nolaunch "$(uname -r)" chroot . extlinux -i /boot/extlinux -chroot . dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr.bin of=$BOOT_DEVICE +if echo $BOOT_DEVICE |grep -q /dev/md; then + mdadm --detail $BOOT_DEVICE |grep active.*/dev/ |awk '{print substr($7, 1, length($7)-1)}' | \ + while read REAL_BOOT_DEVICE; do + echo install mbr into $REAL_BOOT_DEVICE + chroot . cat /usr/lib/syslinux/mbr.bin > $REAL_BOOT_DEVICE + done +else + echo install mbr into $BOOT_DEVICE + chroot . cat /usr/lib/syslinux/mbr.bin > $BOOT_DEVICE +fi chroot . rpm -e $LIVEPKGS chroot . chkconfig sshd on chroot . chkconfig acpid on @@ -75,6 +106,8 @@ umount sys umount dev +awk '{print $2}' /proc/mounts |grep "^$TMPDIR/" |sort -r |while read FS; do umount $FS; done + cd / -umount $ROOT_DEVICE -rm -rf $TMPDIR +umount $ROOT_DEVICE && rm -rf $TMPDIR + --------------070305090401010308020400--