LINUX.ORG.RU
ФорумTalks

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

 , ,


7

1

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


Начну с того, что первым вспомнилось:

1. sudo make install.
Довольно часто в инструкциях по установке софта под «онтопик» говорят делать это. Не знаю, почему вообще кто-то считает это хорошей идеей (могут быть, наверное, исключения, но не советовать же это в качестве стандартного способа установки). Если пакета под ваш дистрибутив нет, используйте Flatpak, AppImage, AUR, PPA, Docker или хотя бы tar.gz, распакованный в пользовательскую директорию. (Snap не используйте, Snap — говно.)

2. sudo gedit.
В основном в «гайдах» по настройке чего-то на «бубунте». Ибо пишут эти такие же «бубунтята». Консольный текстовый редактор и то такая себе идея от рута запускать. Hint: man sudoedit.

3. «/ на SSD, $HOME на HDD».
Почему-то у линуксоидов так сложилось, что принадлежащие пользователю файлы хранятся в одной куче с данными, пренадлежищими программам. Из-за этого остаётся либо выключать в ФМ показ скрытых файлов (а потом снова вклюать, когда понадобится, после чего снова отключать), либо лицезреть помойку. Но самое страшное последствие данного маразма проявляется, когда у пользователя имеется SSD и HDD и он решает на первый поставить систему, а на второй вынести $HOME. В итоге данные, которые по назначению совпадают с содержимым / (только являются при этом специфичными для конкретного пользователя), которые программы постоянно читают и перезаписывают, оказываются на HDD. Храните свои пользовательские данные в /data/ (как в андроиде), /mnt/data/ или где-то ещё. А $HOME пусть остаётся на SSD, на том же разделе, что и /. (Хранить все данные исключительно на HDD тоже не обязательно.) Местоположение папок «Загрузки», «Документы», «Изображения» и т. д. можно настроить средствами DE либо через конфиг XDG User Directories.

4. @gremlin_the_red пишет по поводу CONFIG_HZ=1000 для плавности:

Ммм, карго культ он такой. Это очень много лет, как абсолютно ничего не даёт. […] В нашей реальности 2021го не осталось шедулеров, привязанных к config_hz, это дела давно минувших дней.

5. Отдельный раздел для swap.
Зачем лишний раз усложнять себе жизнь и плодить разделы, если можно сделать swap в виде файла? И нет, производительность от этого не упадёт. (Оказывается, что если HDD, то таки упадёт, но там, наверное, уже неважно (см. комментарии).)

★★★★★

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

Ответ на: комментарий от Spoofing

Фу, зачем гентушнику вставлять свой линукс в какой-то другой ПК?

TheAnonymous ★★★★★
()
Ответ на: комментарий от gremlin_the_red

А сейчас разве 2011 год? С тех пор стойкость ssd выросла минимум на порядок.

Вообще это не в 2011 году повсеместно в ходу TLC/QLC, причем TLC заявляется как «Pro»

TheAnonymous ★★★★★
()
Ответ на: комментарий от anc

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

TheAnonymous ★★★★★
()
Ответ на: комментарий от TheAnonymous

скорость в начале больше, чем скорость в конце

А в середине? А в одной трети? Каким образом вы вообще рассчитываете это начало и конец блин[а]ов?

причем раза в два.

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

anc ★★★★★
()

Храните свои пользовательские данные в /data/

В этом есть своя логика, но слишком велика серая зона между «документами» и «системными файлами». Например, $HOME/.thunderbird требуется бэкапить вместе с документами, но в целом не очень разумно переносить ее в систему с другой версией программы, а затем обратно. Во-вторых, нельзя считать пользователя совсем уж инвалидом, которому нужны только браузер и LibreOffice; иногда приходится и (самописный) софт ставить в $HOME/.local, и менять версии на лету, и это не должно быть маргинальной практикой.

Zeta_Gundam
()
Ответ на: комментарий от anc

А в середине? А в одной трети? Каким образом вы вообще рассчитываете это начало и конец блин[а]ов?

График примерно такой. Про блины не было речи, речь про логическое устройство.
И на всех дисках, которые были у меня (а их немало, и в том числе более-менее современне - 3ТБ тошибы) картина примерно такая же.
Хотя я допускаю, что может быть не везде так, особенно с новыми SMR.

