Как стать автором
Обновить

Сопровождающий man-pages для Linux объявил об окончании работы над проектом из-за финансовых проблем

Время на прочтение2 мин
Количество просмотров30K
Всего голосов 48: ↑45 и ↓3+61
Комментарии310

Комментарии 310

В коммерческих проектах такая же ситуация, документация это последнее в списке трат :\

Где-то на документацию тратят деньги?

Ну если документация пишется в оплачиваемое рабочее время, то тратят)

К сожалению, в Линукс-сообществе на документацию тратят существенно меньше, чем в том же Майкрософт. Или КПД таких трат сильно меньше.

После, например, MSDN-а переход на документацию в линуксе (и это не единая документация, это сборная солянка ото всюду) очень сильно разочаровал.

Я бы не сказал в линукс-сообществе.

Я бы сказал в open-source сообществе. Но это тоже не совсем так.
Каждый автор по идее отвечает за собственную утилиту, а общие man pages оказались никому не подчинены. Автору утилиты проще написать или --help или что-то еще в этом роде, чем заморачиваться создавая устаревший man pages. Ведь куда-то пропал еще и info, а еще и куча документации есть в web

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

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

В винде он не нужен, потому что по её идеологии всё что есть - доступно в виде соответствующих галочек (с описаниями!) в настройках. У кучи линукс-софта справка по --help просто рассказывает вам, что настройка вообще существует, но даже не поясняет, зачем она такая нужна. Кроме того, куча вещей вообще не понятно где искать - типа установки правильного драйвера видюхи, установки другого ядра в ОС и кучи ещё всякого. Т.е. нагуглить готовую инструкцию можно, да. А вот если гугла нет?

Расскажите нам без гугла про значение каждого ключа в реестре виндоус. И не забудьте рассказать про все те случаи, когда отсутствие ключа тоже что-то значит. Еще уточните разницу между ними для всех версий виндоус. После этого попробуйте без гугла найти имя оснастки управления дисками, к примеру (да, есть такая с давних времен и, подозреваю, в последних версиях виндоус тоже).

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

Ключи не нужны почти никогда, если вдруг чего-то нет в просто "настройках", оно есть в групповых политиках. Ключи не нужны в 99.9% случаев.

После этого попробуйте без гугла найти имя оснастки управления дисками

ПКМ по меню "пуск". Имя не нужно.

Ключи реестра не нужны, скажем, разработчикам инсталляторов программ? Если вы не понимаете, что говорите, лучше и не комментируйте.
Что касается утилиты, то она одна и та же во всех версиях и легко запускается из строки запуска, вызываемой горячими клавишами, а эти ваши меню везде разные. Не уверен, что я сейчас в плитках или что там сейчас меню быстро найду, а вот cmd+R diskmgmt.msc запустить секундное дело.

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

Ну да, паре тысяч человек из миллиардов нужны. Разработчикам драйверов еще.

Что касается утилиты, то она одна и та же во всех версиях и легко запускается из строки запуска

Да, а еще проще из ПКМ по меню "пуск", или простым поиском в этом самом меню: "format". И не надо заклинания учить.

Вы не стесняйтесь, скажите, что просто не знали, что на "пуск" можно нажать правой кнопкой мыши. Ну и конечно

Если вы не понимаете, что говорите, лучше и не комментируйте.

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

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

Ну да, паре тысяч человек из миллиардов нужны. Разработчикам драйверов еще.

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

Да, а еще проще из ПКМ по меню "пуск"

Это если у вас "пуск" вообще есть (загружен виндоус эксплорер) и он откроется (что не факт). И даже если есть и откроется, это занимало несколько минут даже на виндоус с выгруженными лишними сервисами, открыть все эти меню на слабом компе, так что куда проще оснастку напрямую вызвать. В линукс можно просто в командную строку загрузиться и работать куда быстрее.

просто не знали, что на "пуск" можно нажать правой кнопкой мыши

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

В XP до решения можно просто методом тыка дойти через "панель управления" - "администрирование" - "управление компьютером" (пишу по памяти, могу путать названия). Собственно в этом принципиальное отличие винды от линуха: если все настройки изначально реализованы через графический интерфейс - до них можно добраться случайным поиском, не зная вообще ничего. В случае с командной строкой - если ты не знаешь хотя бы базовых команд, ловить в ней тебе нечего.

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

Я не знаю, когда и зачем вы начали обсуждать winxp. Выше обсуждалась просто "винда":

В винде он не нужен, потому что по её идеологии всё что есть - доступно в виде соответствующих галочек (с описаниями!) в настройках.

...и я не думаю, что кто-то всерьез собирался заниматься археологией и обсуждать ОС двадцатилетней давности. Текущая и прошлая версия ОС эти настройки имеют. Что там было 20 лет назад, почему, и было ли вообще лучше на Linux - это оставим археологам. Кроме них эта информация практической пользы уже никому не несет.

Разработчики инсталяторов - конечно же основные пользователи винды, сарказм.
ПКМ по пуску одинаков в этом плане с 10, которая вышла уже дохрена лет назад.
А ну и еще, помимо пуска она и с другой менбшки запускается, без ввода команд, или вы и ее не знаете?

Еще в Win2K такое же меню было доступно по ПКМ на пункте меню "Мой Компьютер" в стартовом меню, потом его перенесли на саму кнопку Старт

В винде и у продуктов MS в принципе далеко не все фции выведены в gui

Помнится в MS ISA были параметры которые штатно управлялись через редактор реестра

Вы судя по всему не сталкивались вплотную с администрированием винды если говорите про 99%

В винде и у продуктов MS в принципе далеко не все фции выведены в gui

Назовите 5.

ИМХО, у винды другая проблема: многие функции недоступны в командной строке. Либо доступны какими-то адскими заклинаниями.

Единственное, что в винде делается быстрее через командную строку, навскидку, это powercfg -h off

У меня есть пара .reg файлов, которые чинят привычное мне поведение Windows (например, на отключение нового меню ПКМ по файлам и папкам в проводнике), но я прекрасно отдаю себе отчет в том, что это вообще костыли и не поддерживаемое поведение ОС.

Помнится в MS ISA были параметры которые штатно управлялись через редактор реестра

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

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

И таких раздражающих мелочей в Linux много больше, чем в Windows. Причем все усердно делают вид, что так и должно быть.

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

Странный пример. Linuxmint Cinnamon - ткнул мышкой в tar.gz, открылся в штатном архиваторе, все работает. А Windows открывает tar.gz? А если в командной строке? Честно, не представляю как это сделать под Виндой, и даже не представляю, как это узнать без интернета. Последний раз у меня под десяткой штатными средствами не открывался даже zip с паролем. Пришлось 7-zip ставить - о ужас, из Интернета.

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

А Windows открывает tar.gz?

Нет (вроде), но файлы для винды в него не упаковывают. :)

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

Linuxmint Cinnamon - ткнул мышкой в tar.gz, открылся в штатном архиваторе, все работает.

Це из GUI, тут все понятно.

Последний раз у меня под десяткой штатными средствами не открывался даже zip с паролем.

Скорее всего кто-то пожал левым алгоритмом, но в zip. Zip с паролем Windows умеет.

Це из GUI, тут все понятно.

Для симметрии: как узнать без интернета, как распаковать zip из командной строки под Windows?

Скорее всего кто-то пожал левым алгоритмом

Xiaomi c Android этот zip без проблем открывал штатными средствами, 7-zip тоже. Проблемы были со стандартным архиватором винды.

Zip с паролем Windows умеет.

Может, недавно научилась? В новостях проскакивало, что в 11 они увеличили список поддерживаемых форматов архивов, даже RAR добавили.

Для симметрии: как узнать без интернета, как распаковать zip из командной строки под Windows?

Никак, все честно.

Может, недавно научилась? В новостях проскакивало, что в 11 они увеличили список поддерживаемых форматов архивов, даже RAR добавили.

Чистый zip умеет с древней 10ки, много софта в свое время качал в zip-ах после переустановки Windows. Потом случайно под руку попадался rar, и тогда вспоминал сразу по 7Zip.

зипки с паролем винда умеет начиная с XP

Нет (вроде), но файлы для винды в него не упаковывают. :)

Кому какое дело, виндоус у вас или что? Зайдите на сайт НАСА, к примеру - все научные датасеты упакованы кто во что горазд, и tar.gz, и zip, и чего только нет, даже .arj и подобные найдутся. И миллионы студентов, аспирантов, профессоров это каждый год как-то используют на разных операционках.

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

  1. Сжимает ощутимо хуже

  2. Не сохраняет атрибуты, в частности eXecutable bit

Справедливо!

Сейчас без интернета почти все плохо будет, независимо от платформы. В офисе 2010 для VBA была удобная офлайновая справка по нажатию F1, а с 2013 версии оно лезет в Интернет. И ладно бы просто лезло, так еще почему-то майкрософтовские сайты очень медленные

То, что теперь там машинный перевод это ещё не всё. Информативность снизилась!

Объектную модель в графическом виде убрали. Кое где стало меньше примеров с кодом.

С 2017 по 2022 год меня MS номинировал как Microsoft Most Valuable Professionals по продукту MS Visio, в 2021 году у меня появилась возможность предлагать свои правки в справочные материалы.

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

Я предложил добавить схему объектной модели созданную энтузиастом (картинка гуляла по интернетам много лет), отказали: типа вдруг от через несколько лет автор схемы или его наследники нам за нее предъявят!

Предложил схему из версии Visio 2010, с той поры в объектной модели появились некоторые изменения. Сказали неактуальную нельзя публиковать. Актуальную нарисовать в MS некому. Хотя я думаю скорее они просто не заинтересованы, чтобы кто-то продолжал использовать VBA…

tar -xf имя файла. Распаковывает все.

Минус/тире можно убрать. А вообще, нужно пропозал на untar сделать)))

Назовите 5.

5 не вспомню, но простейший вариант "добавить сетевой маршрут" - требует консоли. Задача со звёздочкой - добавить сетевой маршрут для конкретного VPN соединения, делается только через powershell. Просто потому что винда игнорирует маршруты, получаемые от IPSEC/IKEv2 сервера.

Я вам признаюсь: я даже не знал, что так можно. Простейшести в этом варианте очень мало. Это примерно как пример выше мне давали, по настройке MS ISA. Мой ответ: людям платят за то, чтобы они это знали. Это очень мало кому нужно.

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

А, вот, вспомнил один пример с Тостера. На самом Тостере не нашел, зато нашел в гугле:

After changing the font text size on my parents computer, it was too big and so I changed it back, but it seems that after I did that, this started happening. The grid all messed up. The highlight is very wide. It doesn't let me move any icons other than those positions and no where else on the desktop.

И решение - это возня в regedit.

Вот это ИМХО хороший, годный пример - винда сама сошла с ума и теперь ее надо чинить через реестр.

Переустановить и всё...

Вот извлечь tar.gz - это вполне может быть нужно рядовому пользователю. Но почему-то из командной строки это без странных заклинаний не делается...

А почему вы "рядовому пользователю" линукс только командную строку предлагаете, даже без консольного файлового менеджера? Неужто ваш рядовой пользователь подключен через модемное соединение на удаленном хосте, где на логин сразу шелл запускается? Так этот рядовой пользователь или юникс админ или Кевин Митник, справится :)

Вы попробуйте в виндоус в командной строке то же самое сделать. Скачать и установить нужные утилиты, поработать с архивом и отправить его на почту, скажем. Как я помню, даже получение даты в нужном формате в командной строке виндоус требует самой черной магии, и много :)

Назовите 5.

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

но вообще, это установка протоколов шифрования для разных видов RPC и прочих lanman, переопределение портов (для безопасников), изменения диапазонов портов.

в ISA которую я упоминал, это изменение портов проксирования FTP протокола

вообще если упарываться в настройку винды под безопасность, там очень много чего надо тюнить в реестре, стандартных политик AD тут уже недостаточно (я свои писал)

Ключи не нужны почти никогда

Расскажите как поменять местами клавиши без сторонних утилит или правки HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\Scancode Map. Первое, что приходится делать на новом ноуте (как минимум Control на Caps Lock повесить).

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

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

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

Мои тоже не сошлись, когда я сетевую шару на MacOS пытался обновить в Finder.

Или когда я думал, что архивы извлекать это extract, а разработчики tar решили, что extract.

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

tar -h
tar(bsdtar): manipulate archive files
First option must be a mode specifier:
-c Create -r Add/Replace -t List -u Update -x Extract

Проще некуда, по сравнению с задачей вычистить реестр виндоус после установки и удаления нескольких программ, потому что винда грузится полчаса с текущим реестром. Впрочем, вы, вероятно, каждый раз переустанавливаете виндоус вместо удаления программ?:)

потому что винда грузится полчаса с текущим реестром

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

Человек последний раз пользовался Windows во времена XP. Без оболочки.

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

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

Нет. И я вам это уже доказал выше, из-за чего вам пришлось уточнять, что вы зачем-то все это время говорили про ОС 2001 года выпуска. Давайте еще MS-DOS начнем обсуждать, или 3.11. Вы выпали из реальности?

Вы утверждаете, что современный виндоус с реестром более размера оперативной памяти без проблем загрузится и проблем с повреждением реестра больше нет? А вот гугл почему-то сразу находит кучу топиков вида https://forum.kaspersky.com/topic/kis-caused-windows-system-registry-to-become-28-gb-in-size-help-32969/ про многогигабайтный реестр и "тормоза", плюс про поврежденный "How to Perform Windows Registry Repair for Windows 10", в том числе на ресурсах микрософт: https://learn.microsoft.com/en-us/troubleshoot/windows-server/performance/registry-troubleshooting-advanced-users Так что - врут все, кроме вас, или же только вы?

Мне нравится, что вы притащили ссылку, в которой прямо написано, что раздут реестр не виндой, а сторонним софтом. Я лично задолбался выгребать кеш apt и docker, как авгиевы конюшни на своем VPS.

А что, в Linux так не бывает? Да не смешите. (тут три ссылки)

How to Perform Windows Registry Repair for Windows 10

Ой, все.

