# First Time Updating to the Latest Patch Level



## Scribner (May 1, 2020)

I am trying to update to the latest patch level for the first time.

The first time I tried it, it seemed to download a bunch of patches and then got to a point where "(END)" was highlighted in white. While I didn't think it finished the update process, nothing changed for a couple minutes so I decided to push the Enter button. Then it skipped a bunch of lines (said "...skipping...") and seemed to stop running.

When I tried to update again it showed "(END)" highlighted in white much sooner. I clicked the Enter button again and the same thing happened.

Does anyone know how I can get freebsd-update to work in updating to the latest patch level?


----------



## steps (May 1, 2020)

What you saw was probably the default pager showing you the files which would get modified/removed/added during the actual update process. Try pressing the key q when you see the white END. If you did a `freebsd-update fetch install` than the update process should have worked. What is the output of `uname -a` after you try the update?


----------



## zirias@ (May 1, 2020)

steps said:


> What is the output of `uname -a` after you try the update?


This can be misleading if the update didn't need to touch the kernel — it only shows the kernel's version. To be sure, use freebsd-version(1) to verify.


----------



## Scribner (May 1, 2020)

So when it said "(END)" did it finish fetching the updates?

I just ran `# freebsd-update fetch` again, and it went to the same "(END)" line practically right away. I pushed q and got the following:


```
The following files will be removed as part of updating to 12.0-RELEASE-p13:
/usr/share/zoneinfo/Etc/UCT
/usr/src/contrib/wpa/src/ap/peerkey_auth.c
/usr/src/contrib/wpa/src/rsn_supp/peerkey.c
/usr/src/contrib/wpa/src/rsn_supp/peerkey.h
/usr/src/contrib/wpa/wpa_supplicant/dbus/dbus_old.c
/usr/src/contrib/wpa/wpa_supplicant/dbus/dbus_old.h
/usr/src/contrib/wpa/wpa_supplicant/dbus/dbus_old_handlers.c
/usr/src/contrib/wpa/wpa_supplicant/dbus/dbus_old_handlers.h
/usr/src/contrib/wpa/wpa_supplicant/dbus/dbus_old_handlers_wps.c
/usr/src/contrib/wpa/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service.in
/usr/src/contrib/wpa/wpa_supplicant/examples/wpas-test.py
```

I didn't run `# freebsd-update fetch install` but rather just `# freebsd-update fetch`. Should I run `# freebsd-update install` now? Will it work? Do I need to try fetching the updates again first?

Additionally, `% freebsd-version` doesn't seem to work for me in the sense that it only outputs the FreeBSD release I'm using, not the patch level -- even when using the various options. Do you know why this would be?


----------



## Minbari (May 1, 2020)

You know that we have a handbook? I think you should start from there. FreeBSD Update


----------



## Scribner (May 1, 2020)

Minbari, I am actually using instructions from the book _Absolute FreeBSD_. I've read that section of the Handbook, but it doesn't address my specific concerns. For example, how was I supposed to know to hit q when the white "(END)" appears? Where does one learn such a thing? Also, how do I know if freebsd-update is finished after the white "(END)" appears, since it doesn't go back to the command prompt to let me know it's finished?


----------



## octix (May 1, 2020)

Yes, it's confusing the 1st time you see it. This is just an output/memory text file as the result of an execution that requires your action/review. "q" seems standard, for example to exit `man` or `htop` I use "q" as well.


----------



## tingo (May 2, 2020)

Scribner said:


> For example, how was I supposed to know to hit q when the white "(END)" appears?


Yes, this is a bit hard. The reason this happens is because freebsd-update (and many other programs) uses $PAGER (the contents of the environment value PAGER, see environ(7) for more) as a program to display output, just in case it is more than a screenful (it also helps to let a user read text before continuing with the next steps in a process). For reasons unknown, as default $PAGER is set to more(1) or is it less(1)? Doesn't matter - less is more. And the default for less is to have that (annoying, IMNSHO) "END" prompt, which you have to press "q" to get out of.


----------



## Minbari (May 2, 2020)

Scribner said:


> Minbari, I am actually using instructions from the book _Absolute FreeBSD_. I've read that section of the Handbook, but it doesn't address my specific concerns. For example, how was I supposed to know to hit q when the white "(END)" appears? Where does one learn such a thing? Also, how do I know if freebsd-update is finished after the white "(END)" appears, since it doesn't go back to the command prompt to let me know it's finished?


If you don't know that then FreeBSD and others-like (OpenBSD, NetBSD, Arch Linux, Crux Linux, etc.) are not (yet) for you because this systems require manual intervention when problems appear.  If you want to use a *BSD like M$_Windows (next->next->) or Ubuntu then the fine ladies and gentelmans form GhostBSD do that for you. I'm saying all of this not to offend you but to encourage on the learning process, because sometimes this barebone systems require a lot of time documenting yourself to solve the problem X or Y.


----------

