LINUX.ORG.RU

Кастомная установка Centos

 ,


0

1

Приветствую профессионалов. Сам я, к сожалению, только начал осваивать мир Linux-систем, тружусь в спец. ПО в Linux. Мне подогнали dvd-диск с кастомным дистрибутивом Centos 6.7 и автоматической установкой вместе со спец. ПО (Kickstarter -> postinstall). Хочу поставить домой для изучения/работы на своём пк второй системой вместе с Win10. Но возникли проблемы: 1. Centos 6 не ставится на домашний ПК из-за проблем с железом, слишком новое для него (intel i5 9600k/intel z370/nvidia 1060), Centos 7 поставился без проблем. 2. Решил поставить для проверки на macbook 2011, этот kickstarter затёр весь диск вместе с macos, поставился. Но я так не хотел, хотел две системы macos + centos.

Из этих двух проблем возникли вопросы: 1. Возможно ли все скрипты postinstall и другие перенести на чистый centos 7? Путём модификации чистого дистрибутива или же запуска скриптов уже на установленной. 2. Кто бы мог модифицировать скрипт кикстартера, чтобы он не сносил и форматировал все разделы, а ставился в определённый, заданный пользователем раздел?

Привожу внутренности скрипта:

# Kickstart file automatically generated by anaconda.

#version=DEVEL install cdrom lang en_US.UTF-8 keyboard us

# Pre Installation script %pre #!/bin/sh DEV=«» DRIVE1=«» i=0

console exec < /dev/tty6 > /dev/tty6 2> /dev/tty6 chvt 6 echo "-----------------------------------------------" echo «Attention!» echo «Hard disk drive will be formatted.» echo " " echo "-----------------------------------------------" echo " " echo «Press any key to continue...» read -n 1 chvt 1 exec < /dev/tty1 > /dev/tty1 2> /dev/tty1

