=^.^=

The Superb Prebuilt Virtual Machine Image Repository Short-List

karma

For your pleasure and my rapid deployment I present my personally endorsed and expertly curated short-list of sources for professionally appointed virtual appliances and environments:

  • OSBoxes maintains an impressively varied repertoire of meat-and-potatoes server and desktop/end user installations of the most relevant flavours, lightweight performance-oriented distributions particularly suited to use in VM-optimized projects and embedded essentials like Android-x86, FreeDOS, Raspbian and more.
  • Kali Linux stays on top of their VM images - get it from the source.
  • Microsoft provides free images of Internet Explorer on Windows 7 through Edge on Windows 10. Web developers don't need to worry about appeasing Internet Exploder anymore but I don't need to tell you how valuable these images are to neglected and abused admins forced to wrangle legacy systems.
  • Univention provides mostly free, mostly open source dockerized turn-key IT infrastructure and economically relevant virtual appliances based on its custom distribution Univention Corporate Server through an in-house app store model. You can choose to deploy a full-scale, centrally managed cloud solution composed of up to thousands of virtual machines or download a single virtual machine image directly from the web front-end to their marketplace, the Univention App Center and it will happily run, receive updates and benefit from the same standardized management capabilities as a massive cloud would all by itself. You can of course scale up later if you choose. It's.... actually pretty cool... (you guys hiring?)
  • The best place to get Oracle Solaris images (among other Oracle offerings) is Oracle. Go figure.

Honourable mentions:

  • Linux VM Images - we've already ticked almost all of these boxes, I'm including it since it's such a large collection but have never personally used it. Maybe today's the day you'll find something exotic in there.
  • VirtualBoxes provides a few interesting non-linux images like Plan9 and MINIX.
  • There is no better place to snag a weird Windows beta or nostalgia trip than Virtual Disk Images
  • Microsoft provides evaluation versions of some editions of Windows and Windows Server; the CLI-only distribution of Hypervisor 2012 is provided here free of charge.
  • Server 2008 R2 is available as a 180 day evaluation but Server 2003 R2's product page does not indicate a time limit (you tell me - I have better things to do! :D)
  • Well, this doesn't look like a sanctioned release of Windows 98 SE but I won't tell if you won't.
  • The Naval Postgraduate School's Center for Cybersecurity and Cyber Operations provides "Labtainers"- Fully packaged Linux-based computer science lab exercises with an initial emphasis on cybersecurity. God damn youth is wasted on the young. I wish i had time to play with this.
  • Oh hey! TurnKey is still a thing. I'm afraid its integration/management features are about as compelling as its selection of software in comparison to UCS; particularly as the TurnKey Hub requires AWS... and I think at least half of the half dozen "fine publications" it touts having received coverage in went out of business while I was yet nae but knee-hight... >.>
  • This disposable browser appliance had a lot more appeal 10 years ago when it was maintained around 300MB, the Firefox installation kept only a few versions behind and both virtualization technology and free, pre-configured virtual machine images were much harder to come by. I suppose I'm including it for nostalgia's sake, you're better off downloading the CentOS desktop version from OSBoxes.

Replicate Installed Packages on New RHEL/Fedora/CentOS/Debian/Ubuntu Depoloyment

karma

You've spend a lot of time getting a particular installation just right, whether it's a bare metal server, virtual machine, desktop workstation or laptop: the role is clearly defined and you'd like to replicate it as quickly as possible either with a fresh base installation or on a totally separate new host. This is particularly salient when upgrading major versions of Qubes Fedora TemplateVMs: generally speaking not a lot of customization goes into these base layers on which AppVMs and DisposableVMs etc. are meant to be built - except for all of the package management that goes into fleshing out a comfortable and usable default environment.

One option is to follow the Qubes documentation for upgrading a Fedora template in place: https://www.qubes-os.org/doc/template/fedora/upgrade/ however I am inclined to take advantage of the template packages as outlined at https://www.qubes-os.org/doc/templates/fedora/ both for the additional management capabilities (e.g. one-line reinstall, version management) and the clean start and distinction between images.

