LINUXTALKS.CO

FreeBSD install update upgrade [ основной тред по FreeBSD ]

 ,

L


0

1

@odalist, ты любишь такие посты, так что держи.

Прожив годик на F12, освоился и понял, что аналога LVM+cryptsetup+XFS на ней нет. Решил переехать на ZFS (который теперь взят из ZFS на Linux и благодаря этому появилось шифрование). Так что вот последних несколько дней занимался апдейтом основной домашней машины с 12.4 на 13.1 и просидел без Хов в голой консоли.

Первый день, еще в тот четверг, переносил данные.

>>> cut tech detail 
Хотелось мне выяснить, как лучше выравнивать чанки ZFS на хардварном рейде (хорошо, что у нас не нет @iZEN, а то его опять бы кондрашка хватила). Пробовал задавать геометрию штратными олд-скульными UNIX-средствами, пробовал создавать zpool сразу с разными ashift. У меня была классная теория, что чанки ZFS размером 128k нужно бить кусками по количеству страйпов...
Пробовал отключать чексумы...
<<< cut

В итоге оказалось, что все мои теории - это все фигня. Зато я обнаружил, что год назад выключил кеши на запись на контроллере и поэтому у меня все тормозит. Так что могу гордо заявить, что решил свою проблему:

всеравно у меня звук на FreeBSD лагает:( фиг знает, в чем дело.

@JamesHolden, звук в порядке.

@odalist, заодно решил проблему, когда у меня из-за тормозов дисковой системы переполнялся журнал (не ZFS! одно из изобретений FreeBSD в махровые дни) на диске и машина падала. официально defined поведение [ развел лапами ]

Пока я с этим упражнялся на удаленной машине все три дня копилировались пакеты. Под это дело пришлось добавить еще 16Gb swap: rust, llvm…

@cocucka классический OOM на FreeBSD отстреливает любые соседний процессы, отсюда жалобы на форум, я думаю. Зачем вы, программисты, с нами это делаете и придумываете такие алгоритмы? … [ развел лапами ]

@odalist, кстати, chrome вообще сутки собирался. И это на 3.4Ghz!

Вцелом все проапдейтилось и что мне нравится на FreeBSD, с точками отката.

witch ~ # bectl list
BE                                Active Mountpoint Space Created
12.4-RELEASE_2023-02-12_010451    NR     /          13.7G 2023-02-12 01:04
12.4-RELEASE_2023-02-16_145134    -      -          91.0M 2023-02-16 14:51
13.1-RELEASE-p6_2023-02-16_145625 -      -          3.97M 2023-02-16 14:56
13.1-RELEASE-p6_2023-02-18_123041 -      -          4.54M 2023-02-18 12:30

Почему у меня сейчас загружен снапшот, который якобы не самый новый и при этом все работает? А хз. Продвинутые технологии! Видимо, там где-то не происходило автоматическое переключение на зрагрузку с нового и вместо инкрементальных снапшотов я получил один большой. Ну ок.

Что сломалось?

Ну, во-первых, сломался ping! Это теперь программа с двумя ключами -4/-6, но если не задать ни один, она работать не может. Без гугла это никак не выяснить:( Так что обходился без пинга. Теперь вот придется делать обвзяку из альясов, выяснять версию FreeBSD, добавлять ключ… Можно еще багрепорт отправить…

Самое главное сломался OpenVPN. Почему он не может теперь создавать интерфейс, я так и не понял. Но так как я не догадался сначала установить nvidia video driver, а начал компилять все пакеты одной пачкой, то три дня прожил без гугла.

И вообще OpenVPN меня всегда (лет 15+ примерно) подбешивал кучей опций и сложностью настроек на разных платформах, но WG (@Kaschenko) во FreeBSD еще не появился. Но, когда сидишь без интернета, плюс в том, что начинаешь читать мануалы. Я случайно увидел простой man по подянитю IPSec … и поднял!

А чего? Как работает IPSec я имел представление, но мне всегда казалось тупостью два его возможных режима работы. А вышло довольно круто! Если OpenVPN необходим хендшейк для установления сессии, то здесь все выглядит элегантно.

ipsec0: flags=8151<UP,POINTOPOINT,RUNNING,PROMISC,MULTICAST> metric 0 mtu 1400
	tunnel inet XX.XX.XX.XX --> YY.YY.YY.YY
	inet AA.AA.AA.AA --> BB.BB.BB.BB netmask 0xffffff00
	groups: ipsec
	reqid: 200
	fib: 1
	nd6 options=9<PERFORMNUD,IFDISABLED>

FreeBSD тут сразу радует, что можно из ifconfig сразу дружить интерфейс с таблицами маршрутизации. И работать теоретически должно быстрей.

Авторы FreeBSD подложили грабли и засунулу sysctl хуков, которые изымают часть сетевых пакетов из оборота. Поотлаживав в свое удовольствие, я наконец догадался найти (а вы помните, что браузер еще компилируется, так что нашел сам без гугла, по логике вещей).

net.inet.ipsec.filtertunnel

Осталось перенести все данные и выяснить, насколько действительно проседает скорость ZFS, если заполнить весь диск.

★★☆☆☆
Ответ на: комментарий от JamesHolden

ну ок. я про сборку из портов на отдельной машине ничего не знаю. я сразу pd делал. но ты бы тоже это все хозяйство в jail засунул, чтобы основную систему не мусорить. разберись, как простейший jail запустить. или chroot.

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 1)

FreeBSD / Chrome
Ответ на: комментарий от crypt

Блиииин ну что ж такое.

bsdinstall не может создать chroot. Оно качало качало, потом пишет что checksum failed и все, теперь при перезапуске ничего не качает, сразу пишет что checksum failed. И зеркало больше не запрашивает.

JamesHolden    
★★★★★★
Linux / Chrome
Ответ на: комментарий от JamesHolden

ну ты кеш почисть и перекачай. в /var/db/freebsd-update/ поди кладет, а может еще куда. поищи.

Оно качало качало

сеть хреновая. там объемы то смешные. еще и битые файлы получил.

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 3)

