PhotonOS Basics
Page content
Project Photon OS is an open source, minimal Linux container host that is optimized for cloud-native applications, cloud platforms, and VMware infrastructure.
Star in Vagrant
nano Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "devopstales/photon3"
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
config.timezone.value = :host
config.vm.provider "virtualbox" do |vb|
vb.name = "photon01"
vb.memory = 4096
vb.cpus = 2
vb.linked_clone = true
vb.customize ["modifyvm", :id, "--vram", "8"]
end
config.vm.define "pothon01" do |vbox|
vbox.vm.network :public_network, ip: "192.168.0.112" , bridge: "wlan0" #, adapter: "1"
vbox.vm.hostname = "pothon01.mydomain.intra"
vbox.hostsupdater.remove_on_suspend = false
vbox.vbguest.auto_update = false
end
end
vagrant up
vagrant ssh
When you try to login the server wants you to change the passowrd of the vagrant
user. The base password is vagrant
as usual.
vagrant ssh
You are required to change your password immediately (password expired)
Last login: Sun Apr 14 20:30:22 2019 from 10.0.2.2
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for vagrant.
Current password:
New password:
Retype new password:
passwd: password updated successfully
Connection to 127.0.0.1 closed.
Vagrant can’t configure the ip, hostname and mount the /vagrant
fonder.
Package management
On Photon OS, tdnf
is the default package manager for installing new packages. It is a C implementation of the DNF
package manager without Python dependencies. DNF
is the next upcoming major version of yum.
Let’s install packages for the next steps.
tdnf install nano awk tar build-essential linux-devel less -y
Install virtualbox guest additions
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom
./VBoxLinuxAdditions.run
Configure static ip
PhotonOS use systemd-networkd to manage network configurations. systemd-networkd configorations is located under /etc/systemd/network/
.
cat /etc/systemd/network/99-dhcp-en.network
[Match]
Name=e*
[Network]
DHCP=yes
IPv6AcceptRA=no
cat > /etc/systemd/network/20-static-eth1.network << "EOF"
[Match]
Name=eth1
[Network]
DHCP=no
Address=192.168.0.112/24
Gateway=192.168.0.1
DNS=8.8.8.8
Domains=mydomain.intra
NTP=0.pool.ntp.org
EOF
chmod 644 /etc/systemd/network/20-static-eth1.network
systemctl restart systemd-networkd
systemctl status systemd-networkd -l
Configure hostname
hostnamectl set-hostname "pothon01.mydomain.intra"
hostnamectl status
Static hostname: pothon01.mydomain.intra
Icon name: computer-vm
Chassis: vm
Machine ID: 2c230d2255834f75bff4872bff234df4
Boot ID: 2708cffec4cf4c6e91053cc11825b590
Virtualization: oracle
Operating System: VMware Photon OS/Linux
Kernel: Linux 4.19.32-3.ph3
Architecture: x86-64