Although some articles recommend obtaining your package list from:
# dnf repoquery --userinstalled acl-0:2.2.53-3.fc30.x86_64 adobe-release-x86_64-0:1.0-1.noarch alternatives-0:1.11-4.fc30.x86_64 attr-0:2.4.48-5.fc30.x86_64 audit-libs-0:3.0-0.15.20191104git1c2f876.fc30.x86_64 basesystem-0:11-7.fc30.noarch ...
There are four issues with this approach:

  • Specific architectures are specified. It's rare that you will be switching architectures but one of the most amazing aspects of Linux is its platform versatility and since things can slip into and out of noarch all the more reason to let the package manager's default settings handle the unforseeable. Agnosticism is next to godliness - but I might be biased :)
  • Base packages, the packages that came preinstalled with the Minimal Server role or the TemplateVM etc. are included. I need a list of only those packages I have intentionally, specifically installed myself or I run the risk of trying to install deprecated, merged, removed, abandoned, unnecessary, etc. packages. This is of particular concern if I am upgrading to a new major release version and/or switching my base installed package set/"server role".
  • Specific versions are specified which is begging for trouble even outside of the context of a global update (ask any Gentoo admin!)
  • This is not a list of the packages that I have chosen to manually install; it is a list of every package installed after the base installation. In other words, it is every package I have chosen to install AND each one of its dependencies. Ask a Gentoo admin how they feel about explicitly installing dependencies!

The thing about dependencies is they like to change and when a dependency has been abandoned by an intentionally installed package yet is itself explicitly installed you are open to the liabilities (dependency hell (eek!), wasted space and update time, tool for intruders...) of keeping that package around and it can be quite unclear months or years after the fact if an abandoned dependency is safe to eliminate or if it provides the crucial library or shim or goo or magic smoke that makes some special, foreign or from-source software go~.

dnf history gets us a lot closer:
# dnf history ID | Command line | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 24 | install tigervnc | 2020-07-29 21:15 | Install | 4 23 | install k3b | 2020-07-29 13:47 | Install | 28 22 | install deluge | 2020-07-28 23:06 | Install | 47 21 | install gnome-tweak-tool | 2020-07-28 10:14 | Install | 16 20 | install mlocate youtube- | 2020-07-25 03:57 | Install | 2 19 | install elinks links lyn | 2020-07-21 23:05 | Install | 1 18 | install nano psmisc nmap | 2020-07-21 22:58 | Install | 1 17 | install libreoffice | 2020-07-21 22:52 | Install | 99 16 | install vlc | 2020-07-20 23:31 | Install | 32 15 | install ffmpeg | 2020-07-20 23:10 | Install | 31 14 | upgrade --refresh | 2020-07-20 23:05 | Upgrade | 2 EE 13 | install kate gimp | 2020-07-20 01:07 | Install | 93 12 | install chromium | 2020-07-19 06:09 | Install | 13 11 | install screen sshfs nma | 2020-07-19 06:05 | Install | 19 10 | update | 2020-07-19 05:52 | I, O, U | 304 EE 9 | install -y --cacheonly - | 2019-12-25 18:19 | Install | 1 8 | install -y --cacheonly - | 2019-12-25 18:18 | Install | 4 7 | install -y --cacheonly - | 2019-12-25 18:17 | Install | 16 EE 6 | install -y --cacheonly - | 2019-12-25 18:16 | Install | 4 EE 5 | install -y --cacheonly - | 2019-12-25 18:12 | Install | 1 4 | install -y --cacheonly - | 2019-12-25 18:12 | Install | 1 3 | install -y --cacheonly - | 2019-12-25 18:11 | Install | 1 2 | install -y --cacheonly - | 2019-12-25 18:10 | Install | 125 EE 1 | install -y --cacheonly - | 2019-12-25 18:02 | Install | 785 EE
Unfortunately, even if we expand the terminal really far the Command line column is prone to truncating on long package lists. As an aside, I think it's really neat that we can use dnf history info number to zero in and look at, for example, the entries from 1 to 9 in this TemplateVM's history. They show us first the complete base installation at entry 1, then the standard constellation of packages Qubes adds to implement its unparalleled integration and enhancements at slot 2, then every package added and updated before this particular version of the official fedora-30 TemplateVM image was itself rolled into an RPM and deployed. It's always worth taking the time to get to know what you're made of - time permitting!

I must regretfully report that at the time of this writing, having spent hours digging through the dnf sqlite DBs, JSON files, API documentation etc it seems that while it was possible with yumdb to pull a simple list of explicitly user-installed packages free of their dependencies there is simply no facility in current dnf implementations to demarcate the difference between a user-installed package and a package that was installed as a dependency of one. We can at least address two issues: it is easy to get rid of the architecture and version information from our package list but it may be necessary to manually edit the list to remove dead packages, particularly if upgrading by major version number revisions. This is accomplished by using the --queryformat/--qf filter:
# dnf repoquery --userinstalled --qf "%{name}"

