เช เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพ เช เช เชจเชพเชฎเชจเซ "เชซเซเชฐเซเช" เชเซ เชฒเซเช CentOS 5.9 เชตเชฟเชถเซ, เช เชจเซ เชจเชตเชพ OS เชจเซ เชตเชฟเชถเซเชทเชคเชพเชเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซ เชเซ. AWS เชฎเชพเชฐเซเชเซเชเชชเซเชฒเซเชธเชฎเชพเช เชนเชพเชฒเชฎเชพเช centos.org เชคเชฐเชซเชฅเซ เชเซเช เชธเชคเซเชคเชพเชตเชพเชฐ Centos8 เชเชฌเซ เชจเชฅเซ.
เชเซเชฎ เชคเชฎเซ เชเชพเชฃเซ เชเซ, เชเชฎเซเชเซเชจ เชเซเชฒเชพเชเชกเชฎเชพเช เชตเชฐเซเชเซเชฏเซเช เชฒ เชเชจเซเชธเซเชเชจเซเชธ เชเชฎเซเชเซเชจเชพ เชเชงเชพเชฐเซ เชฒเซเชจเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ (เชเชนเซเชตเชพเชคเชพ AMI). เชเชฎเซเชเซเชจ เชคเซเชฎเชพเชเชฅเซ เชฎเซเชเซ เชธเชเชเซเชฏเชพเชฎเชพเช เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ; เชคเชฎเซ เชคเซเชคเซเชฏ เชชเชเซเชทเซ เชฆเซเชตเชพเชฐเชพ เชคเซเชฏเชพเชฐ เชเชฐเซเชฒเซ เชเชพเชนเซเชฐ เชเชฌเซเชเชจเซ เชชเชฃ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ, เชเซเชจเชพ เชฎเชพเชเซ เชเซเชฒเชพเชเชก เชชเซเชฐเชฆเชพเชคเชพ, เช เชฒเชฌเชคเซเชค, เชเซเช เชเชตเชพเชฌเชฆเชพเชฐเซ เชธเชนเชจ เชเชฐเชคเซเช เชจเชฅเซ. เชชเชฐเชเชคเซ เชเซเชเชฒเซเชเชตเชพเชฐ เชคเชฎเชพเชฐเซ เชเชฐเซเชฐเซ เชชเชฐเชฟเชฎเชพเชฃเซ เชธเชพเชฅเซ เชธเซเชตเชเซเช เชธเชฟเชธเซเชเชฎ เชเชฌเซเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เชเซ, เชเซ เชเชฌเซเชเชจเซ เชธเซเชเชฟเชฎเชพเช เชจเชฅเซ.
เชชเชเซ เชเชเชฎเชพเชคเซเชฐ เชฐเชธเซเชคเซ เช เชเซ เชเซ เชคเชฎเซ เชคเชฎเชพเชฐเซ เชชเซเชคเชพเชจเซ AMI เชฌเชจเชพเชตเซ.
เชธเชคเซเชคเชพเชตเชพเชฐ เชฆเชธเซเชคเชพเชตเซเชเซ เชตเชฐเซเชฃเชตเซ เชเซ เชฎเชพเชฐเซเช "เชเชจเซเชธเซเชเชจเซเชธ เชธเซเชเซเชฐ-เชฌเซเชเซเชก AMI" เชฌเชจเชพเชตเชตเซเช.
เช เช เชญเชฟเชเชฎเชจเซ เชเซเชฐเชฒเชพเชญ เช เชเซ เชเซ เชซเชฟเชจเชฟเชถเซเชก เชเชฎเซเชเชจเซ เชชเชฃ "EBS-เชฌเซเชเซเชก AMI" เชฎเชพเช เชฐเซเชชเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ. เชเซเชเชชเชฟเช เชเชฎเซเช เชฌเชฟเชฒเซเชกเชฐ เชชเชฃ เชจเซเชเชงเชจเซเชฏ เชเซ. เชคเซ เชคเชฎเชจเซ เชเชธเซเชเชฎ เชเชฌเซเช เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเชถเซ, เชฎเชพเช CLI เช เชฅเชตเชพ WEB GUI เชฎเซเชก, เชชเชฐเชเชคเซ เชเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชชเชนเซเชฒเซเชฅเซ เช Centos 8 เชนเซเชฏ.
เชฎเชงเซเชฏเชตเชฐเซเชคเซ เชชเชเชฒเชพเช เชตเชฟเชจเชพ เชเชฎเซเชเซเชจ เชเซเชฒเชพเชเชกเชฎเชพเช เชคเชฎเชพเชฐเซเช เชชเซเชคเชพเชจเซเช EBS-เชธเชฎเชฐเซเชฅเชฟเชค AMI เชเซเชตเซ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเซเช เชคเซ เช เชฒเซเชเชฎเชพเช เชเชฐเซเชเชพ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชเซเชฐเชฟเชฏเชพ เชฏเซเชเชจเชพ
- เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชคเซเชฏเชพเชฐ เชเชฐเซ
- เชธเซเชตเชเซเช เชธเชฟเชธเซเชเชฎ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เช เชจเซ เชเชฐเซเชฐเซ เชธเซเชเชฟเชเชเซเชธ เชเชฐเซ
- เชกเชฟเชธเซเชเชจเซ เชธเซเชจเซเชชเชถเซเช เชฒเซ
- AMI เชจเซเชเชงเชฃเซ เชเชฐเซ
เชชเชฐเซเชฏเชพเชตเชฐเชฃเชจเซ เชคเซเชฏเชพเชฐเซ
เช เชฎเชพเชฐเชพ เชนเซเชคเซเช เชฎเชพเชเซ, เชเซเชเชชเชฃ เชธเชคเซเชคเชพเชตเชพเชฐ Centos 7 เชเชฆเชพเชนเชฐเชฃ เชเซเชเชชเชฃ เชเชเชพเชฐ, t2.micro เชชเชฃ. เชคเชฎเซ เชคเซเชจเซ CLI เชฆเซเชตเชพเชฐเชพ เชเชฒเชพเชตเซ เชถเชเซ เชเซ:
aws ec2 run-instances
--image-id ami-4bf3d731
--region us-east-1
--key-name alpha
--instance-type t2.micro
--subnet-id subnet-240a8618
--associate-public-ip-address
--block-device-mappings DeviceName=/dev/sda1,Ebs={VolumeSize=8}
--block-device-mappings DeviceName=/dev/sdb,Ebs={VolumeSize=4}
เชเชฆเซเชถ VPC เชฎเชพเช เชเช เชฆเชพเชเชฒเซ เชเชญเซ เชเชฐเชถเซ เชเซ เชเซเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชธเชฌเชจเซเช-เชเชเชกเซ เชธเชเชฌเชเชงเชฟเชค เชเซ. เชธเชฌเชจเซเช เชธเชพเชฐเซเชตเชเชจเชฟเช เชนเซเชตเชพเชจเซเช เชฎเชพเชจเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช เชจเซ SG 'เชกเชฟเชซเซเชฒเซเช' เชฆเชฐเซเช เชตเชธเซเชคเซเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ.
เชนเชตเซ เชเชพเชฒเซ ssh เชฆเซเชตเชพเชฐเชพ เชฆเชพเชเชฒเชพเชฎเชพเช เชฒเซเช เชเชจ เชเชฐเซเช, เชธเชฟเชธเซเชเชฎ เช
เชชเชกเซเช เชเชฐเซเช, เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเช dnf
เช
เชจเซ เชฐเซเชฌเซเช เชเชฐเซ:
sudo yum update -y && sudo yum install -y dnf && sudo reboot
เชฅเซ เชเชเชณเชจเซ เชคเชฎเชพเชฎ เชเชพเชฎเชเซเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ root
.
เชธเซเชตเชเซเช Centos 8.1 เชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎ เชฒเซเชเชเช เช เชจเซ เชชเชพเชฐเซเชเซเชถเชจ เชฎเชพเชเชจเซเช เชเชฐเชตเชพเชจเซเช
DEVICE=/dev/xvdb
ROOTFS=/rootfs
parted -s ${DEVICE} mktable gpt
parted -s ${DEVICE} mkpart primary ext2 1 2
parted -s ${DEVICE} set 1 bios_grub on
parted -s ${DEVICE} mkpart primary xfs 2 100%
mkfs.xfs -L root ${DEVICE}2
mkdir -p $ROOTFS
mount ${DEVICE}2 $ROOTFS
mkdir $ROOTFS/{proc,sys,dev,run}
mount --bind /proc $ROOTFS/proc
mount --bind /sys $ROOTFS/sys
mount --bind /dev $ROOTFS/dev
mount --bind /run $ROOTFS/run
เชกเชฟเชฐเซเชเซเชเชฐเซ เชตเซเชเซเชท เชฌเชจเชพเชตเซ เชฐเชนเซเชฏเชพ เชเซเช
RPM เชธเชฟเชธเซเชเชฎ เชคเชฎเชจเซ เชญเชพเชตเชฟ OS เชฎเชพเชเซ เชธเชฐเชณเชคเชพเชฅเซ เช เชจเซ เชเชกเชชเชฅเซ เชกเชพเชฏเชฐเซเชเซเชเชฐเซ เชเซเชฐเซ เชคเซเชฏเชพเชฐ เชเชฐเชตเชพเชจเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเซ เชเซ:
PKGSURL=http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages
rpm --root=$ROOTFS --initdb
rpm --root=$ROOTFS -ivh
$PKGSURL/centos-release-8.1-1.1911.0.8.el8.x86_64.rpm
$PKGSURL/centos-gpg-keys-8.1-1.1911.0.8.el8.noarch.rpm
$PKGSURL/centos-repos-8.1-1.1911.0.8.el8.x86_64.rpm
dnf --installroot=$ROOTFS --nogpgcheck --setopt=install_weak_deps=False
-y install audit authselect basesystem bash biosdevname coreutils
cronie curl dnf dnf-plugins-core dnf-plugin-spacewalk dracut-config-generic
dracut-config-rescue e2fsprogs filesystem firewalld glibc grub2 grubby hostname
initscripts iproute iprutils iputils irqbalance kbd kernel kernel-tools
kexec-tools less linux-firmware lshw lsscsi ncurses network-scripts
openssh-clients openssh-server passwd plymouth policycoreutils prefixdevname
procps-ng rng-tools rootfiles rpm rsyslog selinux-policy-targeted setup
shadow-utils sssd-kcm sudo systemd util-linux vim-minimal xfsprogs
chrony cloud-init
เชเซเชเซเชเชธ เชชเซเชเซเชเซ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเซเชจเซ, เชเซเชฒเซเชฒเชพ เชเชฆเซเชถเชจเซ เช เชฐเซเชคเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชนเซเช เชคเซเชจเซ เชถเซเชฐเซเชทเซเช เชฎเชพเชจเซเช เชเซเช, เช เชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเชฒ เชชเซเชเซเชเซเชจเซ เช เชตเชเชฃเชตเชพเชจเซ เชเชพเชคเชฐเซ เชเชฐเซ.
เชเซ เชคเชฎเซ เชเชเซเชเซ, เชคเซ เชคเชฎเซ เชเชจเชพ เชเซเชตเซเช เชเชเชเช เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ:
dnf --installroot=$ROOTFS groupinstall base core
--excludepkgs "NetworkManager*"
-e "i*-firmware"
ะ yum
เชเซเช --excludepkgs
, เช
เชจเซ เชคเซ เชชเชนเซเชฒเชพเช เชฎเชพเชฐเซ เชเซเชฅเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชชเชกเซเชฏเชพ เชนเชคเชพ เช
เชจเซ เชชเชเซ เชชเซเชเซเชเซ เชฆเซเชฐ เชเชฐเซ.
เชชเซเชเซเชเซ เช
เชจเซ เชเชถเซเชฐเชฟเชค เชเซเชฅเซเชจเซ เชฏเชพเชฆเซ เชเชฆเซเชถ เชธเชพเชฅเซ เชเซเช เชถเชเชพเชฏ เชเซ dnf group info core
เชเช เชเซเชฅ เชฎเชพเชเซ core
.
OS เชซเชพเชเชฒ เชเชธเซเชเชฎเชพเชเชเซเชถเชจ
เชเชพเชฒเซ เชจเซเชเชตเชฐเซเช, fstab, grub2 เชฎเชพเชเซ เชฐเซเชชเชฐเซเชเชพเช เชฌเชจเชพเชตเซเช เช เชจเซ DNS เช เชจเซ NTP เชฎเชพเชเซ AWS เชเชเชคเชฐเชฟเช 169.254 เชธเชฐเชจเชพเชฎเชพเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเช.
cat > $ROOTFS/etc/resolv.conf << HABR
nameserver 169.254.169.253
HABR
cat > $ROOTFS/etc/sysconfig/network << HABR
NETWORKING=yes
NOZEROCONF=yes
HABR
cat > $ROOTFS/etc/sysconfig/network-scripts/ifcfg-eth0 << HABR
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
HABR
cat > $ROOTFS/etc/fstab << HABR
LABEL=root / xfs defaults,relatime 1 1
HABR
sed -i "s/cloud-user/centos/" $ROOTFS/etc/cloud/cloud.cfg
echo "server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4" >> $ROOTFS/etc/chrony.conf
sed -i "/^pool /d" $ROOTFS/etc/chrony.conf
sed -i "s/^AcceptEnv/# /" $ROOTFS/etc/ssh/sshd_config
cat > $ROOTFS/etc/default/grub << HABR
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0,115200n8 console=tty0 net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
HABR
เชคเซ เช เชนเซเช เชเซ, GRUB_CMDLINE_LINUX เชฎเชพเช, เชเซเช เชนเชเซ เชชเชฃ SELinux เชฅเซ เชกเชฐเชคเชพ เชนเซเชฏ เชคเซเชฎเชจเชพ เชฎเชพเชเซ เชนเซเช selinux=0 เชจเซ เชเชฒเซเชฒเซเช เชเชฐเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช.
chroot เชฎเชพเช initramfs เชชเซเชจเชเชจเชฟเชฐเซเชฎเชพเชฃ
grub เช
เชจเซ fstab เชซเชพเชเชฒเซเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเซเชฏเชพ เชชเชเซ, เชคเชฎเชพเชฐเซ เชชเซเชจเชเชฌเซเชฒเซเชก เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เช
เชฎเซ เช
เชชเชกเซเช เชเชฐเซเช เชเซเช:
KERNEL=$(ls $ROOTFS/lib/modules/)
chroot $ROOTFS dracut -f -v /boot/initramfs-$KERNEL.img $KERNEL
chroot $ROOTFS grub2-mkconfig -o /boot/grub2/grub.cfg
chroot $ROOTFS grub2-install $DEVICE
chroot $ROOTFS update-crypto-policies --set FUTURE
เช
เชนเซเช update-crypto-policies
- เชตเซเชเชฒเซเชชเชฟเช, เชชเซเชฐเชพเชจเซเชเชก เชฎเชพเชเซ :)
"เชตเซเชเชพเชฃ" เชฎเชพเชเซ, เชคเชฎเซ เช เชเชฐเซ เชถเชเซ เชเซ:
chroot $ROOTFS fips-mode-setup --enable
chroot $ROOTFS grub2-mkconfig -o /boot/grub2/grub.cfg
chroot $ROOTFS grub2-install $DEVICE
OS เชฒเซเชก เชเชฐเซเชฏเชพ เชชเชเซ, เชเชฆเซเชถ update-crypto-policies --show
FIPS เชเชพเชฐเซ เชเชฐเชถเซ.
เชเชเซเชธเซเชเชพเชฐเซเช เช เชจเซ เชเชเชฐเซ เชธเชซเชพเช
chroot $ROOTFS systemctl enable network.service
chroot $ROOTFS systemctl enable sshd.service
chroot $ROOTFS systemctl enable cloud-init.service
chroot $ROOTFS systemctl mask tmp.mount
dnf --installroot=$ROOTFS clean all
truncate -c -s 0 $ROOTFS/var/log/*.log
rm -rf var/lib/dnf/*
touch $ROOTFS/.autorelabel
autorelabel
- เชชเซเชฐเชฅเชฎ เชฌเซเช เชชเชฐ SELinux เชธเชเชฆเชฐเซเชญ เชซเชพเชเชฒเซเชจเซ เชเชชเชฎเซเชณเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชเซ.
เชเชพเชฒเซ เชนเชตเซ เชกเชฟเชธเซเชเชจเซ เช เชจเชฎเชพเชเชจเซเช เชเชฐเซเช:
sync
umount $ROOTFS/{proc,sys,dev,run}
umount $ROOTFS
AMI เชจเซเชเชงเชฃเซ
ebs เชกเชฟเชธเซเชเชฎเชพเชเชฅเซ ami เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชชเชนเซเชฒเชพ เชกเชฟเชธเซเชเชจเซ เชธเซเชจเซเชชเชถเซเช เชฒเซเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
aws ec2 create-snapshot
--volume-id vol-09f26eba4c50da110 --region us-east-1
--description 'centos-release-8.1-1.1911.0.8 4.18.0-147.5.1 01'
เชคเชฎเชพเชฐเซ เชฅเซเชกเซ เชธเชฎเชฏ เชฐเชพเชน เชเซเชตเซ เชชเชกเชถเซ. เชเชพเชฒเซ เชชเซเชฐเชพเชชเซเชค เชธเซเชจเซเชชเชถเซเช เชเชเชกเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเซเชฅเชฟเชคเชฟ เชคเชชเชพเชธเซเช:
aws ec2 describe-snapshots --region us-east-1 --snapshot-ids snap-0b665542fc59e58ed
เชเซเชฏเชพเชฐเซ เชเชชเชฃเซ เชคเซ เชฎเซเชณเชตเซเช เชเซเช "State": "completed"
, เชคเชฎเซ AMI เชฐเชเซเชธเซเชเชฐ เชเชฐเซ เชถเชเซ เชเซ เช
เชจเซ เชคเซเชจเซ เชธเชพเชฐเซเชตเชเชจเชฟเช เชเชฐเซ เชถเชเซ เชเซ:
aws ec2 register-image
--region us-east-1
--name 'CentOS-8.1-1.1911.0.8-minimal'
--description 'centos-release-8.1-1.1911.0.8 4.18.0-147.5.1 01'
--virtualization-type hvm --root-device-name /dev/sda1
--block-device-mappings '[{"DeviceName":"/dev/sda1","Ebs": { "SnapshotId": "snap-0b665542fc59e58ed", "VolumeSize":4, "DeleteOnTermination": true, "VolumeType": "gp2"}}]'
--architecture x86_64 --sriov-net-support simple --ena-support
aws ec2 modify-image-attribute
--region us-east-1
--image-id ami-011ed2a37dc89e206
--launch-permission 'Add=[{Group=all}]'
เชฌเชธ เชเชเชฒเซเช เช. เชนเชตเซ เชคเชฎเซ เชฆเชพเชเชฒเชพเช เชฒเซเชจเซเช เชเชฐเซ เชถเชเซ เชเซ.
เช เชฐเซเชคเซ, เชคเชฎเซ เชเซเชเชชเชฃ Linux เชตเชฟเชคเชฐเชฃ เชธเชพเชฅเซ, เชฎเซเชเซ เชญเชพเชเซ, เชเช เชเชฌเซ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ. เชเชเชพเชฎเชพเช เชเชเซเช เชฌเชฐเชพเชฌเชฐ เชกเซเชฌเชฟเชฏเชจ (เชธเซเชตเชเซเช เชธเชฟเชธเซเชเชฎ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชกเซเชฌเซเชเชธเซเชเซเชฐเซเชชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ) เช เชจเซ RHEL เชเซเชเซเชเชฌ.
เช เชชเชกเซเช เชเชฐเซ เชตเชพเชเชเซเชจเซ เชตเชฟเชจเชเชคเซเชเชจเชพ เชเชงเชพเชฐเซ. เช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชธเซเชตเชเชพเชฒเชฟเชค เชฅเช เชถเชเซ เชเซ เชชเซเชเชฐ, เชซเชเซเชค เชธเซเชตเชเชพเชฒเชฟเชค. เช เชนเซเช เชเช เชเชฆเชพเชนเชฐเชฃ เชจเชฎเซเชจเซ เชชเซเชฐเชธเซเชคเซเชค เชเซ.
เชธเซเชฐเซเชธ: www.habr.com