Так и в 90е реестр был загажен сторонним софтом, в чем разница? Микрософт за четверть века не смогла решить эту проблему (кстати, ограничение на размер реестра когда-то было, хотя легко обходилось, но его быстро "выпилили"), но вы будете клясться, что "это другое".
Переполненный диск по вашим ссылкам отношения к реестру никакого не имеет, но ради самообразования вы можете попробовать запустить виндоус на переполненном диске - и если в линуксе это элементарно решается (если даже при установке разделы не сделаны, как рекомендовано, можно в single user загрузиться и даже использовать tmpfs для монтирования в память), то в винде, вероятно, будете переставлять диск и чистить его на другом хосте.

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

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

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

Есть такое дело, но не всегда так всё плохо...процентах в 80 случаев работоспособность восстановить удается без применения всяких сторонних ОС

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

Это настраивается же, или oom killer конфигурируйте, или выделяйте заданное количество ресурсов запущенным процессам.

вот люблю я это "ну настройте, погуглите, вникните!!"

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

в отличии от линуха, в винде дольше 10 минут мне ждать не приходилось. медленно да, но всегда дает это сделать

линух встревает вообще в ноль

в условиях когда я ничего спецом не настраиваю, изкоробки

вот люблю я это "ну настройте, погуглите, вникните!!"

Если вы хотите на 5 лет настроить обработку большой очереди сложных задач на удаленном сервере и больше к этому не возвращаться до замены "железа", придется настроить. Если же у вас "домашние" задачи, то и с подобными сложностями вы вряд ли столкнетесь.

Когда вы постоянно обрабатываете терабайтные датасеты на 8-16 ГБ памяти, на винде у вас проблем будет куда больше, чем на линуксе. Нет, добавление памяти не поможет, тут уже все равно, будет датасет в тысячу раз больше доступной оперативки или только в пятьсот. А если нет, то куда у вас память под линуксом девается?

cgroups в кривые ручки, сам на древнем 8Гб ноуте долбаюсь с wебанскими поделками типа hh.ru/pikabu/avito с текущей памятью

И зачем вы свое невежество маскируете хамством? Сами попробуйте запустить, скажем, Windows 98 с реестром по размеру большим доступной оперативки. Т.е. памяти равно или больше рекомендованного, но меньше размера реестра. Плюс периодические сбои, когда реестр повреждается и винда не грузится.

Плюс периодические сбои, когда реестр повреждается и винда не грузится.

Единственное повреждение реестра наблюдалось мною лет 15 назад в WinXP, и было вызвано (не)удачным бэд-блоком прямо в файле реестра. К слову, это был ещё и последний виденный мною бэд-блок.

О каких периодических сбоях вообще речь?

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

сбой аппаратный или по питанию приводит к повреждению реестра (и, зачастую, файловой системы)

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

вообще сколько я наблюдаю за холиваром винды и линуксе, реестр выставляется как некое страшное зло в виде черного ящика, хотя это обычная key-value база данных

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

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

одним нажатием кнопки можно запороть этот conf файл из-за которого нихрена работать в ОС не будет и тут вы скажете "ну ты сам кривыми руками сломал", а в винде "ну потому что это реестр ужасный все испортил"

какоето волшебство спасет файловую систему при аппаратном сбое и повреждению файлов в еtc директории?

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

помнится мне ntfs один из первых журналируемость предложил массово

Посмотрите, когда появилась AIX’s JFS - еще много лет после того винда на fat крэшилась постоянно. А ext3 и адекватная NTFS ровесники. Вроде бы в NTFS журналирование еще в 90х обещали, только не сказать, чтобы оно работало.

реестр выставляется как некое страшное зло в виде черного ящика, хотя это обычная key-value база данных

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

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

Руками - это без редактора вы усилием мысли это делаете? Круто! Что вам тогда те проблемы.

заменить conf файл, не трогать или смерджить?

Если не знаете - оставляете значение по умолчанию. Если нужно не по умолчанию, то вы об этом обычно осведомлены.

одним нажатием кнопки можно запороть этот conf файл

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

Руками - это без редактора вы усилием мысли это делаете? Круто! Что вам тогда те проблемы.

не текстового редактора, чё вы придираетесь. через GUI например или через какойнить файлик defaults в убунте или через networkmanager

Если не знаете - оставляете значение по умолчанию.

а вы уверены что если вариант по умолчанию

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

  • Если смерджить - он вообще может испортится безвозвратно

  • Если заменить новым - вы потеряете все настройки свои

Файл будет в порядке и с рабочей конфигурацией.

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

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

если вы помните что настраивали в глубинах ОС 10 лет назад, я преклоняюсь перед вашей памятью

у меня винда например со времен Vista жила обновляясь на новую версию перетягивая все мои настройки

линукс мне два раза пришлось переустанавливать, но текущая ОС 5й год живет...я хз чё я там тюнил в ней, чёто для корпоративного ВПН-а

На некоторых хостах я десятилетие обновлялся на новые версии дебиана, и ничего никуда не слетало, сохранялись старые настройи или мерджились новые. А вот вы просто сочиняете, не попробовав. Много у вас серверов с аптаймом в годы и домашних компов с работающим на них 10+ лет дебианом? И все работает, без вот этих надуманных проблем.
Кстати, можно сохранять все, что изменяли, и только в случае какой-то несовместимости мерждить, в случае проблем заменять. А при условии, что у вас есть бэкап /etc, проблем не будет, даже если не то нажмете.

у вас аргументация вида "а у меня всё работает, я умный"

у меня давно уже нет сотен серверов, это всё было больше 10 лет назад как я был админом

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

проблемы не надуманны, я будучи тогда миддлом (выросшим из джуна на той работе) довольно глубоко коснулся этих всех приседаний с линуксом в плане администрирования крупных систем... и в винде многие вещи делаются проще и без знаний всяких глубинных структур и процессов внутри ОС... вы же ссылаетесь на то что "вы сударь и так должны знать как журналируемая ФС работает и когда кэши скидываются на диск, а не надеятся что кнопачку нажал и всё работает" -- вот система должна рассчитана быть что ей идиот управляет, даже если этоти идиот - админ предприятия

Поскольку мы на хабре, то я оцениваю с точки зрения разработчика. К примеру, разверните в одну простую команду кластер из десятка хостов на AWS, и запустите на них распределенную обработку данных. Или сделайте на «голой» винде общедоступный сервер в интернете, который не взломают ближайшие десяток лет. И так далее. Что касается знаний, то никакие знания не помогают добиться от винды то, что в линуксе по умолчанию доступно (минимальная система с консолью, запрет логина и вход только по ключу через ssh).

Или сделайте на «голой» винде общедоступный сервер в интернете, который не взломают ближайшие десяток лет.

вы и на линуксе так не сделаете

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

(минимальная система с консолью, запрет логина и вход только по ключу через ssh)

вы требования unix системы на винду напрямую проецируете? серьёзно?

винда как ОС, это часть экосистемы продуктов MS, грубо говоря, Windows+AD+Exchange+ISA+WSUS+MSSQL+SharePoint+чёнить еще там есть

винда без AD концептуально не должна использоваться как standalone сервер, это не основная роль этой ОС

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

То есть какое? А как журналируемость спасает файловую систему при аппаратном сбое или повреждении файлов?
Подскажу - никак.

Журналируемость ускоряет сканирование, а не устраняет сбои.
А вот то, что внутренняя структура ext3 и ntfs отличается таким образом, что ext3 в принципе сложно повреждается, и там нет какого-то единого очень важного MFT файла, это как раз большой плюс.

Журналируемость ускоряет сканирование, а не устраняет сбои

Бред. Посмотрите хотя бы, что и зачем в журнале ext3.

Журналируемость ускоряет сканирование, а не устраняет сбои.

вы уже забыли времена Fat16/32 и обычных ОС? когда сохранил важный документ, скинул пару папок с музыкой и тут свет отключили..

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

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

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

Если файл незаписался или записался частично, любой чекдиск его просто удалит.

именно, в нежурналируемых ФС файл будет выглядеть как настоящий но быть битым наполовину, во времена FAT это было сплошь и рядом

В NTFS с этим стало получше, а в ext этого и не было никогда.

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

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

Аппаратный сбой-то понятно, но аппаратный сбой вообще что угодно положит.

Что же до сбоев по питанию - то на данный момент реестр Winodws со своими логами транзакций и бэкапами защищён от них куда лучше чем текстовые конфиги.

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

Самое смешное, что ещё со времен WinNT рядом с поврежденным реестром лежит более-менее актуальный бэкап, к которому можно откатиться (не сильно тривиальная операция, но если знаешь, то сделать не сложно).

Автоматический бэкап настроек приложений/сервисов в *nix-ах - это космические технологии, общество ещё не настолько развито...

Вот только когда виндоус не грузится, это означает, что бэкапа реестра нет или он поврежден :) Плохо сочиняете.

Учите матчасть что ли... Практически в каждом вашем комментарии про виндовс - ошибки. Это ж еще надо ухитриться настолько не знать тему, но при этом убежденно высказывать своё "мнение имею".

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

Кроме того, рядом лежат бэкап-копии этих файлов (с немного отличающимся названием), которые периодически актуализируются.

Помимо этого, ещё копии лежат внутри System Volume Information, причем так как точек восстановления может быть несколько, то и копий реестра тоже там много.

И вся эта схема в таком виде существует со времен WinNT (точки восстановления добавили в WinXP) - т.е. уже почти 30 лет проблемы с откатом поврежденного реестра обычно не бывает. И, как правило, если откатиться не удалось, то поврежденный реестр - это уже наименьшая из ваших проблем. Ибо если у вас сломались вообще все эти кучи копий - то просто гарантированно сломалась и куча других файлов, т.е. починить всё это вы уже никак не сможете.

Причем начиная с вин8 (2012 год!) откатить копию реестра можно даже не имея загрузочного диска. Можно запуститься в режиме восстановления ОС, оттуда запустить консоль и дальше руками скопировать что нужно куда нужно. Процесс геморройный, но сделать вполне реально (но проще, конечно, взять livecd какой-нибудь - там и инструменты нужные будут. Хотя бы файловый менеджер).

И это если вам вообще захотелось заниматься этим геморроем. Опять-таки, начиная с WinXP откат с точке восстановления вполне корректно работает - главное, чтобы она вообще была (что многие начитавшиеся интернетов в первую очередь и отключают - а потом плачутся)

Итак, вместо нормальной работы ОС, вы рекомендуете на рабочем диске хранить бэкапы системы, причем неограниченное их количество, потому что вы не знаете, какие из них работоспособные, какие уже нет (узнаете через пару месяцев, после перезагрузки). Отличный план! Притом, это не отменяет нормальных бэкапов на отдельном носителе. Вы утверждаете, что пользователь виндоус просто обязан по стоимости автомобиля системный ссд брать для удобства хранения копий реестра винды в точках восстановления? Мания какая-то…

Бэкапы для лохов, так что ли?

Впрочем да, что это я - в линуксах же вообще бэкапов как системы не существует. И специализированного софта нет вообще, как класса.

Бэкапы на системном диске - наверное, для лохов :) Специализированный софт это у вас для просмотра котиков? Так это нынче в браузере делают. А вот платформы Google Earth Engine и Google или суперкомпьютеры вовсе не на виндоус работают, но откуда вам знать.

Впрочем да, что это я - в линуксах же вообще бэкапов как системы не существует.

То есть?
tar и dd появились еще до того как появился даже ДОС

tar и dd - это прям типичнейший костыль как он есть. Потому что софт для бэкапа как минимум должен уметь справляться с проблемами:

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

  • на целевом диске может внезапно закончиться место

  • нормальная ротация бэкапов

  • разностные бэкпы + ротация бэкапов

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

+ еще 100500 нюансов, которые dd вообще нафик не нужны, оно не для этого написано.

Люди, которые используют dd для бэкапов как правило даже не осознают всей глубины проблемы "как сделать ротируемые и гарантированно корректные бэкапы". И никакие sh-скрипты поверх dd вам эту задачу не решат даже наполовину. Просто откройте сайт veeam, например, и почитайте что оно умеет. А потом посмотрите на этот несчастный dd и его возможности...

Вы зачем-то игнорируете современные решения типа rsync, rdiff-backup, etc., требуя от самой древней системы бэкапов поддержку всех современных хотелок. А вот как вы под виндоус через какой-нибудь ssh туннель на удаленный сервер будете инкрементальные бэкапы записывать? Или ваши бэкапы (если есть) на системном диске и других вы не знаете?

Я не игнорирую. Это точно такие же костыли, просто более сложные.
Вот у меня есть диск с 10 млн файлов. Запустите на нем rsync и я посмеюсь. Там только сканирование списка файлов занимает несколько часов - а вам надо это будет сделать 2 раза, чтобы сверить с целевым диском. И это ж банальная вещь, если мы хотим перенести только изменения.

А вот как вы под виндоус через какой-нибудь ssh туннель на удаленный сервер будете инкрементальные бэкапы записывать?

"А как вы будете дрова в движок ВАЗ подкидывать?" (с)

Почему именно ssh? В винде вообще-то есть куча других способов соединиться с другим сервером, чтобы файлик закинуть

Или ваши бэкапы (если есть) на системном диске и других вы не знаете?

Что вы к этому системному диску привязались-то? Какая фиг разница, куда я бэкаплю, если у вас в линухах кроме тупого dd и лагучего rsync нихрена нет и даже не планируется?

А в винде я могу бэкап сделать средствами самой ОС буквально в 2 клика (на любой диск, не только системный!) - причем включая разностный бэкап. А потом еще и подключить и работать с этим бэкапом как с обычным образом диска. Причем это делается вообще тупым кликом в проводнике на имя файла-образа.

Да фиг с ними system-wide бэкапами. У вас в линухах даже конфиги автоматом не бэкапятся перед внесением правок. И запуск apt-get update php вам просто втупую затрет конфиг на дефолтный - и сервер ляжет. И ровно так же "обновляются" конфиги и всего остального софта. Особенно весело, когда это самый apt-get update выполняется внутри какого-нибудь скрипта-инсталлятора, где вы даже на его вопросы ответить не можете про то, что сделать с конфигами - и это если оно вообще про это спросит, что для кучи софта вообще-то не делается в принципе.

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

Там только сканирование списка файлов занимает несколько часов

Прочесть таблицу файлов занимает несколько часов? Вы их что, рекурсивно читаете? А бэкап больших файлов, видимо, побайтово делаете...

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