The same effect can be achieved through the dnf history userinstalled route via the application of sed:
# dnf history userinstalled | sed 's/-[0-9].*//' | sed '1d' | sed '/.kernel./d'

Direct an itemised list like the preceeding to a text file from stdout using the > operator, copy it to the receiving host and it can be easily edited and batch processed through xargs:

# < package_list.txt xargs dnf -y install

There is one more imperfect option which I have incidentally been using for years, it relies on:

  • Your having used bash to perform most/all of your dnf install operations
  • Gracefully loging out of/closing your shell session(s) afterwards (as opposed to exiting via SIGTERM or segfault or loss of power etc.)
  • Not having exceeded the default .bash_history buffer length (very hard to do in a TemplateVM)

You guessed it...
# cat ~/.bash_history | grep "dnf install" dnf install screen sshfs nmap links lynx nano whois bind-utils dnf install chromium dnf install kate gimp dnf install vlc dnf install ffmpeg dnf install epel-release dnf install nano net-misc psmisc nmap screen dnf install nano psmisc nmap screen dnf install elinks links lynx w3c dnf install elinks links lynx dnf install bind-utils whois sshfs

This method's saving grace is the ease with which it is copied and pasted between remote SSH sessions. I'm the kind of person who uses sudo bash and su so my installations will be found under the root user's .bash_history; if you are more of a sudoer type grep your regular user's log accordingly. Note that a little search-and-replace in a text-editor to add the -y flag to dnf would allow one to copy and paste the entire block into a remote session and let it run non-interactively.

Finally, as the Qubes documentation suggests, you can simply record the changes you make to your TemplateVMs. For instance, I have been compiling a shortlist of so-called favourite programs for RHEL/CentOS so I can quickly assemble an environment I'm used to on the numerous virtual machines I end up configuring month to month regardless of where I am and without having to hunt down an already configured image to crib off of. It's much less frustrating to get the utilities I reflexively expect to be available installed up front instead of as I notice their absence.

As for Debian/Ubuntu and derivatives that ship with dpkg the situation is not perfect - in that we are still going to end up with a list of base packages and dependencies that may need to be edited - but there are facilities built-in to address this simple type of migration.

On the egress system run:
# dpkg --get-selections > /tmp/package_list.txt

Then on the ingress system, after copying over the package_list.txt file, run:
# dpkg --set-selections < /tmp/package_list.txt # apt-get -y update # apt-get dselect-upgrade

Of course it is also possible to grep our .bash_history as with redhat but depending on your system and habits it might be necessary to check for more than one command:
# cat ~/.bash_history | grep "apt install" # cat ~/.bash_history | grep "apt-get install" # cat ~/.bash_history | grep "dpkg install"

Install Windows 10 on Bare Metal (Optionally with Windows 7 or 8 License)

karma

I have previously covered Installing Windows to a Qubes VM (Xen + QEMU HVM) due to the numerous caveats and considerations necessary to produce a comfortable and functional environment. I also have a very particular build order for installing Windows 10 on bare metal which I will outline here in case anyone finds it interesting but mostly to create a space where I can quickly fetch my tools.

In the early days of Windows 10 we were granted a free upgrade from Windows 7 and 8 under the assumption that it was a limited time offer. As many expected this turned out to be mere encouragement for quick adoption; to this day - even after the release of Windows 11 - it is possible to install a fully and legitimately licensed copy of Windows 10 using Windows 7 and 8 keys.

[attachment-YXjEH7]
The key to keeping track of USB sticks is: attatch them to crap. Crap has a natural resistance to loss.

This build order begins with a Windows 7 installation for those cases where the product key sticker has been lost or damaged as it may be possible to recover keys stored in hardware or online or an alternative method of licensing and activation can be used which will still result in a fully and legitimately licensed, unmodified Windows 10 installation. If your product key is still intact/visible/recoverable via the presently installed operating system (if functional and accessible) feel free to skip straight ahead to preparing Windows 10 media.

NOTE: I recently wrote an article that covers how to include virtually every USB 3 and Mass Storage Controller driver missing from the official Windows 7 installation media, among other things if you so desire (applicable to all versions of Windows; XP and later). If you are putting together your Windows installation "forever build" I encourage you to check out Add Missing Hardware Support (Drivers) to Windows Install Media (DVDs, USB Sticks).

