Ubuntu Core is designed for IoT and embedded environments, from a single device to a factory deployment of thousands. But it’s also a great platform for experimentation and project building.
For more details on which platforms are supported, and for links to installation guides, see Supported platforms.
Accessing an Ubuntu Core system
If you have a display connected to your device, it will display the account and IP address, alongside host key fingerprints, upon successful boot:
Ubuntu Core 20 on 10.0.2.15 (tty1)
The host key fingerprints are:
Personalize your account at https://login.ubuntu.com.
By default, you can only access your deployed Ubuntu Core system from SSH, and not physically from the device itself. See System user for details on how to create a system user with local login on systems that allow classic confinement (notably, not Ubuntu Core 20).
The Ubuntu Core user environment operates much like a traditional Ubuntu environment with the exception that you can only install and configure your system through snap packages.
To see which snap packages are installed, type
$ snap list
Name Version Rev Tracking Publisher Notes
core20 20 634 latest/edge canonical✓ base
pc 20-0.4 101 20/beta canonical✓ gadget
pc-kernel 5.4.0-31.35 502 20/beta canonical✓ kernel
snapd 2.45+git396.g5c3995e 7790 latest/edge canonical✓ snapd
See Snaps in Ubuntu Core for more details on what these snaps do and how they’re used.
To install a new snap package, type
snap install <snap-name>:
$ snap install nextcloud
nextcloud 18.0.4snap1 from Nextcloud✓ installed
remove argument to remove a snap.
Note: to learn more about how snaps work, and how to use, see the Snap documentation.
Configuring a snap
You can view and set specific configuration options for a snap with the get and set commands:
$ snap get nextcloud
$ snap get nextcloud ports
$ sudo snap set nextcloud ports.http=81
Setting snap options: for more details on setting snap-specific options, see Managing snap configuration.
Managing a snap service or daemon
If a snap provides one or more services, they can be listed with the services command:
snap services nextcloud
Service Startup Current Notes
nextcloud.apache enabled active -
nextcloud.mdns-publisher enabled active -
nextcloud.mysql enabled active -
nextcloud.nextcloud-cron enabled active -
nextcloud.nextcloud-fixer enabled active -
nextcloud.php-fpm enabled active -
nextcloud.redis-server enabled active -
nextcloud.renew-certs enabled active -
Use start and stop to control whether a service is running:
$ snap stop nextcloud.apache
To prevent a service from starting on the next boot, use the
$ snap stop --disable nextcloud.apache
The inverse of the above is
start --enable to start a service and enable it at boot time:
$ snap start --enable nextcloud.apache
If you need to see the log output for a snap’s services, use the logs command:
$ snap logs nextcloud
2020-05-14T10:50:57Z systemd: Stopping Service for snap application nextcloud.apache...
2020-05-14T10:50:57Z nextcloud.apache: No certificates are active: using HTTP only
Adding the -f option will keep log output open so you can follow new entries as they occur:
$ sudo snap logs nextcloud -f
Service management: for more details on starting and stopping services, see Service management.