Серьезно? И какие же в винде способы соединиться с удаленным сервером по ssh? А других вариантов доступа к удаленным консольным серверам обычно и нет.

А в винде я могу бэкап сделать средствами самой ОС буквально в 2 клика

Будьте любезны показать, как вы к консоли удаленной винды подключаетесь и в два клика все делаете. Или вам надо лично слетать в датацентр, чтобы бэкап сделать?

У вас в линухах даже конфиги автоматом не бэкапятся перед внесением правок.

Феерический бред. Всегда есть резервные копии, и можно штатными средствами установки пакетов с ними работать. Поищите файлики с суффиксами .dpkg-old или .dpkg-dist, эксперт...

Прочесть таблицу файлов занимает несколько часов? Вы их что, рекурсивно читаете? А бэкап больших файлов, видимо, побайтово делаете...

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

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

Серьезно? И какие же в винде способы соединиться с удаленным сервером по ssh? А других вариантов доступа к удаленным консольным серверам обычно и нет.

Удивлю вас: в винде не нужно соединяться по ssh. Потому что для управления удаленным сервером у нас есть rdp - которое в том числе позволяет скопировать файлы просто тупо через буфер обмена. А для автоматизации процесса - на сервере можно поднять ftp, IIS или организовать маленькую "локальную" сетку через vpn. И всё это без доп. софта, тупо встроенными средствами ОС.

Будьте любезны показать, как вы к консоли удаленной винды подключаетесь и в два клика все делаете.

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

Мне всё сильнее кажется, что вы винду вообще в глаза никогда не видели - тем более серверную.

Феерический бред. Всегда есть резервные копии, и можно штатными средствами установки пакетов с ними работать. Поищите файлики с суффиксами .dpkg-old или .dpkg-dist, эксперт...

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

Внезапно, но в ntfs

Ну кто же на линуксе систему на ntfs ставит! А для ext4 даже есть debugfs, откуда можно таблицу файлов получить напрямую (для разработчиков). Ну и в целом рекурсивные вызовы до добра не доводят.

Потому что для управления удаленным сервером у нас есть rdp

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

Только как не сунешься - так выяснить какой был старый конфиг невозможно, копий нет

Копии лежат рядом с новыми версиями, поищите.

Ага, всё правильно - нет других ФС, кроме линуксовых.

Через килобитный канал попробуйте, ага.

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

Копии лежат рядом с новыми версиями, поищите.

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

Серьезно? И какие же в винде способы соединиться с удаленным сервером по ssh? 

Банально - через одну команду в консоли:

C:\WINDOWS\system32>ssh usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] destination [command]

Я не игнорирую. Это точно такие же костыли, просто более сложные. Вот у меня есть диск с 10 млн файлов. Запустите на нем rsync и я посмеюсь. Там только сканирование списка файлов занимает несколько часов - а вам надо это будет сделать 2 раза, чтобы сверить с целевым диском. И это ж банальная вещь, если мы хотим перенести только изменения.

Очевидно же, что rsync умеет поддерживат список файлов для синхронизации.
То есть просто вешаешь службу мониторинга изменений, скидываешь список измененных файлов в файлик и раз в день запускаешь rsync по этому списку.
Сам с такой ситуацией сталкивался, решилось за 2 вечера, чтобы отшлифовать скрипт.

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

Сам с такой ситуацией сталкивался, решилось за 2 вечера, чтобы отшлифовать скрипт.

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

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

Так любой софт будет делать тоже самое, если нужно кучу файлов на кучу файлов. Это база.
Но непонятно, почему вечность, если мы работаем со списком. Или вы считаете что отдельные бэкап утилиты работают по волшебству, а не по тем же самым принципам как rsync?

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

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

Или вы считаете что отдельные бэкап утилиты работают по волшебству, а не по тем же самым принципам как rsync

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

Еще можно свой фильтр-драйвер для ФС написать, и оптимизировать процесс сканирования через него.

Ну т.е. решения - есть. Просто они уже не внутри user-space и обычный (а тем более кроссплатформенный) софт им сильно проигрывает в скорости.

Почему личное? На работе была задача.

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

А вот если мы говорим про использование компьютера дома и более-менее редкие или вообще разовые задачи, то всё вот это написание наколенных скриптов вызывает скорее недоумение. Даже иногда бесит.

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

И вообще, нынче юзают снепшоты на файловых системах или встроенном штатном LVM и вообще распределенные файловые системы.

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

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

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

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

Плюс в линуксе вообще операционка как таковая настолько редко ломается

Я регулярно сталкиваюсь с тем, что "всё сломалось". Стандартный юз-кейс выглядит так: приходит клиент с сервером, который никто не трогал лет 5, на нем запускают apt-get update, после чего в системе половина конфигов меняется на дефолтные, а после перезагрузки сервер перестает грузиться, так как что-то не то в конфигах grub после апдейта ядра.

И сделать бэкап системного диска заранее просто нечем. Причем не просто бэкап, а такой, чтобы его в 2 клика откатить можно было. Вот как в винде, через стандартный восстановлятор, который всегда доступен и всегда работает.

Ну и мне очень смешно как вы приводите что-то вргоде veeam и считаете преимуществом именно windows

Про Veeam я вам предложил почитать - чтобы вы узнали про то, что реально нужно для нормальной системы бэкапов. В стандартной базовой винде бОльшая часть возможностей veeam тоже есть - но документацию по этому разбросана в разных местах и искать её дольше. Ваш dd+rsync - это прошлый век.

Вам уже про LVM снапшоты написали выше. Учитесь, а не стенайте.

Я регулярно сталкиваюсь с тем, что "всё сломалось".

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

Про Veeam я вам предложил почитать

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

Вы понимаете, что снапшоты - это не бэкапы? Это разные вещи и задачи у них разные!

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

Вы не можете бэкап (инкрементального) снапшота сделать? :) Вот как раз все в духе «древних» юниксовых тулзов. А когда-то всего этого не было, использовали chroot для установки нужной версии софта, и монтировали туда разделы с данными и проч. Соответственно, смена версий системы выполнялась как переключение на новый chroot. И так работало, хотя установка того же PostgreSQL в chroot куда заморочнее, чем фиксация снапшота и сохранение этого состояния в бэкап. Сейчас и overlayfs в докере очень неплох, тоже используют для сохранения состояний конфигов и системных бинарей. Вариантов уйма, и все надежные, при правильном использовании.

Вы понимаете, что снапшоты - это не бэкапы?

А вы понимаете, что снапшоты это как раз именно бэкапы?
Или что это тогда по-вашему?

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

Есть те, которые disaster recovery, а есть те, которые для 'да, вот ведь, не тот файл стер'.

А есть еще архивы, которые очень похожи, но не то же самое.

Как вам уже написали - это разные сущности. Они похожи, но разные - и используются для разного.

И, кстати, опять возвращаясь к исходной теме. Вот я открыл справку как пользоваться LVM - https://it-lux.ru/lvm-snapshot/ и вот ответьте мне, вы правда считаете что вот эта жесть с кучей команд и флагов лучше стандартного бэкапа одной-двумя кнопками в винде? Кстати, снапшоты там тоже есть, если вдруг захочется.

какая жесть, простите?
вы уже не шутите, а явно лжете про 1-2 кнопочки в винде.
Любая настройка в GUI Также требует времени, разбирательства и так далее.
Если вы 10 лет работаете с каким-то софтом и наизусть помните кнопочки, то уважте людей, которые 10 лет работают с другим софтом и печатают в слепую.
По времени настройки будет практически сопоставимо.
Но в Линукс это будет еще и бесплатно и входит в штатную поставку.

Там реально две кнопки - вот, тут можете скриншоты посмотреть https://remontka.pro/backup-windows-10/
Я и говорю, что вы вообще винду в глаза не видели, но делаете какие-то выводы неизвестно на чем базирующиеся.

Если вы 10 лет работаете с каким-то софтом и наизусть помните кнопочки

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

По времени настройки будет практически сопоставимо.

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

Но в Линукс это будет еще и бесплатно и входит в штатную поставку.

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

Вообще говоря в линксах десктопного разлива эквивалент истории настраивается точно так же. И тоже где-то после установки. Вендоры уже давно прикрутили.

А образ системы у винды - у меня всегда вопросы вызывал 'а что туда, собственно, попадет? Это полный образ диска или как? Файлы с диска D туда попадут? ' Это к вопросу о логичности.

Или 'а как мне этот образ прочитать или вытащить пару файликов из него, если я не хочу все восстанавливать?'

А образ системы у винды - у меня всегда вопросы вызывал 'а что туда, собственно, попадет?

Так вроде ж на первом шаге вас и спрашивают, что именно в образ положить. Если вам только систему - то собственно весь системный раздел там и будет + обязательные доп. разделы с загрузчиком и софтом для восстановления при сбоях. Короче, всё что нужно, чтобы восстановить рабочую систему. Там же, при желании, в этот образ можно и другие диски добавить.

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

Или 'а как мне этот образ прочитать или вытащить пару файликов из него, если я не хочу все восстанавливать?'

Тупо. Двумя кликами. По файлу. В поводнике.

Не надо думать, не надо гадать. Оно просто работает.

Кнопочки совершенно нелогичны.

Я вот не понимаю "выделить 10% дискового пространства на бэкапы". Бэкапы чего?
Рабочего стола? А если у меня там лежит папка с фильмами, какие попадут в бэкап какие нет?

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

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

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

В Линуксе да, полезно читать документацию по командам, но ты точно представляешь как все работает под капотом. Там не будет неопределенных и непредсказуемых вещей в плане перформанса или еще чего-то. Все очень логично. И я не понимаю, что вам неясно, когда я вам описал как на практике работал скриптик, который бэкапировал изменения на диске с миллионом файлов рсинком и уходило на это минимум времени. Удобно как-то вырывать удобные из контекста куски фраз вопреки логике и писать нелогичную претензию...
Наверное стоит свернуть этот диалог с человеком, который не зная ничего утверждает что я никогда не видел Windows. Мне, виндузятнику в общем-то, с контрибуцией в FAR, который как всем известно является центром вселенной в Windows ;)

Я вот не понимаю "выделить 10% дискового пространства на бэкапы". Бэкапы чего?

Вы опять что-то своё придумали и с этим боретесь? В приведенной мной ссылке вообще ни разу не упоминается 10% и даже просто %.

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

Чудо какое-то! Мне тоже не нужно думать про реестр (я вообще про него не думаю - удивительное дело!), набор уникальных драйверов и привязку к хардвару. Потому что винда сегодня спокойно запускается на любом железе, достаточно просто диск с ОС переткнуть туда. Но вы об этом не знаете, потому что у вас ВинХР всё ещё "современная ОС".

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

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

У всех ОС есть свои особенности. Почему в линуксе это хорошо, а в винде, внезапно, ужас-ужас?

В Линуксе да, полезно читать документацию по командам, но ты точно представляешь как все работает под капотом.

И сколько процентов пользователей это реально делают? Вот именно чтобы разобраться? Особенно вон те, кто десктоп-Убунту ставит, потому что "она проще"? Вы понимаете, что полтора гика - это не весь мир?

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

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

Наверное стоит свернуть этот диалог с человеком, который не зная ничего утверждает что я никогда не видел Windows.

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

Но вы об этом не знаете, потому что у вас ВинХР всё ещё "современная ОС".

Пожалуйста, приведите мою цитату с этим утверждением?

и нет кучи вопросов про то, как почистить невидимые иноды на диске

Какие невидимые иноды и зачем их чистить? Это стандартная файловая структура для файловых систем линукса, они просто есть. Или в виндовс кто-то чистить МФТ файл?

Особенно вон те, кто десктоп-Убунту ставит, потому что "она проще"? Вы понимаете, что полтора гика - это не весь мир?

Так я то тут причем? Я не из этих.

вы постоянно рассказываете про винду какую-то невероятную дичь

Какую дичь? Цитаты плиз.

Именно поэтому вы нам упорно рассказываете про проблемы реестра виндовс

Еще раз мою цитату про проблему реестра виндовс?

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

Какие невидимые иноды и зачем их чистить? Это стандартная файловая структура для файловых систем линукса, они просто есть. Или в виндовс кто-то чистить МФТ файл?

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

И как мы уже ранее выяснили - всё это происходит ещё и потому, что у вас в ФС файлы вместо удаления становятся просто невидимыми.

Я не говорю, что давайте переходить на NTFS. Но мне вполне очевидно, что работать с невидимыми сущностями (которые большинство системных утилит вообще не могут показать/удалить) - это неудобно.

Какую дичь? Цитаты плиз.

Мне все ваши комментарии перечислить? У вас в каждом - ошибки или просто незнание вопроса. На что вам не только я, но и другие уже несколько раз указали.

Еще раз мою цитату про проблему реестра виндовс?
Пожалуйста, приведите мою цитату с этим утверждением?
Есть ощущение, что вы не различаете собеседников

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

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

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


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

И как мы уже ранее выяснили - всё это происходит ещё и потому, что у вас в ФС файлы вместо удаления становятся просто невидимыми.

Что? Файлы удаляются, а не становятся невидимыми. Мы обсуждали нечастый кейс, когда открытый процессом файл можно удалить.

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

Мне все ваши комментарии перечислить? У вас в каждом - ошибки или просто незнание вопроса. На что вам не только я, но и другие уже несколько раз указали.

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

Ситуация, когда кто-то хранит десятки миллионов файлов на диске весьма нечастая

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

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

Что? Файлы удаляются, а не становятся невидимыми. Мы обсуждали нечастый кейс, когда открытый процессом файл можно удалить.

Так у вас вместо удаления файлов фактически удаляется только его имя. Сам файл физически на диске как был в виде иноды - так и остается. Ну, понятно, что я имею ввиду случаи когда "что-то пошло не так" и файл вовремя не отпустили или еще что-то такое. Т.е. с течением времени вы сможете получить кучку занятых инод, к которым не привязаны имена файлов, доступные ls. И вы даже не узнаете об этом.

Логи это не миллионы файлов. Это десятки/сотни ну тысячи. но никак не миллионы.
Плюс это просто берется и чистится, или настраивается ротейт.
Нет там ничего невидимого.

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