NOTE: If you perform a lot of Windows 10/11 installations you may want to check out my unattended Windows 10 and 11 installation answer file (AutoUnattend.xml) template. It can cut your install time down by over one half. And it can cut your frustration with answering the same questions about whether or not to enable Microsoft's spyware over and over by... well... all of it!

If you don't have Windows 10 installation media or images handy now or any time later, "in the field" don't sweat it! I've put together a list of sources at this easy-to-remember address:

https://foxpa.ws/ms-isos

Go time!

  1. If your machine lacks a product key sticker or the sticker is damaged try booting into the current installation of Windows, if possible. You can recover the product key by opening the Run prompt. Either press Meta (Windows Key) + R or click on Start Menu > Run then enter regedit and hit enter. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft then press Control + F to open the Search Dialogue. Enter DefaultProductKey in the Find what: field and check the Keys checkbox. In the right window pane you will see a ProductId entry. Record your product key; it is shown under the Data column.
  2. Obtain a clean, unmodified, Microsoft-distributed installation image for Windows 7 and either burn it to CD or write it to a USB stick (download the latest version of Rufus here, unless creating your media from Windows XP which will only work with versions 2.18 and lower)
  3. At this time you may wish to include an uncompressed copy of the contents of my bootdist.zip archive on your Windows 7 installation media.
  4. Install the edition of Windows 7 appropriate to your license; you will only be able to install the corresponding edition of Windows 10 later (a Windows 10 Home license is only valid for Windows 10 Home; a Windows 7 Professional, Enterprise and Ultimate license is only valid for Windows 10 Profesional or Enterprise)
  5. When asked for the product key enter the key shown on your license sticker; if your sticker is missing or damaged simply click Skip
  6. Generally speaking you will want to delete every existing partition on the primary detected drive and perform a complete, fresh installation (Advanced) to the Unallocated Space (a new partition of appropriate proportions will be automatically created).
  7. Do not enable automatic updates. The other configuration options, including username and password, are inconsequential at this point as long as you will remember how to log in once after installation is complete.
  8. Log in to the newly installed Windows 7 instance. You may need to locate network device drivers on a separate machine and copy them by USB or optical media. Connect to your local network and test the Internet connection by opening Internet Explorer or a command prompt and pinging a known working address, i.e. google.ca.
  9. Check your activation status:

    Click on Start, then Control Panel, then click on System and Security, and finally click on System. Then scroll all the way down to the bottom and you should see a section called Windows activation, which says "Windows is activated" and gives you the Product ID. It also includes the genuine Microsoft software logo.

    If you are instead presented with an option to Activate Windows Now you can either:

    • Enter the product key from your sticker, the previous installation or other records
    • Use an alternative method to license and activate Windows. It is important that you first:
      • Disable Microsoft Security Essentials/Windows Defender through the System and Security Control Panel if it is available and enabled on your system
      • Disable User Account Control (UAC):
        • Enter uac into the Start Menu > Run prompt
        • Click Change User Account Control settings
        • Move the slider down to Never Notify and click OK
      • Reboot the system
      • Note that my bootdist.zip archive has 32 and 64 bit portable versions of and conventional MSI-style installers for 7zip that allow one to extract files that (without the proper precautions) tend to be automatically erased when they show up on newly inserted USB sticks from most popular (optionally password-protected) compression formats.
  10. Once your System Control Panel shows that your system has been activated you must install a new browser; the version of Internet Explorer that ships with Windows 7 is too old to display Microsoft's own website for the Windows 10 Download Assistant. A Firefox installer is provided for convenience in my bootdist.zip archive but it will likely cease functioning with age; you are better off downloading a new installer directly from https://www.mozilla.org.
  11. After installing Firefox (or Chrome, Opera, whatever makes you happy) search for Windows 10 Update Assistant if the direct link https://www.microsoft.com/en-ca/software-download/windows10 no longer works. The Windows 10 Update Assistant is an executable that:
    1. Will download the installation ISO and automatically burn it to a disc or write it to a USB stick which can either be used for a cold-boot fresh installation or a live upgrade
    2. Optionally allow you to select software and settings that will be carried over if you choose to use the tool itself to do a live upgrade
    3. Perform a live upgrade without creating any installation media

    We want to take advantage of functions 3 and 1; first we will live-update the system to ensure that your license carries over if you used an alternative method to license and activate your Windows 7 installation, then we will cold-boot off the installation media so we can completely delete both the new Windows 10 installation and the Windows 7 remnants to ensure the maximum amount of space is reclaimed and you are left with a pristine, from-scratch, unmodified Windows 10 environment with a completely legitimate license.

    If for whatever reason the Microsoft website detects you are not running a version of Windows that can be upgraded with the Assistant (perhaps you could not find compatible network device drivers and are completing this step on a Linux machine) you will be directed instead to a plain ISO image file download page: https://www.microsoft.com/en-ca/software-download/windows10ISO. This is workable; after burning the ISO with your choice of DVD burning software either insert it into a running Windows installation to launch the upgrade assistant and live-migrate or cold-boot off the media to perform a from-scratch installation.

  12. It is important that when you open the Windows 10 Update Assistant application that you right-click and select Run as Administrator or the procedure will typically fail. First, use the tool to create installation media (USB stick preferred). The application will exit after it has finished burning your installation DVD or writing your USB stick. Re-open the application by right-clicking and selecting Run as Administrator again. This time live-update the running system to Windows 10, choosing to retain nothing, simply because it will make this process go faster.
  13. It is important that you unplug your ethernet connection if you have one; if you previously configured a wireless network in Windows 7 the installer will retain its settings after the first reboot - when the menu of available wireless networks is displayed be sure to disconnect from any currently connected network and when prompted click on "I don't have an Internet connection" or you will be sucked into creating or providing Microsoft Account credentials and additional configuration for an installation we are just going to overwrite shortly anyway.
  14. After the installation of Windows 10 has completed boot into your new Windows 10 environment and check your Internet connection status. At this time you may need to locate network device drivers, if you still have drivers you obtained for Windows 7 it is very likely that the same files will work under Windows 10. Generally it is most important to locate the network drivers where none are automatically found as Windows 10 does a terrific job of automatically downloading other system drivers via Windows Update once it has established an Internet connection.
  15. After confirming your Internet connection is working verify that your Windows 10 installation is fully licensed and activated: click the Start button then select Settings > Update & Security then select Activation.
  16. At this time you may wish to include an uncompressed copy of the contents of my bootdist.zip archive on your Windows 10 installation media.
  17. Reboot your system from the newly created Windows 10 installation media. Make sure your ethernet connection is unplugged!
  18. Go through the motions of installing Windows 10 again, deleting every partition and performing a full installation on the Unallocated Space; Performing a live-upgrade to Windows 10 from Windows 7 or 8 will guarantee your license carries over but it will also retain several gigabytes of old system files whether you want them or not and will make modifications to your system by "migrating" what is an otherwise barren Windows 7 installation. This final installation procedure will free up valuable hard drive space and ensure you are starting with an environment straight off the assembly line.
  19. Unless you want the "features" that come with Microsoft Account integration (increased privacy invasion, more convoluted authentication, etc) if you are prompted to join a wireless network or otherwise connect to the Internet at any time during the installation Skip or click on I don't have an Internet Connection - this will allow you to configure a local user account without having to sign up for or provide a Microsoft Account, configure an access PIN and other bothersome strings. If you're not sure, take my advice - you can always change your mind later.
  20. Once more, boot into your completed Windows 10 installation, check your Internet connection, install network drivers if necessary, verify that you are still fully licensed and activated. If not go back and repeat the relevant steps.
  21. Open Settings > Updates and configure your system updates to fit better with your usage pattern. The nice thing about using the Windows 10 Update Assistant is it rolls Windows Updates up to roughly the last month into its image so you should not have to wait long for things like graphics drivers to install (at which point you may right-click on the desktop and select Display Settings to adjust your resolution) and should only have to suffer one or two lengthly update-oriented power cycles; pay careful attention to your Power menu while running through the updates if you need to shut down or restart the machine without applying updates for whatever reason (i.e. being kicked out of the coffee shop, etc) since powering off during a pre-startup/post-shutdown update session can, at worst, render your machine unbootable.
  22. Right click on the Taskbar and open its Settings panel, enable the toggle for Small Icons which will save a lot of space (yet the icons are not much smaller and the margins are needlessly generous...) and most importantly: hide the enormous and wasteful searchbar. To use that functionality simply open the Start Menu and just start typing.
  23. My bootdist.zip archive contains an installer for W10Privacy which contains hundreds of privacy and optimization focused tweaks and automated tasks; I would encourage you to download the latest version directly from their website when putting together your own installation media supplement and take the time to go through each option. You only need to do this on one system then you are able to save the configuration profile and deploy it on every new installation. Please feel free to review the settings I have chosen in my included W10Privacy.ini file. The installer will give you the option of a typical system installation so you can easily go back and tinker with the settings but this is generally a run-once type of utility so you may prefer to take advantage of the portable binary option, at least once you've settled on a configuration profile. In any case remember to launch the application after it has been installed by right-clicking and selecting Run as Administrator; with so many options to load this can be a time consuming oversight on older systems.