FreeBSD / Chrome
Ответ на: комментарий от JamesHolden
ENVIRONMENT VARIABLES
     The following environment variables control various aspects of the
     installation process.  Many are used internally during installation and
     have reasonable default values for most installation scenarios.  Others
     are set by various interactive user prompts, and can be usefully
     overridden when making scripted or customized installers.

     TMPDIR                   The directory to use for temporary files.
                              Default: “/tmp”

     DISTRIBUTIONS            The set of distributions to install, e.g.,
                              "base.txz kernel.txz ports.txz".  Default: unset

     PARTITIONS               The partitioning of the disk onto which the
                              system is being installed.  See scriptedpart of
                              the TARGETS section for format details. If this
                              variable is unset, the installer will use the
                              default partitioning as in autopart.  Default:
                              unset

     BSDINSTALL_DISTDIR       The directory in which the distribution files
                              can be found (or to which they should be
                              downloaded).  Default: “/usr/freebsd-dist”

     BSDINSTALL_DISTSITE      URL from which the distribution files should be
                              downloaded if they are not already present in
                              the directory defined by BSDINSTALL_DISTDIR.
                              This should be a full path to the files,
                              including architecture and release names.  Most
                              targets, e.g., auto and jail, that prompt for a
                              FreeBSD mirror will skip that step if this
                              variable is already defined in the environment.
                              Example:
                              ftp://ftp.freebsd.org/pub/FreeBSD/releases/powerpc/powerpc64/9.1-RELEASE

     BSDINSTALL_CHROOT        The directory into which the distribution files
                              should be unpacked and the directory at which
                              the root file system of the new system should be
                              mounted.  Default: “/mnt”


в /usr/freebsd-dist

ну и все такое прочее в man bsdinstall

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 1)

FreeBSD / Chrome
Ответ на: комментарий от JamesHolden

после линкуса кажется, что оно там не должно лежать и что вообще такое, но тем временем это задокументировано man hier. поскольку это не линукс, то…

     /usr/	contains the majority of user utilities	and applications

		bin/	       common utilities, programming tools, and	appli-
			       cations
		compat/	       files needed to support binary compatibility
			       with other operating systems; see linux(4)
		freebsd-dist/  distribution files (like	base.txz); see
			       release(7) and bsdinstall(8)
crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 2)

FreeBSD / Chrome
Ответ на: комментарий от JamesHolden

да, как разница между английским и немецким. но когда вышло systemd, я понял, что мне проще подучить немецкий, чем … я даже не знаю, во что превратился линукс для меня.

после того, как молодые админы альфа и интелfx стали утверждать, что стабильность ОС не имеет значения, потому что ОС всеравно виртуальная и ее можно быстро перезапустить… поттер ушел в m$, люди из RH сказали, что используют маркетинговые исследования m$, я понял, что поменялась сама идея ОС Linux.

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 5)

FreeBSD / Chrome
Ответ на: комментарий от crypt

Я так и не понял фишки с пакетами бинарными - если как бэ одни и те же пакеты для 13.1 и 13.2 а версии ядра разные - то как же это должно вообще работать для пакетов с модулями ядра.

JamesHolden    
★★★★★★
Linux / Chrome
Ответ на: комментарий от crypt

А оно что, все зависимости нужного мне пакета компилять будет??

Или если их из пакетов поставить то не будет?

JamesHolden    
★★★★★★
Последнее исправление: JamesHolden (всего исправлений: 1)

Linux / Chrome
Ответ на: комментарий от JamesHolden

порты - это уже частные команды и энтузиасты. видимо, они работают не всегда быстро. 13.1 довольно быстро, оказывается, перестанет поддерживаться. всего 3 месяца. видимо, к этому моменту они проблему решат и соберут пакет.

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 1)

FreeBSD / Chrome
Ответ на: комментарий от JamesHolden

опять же я не ставил прямо из портов, но моя система сборки собирает все, помещает в репозиторий и потом ставит эти пакеты в jail для сборки.

