Amazon Linux와 유사한 좋은 배포판은 무엇입니까 [닫기]

Amazon Linux와 유사한 좋은 배포판은 무엇입니까 [닫기]

저는 EC2의 프로덕션 환경에서 "Amazon Linux" OS/distro를 실행하고 있지만 일부 로컬 개발/테스트에는 VirtualBox VM을 사용하고 싶습니다. Amazon Linux와 가장 유사한 배포판을 사용하는 것이 가장 좋습니다. 제가 가장 관심을 갖는 것은 동일한 패키지를 가지고 있는지 확인하는 것입니다.

저는 yum/rpm 기반 배포판에 가장 익숙하므로 여기에 머물고 싶습니다. 하지만 apt와 더 나은 패키지 유사성을 갖춘 다른 배포판이 있다면 그렇게 할 수 있을 것 같습니다.

내가 실행해야 하는 패키지의 간략한 목록은 mysql5.5, apache2.2, php5.3 및 tomcat7입니다.

답변1

이 질문은 너무 광범위하기 때문에 확실히 종료됩니다. 하지만 나중에 참고할 수 있는 몇 가지 유용한 정보를 공유하고 싶습니다. 당신은 그것을 사용할 수 있습니다아마존 AMI 미러당신은 원래 에 있었습니다 virtualbox.

속도

참고: 이러한 모든 작업을 완료하려면 루트 권한을 사용해야 합니다.

새로운 원시 드라이브 파일 만들기

이 공연에는 약 10개의 공연이 있습니다.

dd if=/dev/zero of=newimage.raw bs=1M count=10240

파티션을 나누다

먼저 루프백 장치에 추가합니다.

losetup -fv newimage.raw
Loop device is /dev/loop0 

그런 다음 파티션을 분할합니다(이렇게 하면 전체 디스크에 대해 하나의 파티션이 생성됩니다). 부팅 가능한지 확인하십시오. 그렇지 않으면 기본값이 좋습니다.

cfdisk /dev/loop0

참고: 이 작업을 수행하려면 실제로 "쓰기"를 선택하고 Enter를 눌러야 합니다. 그렇지 않으면 실제 파티션 없이 종료하게 됩니다. 저는 매번 이렇게 합니다.

파일 시스템 생성

mkfs는 루프백 장치의 파일 시스템 크기 자동 결정을 방해하므로 사용할 수 없습니다. 대신 파티션의 시작, 끝, 블록 수, 실린더 수 및 블록 크기를 찾으십시오.

fdisk -l -u /dev/loop0
Disk /dev/loop0: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

      Device Boot      Start         End      Blocks   Id  System
/dev/loop0p1   *          63    20964824    10482381   83  Linux

파티션의 시작 x 블록 크기를 계산합니다. 이 경우(실제로 대부분의 경우) 512 * 63(섹터 크기 * 시작 섹터): 32256입니다. 오프셋을 지정하여 이 파티션에 대한 새 루프백 장치를 설정하십시오.

losetup -fv -o 32256 newimage.raw
Loop device is /dev/loop1

이제 특정 블록 크기(아마도 제가 사용하는 표준인 4096)와 계산한 블록 수((end - start) * 단위) / 블록 크기 또는 ( 이 예에서는)로 파일 시스템을 생성하게 됩니다. , (20964824 - 63) * 512) / 4096입니다.

새 파티션에 파일 시스템을 생성하려면:

mkfs.ext3 -b 4096 /dev/loop1 2620595

새 파일 시스템 복사 및 준비

먼저 .raw 이미지를 루프백 장치로 설정합니다.

losetup -fv genprog-raw-image.raw
Loop device is /dev/loop2

설치하세요:

mkdir /mnt/tmp_1
mount -t ext3 /dev/loop2 /mnt/tmp_1

새 이미지에도 동일한 작업을 수행합니다.

mkdir -p /mnt/loop/1
mount -t ext3 /dev/loop1 /mnt/loop/1
cp -a /mnt/tmp_1/* /mnt/loop/1/

웹사이트에서 받은 지침에는 initrd 및 커널 정보를 얻으려면 부팅 모듈을 복사해야 한다고 명시되어 있지만 어떤 이유에서는 그렇게 할 필요가 없다고 생각합니다.

부트로더 추가 전 다양한 수정

menu.lst를 편집하고 root=가 /dev/sda1로 설정되어 있는지 확인하세요. (root= 하위 문자열의 위치는 매우 무작위입니다.)

vi /mnt/loop/1/boot/grub/menu.lst

동일한 목적으로 fstab을 편집합니다(/dev/xfvg를 /dev/sda1로 교체).

vi /mnt/loop1/etc/fstab

Amazon은 작동하지 않는 임의의 루트 비밀번호를 설정합니다. 대신에:

chroot /mnt/loop/1
mv /etc/rc.local /etc/rc.local-old
passwd root
exit

새 드라이브에 Grub 설정

Grub이 제대로 작동할 수 있도록 파티션(오프셋이 있는 파티션)이 있는 루프백 장치를 마운트 해제하고 삭제합니다.

umount /mnt/loop/1
losetup -d /mnt/loop1

위의 fdisk 정보로 돌아가서(> fdisk -l -u /dev/loop0) 실린더, 헤드 및 섹터/트랙 수를 가져오십시오. 그런 다음 다음을 수행하십시오.

grub --device-map=/dev/null

대화형 Grub 인터페이스로 들어갑니다.

grub> device (hd0) newimage.raw
grub> geometry (hd0) 1305 255 63
grub> root (hd0,0)
grub> setup (hd0)
You'll get a lot of output, then:
Done.
grub> quit

마운트된 드라이브를 마운트 해제하고 루프백 장치를 제거합니다. 참고: umount는 제거됩니다. 왜 n이 없는가? 또한 losstup -a는 모든 활성 루프백 장치를 나열합니다.

losetup -d /dev/loop0
losetup -d /dev/loop1
losetup -d /dev/loop2

VirtualBox를 훌륭하게 작동시키세요

아직 .raw 이죠? 변화:

VBoxManage Convertdd newimage.raw newimage.vdi

(Convertfromraw도 작동할 것이라고 생각합니다. b/c Convertdd는 이전 버전과의 호환성을 위한 것입니다.)

newimage.vdi를 사용하여 새 VirtualBox 시스템을 만듭니다. 기본값을 수행하되 설정을 열고 시스템 -> 프로세서를 선택한 다음 PAE/NX 활성화 옆에 있는 확인란을 설정합니다.

/etc/ssh/sshd_config를 편집하고 "PasswordAuthentication" 또는 다른 항목을 no에서 yes로 변경합니다.

가상 머신을 종료합니다. 명령줄로 돌아가서 SSH를 활성화합니다.

VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"

이는 호스트 포트 2222에 대한 요청을 게스트 시스템의 포트 22(기본적으로 SSH 수신 대기)로 전달합니다. SSH를 통해 로그인하려면:

ssh -p 2222 root@localhost

완벽한!

인용하다

http://church.cs.virginia.edu/genprog/index.php/Converting_an_EC2_AMI_to_a_VirtualBox_.vdi https://superuser.com/questions/504135/where-can-i-find-amazon-linux-ami-image-for-virtualbox http://linux.blogs.com.np/2010/04/05/how-to-move-a-virtual-machine-from-ec2-to-virtualbox-or-kvm/

관련 정보