I have taken to compiling lists of software I like to install as soon as a fresh installation of whatever OS is complete. The links go directly to the download pages of various essential software projects so I can rapidly download them all in one shot and the installers I download will always be the latest version, direct from their vendor. I end up with a system that is truly complete and doesn't require my running off at some later stage when I'm busy doing real work to obtain what I consider to be basic functionality.

To ensure that my installations are not bloated I organize the software into cascading profiles that layer functionality on top of eachother depending on what role a system is eventually expected to fulfill, starting with a Base profile that covers all the utilities I expect to be on every (in this case, Windows) installation and increasing in specialization from there. While these profiles obviously conform very tightly to what I personally do, like to use and what my expectations and definition of what any given "role" is hopefully others will get some use out of the time I have put into what is otherwise simply a time-saving measure for myself.

Please check out Windows Software @ foxpa.ws/windows-software if this concept appeals to you.

Recover a Solaris Service Stuck in Maintenance Mode

karma

Something updated, a configuration file changed, there was a power outage, aliens descended from the heavens... and now a service that was running yesterday is nowhere to be found. Even the last bastion of an unraveling mind - turning it off and on again - has failed you. Welcome to SMF's maintenance mode.
# svcs | grep gdm maintenance 9:33:00 svc:/application/graphical-login/gdm:default

