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, если заполнить весь диск.

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

Так есть данные разного уровня, как бы сказать, требований к изменяемости. 2 ТБ это долговременные, лежащие мертвым грузом, их просто задублировать и не надо постоянно сихронизировать.

А активно редактируемые 2-3 Гб я гоняю через гит, восстановить могу даже с телефона если все подохнет кроме него.

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

Но не на двух машинах и внешнем неподключенном носителе сразу.

зависит от юзкейса. если пожар или кража(обыск), то сразу.

а как ты синхронизируешь между ними всеми?

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

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

если пожар или обыск, то сразу.

Так при этом и без разницы, арч на компах или рхел. Горят одинаково.

а как ты синхронизируешь между ними всеми?

Долговременное руками, документы через гит. На внешний носитель документы не загоняю, слишком лень. Зато они на сервере в Москве, через который синхронизируются.

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

Так при этом и без разницы, арч на компах или рхел. Горят одинаково.

я писал это как два независимых требования, которые бы мне хотелось реализовать

Долговременное руками, документы через гит. На внешний носитель документы не загоняю, слишком лень. Зато они на сервере в Москве, через который синхронизируются.

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

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

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

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

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

а вот это пропустил… кхм… все-таки хорошо, что перешел…

https://www.linux.org.ru/forum/talks/16367508

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

а почему так нельзя относиться к десктопу? ты же стиралку не меняешь каждый месяц. мне нужна машина для работы с информацией. ее получения, потребления и хранения.

я сейчас читаю (пытаюсь читать) про психотерапию и психоанализ. это моя задача и цель. а Электронно Вычислительная Машина - всего лишь станок.

пришел на работу, поработал за станком, ушел от станка.

я бы еще и на права заставлял сдавать предворительно…

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

сорри. я не хотел звучать как будто пытаюсь затеять спор. меня просто выводит из себя чтение психологии и я тут пытаюсь переключиться.)

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

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

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

Распространение софта тоже превращается в шизуху из-за этого. По сути, в линуксе происходит не установка приложений, а портирование вместо установки.

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

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

как например винда

они годами поддерживают стабильный API, отсюда возможность запускать старый софт. из UNIX такое делали только коммерческие юниксы, последний полуживой - Solaris.

и в какой-то мере пытается делать RH, сохраняя стабильный ABI в базовой системе на протяжении мажорного релиза (около 7-10 лет).

FreeBSD поддерживает стабильный ABI в базовой системе (в которой ничего нет) около 5 лет, если не ошибаюсь.

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

отсюда попытка решить это через flatpack/котейнеры.

мы имеем стабильную базу. а хаос локализуем в контейнерах. хорошо хоть Х-протокол не меняют. а то бы софт просто не запускался.

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

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

вообще я бы и рад сидеть на старом прикладном софте. gtk2 меня устраивал даже больше, чем gtk3. но ведь именно эти кирпичики и выкинули! так что даже

го можно заморозить и стабилизировать только вместе с прикладным софтом

это не совсем работает! у меня возникли проблемы после Enterpise Linux на FreeBSD! часть софта уже отправлена в утиль, т.к. отправлены в утиль gtk!

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

фряшный бинарник выглядит так:

/bin/ls: ELF 64-bit LSB pie executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 13.1, FreeBSD-style, stripped

есть привязка ABI к мажорной версии OS. и пакеты также отмаркированы:

uchardet                             FreeBSD:12:amd64
zip                                  FreeBSD:13:amd64

тоже привязка к версии ABI.

поэтому софт, который я собран для релиза, будет работать на всем протяжении, если не будут обновлены сторонние библиотеки, у которых поменяется ABI.:(

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

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

и еще фряшники наконец подросли и сделали фиксированный релиз-цикл. посмотри, какие ровные лесенки, начиная с F11.x! предсказуемый цикл на 5 лет. хорошие шансы, что софт, собранный под F11.0 будет работать до F11.4.

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

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

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

Ну я бы не сказал, я вижу большую разницу в прикладном софте сейчас и 10 лет назад. Да даже virt-manager сейчас заметно лучше чем несколько лет назад, когда я его последний раз пробовал.

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

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

рад за тебя. а вот у меня ничего нового. фотошоп не появился, а гимпом я по-прежнему не могу пользоваться. libre office делает по прежнему то же самое: показывает окошко с текстом. mplayer точно так же играет фильмы.

меняются только KDE, GNOME и еще два десятка рабочих столов, которые как раз и не должны меняться:(

вместе с ними редизайнят приложения, которые «just worked», типа калькулятора. занафига его перделывать!!! он считает точно также!

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

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

Калькулятор возможно, но я считаю в Scilab и там за 10 лет небо и земля. Хотя от этого он не перестал быть не говном. Но уже намного меньшее говно.

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

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

А если библиотеки обновят? А не обновишь - новое приложение не соберешь, превет от линуксоидов ))

об этом я и пишу выше. зависит, какой набор библиотек включили в базовую, застабилизированную систему. у RH этот набор включает графические тулкиты. у FreeBSD только консольные.

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

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

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

не юзал. для меня, видишь, либо софт уже пригоден на 100%, либо я использую ОС, где софт пригоден. то есть я не очень-то иду на эти полумеры: буду использовать gimp.

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

Кстати, по миру вендопроприетарщины могу сказать, что все ведущие мегапроекты, типа AutoCAD, Matlab и подобного, сейчас скатились в хтонический кошмар.