Я вас очень удивлю, но так работают ВСЕ файловые системы. И ntfs в том числе. Если бы приходилось удалять файлы целиком, то удаление занимало бы столько же времени, сколько копирование.
А в fat16/fat32 еще и восстановить файл было возможно с высоким шансом - восстановить первую букву в имени файла и чуть подшаманить file allocation table

Айнода это не файл, это место где хранится мета-информация про файл, Айноды переиспользуются под другие файлы.

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

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

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

Логи это не миллионы файлов. Это десятки/сотни ну тысячи. но никак не миллионы.

Зависит от кривизны рук программистов и количества прошедшего времени: https://superuser.com/questions/1733104/millions-of-files-in-a-single-directory

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

Или вот, конкретно пример попытки бэкапить диск с 40 млн файлами https://stackoverflow.com/questions/28444401/ext-performance-handling-millions-of-files

Плюс это просто берется и чистится, или настраивается ротейт.
Нет там ничего невидимого.

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

Я вас очень удивлю, но так работают ВСЕ файловые системы. И ntfs в том числе. Если бы приходилось удалять файлы целиком, то удаление занимало бы столько же времени, сколько копирование.

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

Что за бред? Это что такое должно было случиться?

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

Или вот https://askubuntu.com/questions/231585/running-out-of-inodes

Или вот, замечательное: https://superuser.com/questions/1067904/cant-find-why-inodes-running-out - насоздавалось дофига файлов сессий веб-сервера. Это прям вообще как нефиг делать, я лично встречал серваки с 15 гигами накопившихся за полгода сессий, а это, в общем-то, мелкие-мелкие файлики. Мне повезло, сервер правильно настроили и сессии хранились в БД, а не на диске, как это задано в php.ini по умолчанию.

Не то чтобы у NTFS не было своих проблем. Но система с инодами нифига не панацея.

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

Это конечно прикольно, что "регулярные истории" вы встречаете именно на стековерфлоу, с миллионной аудиторией, где подобных вопросов поднято полтора раза. Лично вы с таким часто встречаетесь среди оффлайн знакомых? Я подозреваю, что нет.

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

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

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

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

Если взять fat16, то я могу вас удивить, что несмотря на размер диска, там нельзя было создать больше 65535 записей. Видимо тоже какие-то невидимые айноды были? В FAT32 таже фигня, только лимит наизусть не помню.
Если же взять современные системы ntfs и ext4, то у них одинаково - около 4 млрд файлов максимум. При этом в ext4 можно увеличить это количество файлов, а в ntfs - нет

Лично вы с таким часто встречаетесь среди оффлайн знакомых? Я подозреваю, что нет.

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

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

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

Так что я бы вообще начал с вопроса, какого на линуксах у большинства ПО (включая системные) дефолтные настройки в таком состоянии?

...Мне как пример отношения разработчиков больше всего нравится mysql/mariadb и иже с ними - там в 2024 году в комплекте идет конфиг, рассчитанный на запуск на чем-то уровня селерона начала 2000-х годов выпуска - с памятью в 256-512 мб и 1-2 ядрами. И ведь куда не сунься - весь линукс-софт в таком же состоянии!

Единственный случай, когда "невидимые айноды", это когда процесс, который держит файлы, не убит. То есть обычный рестарт все это дело чистит.

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

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

Да какая разница, сколько там лимит? Вам не про это пишу. В fat/ntfs вы все эти файлы увидите любым софтом, хоть даже проводником - сразу увидите, вам не нужно лезть куда-то в потроха ФС. А в ext3/4 - вам придется лезть в спец. софт и работать с незапоминаемыми людьми числовыми данными, вместо нормальных имен. Это просто тупо неудобно, неприятно и разрабатывать такое - это фу-фу-фу.

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

А в ext3/4 - вам придется лезть в спец. софт и работать с незапоминаемыми людьми числовыми данными, вместо нормальных имен.

Каким спец софтом???
lsof это штатный софт, входит в поставку всех линукс и юникс систем, утилита известна с прошлого века.
Вы изобретаете каких-то прям совсем убогих сисадминов, которые "носят вам свои сервера с проблемами". В 2024 году кто-то носит свои сервера другому админу?
Да для того, чтобы сервер принести, его нужно хотя бы выключить, а значит открытые дескрипторы закроются и все.

В ext4 есть множество преимуществ, которых нет у ntfs и наоборот. А если посмотреть другие файловые системы, которые свободно доступны для линукс, то окажется что ntfs вообще не самая полезная система для ситуаций, где постоянно появляется миллионы файлов.
Берите btrfs, zfs - там вообще удобство работы зашкаливает. Онлайн ресайз на различных девайсах, автоматическая дедупликация, снепшоты, отказоустойчивость от физических и логических ошибок...

Я не понимаю, что вы вцепились в слово "невидимые айноды", и считаете что это огромная проблема, хотя там вообще нет проблемы. Это преимущество.

А откуда вообще берется привычка гадать? Неужели сложно прочитать пару строк, чтобы знать? [...]

У вас какой-то другой tar. Вот мой:

$ tar -h
tar: You must specify one of the '-Acdtrux', '--delete' or '--test-label' options
Try 'tar --help' or 'tar --usage' for more information.

Спасибо, очень понятно :-) Разумеется, tar --help выдаёт более подробную информацию, но там другая проблема: 325 строк информации.

У вас какой-то другой tar

"Гранаты у него не той системы" (с)

tar --version
bsdtar 3.5.3 - libarchive 3.5.3 zlib/1.2.12 liblzma/5.4.3 bz2lib/1.0.8

Разумеется, tar --help выдаёт более подробную информацию, но там другая проблема: 325 строк информации.

24 строки:
tar --help|wc -l
24

А насколько bsdtar распространён за пределами, ну, BSD-подобных систем? Как мне кажется, гнутый тар должен быть в линуксе распространён больше.

Ровно настолько, насколько вы его себе установите. Хотите, под дебианом, https://packages.debian.org/bookworm/libarchive-tools, а хотите, на макос из homebrew (где также есть и gnutar, кстати говоря).

Или когда я думал, что архивы извлекать это extract, а разработчики tar решили, что extract.

с таром еще веселее, у него есть зависимость от того чья это реализация, GNU, BSD или вообще наследие больших юниксов

вроде и там и там тар, а набор параметров и особенности работы везде разные

помнится в солярке наткнулся на то что в 2010 году солярковый тар не поддерживал юникод в именах файлов..вот просто не поддерживал и всё

Вот мне тут посоветовали идти коммитить в tar, и я даже пошел. Но понял, что ничего не понял, и одного репозитория на софт 40+ летней давности, судя по всему, нет.

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

После этого попробуйте без гугла найти имя оснастки управления дисками, к примеру

Правой кнопкой по кнопке пуска, выбрать "Управление дисками" или правой кнопкой на ярлыке "Компьютер" на рабочем столе и выбрать "Управление" а там уже опять будет этот подраздел "Управление дисками"?

Я уж даже не говорю о том, что при втыкании нового диска винда сразу предлагает его разметить. Причем так предлагает, что пропустить это невозможно. Что делает линукс? Да в лучшем случае где-нибудь в логах при загрузке чего-нить напишет - и всё

А на практике постоянно приходилось эти ключи править после установки и удаления разных программ, что в вин98, что в вин2000, что в новой xp. Плюс еще искать, как сделать нужное для своих инсталляторов. Если уж вы говорите про конфиги в линуксе, то реестр виндоус это прямой аналог.
Вы вообще-то знаете, что на дисках данные обычно лежат, на кой их каждый раз форматировать с удалением всех данных? Воткните в винду диск с файловой системой Ext3 и попробуйте его примонтировать и прочитать, а не форматировать… Под линуксом нет проблем виндовый диск открыть (равно как под маком подключить ntfs или ext3).

что в новой xp

Охренеть, а в новой Ubuntu 4.10 как было?

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

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

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

Хм, любопытно. А зачем ее менять?

Лично я меняю после переустановки Windows, но это потому что у меня софт лежит на левом диске и ожидает, что даже в случае переустановки винды, этот самый софт и нужные ему файлы будут лежать по старым "координатам".

А вы зачем меняете?

Библиотека должна быть на диске L: .

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

На практике, за прошедшие 15 лет был только один раз когда я правил ключи реестра: 3 года назад после экспериментов с даунвольтингом и полученной нестабильностью процессора винда занесла нужную мне программу в список Fault Tolerant Heap (т.к. в процессе ее работы сбои процессора проявлялись чаще и вместо синего экрана ОС просто боролась за стабильность работы как могла) из-за чего та стала работать раза в два медленнее. Причем об этом мне было написано в логах и решение я гуглил.

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

Воткните в винду диск с файловой системой Ext3 и попробуйте его примонтировать и прочитать, а не форматировать…

Воткните в линукс диск с ntfs и попробуйте с ним поработать на нормальном уровне: права на файлах менять, симлинки создать/поменять/удалить.

Ну и да, специально для вас https://windowsreport.com/ext4-windows-11/
Или вы настолько любитель древних ОС, что ext3 вам принципиально?)

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

Вы разницу между стандартными и нестандартными вещами вообще понимаете? Другой шелл - это нестандартная фича ОС, её в принципе никто и никогда не поддерживал и то, что такая возможность есть - это просто повезло, завтра её могут вообще выпилить.

Зато без гугла узнать как в линуксах распаковать .tar.gz - это минут 5-10 чтения справки (я вообще уже просто mc запускаю ради этого - это тупо быстрее).

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

Зато без гугла узнать как в линуксах распаковать .tar.gz - это минут 5-10 чтения справки (я вообще уже просто mc запускаю ради этого - это тупо быстрее).

Можно еще поставить dtrx:

dtrx extracts archives in a number of different formats; it currently supports tar, zip (including self-extracting .exe files), cpio, rpm, deb, gem, 7z, cab, rar, lzh, arj, and InstallShield files. It can also decompress files compressed with gzip, bzip2, lzma, xz, lrzip, lzip, or compress.

Почему в линуксе нет чего-то такого из коробки - решительно непонятно.

Имейте совесть - в свое время все игровые клубы этой «нестандартной фичей» пользовались, для запуска собственной оболочки! И для запуска долгих вычислений, скажем, на неделю, это было необходимо- иначе за это время гарантировано виндоус эксплорер «вылетит» с ошибкой. И добавление программ, запускаемой для нужных расширений файлов это абсолютно типовая задача, почти любой установщик это делает.
Как распаковать и запаковать архив консольной командой в линуксе в справке прямо примеры даны, сразу после списка ключей, так что 5 секунд чтения, а не 5 минут. Вы хоть раз эту справку открывали?… ну и команда change mode (chmod) куда как интуитивное название, указываем плюс или минус для изменения прав или список всех назначаемых буквами или цифрами, флаг рекурсии, куда проще?

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

Подождите-ка. Это делает не пользователь, а софт. И для разработчика софта в MSDN это все описывалось.

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

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

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

Даже во времена XP эксплорер не вылетал с ошибкой за неделю работы. И даже если вдруг - есть ctrl+alt+del -> диспетчер задач -> выполнить -> explorer (даже в вин11 работает!) и он перезапустится.

Вообще, "убийством лишнего" в винде надо было заниматься во времена Pentium1-2 и Win95-98, чтобы винамп и медиаплееры не тормозили. Уже во времена XP производительность была достаточная, чтобы не заниматься извращениями.

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

И??? Установщик это и сделает - если вы взяли стандартный, это его базовый функционал и есть. А если не стандартный, то вы сами себе геморрой нашли на ровном месте.

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

Как распаковать и запаковать архив консольной командой в линуксе в справке прямо примеры даны, сразу после списка ключей, так что 5 секунд чтения, а не 5 минут. Вы хоть раз эту справку открывали?…

Открывал, поэтому и говорю, что если у вас на руках именно tar.gz (эта комбинация просто на каждом шагу в линуксах), то вам надо будет или 2 разных справки читать по каждому, или детально изучать справку tar, чтобы понять, как его заставить gz извлечь. Всё это требует времени - и тупо проще загуглить, ответ будет сразу же в результатах, даже переходить никуда не нужно.

Почему за 30 лет существования линукса никто так и не сподобился написать системные заглушки pack/unpack без лишних параметров для тривиальных вещей - фиг его знает. Философия Линукс: "пользователь должен страдать".

ну и команда change mode (chmod) куда как интуитивное название, указываем плюс или минус для изменения прав или список всех назначаемых буквами или цифрами, флаг рекурсии, куда проще?

Ну так у нас же Линукс! Юзер должен страдать и использовать заклинания - вот, например https://phoenixnap.com/kb/chmod-recursive или вот https://superuser.com/questions/260925/how-can-i-make-chown-work-recursively
В итоге вы узнаете, что правильная команда выглядит как sudo find Example -type d -exec chmod 755 {} \; - в каком месте это "просто" и "легко разобраться" я не знаю.
Опять-таки, не понятно, почему нельзя сделать системную команду-заглушку для типовой операции "вон та папка с содержимым теперь принадлежит юзеру Васе".

Но даже тогда это было именно нестандартное извращение

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

Даже во времена XP эксплорер не вылетал с ошибкой за неделю работы.

Каждый день вылетал не раз, равно как и офис и проч. А виндоус милениум так вообще за несколько минут мог вылететь, чем и был печально известен. Не знаете, так и не говорите.

Установщик это и сделает

А установщик кто вам напишет, папа римский? Куча программ тогда копировались просто в виде экзешника, к ним батник установщик сами писали, чтобы руками со всей настройкой не ковыряться. Но вы и этого не знаете и не умеете, знаток виндоус?

если у вас на руках именно tar.gz

Открываем справку и листаем до примеров:

man tar
EXAMPLES
The following creates a new archive called file.tar.gz that contains two files source.c and source.h:
tar -czf file.tar.gz source.c source.h

 To view a detailed table of contents for this archive:
       tar -tvf file.tar.gz

 To extract all entries from the archive on the default tape drive:
       tar -x

Видим, что команда tar -czf file.tar.gz ... создает архив, а для извлечения нужно вызвать tar -x, так что в первой команде меняет ключ c (create) на x (extract) и получаем команду распаковки tar -xzf file.tar.gz Это все занимает примерно 5 секунд. вы не способны прочитать короткий и понятный текст и заменить букву в команде? Ох уж эти клиповые тиктокеры.