ты проверь сам, удасться тебе микшировать или нет. у меня всегда рассинхрон, т.к. мой квотерли всегда отстает.

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 3)

FreeBSD / Chrome
Ответ на: комментарий от JamesHolden

я лично сейчас попробую свое мартовское дерево собрать с 13.2. если пакеты соберутся - ну ок, можно будет как-нибудь перейти. если не соберутся, ну ни ладно. буду потихоньку решать.

меня совершенно не напрягает посидеть несколько месяцев на неподдерживаемой F13.1 и апдейтится, когда пойдут первые patch level исправления на F13.2.

даже Уязвимость в Ghostscript, приводящая к выполнению кода злоумышленника меня не напрягает.

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 3)

FreeBSD / Chrome
Ответ на: комментарий от crypt

По сборке - зависимости поставились (да, если что-то стаит из пакетов оно уже не компиляется). Но теперь

Unable to locate the kernel source tree

Не соображу как его поставить. Или проще chroot пересоздать сразу с ним?

JamesHolden    
★★★★★★
Linux / Chrome
Ответ на: комментарий от JamesHolden

вцелом у фри вообще адекватных современному железу настроек не хватает очень сильно. тюнинг:

witch ~ # wc -l /boot/loader.conf
85 /boot/loader.conf
witch ~ # wc -l /etc/sysctl.conf 
140 /etc/sysctl.conf

так.. будешь время от время натыкаться на что-то и поднимать лимиты или еще как…

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 4)

FreeBSD / Chrome
Ответ на: комментарий от JamesHolden

как в арче. на зеркале лежит несколько архивов, в котором собраны наборы базовых компонентов: base src compat… можешь просто src архив руками распаковать в нужное место и все.

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 1)

FreeBSD / Chrome
Ответ на: комментарий от crypt

Кстати, в техническом плане она весьма интересна. GUI работает полностью в ядре. Приложения создают окна, кнопки, контролы вызывая сисколлы ядра! Поэтому, чтобы делать GUI даже никакие библиотеки не нужны (там просто одиночные бинарники самостоятельные, без динамической линковки и всяких .so, в основном).

А вот делать что-то консольное без GUI там не так удобно, и таких утилит практически нет.

То есть это не только самая иговая в мире, а еще и самая десктопная в мире ОС!

И ещё - это самая русская в мире ОС!

JamesHolden    
★★★★★★
Последнее исправление: JamesHolden (всего исправлений: 1)

Linux / Chrome
Ответ на: комментарий от alexferman

Да ну! С чего это? У меня других пользователей кроме меня за компом нет. В 2023 году иметь меньше компов чем людей это вообще странно.

Ну и однопользовательская Колибри при этом «классная», да. Это другое.

JamesHolden    
★★★★★★
Последнее исправление: JamesHolden (всего исправлений: 1)

Android / Chrome
Ответ на: комментарий от JamesHolden

У меня других пользователей кроме меня за компом нет

Многопользовательность это прежде всего разграничение прав доступа.

Ну и однопользовательская Колибри при этом «классная», да.

Они обе неюзабельные, но Колибри хотя бы классная. А Хайку мерзкая.

alexferman    
★★★★★
Linux / Firefox
Ответ на: комментарий от alexferman

Многопользовательность это прежде всего разграничение прав доступа.

И что? В хайку такое же разграничение прав доступа, как и в линуксе. Та же unix система прав, так же работает.

Просто ты пока не можешь в графической среде создать несколько аккаунтов и логиниться, есть только один дефолтный. Ну и что дальше?

JamesHolden    
★★★★★★
Android / Chrome
Ответ на: комментарий от crypt

Да, я очень доволен. Планирую как будет время, на работе тоже машину на фряху перевести - под задачи этой машины, подходит просто идеально.

Из «потерь» по сравнению с линуксом - в основном десктопная виртуализация. Bhyve для десктопа не айс, Virtualbox урезанный, т. к. нету проприетарных дополнений оракла.

Со звуком (pro audio) тоже некоторые минусы есть, но на этих машинах я вообще не работаю со звуком, а ютубчик играется на ура.

Ускорение графики таки вернул, пока работает стабильно.

JamesHolden    
★★★★★★
Linux / Chrome
Ответ на: комментарий от JamesHolden

т.к. нету проприетарных дополнений оракла.

да, но к счастью, это только USB касается и прокидывания контроллеров внутрь.

Со звуком (pro audio)

со звуком там много всего, ну ты видел перед этим…

Да, я очень доволен.

UA самое главное пофиксить=)

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 2)

FreeBSD / Chrome
Ответ на: комментарий от crypt

Я не ставил никакой экстеншн. Просто в .desktop файле хромиума добавил нужную опцию командной строки в команду запуска приложения. И оно всегда с таким юзерагентом стартует.

Наверное можно сделать алиас, который будет то же самое делать.

JamesHolden    
★★★★★★
Linux / Chrome
Ответ на: комментарий от JamesHolden

тогда порядок. у меня все обернуто скриптом. я там отключаю ненужное типа quick. как называется параметр?

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 1)

FreeBSD / Chrome