мапинг физики на логику это совсем нэ адын в адын як оно на дискетах було?

Ещё раз повторяю, про маппинг как оно размещается на блинах не в курсе. Если рассматривать диск как логическое устройство, то на известных мне HDD в начале скорость выше, чем в конце. И это не какая-то теория, а вполне заметно, если хоть раз сделать dd по всему диску или собирать RAID

TheAnonymous ★★★★★
()
Ответ на: комментарий от Zeta_Gundam

Дополню. И не обязательно, что софт будет сохранять свои данные в том же ~/.local

anc ★★★★★
()
Ответ на: комментарий от anc

Ты про график? Что непонятного: 0% это начало диска (первый сектор), 100% - конец. Попугаи измеряются в МB/s, прыгают от 108.3 MB/s до 52.0 MB/s, получилось даже больше чем в 2 раза.

TheAnonymous ★★★★★
()
Ответ на: комментарий от anc

А где он первый сектор?

В начале. dd if=/dev/sda bs=512 count=1

Или ты спрашиваешь, где физически? Да пёс его знает.
Это достаточно тупой тест, он не лезет в физическое устройство диска, а просто линейно читает весь диск, /dev/sda например, как его видит ОС. И результат показывает, что в начале скорость выше, чем в конце.

TheAnonymous ★★★★★
()
Ответ на: комментарий от Prosto_user

Так а где аргументация, почему так делать не надо, и чем это грозит?

TheAnonymous ★★★★★
()

Храните свои пользовательские данные в /data/ (как в андроиде), /mnt/data/ или где-то ещё. А $HOME пусть остаётся на SSD, на том же разделе, что и /.

Это же не UNIX-way и вообще ламерство.

hummer
()

Песец.
Вы линукс в глаза видели?

Я до конца не выдержал, но после совета хранить свои данные в /data/ или / мне стало плохо.

О, может вы БСДун?
Это объяснило бы многое

grim ★★☆☆
()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от TheAnonymous

Если исходить из линейного чтения /dev/sd* то при прочтении 10 GB «где-то»* вот такое:
начало-конец
пэрвый: 192 MB/s-100 MB/s (ST2000NM0033)
втарой: 252 MB/s-121 MB/s (WDC WD4003FRYZ)
*)«где-то» потому что лень до байтика конец диска высчитывать было.

anc ★★★★★
()
Ответ на: комментарий от grim

Вообще-то это больше напоминает перенос привычек от использования Винды. Там система ставится на диск C: (который SSD и аналог /), а данные хранятся на диске D: (который HDD и аналог /data/). В случае необходимости часть хомяка бекапится где-то на D:, затем форматируется C:, на него переустанавливается свежая Винда и затем остальные программы в C:\Program Files.

hummer
()
Последнее исправление: hummer (всего исправлений: 3)
Ответ на: комментарий от anc

Так совпадает, разница примерно в те же 2 раза

Вообще на лоре даже была эта тема
Выбор жёсткого диска и файловой системы (комментарий)
Скорость диска в начале и в конце отличается в 2 раза

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

правда там ссылка сдохла, но суть ясна

TheAnonymous ★★★★★
()
Ответ на: комментарий от sudopacman

А для программных данных «хомяк» по определению выполняет ту же функцию, что и /, но локально

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

При чём тут структура?

При том, что по вашей логике проект на yii будет похожим на корень.

fernandos ★★★
()

или хотя бы tar.gz, распакованный в пользовательскую директорию.

Что бы выполнить ./configure && make && make install

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

Пакажите мне этот «нормальный ОС».

когда у пользователя имеется SSD и HDD и он решает на первый поставить систему, а на второй вынести $HOME.

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

anc ★★★★★
()
Ответ на: комментарий от TheAnonymous

Ну я во всяком случае точно уверен что читал /dev/sd[a-b] dd if=/dev/sda of=/dev/null ... ;) И sync выполнил и в drop_caches троечку записал перед стартом :)

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от hummer

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

anc ★★★★★
()