правильная команда выглядит как sudo find Example -type d -exec chmod 755 {} ;

Что здесь сложного? sudo это запуск с правами суперпользователя, find это поиск в заданной директории, type d это поиск директорий, -exec запуск команды для обработки всех результатов поиска, chmod установит нужные права, {} подставит имя найденного файла (кстати, вы кавычки потеряли - строка с пробелами не будет обработана корректно), ; завершение команды. Обычный простой DSN (domain specific language).

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

На самом деле и в винде с правами не с первого раза разбираешься, если не постоянно с этим работаешь. Я ни за один лагерь не топлю сейчас, но за справедливость :)

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

В виндоус, чтобы всего лишь удалить открытый файл, нужно написать программу на Visual C++, которая будет мониторить, когда файл перестанет использоваться и закроет его, а потом завершится сама. Ничего себе, просто. В линукс открытый кем-то файл можно просто удалить, и он будет удален при его закрытии операционной системой автоматически. Но фанаты виндоус будут рассказывать, как им все просто, а потом плакаться на форумах, что ничего не работает даже после ежедневной переустановки виндоус :)

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

Я не считаю, что это нормально. Особенно при работе по сети.

Причем тут сеть? К примеру, если нужно регулярно скачивать и открывать большие файлы (скажем, космоснимки), оптимальный вариант это сразу после открытия их удалять, тогда не используемые сразу будут исчезать и освобождать место (открыли все в нужной программе, как только какой-то закрыли, он автоматически удаляется), а используемые будут доступны до конца использования (закрытие программы, в которой файлы открыты, автоматически их все удаляет). А иначе места не хватит и придется вручную проверять, какие из файлов можно удалить, или соответствующую утилиту писать. Вероятно, виндоус пользователи покупают SSD с запасом на пару десятков терабайт, чтобы компенсировать проблемы винды? Дорогой "костыль" получается.

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

То есть, всё сводится к тому, что в этой вашей нужной программе должна быть особенная галочка, которая включает такой особенный режим просмотра. Не в ОС, а в программе.

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

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

В каждой программе должна быть специальная галочка с названием "решение для тупого виндоуса"? Ну ок, начните реализовывать с микрософт офиса :)

Космоснимки каждый день никто не закачивает и не смотрит.

Геологи, геофизики, физики, специалисты по обработке больших данных и еще миллионы человек делают именно это.

Потому что большую часть контента можно смотреть прямо в браузере

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

К слову, если мне надо локально просто глянуть картинку один раз

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

Я не считаю, что это нормально. Особенно при работе по сети.

Ваша проблема, что вы почему-то считаете это ненормальным, потому что привыкли иначе.
Я, например, считаю что у ntfs и posix разные архитектуры, от которых это все и двигается.
Нельзя в ntfs внедрить фичу удаления открытого файла без переделки архитектуры. Нельзя в POSIX файловых системах лочить файл, без переделки архитектуры.

Просто в винде лочится имя файла, а в линуксах айнода. И все.

Что за бред вы пишете, какая программа на Visual C++??? Вы какой-то воинствующий мракобес, который винду в глаза не видел, но заранее ненавидит...

Если файл кем-то занят, то, очевидно, что удалять его - плохая идея. Я даже не говорю о том, что сама задача бредовая, но к вам вопрос: что в этом случае делать процессу, который с удаляемым файлом работает?? С шумом и треском умереть? Или что?

Более того! Если отдать команду на удаление файла, то если процесс, его открывший, завершится, то файл таки будет удален. И было так всегда, во всех версиях. Т.е. проблема-то у вас вообще не в удалении файлов...

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

Если файл кем-то занят, то, очевидно, что удалять его - плохая идея. Я даже не говорю о том, что сама задача бредовая, но к вам вопрос: что в этом случае делать процессу, который с удаляемым файлом работает?? С шумом и треском умереть? Или что?

Разделять имя файла и хендлер, как это сделано во всех POSIX совместимых системах.

И что дальше? Вот есть процесс, он открыл файл, читает/пишет в него. Файл - удалили. Что должен дальше делать процесс в такой ситуации?

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

И что дальше? Вот есть процесс, он открыл файл, читает/пишет в него. Файл - удалили. Что должен дальше делать процесс в такой ситуации?

Удалили не файл, а имя файла. Сам файл держит процесс, может его свободно читать и писать, пока не выполнит close.
Но имени файла в директории уже нет.
Можно создать новый файл с таким же именем, например (автоапдейт в *nix соответственно гораздо проще выполняется).

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

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

Можно создать новый файл с таким же именем, например

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

(автоапдейт в *nix соответственно гораздо проще выполняется).

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

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

Пишут не в имя файла, а в открытый хендлер. Другой процесс не может писать в файл, который кем-то открыт. Это одинаково для всех систем. Просто в Линукс хендлер завязан на inode, в виндовс на имя файла.

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

Я просто опустился на низкоуровневое объяснение, как файловые системы хранят данные. И для меня очевидно это поведение, и вдобавок понимая как это реализовано, я отлично понимаю что ни MS ни POSIX системы не будут идти друг другу на встречу и обмениваться фичами из-за того, что эта реализация слишком глубоко в архитектуре.

Как только они закроются - файл мгновенно удалится.

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

стандартная команда stat показывает вам все метаданные о файле - аттрибуты, тайминги, права, размеры

> Можно создать новый файл с таким же именем, например

ну вот единственный плюс разве что. Но я бы не сказал, что такое прям часто надо.

То есть? Это постоянно надо! Регулярно обновляется софт, в разработке это вообще каждый новый билд надо запустить, особенно если ты не работаешь с контейнерами

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

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

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

Если будете обновлять какой-нить winamp.exe, msword.exe, far.exe, что будет происходить? сколько нужно накопить файлов, как переделывать ярлыки в меню пуск, что будет происходить с поиском и индексированием?
Какой-то очень странный способ работы с файлами.
А если это конфиги файлы с данными, как их из программы открывать? тоже все по суффиксам, и word12345.exe будет искать и работать только word12345.ico ?

Другой процесс не может писать в файл, который кем-то открыт.

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

Про айноды обычные пользователи обычно и не заморачиваются.

проблема с айнодами не в том, что линукс с ними как-то там хитро работает, а в том, что у вас, фактически, нет нормальных инструментов. В общем случае вы даже не сможете узнать, что у вас остались открытые и уже удаленные "файлы" (читай - айноды) и от этого у вас место закончилось, например. Т.е. зная-то что искать вы, конечно, найдете. Но это еще догадаться надо. А в винде неудалившийся залоченный файл - вот он, в глаза бросается.

Имхо, тут все-таки не техническая проблема, а идеологическая.

То есть? Это постоянно надо! Регулярно обновляется софт, в разработке это вообще каждый новый билд надо запустить, особенно если ты не работаешь с контейнерами

Мне кажется, что удалять залоченный исполняемый файл (потому что его процесс ещё жив) на новый - какая-то очень тупая идея. Которая гарантированно приведет к тому, что у вас будет запущено в системе несколько версий этого ПО, причем фиг знает как такую ситуацию вообще определить и разруливать без перезагрузки ОС.

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

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

Если будете обновлять какой-нить winamp.exe, msword.exe, far.exe, что будет происходить? сколько нужно накопить файлов, как переделывать ярлыки в меню пуск, что будет происходить с поиском и индексированием?

Так очень просто - сначала вы закрываете процесс и только потом обновляете его файлы. Иначе вы гарантированно получаете какой-то треш: у вас в процессах висит старая версия, при этом на диске уже новая и когда вы её запускаете - то в общем случае получаете две версии работающие одновременно. Я в принципе не понимаю, нафига такое нужно - с этим наоборот следует нещадно бороться во избежание странных неотлаживаемых проблем.

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

А если это конфиги файлы с данными, как их из программы открывать?

Т.е. вы хотите править конфиг одной программой, пока с ним работает другая? Так начнем с того, что если такая фича нужна, разработчик той программы должен был выставить соотв. shared-флаг при открытии файла конфига. Если он этого не сделал, то скорее всего он это таки сделал специально именно во избежание проблем - вот тех самых, которые вы и пытаетесь сейчас создать)

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

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

проблема с айнодами не в том, что линукс с ними как-то там хитро работает, а в том, что у вас, фактически, нет нормальных инструментов. В общем случае вы даже не сможете узнать, что у вас остались открытые и уже удаленные "файлы" (читай - айноды) и от этого у вас место закончилось, например. Т.е. зная-то что искать вы, конечно, найдете. Но это еще догадаться надо. А в винде неудалившийся залоченный файл - вот он, в глаза бросается.

Есть же список открытых хендлеров, все можно отследить, lsof - инструмент с начала времен.

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

Мне кажется, что удалять залоченный исполняемый файл (потому что его процесс ещё жив) на новый - какая-то очень тупая идея. Которая гарантированно приведет к тому, что у вас будет запущено в системе несколько версий этого ПО, причем фиг знает как такую ситуацию вообще определить и разруливать без перезагрузки ОС.

Так файл не удаляется, удаляется его имя в директории.
Это просто имя файла в директории, а не сам файл.
В виндовых файловых системах метаинформация о файле лежит прямо в directory entry, поэтому имя файла собственно это не имя файла а управляющая структура.

В *nix имя файла это просто directory entry с указанием куда дальше бежать. Например это может быть имя файла и директории, с ссылкой на inode. Все метаданные хранятся уже в айноде.
Или это может быть soft link, с ссылкой на другой path (в винде ярлык это отельный полноценный файл), не занимающий айноду.
У файла или директории вообще может быть несколько равноправных имен, и все ссылаются на ту же самую айноду.

Которая гарантированно приведет к тому, что у вас будет запущено в системе несколько версий этого ПО, причем фиг знает как такую ситуацию вообще определить и разруливать без перезагрузки ОС.

Закрыть ненужные процессы? Зачем ОС перегружать??

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

Так если я закрываю процесс а потом обновляю файл, кто будет обновлять файл, если процесс закрыт?
У вас получается для обновления нужно создать еще один процесс, а чтобы его запустить надо создать отдельный файл-инсталлер, чтобы была возможность запустить новый процесс отдельно и остановить старый. Потом уже скачать файл, и опять запустить его, прибив инсталлятор.

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

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

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

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

Нет, это стандартная фича существующая много-много лет. Простой гуглинг дает нам

you need to look at CreateFileEx and WriteFileEx and make use of lpOverlapped. This allows for async reading and/or writing from/to the same file at the same time in multiple threads.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365748(v=vs.85).aspx

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

Более того, всё тот же гугл говорит, что такое же есть и в линуксах. И это логично, т.к. возможность параллельной записи много где нужна: базы данных, торренты...

Иначе будет конфликт записей, если два процесс попробуют сделать это одновременно.

Конфликта не будет, если разработчик разрешил shared-запись. А если запретил, то он ожидает, что будут проблемы - собственно, поэтому и файл залочен и теперь его нельзя удалить, пока приложение его не отпустит.

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

Есть же список открытых хендлеров, все можно отследить, lsof - инструмент с начала времен.

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

Так файл не удаляется, удаляется его имя в директории.
Это просто имя файла в директории, а не сам файл.

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

Закрыть ненужные процессы? Зачем ОС перегружать??

Так я ж там чуть выше писал: вы удалили и заменили один исполняемый файл на другой, при этом сам процесс остался запущенным - потому что файл-то был залочен не зря же? В итоге у вас в памяти висят 2 версии софта с одинаковым именем, но с разным кодом внутри. Если они ещё и с конфигами по-разному работают, то приключения с отладкой вам просто гарантированы - и проще будет это всё перезагрузить нафик, чем пытаться разобраться, что происходит.

Так если я закрываю процесс а потом обновляю файл, кто будет обновлять файл, если процесс закрыт?

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

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

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

И это - лучше. Потому что заставляет разработчиков хоть как-то думать о процессе. А не полагаться на авось - что система им там все проблемы как-то сама разрулит.

Ерунду вы постите, копипастер чата гпт. Как вообще в здравом уме можно себе представить одновременную запись во множество позиций в одном (или разных) файле на жестком диске? Вы хоть понимаете, что там физическое позиционирование головки есть? И да, разумеется, ваш бредогенерированный текст на странице MSDN отсутствует.

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

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

Ну т.е. я не вижу необходимости в том, чтобы исполняемый файл обновлял сам себя

На вашей любимой винде примерно весь софт так и делает, но вы и об этом не знаете?

Как вообще в здравом уме можно себе представить одновременную запись во множество позиций в одном (или разных) файле на жестком диске?

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

Но ничего этого не существует, такой софт невозможно сделать, да-да.

Вы хоть понимаете, что там физическое позиционирование головки есть?

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

Номера инод и нужны для низкоуровневого интерфейса, а не для людей.

Ну вот и получается, что разработчики ntfs подумали о том, как люди этим будут пользоваться, а разработчики ext3/4 положили на людей большой болт. Традиционный линукс-подход "мучайтесь там сами, нам лень".

На вашей любимой винде примерно весь софт так и делает, но вы и об этом не знаете?

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

Любая база данных поддерживает одновременную запись в несколько разных мест файла

Вот как только добавите в ваше утверждение еще и "из разных процессов", тогда вы будете отвечать по контексту, а не на вырванную фразу

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

Вы меня всё сильнее поражаете своими знаниями...

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

Простите, вы вообще читать умеете? Или у вас функциональная безграмотность?
Еще раз процитирую, на мою фразу вы отвечаете, что процесс может разрешить shared доступ, чтобы другие процессы могли писать в один и тот же файл? При этом утверждаете, что в файл можно еще и писать.

> Другой процесс не может писать в файл, который кем-то открыт.

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

Причем тут потоки. В пределах одного процесса ясен пень что потоки шарят общие ресурсы, в этом их прелесть.

Еще раз процитирую, на мою фразу вы отвечаете, что процесс может разрешить shared доступ, чтобы другие процессы могли писать в один и тот же файл? При этом утверждаете, что в файл можно еще и писать.

Это вопрос или что? Да, такая возможность есть в WINAPI, о чём вообще спор-то?

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

Более того, это базовый функционал и в линуксах тоже. И тоже существует там кучу десятков лет уже.

