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
В небезопасном Rust можно выполнять пять действий, которые недоступны в безопасном Rust, которые мы называем небезопасными супер силами. Эти супер силы включают в себя следующее:

Разыменование сырого указателя
Вызов небезопасной функции или небезопасного метода
Доступ или изменение изменяемой статической переменной
Реализация небезопасного типажа
Доступ к полям в union

Важно понимать, что unsafe не отключает проверку заимствования или любые другие проверки безопасности Rust: если вы используете ссылку в небезопасном коде, она всё равно будет проверена. Единственное, что делает ключевое слово unsafe - даёт вам доступ к этим пяти возможностям, безопасность работы с памятью в которых не проверяет компилятор. Вы по-прежнему получаете некоторую степень безопасности внутри небезопасного блока.

Кроме того, unsafe не означает, что код внутри этого блока является неизбежно опасным или он точно будет иметь проблемы с безопасностью памяти: цель состоит в том, что вы, как программист, гарантируете, что код внутри блока unsafe будет обращаться к действительной памяти корректным образом.

Люди подвержены ошибкам и ошибки будут происходить, но требуя размещение этих четырёх небезопасных операции внутри блоков, помеченных как unsafe, вы будете знать, что любые ошибки, связанные с безопасностью памяти, будут находиться внутри unsafe блоков. Делайте unsafe блоки маленькими; вы будете благодарны себе за это позже, при исследовании ошибок с памятью.
Minona    
★★★★★
Windows / Yandex
Ответ на: комментарий от JamesHolden

Ну по этой логике и безопасные возможности С++ не нужны.
Так как в процессоре есть микрокод, который весь unsafe.

так и на расте не перепишут

Раст уже пришел в ядро.
Со временем перепишут всё критическое.

Minona    
★★★★★
Windows / Yandex
Ответ на: комментарий от Minona

цель состоит в том, что вы, как программист, гарантируете, что код внутри блока unsafe будет обращаться к действительной памяти корректным образом

А я как программист, гарантирую что мой код на C полностью корректен. Често-честно, зуб даю.

Ну серьезно, вы постите пропаганду уровня ЦИПСО, только техническую, и вас ничего не смущает )))

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

Так как в процессоре есть микрокод, который весь unsafe.

Причем тут бляха микрокод. У тебя вся ОС и все базовые библиотеки, включая все GUI - сплошной unsafe. И никакой раст этого не изменит, ты их не можешь переписать на расте.

Раст уже пришел в ядро.

А абрамс уже приехал на Красную Площадь.

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

Со временем перепишут всё критическое.

Что у тебя перепишут. Растовая библиотека может использоваться только из раста. А системная библиотека по определению должна иметь такой ABI, чтобы могла использоваться откуда угодно. Это обеспечивает только C. Даже не C++. Тем более не раст.

И это никак не изменишь. Базовая система как была на C так и останется.

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

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

Причем тут потомки и лично ты. Это теоретически невозможно, по определению.

Потомки у нас что, второй закон Ньютона перепишут? Вот это новости.

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

Но - одни такие верующие в бредни сейчас разваливают одну европейскую страну в руины, а другие - разваливают линукс в руины. Я даже не знаю что хуже.

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

Так лучше синица в руках.

А тут, вместо того чтобы взять линукс как есть и начать решать его основную пробелему - нестабильность API и ABI его базовых библиотек, какой-то раст куда-то вкорячивают в ядро, сами не понимая зачем. Но слава Богу, только на словах вкорячивают. На практике никто не будет на нем писать под ядро.

А далее, после обеспечения стабильности базовой системы, удивительным образом начнут решаться остальные проблемы линукса, например - удобное распространение софта без всяких флатпаков, отсутствие детских багов и кащенковского «суки опять вы все сломали».

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

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

