This might be a bit of a silly question, but I just received our new stretch 3 and am wondering if we have to perform sudo apt update and sudo apt upgrade when first starting it up. Additionally, is it common practice to regularly do these updates or are there concerns of package conflicts or other bugs?
I have been going through all of the startup documentation and through various forum posts and have not found any info on regular apt package upgrades, usually just see it recommended when debugging.
Hey @jimmy, it’s a good question! Before I talk about Apt, I just want to make sure you know about the Keeping your Software Up-to-date page, which covers updating Stretch’s SDK.
From a security perspective, it’s a good idea to keep Apt packages up-to-date. Debian/Ubuntu ship security-patches for various parts of the OS (even the kernel) regularly.
From a user’s perspective, there’s a productivity cost when a underlying package causes issues with your software or the Stretch SDK (which your software might depend on). At Hello Robot, we try to stay on top of upstream changes by providing updates to Stretch’s SDK, but there’s definitely cases where a apt upgrade puts you ahead of us, and you’d have to wait for us to provide an update. Also, practically, it might not be important to apply the latest Apt security patches if your robot lives in a private space on a private LAN network. Ultimately, when and how often to apply Apt updates is up to you to decide.
Lastly, I wanted to give you some insight into how we (Software team at Hello Robot) are evolving our software releases. Last week, I put up an experimental PR that shifts the FUNMAP package to run using a Python Virtual Environment. If it merges, it will be the first bit of Stretch’s SDK that runs isolated from the OS. This approach has a couple benefits: 1) it “stabilizes” the package because dependencies don’t change underneath it, 2) it allows you and I to have identical environments thanks to lockfiles, so you can have confidence that an update will work, and 3) it decouples the SDK’s updates from the OS’s updates, so you can apt upgrade as frequently as you’d like.
Hope this helps, and if you have any feedback, I’d welcome it!