Погуглите уже что-ли...

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

Это не в Линукс, а в POSIX операционных системах

Это не в Линукс, а в POSIX операционных системах

Зачем такая точность... Вы бы еще про идеи plan 9 упомянули, вот тут комментаторов от винды вообще порвет :)

Воткните в линукс диск с ntfs и попробуйте с ним поработать на нормальном уровне: права на файлах менять, симлинки создать/поменять/удалить.

Неправомерный пример.

ext3 - opensource файловая система. ntfs - проприетарная.

Ну так вам шашечки или ехать?

тут вы затронули вопрос, который, лично для меня, напрочь перечеркивает все плюсы windows - логи. если в linux, в случае проблемы, в подавляющем большинстве случаев, я получу содержательную человеческую информацию о проблеме, возможно даже с рекомендациями по решению, то в винде это обычно "ошибка 0х47689985 в модуле huemoe.sys" и делай с этим что хочешь.

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

то в винде это обычно "ошибка 0х47689985 в модуле huemoe.sys"

Но это число хотя бы можно нагуглить. Это вам еще повезло, а то последнее время всё чаще бывает "something went wrong" и сиди, гадай. Кстати, и в линуксах сейчас тоже такое встречаться стало.

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

Ну то есть вы программе rsyslog зверски отломали, вероятно, и уровни логирования не настроили, но жалуетесь на линукс? Может, не стоит на зеркало пенять?

Я вообще её не настраивал. Зачем я это должен делать, разве ОС такие базовые вещи не должна из коробки уже настроенными давать? У нас ОС для работы или конструктор "собери сам"?

Справедливости ради, запись в виндовые логи возможна и в человеческом виде. Это уже к разрабам софта, который туда пишет (а чаще не пишет, это сама система туда так рапортует).

Конкретно у нас для каждой новой программы внедряется стандартный ILogger. Помимо мессаджбоксов, где есть краткая инфа, можно и в логах посмотреть более подробно.Однако, логи больше для нас, разрабов, юзерам же хватает и MB. Из этого вытекают мысли, надо ли тогда вообще что-то писать в логи, кроме отладочной инфы? 🤔 Пока что пишем, но уже планируем отказываться - наши юзеры ленятся читать, им проще нас теребить по телефону. Я сильно сомневаюсь, что такие неуверенные пользователи ПК полезут какие-то логи смотреть

как вывести мой компьютер на рабочий стол не ярлыком? без интернета я например не знаю.

Какой-то крайне неудачный пример с оснасткой? Есть люди, у которых команды запуска разных оснасток не отлетают от зубов? По крайней мере devmgmt, diskmgmt, lusrmgr?

В винде он не нужен, потому что по её идеологии всё что есть - доступно в виде соответствующих галочек (с описаниями!) в настройках.

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

Про то, что ряд проблем в винде решается только через постель через реестр, вспоминать не будем.

У меня жир аж через монитор проступил)

Пруфов, конечно же, не будет)))0

А Ubuntu на ноутбуке сразу из коробки работает, дефолтному юзеру даже делать ничего не нужно))) Подумаешь, Wi-Fi может тупо не работать) С телефончика загуглит, с терминалом поприседает, мб и починит ;) /s

Как четверть века назад прописывался новый репозиторий, так и сейчас в apt sources.list прописывается, что для бинарей, так и для сырцов. Написанные десяток лет назад скрипты инициализации дебиана или убунты в облаке амазоне легко адаптируются (версию постгреса заменить на новую, разрешить ему памяти 10-20 гигабайт использовать вместо одного-двух, благо минимум 32ГБ доступно сейчас, и тому подобное) для запуска на современных версиях в облаке гугла. Какие тут проблемы?

Меня в свое время крайне впечатлила вот эта инструкция https://habr.com/ru/articles/683716/
Очень простая, доступная любой домохозяйке. А главное, что все команды и их последовательность можно сочинить самому и без гугла! /sarcasm

Написанные десяток лет назад скрипты инициализации дебиана или убунты в облаке амазоне легко адаптируются

ой, а кто их написал? А повторить сегодня это сможете, без гугла, просто используя встроенную справку и man? Или это уже что-то наравне с подвигом?

Странный у вас вопрос, кто писал мои скрипты и деб пакеты. Пишу и новые, в чем проблема-то? Если за каждой командой в интернет лезть, это не работа в консоли будет, а дурдом; линуксовый шелл и утилиты сделаны интуитивно понятными и простыми в использовании.
Помнится, когда-то для поддержки koi8 на внешних накопителях приходилось самому код утилиты монтирования править и компилировать, для поддержки винмодема собирать драйвер из исходников и тоже по манам и исходникам разбираться, что в коде поправить и так далее, а интернета тогда вовсе не было. Линукс существует гораздо дольше, чем большинству линукс пользователей доступен интернет, вы об этом не думали?:)

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

Не, ну т.е. понятно, что есть --help, есть man. Гугл опять-таки. Но вот я запускаю winrar/7zip и там сразу вижу две крупные кнопки "запаковать"/"распаковать" - любой дурак поймет куда тыкаться. Время на освоение программы - 0 секунд. Или даже просто проводник: тыкаем правую кнопку, там всё нужное опять-таки наглядно и логично.

И вот чем глубже я погружаюсь в линуксы - тем вот эта вся система "магических заклинаний" всё нагляднее проявляется. Она буквально везде, на любой чих: самому выискивать "как правильно" долго и сложно, проще нагуглить. Ну а нагугленное - это набор команд с какими-то ключиками, причем их никто и никогда не запомнит и не воспроизведет без того же гугла.

Я поэтому и говорю, что отбери у вас Гугл - и вся экосистема Линукса просто рухнет под своими накопившимися традиционными особенностями.

Поставьте консольный файл менеджер midnight commander (mc) и там можно в архив (включая деб пакеты, кстати) зайти как в папку и просто скопировать нужные файлы, есть меню с командами запаковки и распаковки и еще много всего. Если вам не нужно писать скрипты с упаковкой файлов по хитрым маскам и с заданным интервалом и отправкой их на удаленные хосты по ssh туннелям и так далее - то mc вам будет вполне достаточно, чтобы решить подобные проблемы. Или хотя бы шелл с вменяемым автодополнением поставьте (zsh, скажем), а не дефолтный (bash/dash) используйте, удивитесь, как все проще станет.

Ну лично я не смогу даже архив распаковать в линуксах

То есть?
unzip в линуксе отдельным файлом, там не нужны никакие специальные ключи чтобы распаковать.

Если же вы про tar/gzip. то c - create, x - eXtract, что можно посмотреть без интернетов в man или --help (что есть штатным способом что-либо посмотреть в линуксе последние 30 лет)

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

Почему unzip есть (и он без параметров!), а untar - нету? Почему я должен запоминать ключики для рядовой операции? Вы правда уверены, что каждый раз набирать руками "tar –xvzf [archive name]" - это классно?

Но это полбеды! Потому что у gzip почему-то не e_X_tract, а _D_ecompress, что ведет к тому, что надо про это помнить и помнить что там другой ключик - -d.

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

Во-вторых вы путаете линукс шелл и виндовс проводник.

Не, я не путаю. В смысле, я понимаю о чем вы, но... Суть в том, что в винде проводник есть базовая часть, а консоль - она там даже не вторична, а многие пользователи её и в жизни никто не видели.

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

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

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

И это печально...

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

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

Почему unzip есть (и он без параметров!), а untar - нету? Почему я должен запоминать ключики для рядовой операции? Вы правда уверены, что каждый раз набирать руками "tar –xvzf [archive name]" - это классно?

Потому что у этих утилит разные автора, и нет дистрибутива линукс, который бы сам взял и с нуля написал свои утилиты. Все дистрибутивы просто понабирали уже готовые из разных кусков. Вот у автора zip было такое видение, у автора tar - другое

Вдобавок, кто вам мешает использовать другую, более удобную утилиту для работы с zip файлами?
Есть рар для линукс, будет все как привыкли.

По поводу должны не должны - никому ничего не должны, сидите на виндовс. Линукс это не обязанность, это опция.
С самого рождения unix/linux создавались не как десктопные системы для пользователей, а как серверные системы для запуска и автоматизации сервисов. Вместо стандартизации GUI, там стандартизировали файловые системы, лицензии, архитектуру.

В результате Линукс сейчас можно запустить на любом чайнике с минимальными переделками. Виндовс так не может, зато может в один клик вам zip распаковать.
Каждому свое.

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

У андроид на основе ядра линукса миллиарды пользователей, но для вас все идиоты, кроме вас? Все или почти все нагруженные системы и суперкомпьютеры в мире на линукс, но вам это не нужно? Ну и отлично, зачем вы обсуждаете то, что не понимаете и не можете воспользоваться, когда в мире столько не просмотренных тиктоков :)

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

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

Просто существует в нашем мире история возникновения операционных систем, с их историей завоевания мира.

Я осознаю, что нет в мире компании, которая бы решила сделать удобный и стандартный для всех десктопный линукс.
Уж очень сложно противостоять макос и виндовс, которые уже 30-40 лет, как делают не только удобный интерфейс, но за это время написано огромное количество софта, которые используют единую и стандартную графическую подсистему.
Если кто-то решит создать десктопный удобный Линукс, это уйдет куча времени и денег на подобное а программы не появятся. Нужно ж не просто "проводник" написать, нужно написать графическую подсистему, библиотеки для отрисовки всего и всегда, и надеяться что разработчики различного софта начнут использовать эту библиотеку чтобы писать нативные десктопные приложения.
Бизнес план такого проекта невозможен, непредсказуем, и в отличие от 3rd party кнопки пуск, это действительно сложная задача.


Варианты десктопного Линукс сейчас - узкоспецифичное использование, например школа, где и количество используемого софта лимитировано и безопасность от учеников. И они ну никак не придвинут создание именно универсальной графической подсистемы (что более важно чем просто проводник)

А давайте сравним сопоставимые вещи - линукс шелл и виндовс повершелл, я посмотрю как вы без интернета там команды наизусть писать будете.

Я ради интереса попробовал: искать команду пришлось и для PS. Но она достаточно умная, чтобы не спрашивать лишнего. Я специально проигнорировал все аргументы и тупо запустил Expand-Archive TCPView.zip - сработало.

Вот с tar (о котором без гугла в первый раз догадаться тоже не получится, в смысле - как вообще зовется команда) все уже не так гладко:

tar nginx-1.27.1.tar.gz
tar: Old option 'g' requires an argument.
Try 'tar --help' or 'tar --usage' for more information.

А дальше уже раскуривать tar --help

Ну благо там все написано на 9 строчке:

tar --help
Usage: tar [OPTION...] [FILE]...
GNU 'tar' saves many files together into a single tape or disk archive, and can
restore individual files from the archive.

Examples:
  tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.
  tar -tvf archive.tar         # List all files in archive.tar verbosely.
  tar -xf archive.tar          # Extract all files from archive.tar.

Почему tar -xf не cделать стандартным поведением, если на вход подали tar - непонятно. А еще непонятно что делать, если это tar.gz - а это он почти всегда. Про -z в этой справке написано на... 288 строчке. Удачи и приятного чтения.

UP: а еще я только что понял, что при свободной -e авторы tar умудрились повесить extract на -x. То есть -v и --verbose - это да. -c и --create - это да. А --extract видите ли -x. Да они специально издеваются!

А еще непонятно что делать, если это tar.gz

Это понятно, если помнишь, что tar - это способ собрать кучу файлов в один. А gzip - это способ сжать этот файл. И файлом может быть не обязательно файл на диске, да еще с понятным расширением.

Поэтому даже без спец-ключиков у самого tar-а:

gunzip -c <файл> | tar xf - 

В общем, приемы работы там и там все-таки немного отличаются и не сразу переносятся.

Это понятно, если помнишь, что tar - это способ собрать кучу файлов в один. А gzip - это способ сжать этот файл.

Я помню. Помню, что это tar, что он одноименной командой извлекается. Но заклинание каждый раз (в месяц или два) гуглю исправно заново. И вот сейчас я знаю, что извлечь архив под виндой - это Expand-Archive. Я бы, конечно, предпочел Extract, но можно и так запомнить. Главное, что не нужно запоминать еще ключи, кем-то придуманные 20 лет назад без особой логики (там я смотрю куча всего висит не на первых буквах слова, даже если она во флагах свободна), и с тех пор не тронутые.

UP: Ну правда: нахрена для извлечения архива (команда из трех букв) еще на 3 буквы аргументов? Неужели в 2024 году нет возможности автоматизировать, или сократить до 1? Ну сделайте в конце-концов untar, как с unzip. Или это какой-то путь, который должен пройти самурай, чтобы доказать, что достоин?

UP2: И да, чтобы помнить, нужно знать. Ну нафига пользователю знать про gzip и tar? Вот пользователи Windows про deflate даже не слышали, и все zip у них прекрасно распаковываются. К этим всем мелочам и претензии. Ощущение такое, как будто костыли вставляют в колеса специально.

Ну правда: нахрена для извлечения архива (команда из трех букв) еще на 3 буквы аргументов? Неужели в 2024 году нет возможности автоматизировать, или сократить до 1?

Можно, но тогда будут жаловаться те, кто чаще архивирует какие-нибудь логи. Потому что ему будет казаться, что именно его способ использования надо сократить до 1 буквы.

Вообще не понимаю конкретно этого спора. Если этим пользуешься раз в месяц (и потому не помнишь) - то добиваться экономии времени на поиск заклинания и его набор не имеет смысла.

А если пользуешься постоянно - то просто запомнишь.

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

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

Я, кстати, только что узнал, что -z (больше?) не нужен. Ну, начало положено.

Если этим пользуешься раз в месяц (и потому не помнишь) - то добиваться экономии времени на поиск заклинания и его набор не имеет смысла.

Ну изначально спор пошел о том, как все это делать без Интернета.

Ну нет ведь более частого способа использования tar, чем извлечение архива?

Вообще, извлечение и создание - более менее поровну. Перекос на извлечение получается только тогда, когда ты почему-то эти tar.gz с Интернета тащишь.

Ну изначально спор пошел о том, как все это делать без Интернета.

Без интернета - запоминается еще быстрее. Потому что именно факт 'всегда можно нагуглить' и позволяет немедленно все забыть.

