Software and updates on Windows¶
Exercise software-and-updates-on-windows-annex.pdf · PDF
Your phone says Update available. You tap Later. Then Later again. What could possibly happen?
On a Friday in May 2017, hospitals in the United Kingdom sent patients home and a big Spanish company told its staff to switch off their computers. The cause was a hole in Windows that had been fixed two months earlier. The machines that got hit were simply the ones that had pressed Later. Today you learn how software arrives on Windows and how to keep three different systems up to date.
What you will learn
- Why an unpatched system is a risk, with the real case of WannaCry
- Check, install and review updates in Windows Update
- Search, install, list, upgrade and uninstall programs with winget
- Compare the three doors into Windows: a downloaded installer, the Microsoft Store and winget
- Tell an update from a release upgrade, and what end of support means
- Why
winget upgradeon its own upgrades nothing
A Friday in May 2017¶
| Date | What happened |
|---|---|
| 14 March 2017 | Microsoft publishes a security update, MS17-010. It closes a hole in the way Windows shares files over the network |
| Friday 12 May 2017 | A ransomware called WannaCry uses that hole. It jumps from PC to PC with no click from anyone |
| The following days | More than 200,000 computers in about 150 countries. Hospitals of the NHS in the United Kingdom send patients away. In Spain, Telefónica tells its staff to switch off their computers |
Ransomware is a program that locks your files and asks for money to unlock them.
Who was hit? Only the machines that had not installed a two-month-old update. Patched computers were not affected. Nobody had to be clever to be safe from WannaCry. They only had to be up to date.
Three kinds of update¶
| Kind | What it does | How urgent |
|---|---|---|
| Security fix | Closes a hole an attacker could use | Urgent |
| Bug fix | Repairs a mistake in the program | Useful |
| Feature | Adds something new | Can wait |
Microsoft publishes its monthly security updates on Patch Tuesday, the second Tuesday of each month.
Windows Update¶
Windows Update is the part of Windows that downloads and installs updates for Windows itself and other Microsoft products.
In win11: Start → Settings → Windows Update → Check for updates. A cumulative update for the month appears, with a name that contains a KB number (the code Microsoft gives each update). Let it download in the background.
Then open Update history: it lists Quality updates, Driver updates and Definition updates (the antivirus's list of known threats), each with its date.
It seems frozen at a percentage
It is not. Windows Update is slow and quiet. Leave it working and carry on.
winget: a package manager for Windows¶
winget is the package manager of Windows: one command talks to a repository and installs a program.
It arrived in 2020 — more than twenty years after apt — and it is part of Windows 11. Right-click the Start button → Terminal:
winget search lists Name, Id, Version and Source. The Id is the exact name of the package: 7zip.7zip. The first time, winget asks you to accept the terms of its source: answer Y.
-e means exact: without it winget matches any Id that contains the text and may ask which one. The install downloads the installer, checks its hash against the one in the repository, and installs it. winget list now shows 7-Zip.
A window may dim the screen and ask Do you want to allow this app to make changes? That is User Account Control (UAC): Windows asking for administrator rights, like sudo on Linux. Answer Yes.
Careful: winget upgrade on its own upgrades nothing
With no arguments, winget upgrade only lists what can be upgraded. winget upgrade --all installs them. It is the same trap as apt update, the other way round: read the output before you believe a command did something.
Three doors into Windows¶
| Downloaded installer | Microsoft Store | winget | |
|---|---|---|---|
| You get it from | The maker's web page (.exe or .msi) |
The Store app | The Terminal |
| Who checks the file | You: right site, digital signature | Microsoft | winget compares the download with a hash in the repository |
| Updates | Each program its own way, or never | The Store, automatically | winget upgrade, when you run it |
| Uninstall | Settings → Apps → Installed apps | Same place | winget uninstall, or the same place |
| Good for | Programs that are nowhere else | Home users | Setting up many PCs the same way |
An .msi file is an installer in Windows' own installer format; an .exe is a program that installs.
The classic way, once¶
Open Edge and type the official address of Notepad++: notepad-plus-plus.org. Download the installer and install it, counting every click from the web page to Finish: open the site, find Downloads, download, open the file, accept the UAC window, language, licence, folder, components, Install, Finish. Ten clicks or more — against one line of winget.
Find the file in Downloads → right-click → Properties. The Digital Signatures tab names who signed the installer. If the tab is missing, the file is unsigned, and Windows may warn you.
The first search result is often an advert
A search engine's first result may be an advert pretending to be the maker. Type the official address, or use the Store or winget. If SmartScreen says Windows protected your PC, that is the first column of the table doing its job: stop and think before you click through.
Uninstall it the graphical way: Settings → Apps → Installed apps → the three dots next to Notepad++ → Uninstall. In the Microsoft Store, the Library (or Downloads) page has a button to get updates for Store apps.
Careful: Windows Update does not update all my programs
It updates Windows and Microsoft products. Other programs are updated by the Store, by winget, or by the program itself — or never.
Update, point release, release upgrade¶
Updates come in three sizes:
flowchart LR
U["<b>Update</b><br>fixes for packages;<br>same version of the system"] --> P["<b>Point release</b><br>the updates, collected<br>Debian 13.0 → 13.7"]
P --> R["<b>Release upgrade</b><br>a whole new version<br>Debian 12 → 13"]
| Size | What changes | Example |
|---|---|---|
| Update | Packages get fixes; the version of the system stays | sudo apt update + sudo apt upgrade |
| Point release | The same, collected: just the normal updates | Debian 13.0 → 13.7, arrives with apt upgrade |
| Release upgrade | A whole new version of the system | Debian 12 → 13 · Ubuntu 24.04 → 26.04 · Windows 10 → 11 |
A release upgrade is a planned job: read the release notes, make a snapshot or a backup first, and expect it to take an hour.
How long am I safe?¶
End of support is the day the maker stops sending security updates for a version. After it, new holes stay open for ever.
| System | Released | Support |
|---|---|---|
| Ubuntu 26.04 LTS | 23 April 2026 | Five years of standard updates |
| Debian 13 | 9 August 2025 | About five years in total |
| Windows 10 | — | Ended on 14 October 2025 |
Millions of PCs could not move from Windows 10 to Windows 11 because of the TPM 2.0 requirement you met when installing Windows 11.
Careful: if it works, do not touch it?
A system that works and is not updated works for the attacker too. Update on a schedule, and keep a way back — the next page.
Bring the Linux machines up to date¶
Shut win11 down; start deb-lab:
/etc/debian_version shows 13.x, the point release. After the upgrade, apt list --upgradable is empty.
Then ubu-srv:
sudo apt update
sudo apt upgrade
ls /var/run/reboot-required
cat /etc/apt/apt.conf.d/20auto-upgrades
sudo do-release-upgrade -c
| Command | What its answer means |
|---|---|
ls /var/run/reboot-required |
If the file exists, a restart is pending (sudo reboot). No such file means no restart is needed |
cat .../20auto-upgrades |
Two lines ending in "1": the server installs security updates by itself every day (unattended-upgrades) |
sudo do-release-upgrade -c |
Only checks for a new release; on 26.04 LTS it answers that there is no newer LTS yet |
The path /etc/apt/apt.conf.d/20auto-upgrades is long: type the start and press Tab to complete it.
Who updates what?¶
win11 |
deb-lab |
ubu-srv |
|
|---|---|---|---|
| System updates | Windows Update | apt update + apt upgrade |
apt update + apt upgrade |
| Application updates | Store, winget upgrade, each program |
The same two apt commands | apt, and snap refresh for snaps |
| Automatic? | Yes, by default | Only if configured | Security updates, yes (unattended-upgrades) |
| Restart needed? | Often | After a kernel update | After a kernel update (reboot-required) |
| Next release | Offered in Windows Update | Planned upgrade to Debian 14 when it exists | do-release-upgrade to the next LTS |
Key takeaways¶
- WannaCry (12 May 2017) hit machines missing a security update published on 14 March: being up to date was enough.
- Windows Update updates Windows and Microsoft products; Patch Tuesday is the second Tuesday of each month.
- winget is Windows' package manager:
search,install --id … -e,list,upgrade --all,uninstall. - Software enters Windows through three doors: a downloaded installer, the Microsoft Store, or winget.
- An update fixes the current version; a release upgrade moves to a new one and needs a way back.
- After end of support, a system gets no more security updates.
Quick check¶
1. WannaCry spread on 12 May 2017. When was the update that closed its hole published?
- Two months earlier
- The same day
- One week later
- One year later
MS17-010 came out on 14 March 2017. The machines hit were the ones that had not installed a two-month-old security fix.
2. What does winget upgrade do when you type nothing after it?
- Lists the programs that can be upgraded
- Upgrades every installed program
- Upgrades Windows to its next version
- Uninstalls the old versions of programs
On its own, winget upgrade only lists. winget upgrade --all installs the new versions. Always read what a command actually did.
3. Which of these is a release upgrade?
- Ubuntu 24.04 to Ubuntu 26.04
- Installing this month's security update
- Debian 13.0 to Debian 13.7
- Installing 7-Zip with winget
A release upgrade moves the whole system to a new version. Debian 13.0 → 13.7 is a point release: just the normal updates, collected.
4. What does end of support of an operating system mean?
- It gets no more security updates
- It stops working on that day
- You must pay to start it again
- Its programs are uninstalled automatically
The system keeps running after end of support, but new holes are never closed. Windows 10 reached it on 14 October 2025.
5. You need the same ten programs on thirty new Windows PCs. Which door fits best?
- winget, with the ten package Ids
- Downloading each installer thirty times from the web
- Waiting for Windows Update to bring them
- Copying the Program Files folder from one PC
winget installs a program with one line, checks the installer's hash, and can repeat the same list on every PC. That is what it is good for.
6. During a winget install the screen dims and asks Do you want to allow this app to make changes? What is it?
- User Account Control asking for administrator rights
- SmartScreen blocking an unsigned installer
- Windows Update asking to restart the PC
- The Microsoft Store asking you to sign in
UAC is Windows' way of asking for administrator rights before a change to the system — the Windows cousin of sudo.
7. On ubu-srv the file /var/run/reboot-required exists after an upgrade. Select the two that are true.
- A restart is needed to finish applying an update
- Restarting with sudo reboot will apply it
- The upgrade failed and must be repeated
- The server will refuse logins until it restarts
The file is a flag: an update (often a new kernel) only takes effect after a restart. The upgrade worked; the server keeps running normally until you reboot it.
Always update — and before a big change, know how you will go back. Next you build that way back, then break your machines on purpose: Snapshots and recovery.