ãµãŒããŒãåã€ã³ã¹ããŒã«ããå¿
èŠããããŸãããããµãŒããŒã¯ç§ã®ç¥ãåãã®å人ã«ãã£ãŠãã¹ããããŠããããã§ãã éåžžã«æ代é
ãã®DebianããããæãéèŠãªããšã¯ãã·ã¹ãã ãlvmã®ãªãéåžžã®ããŒãã£ã·ã§ã³äžã«ãããã¹ããŒã¹ãéåžžã«äžååã«å²ãåœãŠãããŠããããšã§ãã ããã«ç©ççã«ã¢ã¯ã»ã¹ããããšã¯ã»ãšãã©äžå¯èœã§ãã;ããŒã«ã«ç®¡çè
ã«äœããããããšãäŸé Œããããšã¯ã§ããŸãããã1é±éããããããããŸããã ãµãŒããŒã«ã¯ä»®æ³KVMããããŸããããå€éšããã¢ã¯ã»ã¹ããããšã¯ã§ããŸããã§ããã ãã¹ãã£ã³ã°äºæ¥è
ã«è¿œå ã®IPã¢ãã¬ã¹ããªãããããã¯ãŒã¯ã«ã¢ã¯ã»ã¹ããããšã¯äžå¯èœã§ãããã®ããã«ã sshãä»ããŠå®è¡äžã®ã·ã¹ãã ã®äžãããµãŒããŒãåã€ã³ã¹ããŒã«ããå¿
èŠããããŸããã ã¯ããã¿ãŒãã³ã®ããŒã¿ãŒããªãã«ããã«å€æŽããŠããåèµ·åãããšãæ°ããããŒã¿ãŒã§åäœããŸãïŒ
æåã®ã¢ã€ãã¢ã¯ãram-diskã«chrootç°å¢ãäœæããããããlvmãäœæããŠã·ã¹ãã ããã£ã±ãã«ããããšã§ããã ããããã·ã¹ãã ã¯ããŒãã£ã·ã§ã³ããŒãã«ã®å€æŽãèš±å¯ããŠããŸããã§ããã
2çªç®ã®ã¢ã€ãã¢ã¯ãDebianãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ãœãŒã¹ãååŸãããµãŒããŒã®IPã¢ãã¬ã¹ããã©ãã·ã¥ããDebianã€ã³ã¹ããŒã©ãŒãsshãµãŒããŒãç§ã®IPã§initrdãåæ§ç¯ãããã®initrdãããã©ã«ãã®ãããã¯ã§grubæ§æã«çœ®ãæããŠåèµ·åããããšã§ããã ãã®åŸããããã¯ãŒã¯ã€ã³ã¹ããŒã©ãŒã§sshã³ã³ãœãŒã«ãååŸããå¿
èŠããããŸããã ã¹ã¿ã³ãã§ãã£ãïŒ ããããæŠéã§ã¯ããã¹ãŠã倱æã«çµããããµãŒããŒã¯äžæããŸããã§ããã ãã¹ãã¯ãµãŒããŒãå®éã«å¿
èŠãšããªãã£ããããã±ãŒã¹ã¯æ¶æ»
ããŸããããæªè§£æ±ºã®åé¡ãæããŠããŸãã
ã©ãããããããååã¯ã·ã¹ãã ãšããããçš®é¡ã®ç Žå£çãªã¢ã¯ã·ã§ã³ïŒrm -rf /ãªã©ïŒã«ã€ããŠè°è«ããååã®1人ã¯ãã«ãŒãããŒãã£ã·ã§ã³ãé
眮ãããŠããscsiãã£ã¹ã¯ãåæã§ããã·ã¹ãã ãããã¯ã¢ããããªããšè¿°ã¹ãŸããã ããã«ããã3ã€ç®ã®ã¢ã€ãã¢ãåŸããã1ã€ç®ã®ã¢ã€ãã¢ãåŸããããã£ã¹ã¯ãåŒãã¡ãããããã£ã¹ã¯ãè¿ãããŸããè¿ããããã£ã¹ã¯ã¯ãã·ã¹ãã ãæäŸããªãã£ããã®ãšã¯ç°ãªããŸãã ããããŸãã«èµ·ãã£ãããšã§ãã ãããŠããã€ã³ãããšã«ãç©çã³ã³ãœãŒã«ã«ã¢ã¯ã»ã¹ããã«ã·ã¹ãã ãåã€ã³ã¹ããŒã«ããæ¹æ³ãæããŠãã ããã
èŠåïŒ ç§ãã¡ãããã®ã¯äžæ¹éè¡ã®éã ãã ãšããããšãç解ããªããã°ãªããŸãããééãããã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããªããªããŸãïŒ ãµãŒããŒã埩å
ããã«ã¯ã1,500ããã¡ãŒãã«ç§»åããŠé±å±±ã«ç»ããªããã°ãªããªãå¯èœæ§ããããŸãã
ã·ã¹ãã ã®IPã¯192.168.56.102ã§ãããšæ³å®ããŠããŸãã ããã¯ãŸãã«ç§ãã¹ã¿ã³ãã§æã£ãŠãããã®ã§ããã ããã«ããããã·ãä»ããã€ã³ã¿ãŒããããžã®ã¢ã¯ã»ã¹ïŒ
http://proxy:8080
ãœãŒã¹ã·ã¹ãã ã®äœ¿çšãéå§ããŸãã
ïŒã·ã¹ãã ïŒ0
sshã§ãµãŒããŒã«ã¢ã¯ã»ã¹ããŸãã
ssh 192.168.56.102
ãKillââer Systemãçšã®ãã£ã¬ã¯ããªãšãã¡ã€ã«ã·ã¹ãã ãäœæããããŠã³ãããŸãã
mkdir /target mount none -t tmpfs -o size=1G /target/
Debianã®æå°ã€ã³ã¹ããŒã«ãå±éããåªããdebootstrapãŠãŒãã£ãªãã£ãã€ã³ã¹ããŒã«ããããã䜿çšããŠchrootç°å¢ãäœæããŸãã
export http_proxy='http://proxy:8080' apt-get -y install debootstrap
FedoraãšCentosã«ã¯ãããããfebootstrapãšyumbootstrapã«äŒŒããŠãŒãã£ãªãã£ããããŸãããç§ã¯ãããã䜿çšããŸããã§ããã
chrootãå±éããŸãã
debootstrap jessie /target/ http://mirror.mephi.ru/debian/
æåã®åŒæ°ã¯ããŒãžã§ã³ã2çªç®ã¯ã€ã³ã¹ããŒã«ãã£ã¬ã¯ããªã3çªç®ã¯ãªããžããªã§ãã
æãå¿
èŠãªãã®ãããã¯ã¢ããããŸãã
mkdir /target/backup cp /etc/network/interfaces /target/backup
æãéèŠãªããšã¯ããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ã®èšå®ã§ãããããããªããšãåã€ã³ã¹ããŒã«ãããã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããŸããã
chrootç°å¢ã«ååãä»ããŸãã
echo "Killer_system" > /target/etc/debian_chroot
ãKillââer_systemããšããåèªãbashããã³ããã«è¡šç€ºãããŸãã ããã¯éèŠãªããšã§ãããããªãã§ã¯ãçŸåšã©ãã«ãããã¯ããããŸããã
æ°ããç°å¢ã«ç§»è¡ããŸãã
ïŒã·ã¹ãã ïŒ1
chroot /target
䟿å©ãªfsãããŠã³ãããŸãã
mount none -t proc /proc/ mount none -t sysfs /sys/ mount none -t devtmpfs /dev/ mount none -t devpts /dev/pts/
ããäžåºŠdebootstrapãèšå®ããŸãã
apt-get -y install lvm2 debootstrap
ããã«ç§ã®åé¡ïŒæšå¥šããã±ãŒãžã®Debian openssh-serverããã±ãŒãžã«ã¯xauthããã±ãŒãžãããããã®äŸåé¢ä¿ã«ã¯ããããçš®é¡ã®xã©ã€ãã©ãªããããŸãã ç§ã¯ãããããªãºã ã®æ¯æè
ãšããŠãã°ã©ãã£ãã¯ã¹ã®ãªããµãŒããŒã«xããããé
眮ããããªãã®ã§ãã ãããã£ãŠãããŒ--no-install-recommendsã䜿çšããŸãã
apt-get -y install openssh-server openssh-client openssh-blacklist openssh-blacklist-extra --no-install-recommends
æ§æãä¿®æ£ããŸãã sshããŒã¢ã³ã®ä»£æ¿ããŒããèšå®ããŠãsshçµç±ã§chrootã·ã¹ãã ã«ãã°ã€ã³ã§ããããã«ããŸãã
sed -i 's/^Port .*$/Port 11122/' /etc/ssh/sshd_config
ã«ãŒãã¢ã¯ã»ã¹ãèš±å¯ããŸãã
sed -i 's/^PermitRootLogin .*$/PermitRootLogin yes/' /etc/ssh/sshd_config /etc/init.d/ssh restart
rootã¢ã¯ã»ã¹ãäžããããšã¯ã§ããŸãããããŠãŒã¶ãŒãäœæããŠsudoæš©éãäžããããšã¯ã§ããŸããããããã§ã¯æå³çã«åçŽåããŸãã
次ã«ãdebootstrapã¯ããã©ã«ãã§ãã¹ã¯ãŒããèšå®ããªããããã«ãŒããã¹ã¯ãŒããèšå®ããå¿
èŠããããŸãã
passwd root
sshã§chrootç°å¢ã«å
¥ããŸãïŒ
ssh 192.168.56.102 -l root -p 11122
ããã¯ããã£ã¹ã¯ãåãé¢ãå
ã®ã·ã¹ãã ãå®å
šã«åãé€ãããã«è¡ã£ãŠããŸãã ãããã£ãŠãRAMã«ã¯å®å
šã«èªåŸçãªã·ã¹ãã ããããå€ãã·ã¹ãã ã«ã¯æ¥ç¶ãããŠããŸããã
ãã®ããªãã¯ã¯ããã¹ãã£ã³ã°äºæ¥è
ãé¢ããå Žåã«éåžžã«é©ããŠããŸãããã¡ã€ã«ããã®ãŸãŸã«ããŠããããã¯ãããŸããïŒç§ã¯ç¥ã£ãŠããŸããåŠæ³ïŒã ãã®æ®µéã§ã¯ããã°ãããããå Žåã¯åã«ãã£ã¹ã¯ããŒãã§é§åããŸãã
dd if=/dev/zero of=/dev/sda bs=1M
ãŸãã¯ãå¿
èŠã«å¿ããŠãè€æ°ã®ãã¹ã§ã®ã©ã³ãã ããŒã¿ã ãã®æ¹æ³ã®å©ç¹ã¯ãddãçµäºãããŸã§åŸ
æ©ããå¿
èŠã«å¿ããŠç¹°ãè¿ãããšãã§ããããšã§ãã æŠéã·ã¹ãã ããçŽæ¥ãã£ã¹ã¯ãäžæžããããšãddã®çµæãèŠãããšãã§ããªããªããŸãã
ããªã¥ãŒã ãšããŒãã£ã·ã§ã³ãåé€ããç°¡åãªæ¹æ³ãè©ŠããŠã¿ãŸãããã
ãããã倱æã ãã®å ŽåãããŒãã£ã·ã§ã³ã¯åé€ãããã·ã¹ãã ãã¯ã©ãã·ã¥ããŸãããåèµ·åããªããšåçŽãªæ¹æ³ã§ã¯æ©èœããŸããã ãããŠãéè² è·ã«ãªãå Žæã¯ãããŸããã
ç§ãã¡ã¯ä»ã®æ¹æ³ã§è¡ããŸãã äœããããã確èªããŸãïŒ
pvs lsblk
ã«ãŒãããŒãã£ã·ã§ã³ã¯sdaãã©ã€ãäžã«ãããšæ³å®ããŠããŸãã
ãã£ã¹ã¯ãäžæžãããŠãlvmãããã¯ã¢ããããªãããã«ããŸãã
èŠåïŒ ãã®ç¬éã®åŸãæ»ãã¯ãããŸããã次ã®ã¹ãããã§ãããã»ã©æªæã¯ãããŸããã ã¡ãã£ãšèããŠã¿ãŸããããã³ã³ãœãŒã«ããã§ãã¯ããŠãããã«åº§ã£ãŠchrootã®ååãæ£åœåããŸãïŒ
dd if=/dev/zero of=/dev/sda bs=1M count=100
ãã£ã¹ã¯ãåãé¢ããŸãïŒ
echo 1 > /sys/block/sda/device/delete
ãã£ã¹ã¯ãå€ããããšã確èªããŸãã
lsblk
ãã£ã¹ã¯ãæ¥ç¶ãçŽããŸãã
for i in /sys/class/scsi_host/host?/scan ; do echo "- - -" > $i ; done
è¿ãããããšã確èªããŸãã
lsblk
sdaã ã£ããsdbã«ãªã£ããçŽ æŽãããã
éèŠãªç¹ïŒããŒããã£ã¹ã¯äžã§ããã£ã¹ã¯å
šäœã®ãµã€ãºã®ãã©ã€ããªããŒãã£ã·ã§ã³ã1ã€äœæãããã®ããŒãã£ã·ã§ã³ãlvmã«æž¡ããŠãgrubããã®äžã«ç«ã€ããã«ããå¿
èŠããããŸãã ä»ã®ãã¹ãŠã®ãã£ã¹ã¯ã¯ãããŒãã£ã·ã§ã³ã·ã¹ãã ïŒpvcreate / dev / sdcïŒãäœæããã«lvmã«å®å
šã«æäŸã§ããŸãã ããŒãã£ã·ã§ã³ããŒãã«ãšãã¿ã€ã8eãLinux LVMã®1ã€ã®ãã©ã€ããªããŒãã£ã·ã§ã³ãäœæããŸãã
fdisk /dev/sdb n<CR> <CR> <CR> <CR> t<CR> 8e<CR> w<CR>
ã¹ã¯ãªããã®å
ã®ããŒãžã§ã³ã¯ã·ã¹ãã å
šäœã«1ã€ã®è«çããªã¥ãŒã ãäœæããŠããŸããããååããã®ã¹ã¯ãªããã䜿çšããŠLinuxãåã€ã³ã¹ããŒã«ãããšããããã€ãã®ããŒãã£ã·ã§ã³ãç¹ã«ãã°çšã®å¥ã®ã»ã¯ã·ã§ã³ãäœæããã®ã¯å°ãé£ããããšãããããŸããã ããŠã³ããã€ã³ããäœæããå®éã«ããŒãã£ã·ã§ã³ãããŠã³ãããæé ã«æ³šæããå¿
èŠããããŸãã
pvcreate /dev/sdb1 vgcreate vg_root /dev/sdb1 lvcreate -Zn -L500M -n lv_swap0 vg_root lvcreate -Zn -L1G -n lv_root vg_root lvcreate -Zn -L2G -n lv_usr vg_root lvcreate -Zn -L2G -n lv_var vg_root lvcreate -Zn -L1G -n lv_var_log vg_root lvcreate -Zn -L1G -n lv_home vg_root mkswap /dev/vg_root/lv_swap0 mkfs.ext4 /dev/mapper/vg_root-lv_root mkfs.ext4 /dev/mapper/vg_root-lv_usr mkfs.ext4 /dev/mapper/vg_root-lv_var mkfs.ext4 /dev/mapper/vg_root-lv_var_log mkfs.ext4 /dev/mapper/vg_root-lv_home mkdir /target mount /dev/mapper/vg_root-lv_root /target/ mkdir /target/usr /target/var /target/home mount /dev/mapper/vg_root-lv_usr /target/usr mount /dev/mapper/vg_root-lv_var /target/var mkdir /target/var/log mount /dev/mapper/vg_root-lv_var_log /target/var/log mount /dev/mapper/vg_root-lv_home /target/home
ãã§ã«æŠéã·ã¹ãã ãããŒããã©ã€ãã®æ°ããå Žæã«å±éããŠããŸãã
export http_proxy='http://proxy:8080' debootstrap jessie /target/ http://mirror.mephi.ru/debian/ echo "NEW_system" > /target/etc/debian_chroot
æ§æã®ããã¯ã¢ããã³ããŒãé
眮ããããã«æ»ããŸãã
cp /backup/interfaces /target/etc/network
ä»ãç§ãã¡ã¯æ°ããã·ã¹ãã ãåŸ
ã£ãŠããŸãïŒ
ïŒã·ã¹ãã ïŒ2
chroot /target
ã³ãã³ãããã³ããã§ãæ°ããchrootç°å¢ã®ååã«æ³šç®ããŠãã ããã
ãã¡ã€ã«ã·ã¹ãã ã®ããŠã³ãïŒ
mount none -t proc /proc/ mount none -t sysfs /sys/ mount none -t devtmpfs /dev/ mount none -t devpts /dev/pts/
芪chrootãããããã®ãã¡ã€ã«ã·ã¹ãã ãããŠã³ãããããšãã§ããŸãã
mount -o bind /proc/ /target/proc mount -o bind /sys/ /target/sys mount -o bind /dev/ /target/dev mount -o bind /dev/pts /target/dev/pts
opensshãã€ã³ã¹ããŒã«ããŠæ§æããŸãã
apt-get -y install openssh-server openssh-client openssh-blacklist openssh-blacklist-extra --no-install-recommends
sed -i 's/^PermitRootLogin .*$/PermitRootLogin yes/' /etc/ssh/sshd_config passwd root
å¿
é ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããŸãã
apt-get -y install vim sudo linux-image-3.16.0-4-amd64 grub2 lvm2 psmisc vlan
ã¯ããç§ã¯vimãªãã§ã¯çãããããnanoãå«ããŸãïŒ
update-alternatives --set editor /usr/bin/vim.basic
ååãšããŠãã€ã³ã¹ããŒã«æã«ãŸã å¿
èŠãªå Žåã¯grubãèŠå®ãããŠããŸãããããã§ããã³ããšå£«æ°ããµããŒãããããã«ã次ã®ããã«ç¹°ãè¿ããŸãã
update-grub grub-install /dev/sdb
ããã§ãæåã«æãéèŠãªèšå®ãç·šéããŸããããããªããšãã·ã¹ãã ã¯äžæããŸããã
cat > /etc/fstab <<EOF
ãããã¯ãŒã¯ãäœããã®åœ¢ã§ç§ãã¡ã®ããã«åããã®ã§ããã¹ãŠãinterfacesãã¡ã€ã«ã§é çªã«ãªã£ãŠããå¿
èŠããããŸããïŒ
vim /etc/network/interfaces
aptã®èšå®ã§ããããã·æ
å ±ãè¿œå ããŸãã
echo 'Acquire::http::Proxy "http://proxy:8080";' > /etc/apt/apt.conf
ãã¹ãåã®å€æŽïŒ
echo new-system > /etc/hostname
/ etc / hostsã«è¡ãè¿œå ããŸãã
echo "192.168.56.102 new-system.corp new-system" >> /etc/hosts
管çè
ãè¿œå ïŒ
adduser admin usermod -a -G sudo admin visudo
ãã¡ã€ã«ã·ã¹ãã ã®ããŠã³ã解é€ïŒ
umount /dev/pts umount /dev/ umount /proc/ umount /sys/
ãããŠãchrootãçµäºããŸãã
exit
ãã¡ã€ã«ã·ã¹ãã ã®ããŠã³ã解é€ïŒ
umount /target/usr/ /target/var/log/ /target/var/ /target/home/
/ devãã¢ã³ããŠã³ãã§ããªãã£ãå Žåã/ targetã¯ã¢ã³ããŠã³ãã§ããŸããããããã¯æãããããšã§ã¯ãããŸããã
æåããå Žåããããè¡ããŸãïŒ
umount /target/
ããã§ãªãå Žåã¯ã次ã®ããã«ããŸãã
sync ; sync ; sync ; mount -o remount,ro /target/
ãããã®ã³ãã³ãã¯ããã£ã¹ã¯ãã£ãã·ã¥ããã©ãã·ã¥ããã«ãŒããã¡ã€ã«ã·ã¹ãã ãèªã¿åãå°çšã§åããŠã³ãããŸãã ãã®åŸããªãŒããŒããŒãããããšãã§ããŸãã
ããã§ã¯ãsystemdãæããçããããã®é©ããåŸ
ã£ãŠããŸãïŒ åœŒã¯ãç§ãã¡ãchrootã«ããããšãç¥ã£ãŠãããåèµ·åãèš±å¯ããŠããŸããïŒ Googleã¯chrootãçµäºããããã«ã¢ããã€ã¹ããŠããŸãããã©ãã«ãè¡ããŸããã ããããMagic SysRqãå©ãã«ãªããŸãïŒ
SysRqãã¢ã¯ãã£ãã«ããŸãïŒããããã¢ã¯ãã£ãã«ãªã£ãŠããŸããã確èªããå¿
èŠããããŸããïŒïŒã
echo 1 > /proc/sys/kernel/sysrq
ãããŠéè² è·ïŒ
echo b > /proc/sysrq-trigger
ãã©ã ããŒã«ãé©ãã¹ãæåŸ
ãç§ãã¡ã¯æ¬åœã«äœããå¿ããŠããŸãããµãŒããŒã¯äžæããŠããŸãããïŒ
ssh 192.168.56.102
ãã£ãïŒ ç§ãã¡ã¯æ°ããã·ã¹ãã ã«ããŸãïŒ
initrdã®åäœæã ããã¯å¿
é ã§ã¯ãããŸããããå°æ¥çã«ã¯åèµ·åäžã®ãšã©ãŒãæé€ããäºå®ã§ãã
update-initramfs -u
chrootç°å¢ãšããååã®ãã¡ã€ã«ãåé€ããŸãã
rm /etc/debian_chroot
以äžã§ãã
åç
§ïŒ
ãµãŒããŒãªãŒããŒããŒãã¡ãœããã«é¢ããèå³æ·±ãèšäº