Вообще, извлечение и создание - более менее поровну.

Контраргумент: сжимают в основном писатели софта, которых мало. А извлекают пользователи - которых много.

Потому что именно факт 'всегда можно нагуглить' и позволяет немедленно все забыть.

Ой, не знаю, вот powercfg -h off, который я использую раз в год-два я помню до сих пор. Ну потому что управление питанием powercfg - это логично, -h это hibernation - тоже, ну и off само-собой. А вот как извлечь tar.bz2 - да хрен его знает, там из всего -xjf две буквы не подходят к словам, которые описывают. Ладно было бы еще -ebf (а лучше бы -eb или -e), какая-то логика прослеживается. Но нет.

 А извлекают пользователи - которых много.

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

А так - именно 'запаковать пачку файлов с результатом рабыты, чтобы выслать/положить на внешний диск' - вполне штатная операция.

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

Даже на гитхабе далеко не все утруждаются снизойти до пакетов.

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

Мы про сжатие в tar.gz и tar.bz2, проходите мимо, никто аниме картинки в них не жмет.

Контраргумент: сжимают в основном писатели софта, которых мало. А извлекают пользователи - которых много.

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

Ой, не знаю, вот powercfg -h off, который я использую раз в год-два я помню до сих пор. Ну потому что управление питанием powercfg - это логично, -h это hibernation - тоже

а почему -h это именно hibernation а не help?
Везде в майкрософтах -h или /h был хелп, и тут вдруг какой-то hibernation?

Сжимают постоянно, бэкапы, логи

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

Везде в майкрософтах -h или /h был хелп, и тут вдруг какой-то hibernation?

Нет, вы путаете, это в линуксах. В майкрософтах везде это /?

Просто там, где на /h ничего не висит, это иногда alias на /?

Примеры

Я на сообщение ниже тоже тут отвечу, чтобы не плодить сущности:

Нет ни одного дистрибутива Линукс, где майнтейнер поставил бы себе задачу сделать именно удобный workstation.

Да, я уже услышал в принципе все, что хотел: что извлекать архивы может быть слишком просто.

xkcd/1168

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

Я, кстати, только что узнал, что -z (больше?) не нужен. Ну, начало положено.

Что значит нет?
Как раз намного чаще запаковывают, чем распаковывают.

-z не нужен, если ты не хочешь сжимать. Но обычно всем нужно сжимать.

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

Таким образом нытье по поводу целых трех букв, оказывается просто непониманием что ты делаешь и зачем.
Тебе Линукс просто противопоказан. Ты не понимаешь зачем он нужен. Это не десктопная операционка.
Нет ни одного дистрибутива Линукс, где майнтейнер поставил бы себе задачу сделать именно удобный workstation.
Максимально в эту сторону наверное планировался SteamOS, но им тоже это оказалось не нужно, там достаточно просто чтобы запускался Steam и совместимые игрушки, а не универсальный workstation

Можно, но тогда будут жаловаться те, кто чаще архивирует какие-нибудь логи. Потому что ему будет казаться, что именно его способ использования надо сократить до 1 буквы.

Но можно же сделать анализ входа? Если на вход подается архив, и нет никаких ключей, то вероятно его надо разархивировать. Если на вход подается папка или файл – то его надо заархивировать.

tar blah.tar //разархивируем
tar blah.txt //архивируем

Но можно же сделать анализ входа? Если на вход подается архив, и нет никаких ключей, то вероятно его надо разархивировать. 

Неестественный интеллект - зло. Если я на вход подал архив, у которого в имени файла нет этих расширений - то что делаем? Начинаем распаковывать? Можно неприятно удивиться. Особенно при использовании внутри скриптов.

Ну вот я на худой конец предложил выше untar. Как в винде - одна команда в одну сторону, другая в другую. А естественный интеллект уже сам разберется, un- ему или не un-.

Начинаем распаковывать?

Вообще, можно просто посмотреть заголовок. Он же есть у tar.

Ну вот я на худой конец предложил выше untar.

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

А кого это очень напрягает - то после первых нескольких попыток пишет alias на команду или пишет скрипт с тем именем, какое нравится. Ну или ищет уже готовое, чем потом радостно пользуется.

Вообще, можно просто посмотреть header.

Разумеется, можно. Даже утилита file есть, что этим занимается.

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

И если этот интеллект будет - то мне придется вокруг вызова tar вот это все 'посмотреть в хидер' написать в качестве особого случая. И не забыть про то, что такой особый случай вообще может быть.

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

Я полностью согласен и не вижу причин убирать текущие флаги. Но вы ведь все свои скрипты писали с ними, верно? Значит, если tar без флагов начнет угадывать, для вас ничего не поменяется? Никакой проблемы нет.

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

Которая и будет заниматься угадыванием.

Почему пользователь, вообще, решил, что надо именно tar запускать?

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

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

Не понимаю, зачем ему вообще угадывать.

Чтобы новым (да и старым, вроде меня) пользователям не приходилось каждый раз идти в гугл и забивать "linux untar"? Или ставить сторонний софт?

Я правда не вижу причин, почему нельзя научить голый tar без флагов - угадывать. Ну кроме "мы страдали, теперь и вы пострадайте". Тут реально уже аргументы пошли "это слишком просто будет, другие пользователи тоже захотят, чтобы им просто сделали". Ну ё-мое. Слишком просто извлекать архив.

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

Зачем пользователь ставит себе серверную, не пользовательскую ОС, которая рассчитана на то, что в поставку входит минимум всего (зато бесплатно), а потом мучается?

Ставьте себе пользовательский Линукс, с GUI, там из коробки распакуете просто кликом мышкой и все.
Зачем вы пытаетесь есть кактус?
Ну или поставьте повершелл под линукс, и делайте там свой expand или extract, вообще непонятная команда.

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

Ну вот я на худой конец предложил выше untar. Как в винде - одна команда в одну сторону, другая в другую. А естественный интеллект уже сам разберется, un- ему или не un-.

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

интеллект никак не догадается, может быть я хочу tgz положить внутрь другого tgz?
Чем вам непонятны опции - c - create, x - extract, все логично. Потому что -e это -exclude

z нужна, потому что tar не знает как сжимать, он не архиваотр, поэтому z чтобы вызвать gzip

итого логичные команды
tar cz file1 file2 > mypackage.tgz
или без сжатия
tar c file1 file2 > mypackage.tar

или можно указать filename
tar cf mypackage.tar file1 file2
tar czf mypackage.tgz file1 file2

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

Мне вот ваша хотелка кажется очень странной и никому не нужной кроме вас.

Что кажется странным? Извлекать архивы без кучи флагов?

А еще я уверен что на просторах интернета уже есть это все, вы просто не пробовали даже искать

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

Потому что -e это -exclude

Нет, --exclude это --exclude без вариантов. А -e в 2024 это tar: invalid option -- 'e'

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

Но ведь додумал тот, кто при свободной e повесил extract на x.

Что кажется странным? Извлекать архивы без кучи флагов?

Так делайте єто в пользовательской, а не серверной системе. В пользовательской в гуи просто мышкой извлекается.

Но ведь додумал тот, кто при свободной e повесил extract на x.

Потому что у вас видимо очень плохо с английским языком. Для нативного американца или британца, заюзать x для слова extract - гораздо более очевидно.

Например в случае русского языка, вы бы что использовали
а - архивировать
р - разархивировать

Или
и - извлечь?
Но если извлечь, то тогда уже не архивировать а в - вставить? или как?

В общем придирки ваши не по существу, а по незнанию.

а что мешает тебе добавить эту команду псевдонимом?

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

Если я на вход подал архив, у которого в имени файла нет этих расширений - то что делаем?

Ничего. Ну точнее, то что и сейчас, спрашиваем ключи.

Начинаем распаковывать?

Ну скорее запаковывать.

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

В крайнем случае можно проверить заголовок файла.

Get-Command -Noun Archive
или псевдоним gcm *archi* ( в звёздочках)

Потому что tar это вообще не архиватор. Это tape manager,который был создан для работы со стриммерами. И его задача - упаковать файлы и папки в поток. То что поток можно сохранить в файл - это отдельная фича.
Также как и gzip - это не архиватор, это потоковый компрессор, который понятия не имеет о том, что такое файлы и папки. Он умеет сжимать один поток. Именно поэтому tar + gzip, две отдельные утилиты, решали определенные проблемы еще ДО того как вообще появился Линукс.
Линуксы просто взяли готовые утилиты, это не их утилиты, это вообще gnu утилиты.

Хотите - пользуйтесь zip/unzip
Хотите - пользуйтесь десктопным линуксом с GUI, там все откроется мышкой.
А хотите работать в командной строке - не несите идеологию виндовс, а почитайте про POSIX, про GNU, и узнайте как работает Unix, Linux, MacOs, WebOS, все posix-compatible системы.

Вам никто не мешает поставить рар под линукс или современные bzip2 или еще что и пользоваться.

Главное, что не нужно запоминать еще ключи, кем-то придуманные 20 лет назад без особой логики

Вы чуток ошиблись. tar придумали 45 лет назад. Логика соответствующая.

Ну нафига пользователю знать про gzip и tar?

Неужели в 2024 году нет возможности автоматизировать, или сократить до 1

Так юзеру и не надо. Автоматизировать можно - в командной строке один раз алиас себе сделай или функцию или скрипт хоть из одной буквы всю команду.

Или зачем юзеру gzip/tar? Какие пользовательские данные лежат в этом формате? В инетах для юзера обычно zip, который в линуксе выглядит как зип, распаковывается как зип с логичными командами, а в GUI распаковывается мышкой.

Ну и вооще, если глобально.
Для пользователей придумали user-friendly вариант - Windows, MacOS.
Линукс или Юникс никогда не стремился стать домашним и юзер-френдли системой, ее ниша - сервера, возможно ентерпрайз/автоматизация и продвинутые юзера.

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

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

Кроме того, Линукс - он не один. Многие делают свой дистрибутив на базе ядра Линукса, и каждый дистрибутив для пользователя может заметно отличаться.

Поезд десктопных удобных ОС уже давно ушел. Единственная ОС которая ворвалась в мир юзеров - Андроид (на базе Линукс ядра, кстати), и только благодаря слепоте Балмера, который просрал Windows Phone платформу.

Поэтому если вы 10 лет работали под Windows, и вам кажется что в Линукс все нелогично - у вас просто неправильные привычки. Линукс гораздо более логичный, это я вам как виндузятник говорю.

Или зачем юзеру gzip/tar? Какие пользовательские данные лежат в этом формате?

Сорцы софта неприлично часто лежат в tar.gz или tar.bz2. Я бы сказал, что в основном в нем. Из последнего - nginx собирал, качая tar.

Так юзеру и не надо. Автоматизировать можно - в командной строке один раз алиас себе сделай или функцию или скрипт хоть из одной буквы всю команду.

Ну блин, вы сейчас натурально используете аргумент, за который линуксоидов высмеивают: "а мне и не надо, я и не хотел". Ну хорошо, у вас из коробки идет софт для извлечения архивов 45-летней давности, и никто не догадался как-то упростить с ним работу. Потом удивляются, почему доля Linux так мала. Нет, плюсы тоже есть: "неуловимый Джо", вот это вот все, но удивляться-то потом зачем? А алиаса на tar недостаточно, потому что один гений льет просто tar, другой tar.bz2, третий tar.gz. Там нужно накидать нехилый такой скриптец, я уже нагуглил еще в начале обсуждения.

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

Что может быть проще извлечения архива?

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

А tar со своими тремя флагами на извлечение - один.

Ну нет ничего логичного в том, что для извлечения архива нужно знать три флага, один из которых меняется в зависимости от типа сжатия. И нет ничего логичного в том, что -e - свободна, а extract - это -x.

За Виндовс люди платят, причем немаленькие деньги.

Часто в комплекте с "железом" идет, без возможности отказаться. По крайней мере, раньше так было.

За МакОС люди платят немаленькие деньги.

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

Линукс - бесплатный для пользователей.

Есть и платные дистрибутивы.

Линукс или Юникс никогда не стремился стать домашним и юзер-френдли системой

Когда-то я родителям оставил свой старый ноут на дебиане и он успешно использовался еще много лет. Нет рута - нет проблем (c) Куда уж более юзер фрэндли? И это еще простая оболочка LXDE. Превратился в "тыкву" только из-за выгорания матрицы лет через 10-15 эксплуатации, все еще работает, но на экране уже ничего почти не видно.

Есть и платные дистрибутивы.

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

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

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

Часто в комплекте с "железом" идет, без возможности отказаться. По крайней мере, раньше так было.

Значит конкретный производитель железа мог вообще драйверов для другой ОС не выпускать =)
Но в принципе для большинства ноутов всегда есть версия без ОС. Просто она не всегда есть именно в локальном магазине

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

Я не админ и не программист, и изредка мне нужна консоль винды. Так вот все проблемы Linux справедливы и для Windows. Без интернета хрен поймёшь для чего нужны некоторые ключи и как что делать. При этом в Linux есть хоть какой-то общий MAN где пытались собрать описания под консольные команды (утилиты), а в винде такое было? Чтобы к chkdsk была подробная справка доступная из консоли? Или например ставился какой-нибудь total commander и к нему сразу справка в единую систему типа MAN, которую можно вызвать из консоли, чтобы разными способами этот total commander запускать?

Так что необходимость интернета - это реалии и Windows и Linux, и с зоопарком софта от этого не уйти. Унификация справки и чего-либо ещё - это с одной стороны хорошо, а с другой это лишние ограничение прогресса. И тут нужен баланс.

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

Чтобы к chkdsk была подробная справка доступная из консоли?

chkdsk /? вроде бы всегда хватало - какие ещё дополнительные подробности там вам нужны?

и к нему сразу справка в единую систему типа MAN, которую можно вызвать из консоли

Ну так как "консоль не нужна", то и аналог MAN, очевидно, не нужен. А так-то любая программа в винде поддерживает кнопку f1 и открывает какую-то справку (локально или в сети). Откроет ли и что там за справка - то уже от совести разработчика зависит...

Так что необходимость интернета - это реалии и Windows и Linux, и с зоопарком софта от этого не уйти.

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

