어떻게 해야 하나요?
#cloud-config
users:
- name: dev
ssh-authorized-keys:
- ssh-rsa AB3NzaC1yc...
sudo: ['ALL=(ALL) NOPASSWD:ALL']
groups: sudo
shell: /bin/bash
packages:
- mysql-client
- libmysqlclient-dev
- mysql-server
package-update: true
package_upgrade: true
runcmd:
#
# SSH
#
- sed -i -e '/^Port/s/^.*$/Port 22/' /etc/ssh/sshd_config
- sed -i -e '/^PermitRootLogin/s/^.*$/PermitRootLogin no/' /etc/ssh/sshd_config
- sed -i -e '/^PasswordAuthentication/s/^.*$/PasswordAuthentication no/' /etc/ssh/sshd_config
- sed -i -e '$aAllowUsers dev' /etc/ssh/sshd_config
- sudo service ssh restart
#
# Firewall
#
# defaults
- sudo ufw default deny incoming
- sudo ufw default allow outgoing
# exceptions
- sudo ufw allow ssh
- sudo ufw allow http
- sudo ufw allow https
# start on boot
- sed -i -e '/^ENABLED/s/^.*$/ENABLED=yes/' /etc/ufw/ufw.conf
- sudo ufw enable
이 구성을 사용하면루트 계정이 비활성화되었습니다. 접근할 수 있어요dev
원격 액세스를 위해 내 사용자 계정을 사용하십시오..
하지만,MySQL 설치 실패그리고:
Errors were encountered while processing:
/var/cache/apt/archives/mysql-server-5.7_5.7.17-0ubuntu0.16.04.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Cloud-init v. 0.7.8 running 'modules:final' at Sun, 29 Jan 2017 12:09:56 +0000. Up 14.23 seconds.
2017-01-29 12:11:24,114 - util.py[WARNING]: Failed to install packages: ['mysql-client', 'libmysqlclient-dev', 'mysql-server']
2017-01-29 12:11:24,125 - cc_package_update_upgrade_install.py[WARNING]: 1 failed with exceptions, re-raising the last one
2017-01-29 12:11:24,128 - util.py[WARNING]: Running module package-update-upgrade-install (<module 'cloudinit.config.cc_package_update_upgrade_install' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_package_update_upgrade_install.py'>) failed
사용자를 지정하지 않고 실행하면일반적인 설정apt-get을 통해설치가 잘 진행됩니다.
불가능합니까?루트 계정이 비활성화된 상태에서 cloud-init를 사용하여 MySQL 설정? 그렇지 않다면 어떻게든 알 수 있을까요?cloud-init는 패키지가 설치/업데이트된 후 사용자를 설정합니다.?
답변1
mysql 서버를 수동으로 설정하여 이 문제를 극복할 수 있었습니다.
runcmd:
- sudo apt-get -y install mysql-server
동일한 문제가 있는 사람은 mysql을 비대화식으로 설치하는 것을 고려할 수도 있습니다.
runcmd:
- echo "mysql-server mysql-server/root_password password pwd" | sudo debconf-set-selections
- echo "mysql-server mysql-server/root_password_again password pwd" | sudo debconf-set-selections
- sudo apt-get -y install mysql-server
원래 게시된 솔루션여기