Надо решить ее корень, фундаментальный уровень. Должна быть длительно стабильная (хотя бы 5 лет) платформа, одна у всех, на которой прикладники дальше ваяют и затачивают под нее прикладной софт. В течение нескольких лет хотя бы, тогда они успеют и баги устранить.

А то начали править баги а тут опа - все новое, новые фреймворчики повыходили, давай-ка мы их освоим! Что нам эти баги, скукотища.

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

Такая синица со стабильным API и ABI уже есть - FreeBSD.

Это их большой плюс, но

Так вот удивительным образом проблемы линукса присутствуют и в ней.

Не удивительным. Базовая стабильная система FreeBSD - «там ничего нет» как говорит @crypt. А все остальное через порты, а почему порты называются портами? Потому что это все портируется с нашего любимого линукса, либо сделано с оглядкой в первую очередь на экосистему линукса.

И все это приносит проблемы линукса на FreeBSD. И даже на более высоком уровне - портировали KDE, получи вейланд на FreeBSD. Портировали GNOME - получи пульсаудио. И так далее.

Для того, чтобы у FreeBSD не было проблем линукса, стабильной должна быть не только нынешняя базовая система, а расширенная включая GUI тулкиты и среду.

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

Должна быть длительно стабильная (хотя бы 5 лет) платформа

Так давно всё есть:
Ubuntu LTS - 5 лет обычной + 5 лет расширенной поддержки.
RHEL, OEL - 10 лет.
Большинство корпоративного софта ориентируется на RHEL.

Minona    
★★★★★
Windows / Yandex
Ответ на: комментарий от JamesHolden

Для того, чтобы у FreeBSD не было проблем линукса, стабильной должна быть не только нынешняя базовая система, а расширенная включая GUI тулкиты и среду

Для этого из линукса придется сделать макось.

Minona    
★★★★★
Windows / Yandex
Ответ на: комментарий от JamesHolden

Если честно я до этого не задумывался, что в программы на rust попадает unsafe-код из stdlib. Хотя уменьшение поверхности для ошибок всеравно считаю хорошим делом.

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

к слову о стабильном api выше.

https://news.ycombinator.com/item?id=32471624

смотри первые два ответа:

I worked on a product that shipped as a closed source binary .so (across four OSes and two architectures) for almost seven years, and that's exactly what we did too — build on the oldest libc and kernel any of your supported distros (or OS versions) support, statically link as much as you can, and be defensive about _any_ runtime dependencies you have.

и к слову о твоих экспериментах со Linux:

I feel this is the chief reason why the fabled "Year of the Linux Desktop" will never be a thing.
Microsoft expects Windows to be a means to an end: You run Windows to use your computer.

Linux neckbeards expect Linux to be the end to a means: You use your computer to run Linux.
crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 1)

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

оно не умеет шпионить на неродной платформе. там же свое дерево файлов. а одним опенсорсом сыт не будешь.

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

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

Я разосрался с ЛОРом, эпическая драма

Вот исходный тред, мой врыв чуть позже начала, интересное ближе к концу

https://www.linux.org.ru/forum/general/17153232

Вот тред разборок с модером shell-script

https://www.linux.org.ru/forum/linux-org-ru/17157602?cid=17157617

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

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

Вот блина - решил таки проблему с браузерами. Уффффф
Эта паскуда, за каким-то хреном, пытается запуститься на всех имеющихся видюхах, и на NVIDIA в том числе. А дрова NVIDIA протухли, они не работали как оказалось. Обновил дрова - теперь все работает.
Ну и спрашивается, схренали Хром дергает драйвер дискретки, который вне Bumblebee все равно работать не будет?
Загадка

JamesHolden    
★★★★★★
Linux / Chrome

@crypt а во FreeBSD есть же мультилиб?

Сейчас смотрю документацию по установке, там можно выбрать lib32. Интересно, почему тогда с wine такие загоны, почему он не может просто использовать эти lib32 библиотеки.

JamesHolden    
★★★★★★
Linux / Chrome