Amazon Linux 2
Amazon Linux 2
Amazon Linux 2 is the next generation of Amazon Linux, a Linux server operating system from Amazon Web Services (AWS). It provides a secure, stable, and high performance execution environment to develop and run cloud and enterprise applications. With Amazon Linux 2, you get an application environment that offers long term support with access to the latest innovations in the Linux ecosystem. Amazon Linux 2 is provided at no additional charge.
Package update
sudo yum update
Get system info
cat /etc/image-id
cat /etc/system-release
Mount a volume (EBS)
# Get drives info
suod lsblk
# Get volumen info
sudo file -s /dev/xvdf
# Format volumne
sudo mkfs -t xfs /dev/xvdf
# Mount volume to folder data
sudo mkdir /data
sudo mount /dev/xvdf /data
Extend the EBS
sudo xfs_growfs -d /data
Auto attached volume
sudo cp /etc/fstab /etc/fstab.orig
sudo lsblk -o +UUID
# You will see similar output below
# NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT UUID
# xvda 202:0 0 20G 0 disk
# └─xvda1 202:1 0 20G 0 part / e75a1891-3463-448b-8f59-5e3353af90ba
# xvdb 202:16 0 60G 0 disk /data 897b5130-c5c1-4ac9-aae3-699d1eaa9fd5
# Use vim to edit /etc/fstab
sudo vim /etc/fstab
# Add following line
# UUID=897b5130-c5c1-4ac9-aae3-699d1eaa9fd5 /data xfs defaults,nofail 0 2
# Verify the mounting
sudo umount /data
sudo mount -a
lsblk
Add new user
- Add new user without password
sudo adduser new_user
## Add user without password
sudo adduser new_user --disabled-password
- Switch to new user
sudo su - new_user
- Set password for new user
sudo passwd new_user
- Allow the new user to use sudo
sudo usermod -aG wheel new_user
Install MySql
- Install MySql 5.7
# Add repo
sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo yum localinstall mysql57-community-release-el7-11.noarch.rpm
# Install mysql
sudo yum install mysql-community-server
MySql configuration file sits in /etc/my.cnf
Update data directory
# backup original one
sudo cp /etc/my.cnf /etc/my.cnf.orig
- Use vim to update the data directory
datadir=/data/mysql
Start MySql as service
- Install polkit before start the service, otherwise you will get error
sudo yum install polkit
- Enable & Start mysql
sudo systemctl enable mysqld.service
sudo systemctl start mysqld.service
- Find the temporay password created for root in /var/log/mysql.log
sudo cat /var/log/mysql.log | grep "temporary password"
# output
# [Note] A temporary password is generated for root@localhost: l<C-eX&GW8?m
Reset root password
sudo mysql_secure_installation
Create remote login credentials
CREATE USER 'user_id'@'localhost' IDENTIFIED BY 'your_secret';
CREATE USER 'user_id'@'%' IDENTIFIED BY 'your_secret';
GRANT ALL ON *.* TO 'user_id'@'localhost';
GRANT ALL ON *.* TO 'user_id'@'%';
Install AWS CLI
# Install aws cli without sudo
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws
# Configure cli
aws configure
AWS Access Key ID [None]: AKXXXXXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: wJ37hsfSFJSDfhsfihakhfakhfu9763Fhshfsuff
Default region name [None]: region-code
Default output format [None]: json
Install EKS
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
ekstool --version
Install kubectl
curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.10/2020-02-22/bin/linux/amd64/kubectl
chmod +x ./kubectl
mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
Install EPEL repository
## Amazon Linux 1 / 2
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum update
## Amazon Linux 2
sudo amazon-linux-extras install epel