Отдельный раздел для swap. Зачем лишний раз усложнять себе жизнь и плодить разделы, если можно сделать swap в виде файла? И нет, производительность от этого не упадёт.

А как же гибернация?

Psilocybe ★★★★
()
Ответ на: комментарий от sudopacman

Когда настраивал на ноуте гибернацию, единственоо что нашел это описание для отдельного раздела под swap.

Psilocybe ★★★★
()

Зачем лишний раз усложнять себе жизнь и плодить разделы, если можно сделать swap в виде файла? И нет, производительность от этого не упадёт.

Вот это точно. Потому что когда swap станет отжирать больше нуля при рабочей системе, уже будет пофигу где он там обитает.

anc ★★★★★
()

Зачем лишний раз усложнять себе жизнь и плодить разделы, если можно сделать swap в виде файла? И нет, производительность от этого не упадёт.

Один раз во время установки системы выбрать раздел в гуевой нарезалке дисков – «усложнять жизнь»? Как ты на линупс попал?

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

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

У себя использую такую схему:

  • /home на SSD в /
  • /home/public на HDD
  • ~/{documents,downloads,pictures,music,…} биндятся в /home/public/$username/{documents,downloads,pictures,music,…}
  • ~/hdd симлинк на /home/public/$user
  • /home/public/{documents,downloads,pictures,music,…} под общие данные.
  • в нужных каталогах внутри ~/ симлинки public на соответствующие директории внутри «общего пользователя».

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

Т.о. всё, что нужно «быстро» — на SSD, всё, чего нужно «много» — на HDD. В xdg-user-dirs прописаны пути до /home/public/$user/$dir. Права рулятся через ACL.

Бэкапить настройки не совсем удобно (или отдельно по каталогам, или отмонтировать бинды в /home/public), но меня устраивает.

mogwai ★★★★★
()
Последнее исправление: mogwai (всего исправлений: 3)
Ответ на: комментарий от hummer

Вообще-то это больше напоминает перенос привычек от использования Винды. Там система ставится на диск C: (который SSD и аналог /), а данные хранятся на диске D:

Там это криво и неудобно.

В линуксах, когда /home на отдельный диск выносится, то не чуешь разницы.

А в Windows так не перенесёшь.

fornlr ★★★★★
()
Ответ на: комментарий от fornlr

Неправда ваша. Ещё лет 5 назад точно спокойно монтировал раздел в c:\users\%username% в c:\users не пробовал.

mogwai ★★★★★
()
Ответ на: комментарий от fornlr

С разморозкой. В винде давно диск монтируется по произвольному пути, а не только букавками. За nt, 2к не скажу точно, но в хрени однозначно робило из каробки.

anc ★★★★★
()

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

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

Suppose you’re running gedit (a graphical text editor) as root. If you run sudo gedit, HOME will continue to point toward your home directory, even though the program is running as root.

Вот ваще не вижу в этом проблемы

tiinn ★★★★★
()
Ответ на: комментарий от sudopacman

А ещё если у тебя $EDITOR не nano, а, скажем, vim, то он будет работать с твоими пользовательскими настройками.

А тут-то что плохого?

tiinn ★★★★★
()
Ответ на: комментарий от anc

Да я знаю. Нужды нет. А вот в sudo mc нужда довольно часто возникает

tiinn ★★★★★
()
Ответ на: комментарий от Stil

Почему? Я активно использую на ноуте, вроде наоборот -всё упрощается.

Psilocybe ★★★★
()
Ответ на: комментарий от hateWin

И на жестком диске будет очень тормозить

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

tiinn ★★★★★
()

1. Про checkinstall забыл, если совсем никак не получается без исходников, можно опакетить результат
2. Неосиляторы vim/nano/mcedit
3. Согласен
4. ???
5. Debian/CentOS до сих пор ругаются (но пропускает дальше), когда не создаешь swap раздел и не предлагают опцию испольовать swap file. Если swap в файле так хорош, то почему его не делают из коробки? По своему опыту, вообще не заметил разницы от того где swap: на разделе или в файле.

Kolins ★★★★
()

Пункт 3 не так очевиден. Некоторые программы весьма интенсивно срут в хомяке.

peregrine ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.