for device in /sys/block/sd* do if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb then REMOVABLE=`cat $device/removable` if [ $REMOVABLE == 0 ]; then echo «External hdd drive: ${device##*/}» else DEV=«${device##*/}„„1“ echo „External usb drive: ${device##*/}“ fi else let „i += 1“ if [[ $i > 1 ]]; then console exec < /dev/tty6 > /dev/tty6 2> /dev/tty6 chvt 6 echo “-----------------------------------------------» echo «ERROR!» echo «In the system for more than 1 hard disk drive.» echo «Disable other hard drive(s) and try again.» echo " " echo "-----------------------------------------------" echo " " echo «Press any key to reboot...» read -n 1 chvt 1 exec < /dev/tty1 > /dev/tty1 2> /dev/tty1 reboot else DRIVE1=«${device##*/}» fi fi done

# Pre Partitions cat << EOF > /tmp/partitions bootloader --location=mbr --driveorder=$DRIVE1

# Partition clearing info clearpart --all --drives=$DRIVE1

# Disk partitioning info # autopart part /boot --asprimary --fstype=ext4 --size=500 --ondisk=$DRIVE1 part swap --asprimary --fstype=swap --size=8192 --ondisk=$DRIVE1 part / --asprimary --fstype=ext4 --size=20000 --ondisk=$DRIVE1 part /apps --fstype=ext4 --size=4000 --ondisk=$DRIVE1 part /home --fstype=ext4 --grow --size=1 --ondisk=$DRIVE1

EOF #-------------------

%end

%include /tmp/partitions

network --onboot yes --device eth0 --bootproto static --ip 192.168.100.100 --netmask 255.255.255.0 --noipv6 --hostname proserv1 rootpw --iscrypted $6$qy9jCB0jb63giOHg$lu9/yg6PCOG8xRqFB2ASJA9/GuLewazqsMqY3XU1jFdoBZor4FlmBdLgGDEucWzyztGvaCMsyFe/qKRClAzyc/ firewall --disable authconfig --enableshadow --passalgo=sha512 selinux --disable timezone Europe/Moscow

%packages @additional-devel @base @compat-libraries @core @debugging @basic-desktop @desktop-debugging @desktop-platform @development @directory-client @fonts @general-desktop @graphical-admin-tools @input-methods @internet-applications @internet-browser @java-platform @kde-desktop @legacy-unix @legacy-x @network-file-system-client @office-suite @print-client #@remote-desktop-clients @russian-support @server-platform @server-policy @system-admin-tools @web-server @workstation-policy @x11 libgcrypt-devel libXinerama-devel xorg-x11-proto-devel startup-notification-devel libgnomeui-devel libbonobo-devel libXau-devel libXrandr-devel popt-devel gnome-python2-desktop libxslt-devel libglade2-devel gnutls-devel mtools pax # mc qt-mysql rdesktop python-dmidecode xterm #crypto-utils #xorg-x11-xdm oddjob wodim sgpio genisoimage device-mapper-persistent-data systemtap-client abrt-gui jpackage-utils samba-winbind certmonger pam_krb5 krb5-workstation tcp_wrappers libXmu certmonger perl-CGI # Additional packages for ProMAX xorg-x11-fonts-ISO8859-1-100dpi xorg-x11-fonts-ISO8859-1-75dpi readline*.i686 openmotif* openmotif*.i686 openmotif22*.i686 # Additional libraries for ProMAX libXext*.i686 libXtst*.i686 libXmu*.i686 compat-libf2c*.i686 libXpm*.i686 libstdc++*.i686 %end

%post --nochroot #!/bin/sh set -x -v exec 1>/mnt/sysimage/root/kickstart-stage1.log 2>&1 echo «==> copying files...» cp -r /mnt/source/postinstall /mnt/sysimage/root

%end

%post #!/bin/sh set -x -v exec 1>/root/kickstart-stage2.log 2>&1

useradd -p '$6$ZFG4JO6gZOQbIVN4$LDHKYlO.83bc9zPjX5PfknqijD1H6JWzSvucZu4odv.xGcyW7FKg6q8vqQAmazcYi5G5uyH0n7TJibkQTJ30x/' promax

sed -i 's/cdrom/CDROM/g' /etc/yum.repos.d/CentOS-Media.repo sed -i 's/\/CentOS/\/CentOS_6.7_Final/g' /etc/yum.repos.d/CentOS-Media.repo

# Addition packages installation rpm -i /root/postinstall/apps/ntfs*.rpm rpm -i /root/postinstall/apps/unrar*.rpm

## NVidia from elrepo ## kmod-nvidia fails to install correctly from a kickstart file on EL6 ## Kickstart installs of kmod-nvidia fail on EL6. U ## ninstalling and reinstalling kmod-nvidia should fix the issue. See here: ## http://elrepo.org/bugs/view.php?id=98 (external link) ## A fix is to add the following line to the %post section of the kickstart script before installing the kmod package: #ln -s `awk '{ if ($2 == «/») print $1; }' /etc/fstab` /dev/root #rpm -i /root/postinstall/apps/nvidia_elrepo/*.rpm

# SAMBA settings rpm -i /root/postinstall/apps/samba-3*.rpm mv /etc/samba/smb.cfg /etc/samba/smb.cfg.bcp \cp /root/postinstall/configs/smb.cfg /etc/samba/ (echo promax; echo promax) | smbpasswd -s -a promax /sbin/chkconfig smb on /sbin/chkconfig nmb on cp /root/postinstall/scripts/QC_Disk-D.desktop /tmp

# ProMAX installation tar -xjvf /root/postinstall/apps/apps.tar.bz2 --directory=/ mkdir /apps/ProMAX/scratch \cp /root/postinstall/configs/license_promaxall.dat /apps/LAM/license.dat #sed -i 's/\/prom2/\/mnt\/DATA/g' /apps/ProMAX/etc/config_file sed -i 's/secondary disk storage partition: \/prom3/\*secondary disk storage partition: \/prom3/g' /apps/ProMAX/etc/config_file sed -i 's/secondary disk storage partition: \/prom4/\*secondary disk storage partition: \/prom4/g' /apps/ProMAX/etc/config_file chown -R promax. /apps sed -i '/security/ a \DisallowTCP=false' /etc/gdm/custom.conf sed -i '/kernel \/vmlinuz-2/ s/$/ transparent_hugepage=never/' /boot/grub/grub.conf

# Config system \cp /root/postinstall/configs/services /etc \cp /root/postinstall/configs/hosts /etc \cp /root/postinstall/configs/sudoers /etc \cp /root/postinstall/configs/profile /etc #\cp /root/postinstall/configs/zprofile /etc

# Startup services for ProMAX \cp /root/postinstall/configs/sitemgr_licall /etc/rc.d/init.d/sitemgr \cp /root/postinstall/configs/lam.linux /etc/rc.d/init.d/ chmod 755 /etc/rc.d/init.d/lam.linux chmod 755 /etc/rc.d/init.d/sitemgr /sbin/chkconfig sitemgr on /sbin/chkconfig lam.linux on

# Config user environment cp /root/postinstall/scripts/SSclient.desktop /tmp cp /root/postinstall/scripts/sslink.sh /usr/local/bin/ chmod 755 /usr/local/bin/sslink.sh

cp /root/postinstall/scripts/sslink.desktop /etc/xdg/autostart/

chmod 755 /etc/xdg/autostart/sslink.desktop ln -s /apps/bin/SSclient /usr/bin/SSclient

%end

Буду чрезвычайно благодарен советам/ответам. Кому нужен данный дистрибутив, пишите rustavellikhasanov@gmail.com

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.