Я установил FreeBSD 9.1-RELEASE, после бинарного обновления до 9.2-RELEASE с помощью freebsd-update все файлы, которые я проверил, правильно находятся в 9.2-RELEASE-p4. Например:
ядро содержит новую версию:
# strings /boot/kernel/kernel | grep RELEASE|grep 9
@(#)FreeBSD 9.2-RELEASE-p4 #0: Tue Apr 8 18:08:22 UTC 2014
FreeBSD 9.2-RELEASE-p4 #0: Tue Apr 8 18:08:22 UTC 2014
9.2-RELEASE-p4
первая строка файла / etc / hosts показывает, что он обновлен до 9.2:
# $FreeBSD: release/9.2.0/etc/hosts 109997 2003-01-28 21:29:23Z dbaker $
Я спросил на другом форуме и убедился, что:
Я никогда не компилировал ядро, и у меня нет папок / usr / src и / usr / obj.
по умолчанию / etc / profile не изменился, в частности, я никогда не определял переменные UNAME_ *.
Я также пробовал unsetenv UNAME_r
Однако uname почему-то показывает неправильную версию 9.1:
# uname -a
FreeBSD localhost.localdomain 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec 4 09:23:10 UTC 2012 root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
Так откуда же uname берет номер версии? Какие файлы могли не быть обновлены? Спасибо!
FreeBSD uname
использует sysctl
значения для заполнения его вывода, поэтому нет файла для обновления, кроме ядра.
Вот соответствующие sysctl
ключ к uname
варианты (от usr.bin / uname / uname.c):
-i
: kern.ident-m
: hw.machine-n
: kern.hostname-p
: hw.machine_arch-r
: kern.osrelease-s
или -o
: kern.ostype-v
: kern.versionКажется, ваше настоящее ядро не то, что вы думаете. Вы можете проверить используемый файл ядра с помощью:
# sysctl kern.bootfile