Я спешно все научное моделирование, например, перевожу с Matlab на gсс (уххаха). Пока не поздно.

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

перевожу с Matlab на gсс (уххаха)

извини, шутку не понял

все ведущие мегапроекты, типа AutoCAD, Matlab и подобного, сейчас скатились

я поступил так: взял отдельную железку, отсоединил ее от сети, на нее поставил Windows7+Photoshop, который выполняет задачу. все.

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

А если библиотеки обновят? А не обновишь - новое приложение не соберешь, превет от линуксоидов ))

стараться выбирать библиотеки, где разработчики стараются сохранить совместимость.

вариант номер 2: статическая сборка бинарника. по-моему это идеальный вариант на линуксе (и Линус торвалдс пришел к той же идее), но все лоровцы меня заплевали, а мир пошел использовать flatpack… :( больной безумный мир:(

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

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

А если библиотеки обновят? А не обновишь - новое приложение не соберешь, превет от линуксоидов ))

или писать софт под винду) если тебя все остальное в ней устраивает) в конце концов ты платишь m$ за поддержание этой стабильности)

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

я поступил так: взял отдельную железку, отсоединил ее от сети, на нее поставил Windows7+Photoshop, который выполняет задачу. все.

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

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

о, ну смотри. ты пишешь

А если библиотеки обновят?

а на винде выходит:

А если старые версии ставить запретят?

шило на мыло. опенсорс хоть портировать иногда можно.

вообще тут лучше всего все-таки виртуалки со старой виндой на новом железе.

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

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

статическая сборка бинарника

Заплюют потому что принудительно библиотеку без пересборки приложения не подменишь. А даже во flatpak эта проблема решается хоть как-то.

или писать софт под винду)

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

Винда для разработки это ад для программиста. Попадаешь туда за грехи (не обеспечивал стабильное API и ABI при жизни), приходит черт и ставит тебе Visual Studio. И вперед.

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

Заплюют потому что принудительно библиотеку без пересборки приложения не подменишь.

так не нужно подменять! это же статическая сборка! весь код включается при компиляции внутрь!

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

такие уязвимости важны в первую очередь в сетевом софте и ОС. я кварталами не апдейчу софт и живу нормально со всеми уязвимостями. подтягиваю только патчи на базовую систему.

p.s.

rust?

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

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

Я же не говорю что я заплюю, я говорю про общее мнение, с которым я сталкивался при обсуждении этих вопросов. Такова пропаганда динамических линковщиков.

rust

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

Лично меня пока никто не убедил что эта штука безопаснее. За неимением софта на расте, и статистику собрать вряд ли возможно.

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

наоборот! это очень клевая идея!

у тебя очень строгий компилятор. он берет вставку malloc-кода на себя. он не позволяет тебе аллоцировать память два раза или освободить два раза.

он отслеживает, кто владеет твоей алоцированной памятью и освобождает ее, когда функция завершается.

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

есть такой механизм. есть stack protector даже в Си компиляторе. именно поэтому ты получаешь segfault и твой процессор продолжает работать.

rust по сути дополняет эту систему с другой стороны, обеспечивая отслеживание аллокаций и освободждения памяти.

если уж ты как-то доверяешь виртуальной машине, далающей это в рантайме, то почему не доверять чему-то похожему, что рассчитывает аллокации при компиляции программы?

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

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

Это какая-то дутая пропаганда.

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

Виртуальная машина работает в рантайме вместе с программой, тут вопросов нет. А что там заранее может отследить раст? Да ничего.

Он просто ограничивает типа «опасные операции». И тогда программисту чтобы написать программу и победить компилятор, нужно делать в расте блок «опасного» кода и там писать как на C. Без этого там даже базовые типы данных не могут быть реализованы.

Конечно, они говорят что мы эти «опасные» блоки напишем сами и спрячем в библиотеки, а вы будете писать только «безопасный» код. Но где гарантии, что их код - корректен. И где гарантии, что мне не потребуется реализовать свои сложные структуры данных в проекте.

А высокопроизводительные проекты, например игровые движки, в полный рост делают свои нестандартные аллокаторы памяти (на плюсах). С этим как быть.

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

А высокопроизводительные проекты, например игровые движки, в полный рост делают свои нестандартные аллокаторы памяти

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

я админ, я не пишу сложный софт и для меня rust - очень хороший инструмент (если я смогу его освоить).

хотя тут @cocucka тебе лучше ответит.

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

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

Да ничего.

он может отследить scope видимости, например. когда твоя переменная выходит за него, память освобождается.

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

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

Да ну, кроме политоты мне не хватало еще и «техническую» пропаганду смотреть.

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

Это просто трюкачество. На чистом расте ничего нельзя написать, поэтому всегда где-то внутри будут вставки опасного кода. От того что они внутри, а не я лично их написал, или даже я и замел мусор под ковер - я не становлюсь более уверен в безопасности.

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

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

он может отследить scope видимости, например. когда твоя переменная выходит за него, память освобождается.

Любой язык это делает, внезапно. И C тоже.

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

для меня компилятор rust выглядит, как программа, которая за меня делает +2 мб памяти, -2 мб памяти… не вижу, почему я не могу доверять корректности какого-то алгоритма.

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

Любой язык это делает, внезапно. И C тоже.

правильно, молодец. а Rust развивает этот концепт и совмещает с алгоримом аллокации-деаллокации памяти.

crypt    
★★☆☆☆
FreeBSD / Chrome