Т.е. проблема линукса, имхо, не в том, что надо гуглить - а в том, что надо гуглить ключики к тому, что вообще-то из коробки должно делаться одной простой командой. Причем командой, которую пользователю невозможно не придумать - как тот же untar при наличии unzip. Которого почему-то нет)

открываем ман тар и что мы видим на второй строчке:

создать архив tar -cf архив.tar файл1 файл2

распаковать архив tar -xf архив.tar

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

Глянул вашу ссылку, с таким переводом и инструкцию по втыканию вилки компа в розетку повторить будет сложно :) А в реальности, в текстовый файл со списком репозиториев нужно добавить новую строку, используя уже имеющиеся строки и комментарии как примеры. Или воспользоваться соответствующей консольной утилитой, если есть желание.

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

Или тот же systemd. Вот мне нужно перезапустить, например, mysql. Я пишу в консоли service mysqld stop и ... тишина. Что происходит, сколько ждать, когда команда таки отработает - неизвестно. Логи смотреть там тоже "очень удобно" (sarcasm). Я вообще не представляю для кого они в таком виде могут быть удобными - и только grep/find поверх вывода хоть как-то упрощают процесс, но я бы не сказал, что сильно.

Система "магических заклинаний"

В консоли все команды на английском, а ключи - чаще всего сокращения этих слов. Для тех, кто с английским хорошо дружит - запомнить ключи не проблема. Типа -f это --forse, -c это --create и т.д.

Аналогично многие команды запоминаются типа mkdir - это make directory.

Вы когда на русском сокращаете слова - не называете же это магией? Хар-ка, ин.яз, сво - вы же поняли это? ))

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

Я пишу в консоли service mysqld stop и тишина

Во многих утилитах есть ключ -v от слова verbose - типа нашего "подробнее". Выводится подробная инфа. Или интерактивный режим -i

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

А насчёт удобно и неудобно - все зависит от целей применения. Например, как бы вы в Винде открыли текстовый файл (лог) на несколько миллионов строк?)) В линуксе с этим просто: tail 10 и вам покажет последние 10 строчек. Или через less смотрите.

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

P.s. Кстати, вот тот же gpt - это тоже консольная программа по сути. Пишешь текст, получаешь результат. По сути, прогресс сделал очередной виток, возвращая нас к консоли , но на более совершенном уровне. Старые консоли не умели картинки и видео выводить в диалоге (символьные картинки не считаются)

Не удивлюсь, что скоро появятся ОС почти полностью управляемые с помощью консоли, где запрос подаётся текстом, голосом или картинкой и видео. И на выходе мы просто получаем результат, который можем подкорректировать как нам надо тем же способом (голосом, например)

Для тех, кто с английским хорошо дружит - запомнить ключи не проблема. Типа -f это --forse, -c это --create и т.д.

Это все очень хорошо, только --extract это... -x.

Я думаю, для носителей английского языка это будет логично. Вспомните названия "Windows XP" или "SpaceX".

Видимо, для большинства тех, кто говорит на русском "x" - это икс, со школьных уроков математики, наверное, в таком виде сохранился. Но в английском языке "x" - это экс [ɛks]

Я не уверен, поэтому решил проверить: 7z и winrar, оба используют и -e и -x, просто для разных целей: первый извлекает игнорируя пути в архиве, второй сохраняет структуру. Но -e это вполне себе extract:

e (Extract) command

Я не уверен, поэтому решил проверить: 7z и winrar, оба используют и -e и -x, просто для разных целей: первый извлекает игнорируя пути в архиве, второй сохраняет структуру. Но -e это вполне себе extract:

А почему только 7z и winrar?
А почему не проверить zip, arj, zoo, pklite, arc и другие?

Или какие тогда проблемы поставить рар на Линукс и не ругать сам Линукс?


Вы же догадываетесь, что 7z и winrar не входит в поставку Windows?

Не удивлюсь, что скоро появятся ОС почти полностью управляемые с помощью консоли, где запрос подаётся текстом, голосом или картинкой и видео.

И мы полностью почувствуем себя волшебником из фентези, где приходится учить (не обязательно наизусть) книги заклинаний, чтобы управлять магическим артефактом, который (его конструкцию) создали какие-то древние архимаги.

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

Вы только что описали систему команд для MUD ролёвок.

*Пристально посмотреть на архив

*Приказать распаковаться архиву

Вы только что описали систему команд для MUD ролёвок.

Как бы не так. Эти системы команд обычно просто ругались, когда не понимали.

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

В консоли все команды на английском, а ключи - чаще всего сокращения этих слов.

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

Проблема не в ключиках и не в английском. А в том, что никакой системы и стандартизации вообще нет. Причем это ещё и преподносится как преимущество)

Во многих утилитах есть ключ -v от слова verbose - типа нашего "подробнее". Выводится подробная инфа. Или интерактивный режим -i

Ага. Но при этом по-умолчанию оно почему-то в куче утилит всегда выключено и надо именно помнить, что именно вот в этой надо писать доп. ключик, а вон в той - не надо, ибо -v там делает что-то непотребное.

Консольные команды - это не магия. Когда привыкаешь - все становится естественным.

30 лет уже достаточно для привычки или пока рановато? Я так-то первый раз линукс пощупал еще в начале 2000х, когда это было "о, гляди какая забавная зверушка у меня есть!"

Например, как бы вы в Винде открыли текстовый файл (лог) на несколько миллионов строк?))

Потому что в винде нет надобности листать текстовые логи на миллион строк? Стандартный Event Viewer, например, поддерживает фильтры - и даже можно свои представления сделать, показывая туда только нужные события, а не всё подряд.

В линуксе с этим просто: tail 10 и вам покажет последние 10 строчек

Ну да. А если вам надо посмотреть в середину файла - то упс. Редакторы MC/DC большие файлы в память загрузить не могут (то, что Far умел еще 20 лет назад!), а те, что все-таки влезают - задолбаешься листать, т.к. там работает только поиск или pagedown по одной странице.

Ну, очевидно, в Линуксе эти логи и не нужны - достаточно последних 10 строк и пофик, че там раньше было )

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

Да как же не путать, если это консоль - это базовая часть Линукса, а графический интерфейс - Винды? Если мы начнем еще и GUI *nix-ов сравнивать с виндой, так там у них всё настолько плохо, что я даже не знаю с какого конца это описывать. Там больше уже подходит что-то вроде "тут уже ничего не исправить, жги!"

Не удивлюсь, что скоро появятся ОС почти полностью управляемые с помощью консоли, где запрос подаётся текстом, голосом или картинкой и видео.

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

Голосовое управление этот недостаток могло бы убрать, но оно существует в винде со времен winxp - и всё ещё мертво. Так что - не верю.

Потому что в винде нет надобности листать текстовые логи на миллион строк? Стандартный Event Viewer, например, поддерживает фильтры - и даже можно свои представления сделать, показывая туда только нужные события, а не всё подряд.

Справедливости ради, через раз в Event Viewer написана просто чушь. Это же своего рода dmesg, он не ведет лог приложения. Он просто пишет - грохнулось, код ошибки 0x00000001.

Ну вот например:

Faulting application name: python.exe, version: 3.11.9150.1013, time stamp: 0x66229edb
Faulting module name: torch_cpu.dll, version: 0.0.0.0, time stamp: 0x6601f83d
Exception code: 0xc0000005
Fault offset: 0x0000000006ce38ab
Faulting process id: 0x0x4CF4
Faulting application start time: 0x0x1DAC3E4D23439D3

И чего? Что мне с этими кодами делать? Упавший сервис systemd хотя бы какие-то подсказки дает: "открываю файл, ой, его нет, я все - EXITED".

Один запрос в гугл по "Exception code: 0xc0000005" наглядно говорит в чем проблема и куда бежать дальше. Ну и вы смешиваете сущность: эта ошибка - результат деятельности ОС, именно она ошибку отловила, сообщила вам и как бы на этом дальше уже всё, у неё лапки.

А конкретные детали проблемы в те же самые логи вам должен был бы написать python.exe, но так как он из мира линукса - то ему на виндовые логи в принципе положить.

Я не то чтобы про хорошесть логов винды - там проблем тоже дофига. Но они удобнее того, что в юниксах. И главное - всё хотя бы пытается быть в одном месте, а не равномерно размазано по /var/log, /usr, /opt и пользовательским папкам...

Упавший сервис systemd хотя бы какие-то подсказки дает: "открываю файл, ой, его нет, я все - EXITED".

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

Вообще вся система с логами в линуксах - это один огромнейший КОСТЫЛЬ. Прямо вот такой огромный. Каждое приложение пишет логи куда ему хочется в том формате, в каком ему хочется. А всем разработчикам в принципе положить на хоть какие-то общие стандарты.

Примерно так же, как логи - работает и система с файлами настроек приложений. Мой наиболее часто встречаемый случай: на сервере хостер поставил несколько разных версий php. По крону работает одна версия, сайт крутится под другой, у рута - третья. У каждой версии свой ini, поэтому где-то скрипт работает корректно, а где-то сразу падает с ошибкой - но увидеть эту ошибку нельзя, потому что системных логов для такой ситуации не предусмотрено. Надо логиниться под правильным юзером (под которым крон), запускать файлик той командой, которая в кроне - и смотреть что там за ошибки при выполнении. Особенно весело, когда версии php одинаковые, но ini-файлы у разных юзеров - разные. Веселой отладки, как говорится...

Один запрос в гугл по "Exception code: 0xc0000005" наглядно говорит в чем проблема и куда бежать дальше.

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

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

Если вас не устраивает питон, у меня много "error" не от него, с не менее бесполезными кодами. В Windows приложение не обязано писать логи перед падением, да и вообще, если на то пошло. Самый яркий пример - это bat-ники. Возьмите программу, положите рядом с ней bat-файл и вызовите ее через него с кривыми флагами. cmd просто ехидно подмигнет и сразу закроется без ошибок вообще, ищите их потом... Аналог под Linux, sh, хотя бы напишет, что там программа ответила. Bat нужно догружать pause-ами.

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

Ну вот пример логов сервиса nginx из под Linux:

2018/11/01 00:48:13 [emerg] 16702#16702: bind() to [::]:443 failed (98: Address already in use)

2018/11/01 00:48:13 [emerg] 16702#16702: bind() to 0.0.0.0:443 failed (98: Address already in use)

2018/11/01 00:48:13 [emerg] 16702#16702: still could not bind()

2018/11/01 00:48:16 [alert] 16665#16665: unlink() "/run/nginx.pid" failed (2: No such file or directory)

Вообще не проблема, все написано.

И главное - всё хотя бы пытается быть в одном месте, а не равномерно размазано по /var/log, /usr, /opt и пользовательским папкам...

Тащемта, у Linux тоже все в одном месте - в логах сервиса. Каждому свой. Если вы запускаете софтину не как сервис (или не просто в терминале foreground), то ССЗБ. Да, хорошо бы выучить journalctl -u service-name, но без него тоже часто причина падения в одной из последних строчек system service status видима.

Примерно так же, как логи - работает и система с файлами настроек приложений. Мой наиболее часто встречаемый случай: на сервере хостер поставил несколько разных версий php.

php вообще зло, согласен.

Тащемта, у Linux тоже все в одном месте - в логах сервиса. Каждому свой.

Осталось рассказать это запускаемому софту :-)

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

Ну понятно, что сеть тоже нужна, вопрос-то у вас был о другом "что мне делать" - на него я и отвечал. Практически все значимые ошибки ОС описаны на сайте МС. Т.е. самим разработчиком ОС. В вашем примере это как раз системная ошибка и есть, поэтому она и гуглится без проблем.

Так что я лично не вижу, где тут что-то не так: система увидела, что процесс как-то криво упал о чем и пометила в логах. Что уж к этому падению привело - то не забота ОС, это уже вопрос к разработчику приложения.

В Windows приложение не обязано писать логи перед падением, да и вообще, если на то пошло.

Я даже больше скажу: в Линукс тоже так делают! Просто вот есть нормальные разработчики, которые думают о пользователях - и те, которым на них плевать. И ОС тут дело десятое...

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

М... bat - это как бы технологии вообще из 80х ) А так-то никто же вам не мешает руками открыть cmd и запустить bat там руками?

Кстати, бОльшая часть проблем GUI в линуксах имеет ровно такую же природу, что и с вашим примером с bat: GUI вызывает утилиту, та почему-то падает, но ошибку посмотреть нельзя, т.к. она выводится в консоль, а её-то у нас и нет!

Аналог под Linux, sh, хотя бы напишет, что там программа ответила.

Просто МС во времена ХР решили, что консоль надо закрывать сразу, как процесс завершил свою работу. Эту настройку можно поменять вообще-то и консоль не будет завершаться сама, что позволит вам ответы программ прочитать.

Ну вот пример логов сервиса nginx из под Linux ... Вообще не проблема, все написано.

Так и что это доказывает? Я ж писал - когда вам реально надо понять, почему что-то сломалось, то как-то так (по моему опыту) оказывается, что просто чтобы добраться до логов надо сначала полчаса гуглить по всякому. Понятно, что речь сейчас не о простых случаях, когда ошибку можно увидеть прямо в логах самого приложения, а именно о странных и сложных случаях.

Тащемта, у Linux тоже все в одном месте - в логах сервиса. Каждому свой.

Ага, при этом физически лог может быть где угодно - иногда ещё и для разных версий приложений в разных местах диска хранятся. И всё это надо помнить - или гуглить)

Да, хорошо бы выучить journalctl -u service-name

Вот проблема в том, что мне эта команда нужна раз в год - иногда даже не каждый год. Я её не могу выучить и запомнить, потому что практически не использую. Так что - гугл.

php вообще зло, согласен.

Да не, php тут просто типичнейший пример. Поставьте два разных питона, или две версии базы данных. Я достаточно часто встречаю такого рода проблемы в линуксах. Впрочем, справедливости ради, я не уверен, что и в винде всё хорошо будет в такой ситуации

Или тот же systemd. Вот мне нужно перезапустить, например, mysql. Я пишу в консоли service mysqld stop и ... тишина.

А еще можно сделать start и stop, а вот disable - уже нельзя. :)

Это systemctl disable service.service, причем уже обязательно с .service в конце.

Насчет systemd много лет спорили, что это такое и зачем его вообще в линукс принесли :)