According to the official documentation (Managing Services (Overview) Introduction to SMF > SMF Concepts > Service States) a service enters the maintenance state when:

The service instance has encountered an error that must be resolved by the administrator.

This is done to prevent a critical error from running out of control or unnecessarily suspending system or service startup procedures when a service fails to start multiple times. The documentation (How to Restore a Service That Is in the Maintenance State) further recommends:

Determine if any process that are dependent to the service have not stopped.

Normally, when a service instance is in a maintenance state, all processes associated with that instance have stopped. However, you should make sure before you proceed. The following command lists all of the processes that are associated with a service instance as well as the PIDs for those processes.
# svcs -p service-name

(Optional) Kill any remaining processes.

Repeat this step for all processes that are displayed by the svcs command:

# pkill -9 process-name

Before we can clear our problem service we need to figure out what went wrong. We can take a detailed look with svcs -xv service-name:
# svcs -xv gdm svc:/application/graphical-login/gdm:default (GNOME Display Manager) State: maintenance since Sat Nov 20 09:33:00 2021 Reason: Method failed repeatedly. See: http://support.oracle.com/msg/SMF-8000-8Q See: man -M /usr/share/man -s 8 gdm See: /var/svc/log/application-graphical-login-gdm:default.log Impact: This service is not running.

It is so delightful to have a pertinent log file suggested in the middle of a potential crisis instead of having to sort through reams of journalctl vomit.

Once the issue has been resolved bring the service out of maintenance mode:
# svcadm clear service-name

Start it from the top:
# svcadm start service-name

And verify all is well:
# svcs -x gdm svc:/application/graphical-login/gdm:default (GNOME Display Manager) State: online since Sat Nov 20 10:06:16 2021 See: gdm(8) See: /var/svc/log/application-graphical-login-gdm:default.log Impact: None.

Update the Default Global Time Zone on Solaris 11

karma

There are two ideologically correct methods to change the default system time zone on Solaris 11:

Using nsladm:

Install the nls-administration package if it is not already available:
# pkg install nls-administration

List the available time zones:
# nlsadm list-timezone

Finaly, set the correct time zone:
# nlsadm set-timezone timezone # nsladm set-timezone Canada/Eastern

Updating the timezone:default SMF property timezone/localtime:

# svccfg -s timezone:default setprop timezone/localtime = astring: Canada/Eastern # svcadm refresh timezone:default