LINUX.ORG.RU

Сообщения wandrien

 

Блокировать сайты в поисковой выдаче

 ,

Отщепенцы со дна общества под названием «оптимизаторы» придумали новый способ поискового спама для обхода эвристик Гугла: переводить машинным переводом Stack Overflow и заливать типа сайты вопросов и ответов на русском и других языках.

Зачастую этот мусор в результатах поиска оказывается выше, чем страницы, с которых он был спи^Wпереведён.

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

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

wandrien
()

Куда утекает память?

 ,

Показания htop: https://ibb.co/fC34MBw

В первую очередь проверил tmpfs, там пусто:

$ df -h -t tmpfs
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
run                3,9G         1,6M  3,9G            1% /run
tmpfs              3,9G            0  3,9G            0% /dev/shm
tmpfs              4,0M            0  4,0M            0% /sys/fs/cgroup
tmpfs              6,2G          96K  6,2G            1% /tmp
tmpfs              788M         116K  788M            1% /run/user/1000

Главный подозреваемый – ядерный модуль VirtualBox.

Вчера днём утекло около 3 гигов. Перезагрузил, запустил VBox, оставил на ночь. За ночь утекло еще 6.

wandrien
()

И ты, Брут...

 ,

https://git.archlinux.org/pacman.git/commit/?id=454ea024383eab60295e4c4fdf2c329475887b2c

2020-05-11 This removes support for autotools in favour of meson.

Этому миру нужен герой…

wandrien
()

Bedrock Linux

 ,

Bedrock Linux – это «метадистрибутив», что в понимании авторов означает «программа для управления другими дистрибутивами».

Вы ставите любой дистрибутив по вкусу (из списка поддерживаемых) тем способом, который вам нравится. После этого запускаете установщик Bedrock Linux. Bedrock Linux перехватывает управление над системой, внедряясь в качестве дефолтного инита, изменяя и добавляя точки монтирования и т.п. После перезагрузки вы оказываетесь в системе, которая работает «внутри» Bedrock Linux. Вы можете устанавливать другие операционные системы семейства Linux «рядом» с основной системой и свободно смешивать софт из них. (Общий /bin, список файлов *.desktop, bash-completion, man pages и другие интеграционные фичи).

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

Это всё красивая теория. Что на практике:

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

Для начала:

# ./bedrock-linux-0.7.17-x86_64.sh --hijack Arch
No file detected at /sbin/init.  Unable to hijack init system.

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

    if ! [ -r "/sbin/init" ]; then
        abort "No file detected at /sbin/init.  Unable to hijack init system."
    fi

Мне лень писать ln -s ... вручную, поэтому просто ставлю пакет, который притащит нужный симлинк:

# pacman -S systemd-sysvcompat

Вот такой у меня повидавший жизнь и кучу апдейтов экземпляр Арча, в котором не стоит systemd-sysvcompat. Ладно, пофиксил, едем дальше.

Запускаю установку, на этот раз Bedrock ставится нормально. Говорит, что внедрился в операционную систему, и что надо перезагрузиться.

Сначала смотрю, что он сделал:

  • Создал директорию /bedrock со своими конфигами и бинарниками.
  • Заменил симлинк /sbin/init на свой скрипт запуска.

Других изменений не заметно.

Конфиг в /boot/grub/grub.cfg не поправил и даже не сказал, что я должен это проверить. А в конфиге вписан совсем не тот init:

menuentry "Archlinux Ester (mainline)" {
    linux /boot/vmlinuz-linux root=$root_dev ro init=/usr/lib/systemd/systemd
    initrd /boot/initramfs-linux.img
}

Правлю инит. Перезагружаюсь.

Получаю сообщение «No suitable video mode found. Booting in blind mode.» и… система не грузится.

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

Догадываюсь, что Bedrock пытается на чёрном экране показать мне своё boot menu. Нажимаю enter. Запускается systemd. Ура, у нас есть картинка.

Снова лезу в /boot/grub/grub.cfg. Добавляю строку insmod all_video. Перезагружаюсь.

На этот раз всё нормально, Bedrock рисует загрузочное меню, и оно отображается на экране. Предлагает грузиться через systemd или через runit-init, который у меня, оказывается, тоже установлен. Я и не помню, что его сюда ставил. Правда, в runit-init грузиться смысла нет, половина программ в Арче просто не поймут отсутствие systemd.

Загружаюсь. Сети у приложений нет. Обнаруживаю, что у меня хаос в ip route и в /etc/resolve.conf. NetworkManager видит Wifi, но, видимо, какой-то подземный стук вмешался в работу. Вручную правлю маршруты и резолверы имён. Сеть появляется.

==> Вы находитесь здесь.

Теперь надо разобраться, что мешает автоматике настраивать сеть правильно. Пока на этом из приключений всё. И дальше можно ставить рядом приложения из Debian, Void, Alpine, да хоть Gentoo компилировать.

Stay tuned!

wandrien
()

hacktoberfest

 

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

Какие вам присылали бессмысленные PR-ы?

wandrien
()

DOS Subsystem for Linux

 

Там opennet наркоманию принёс:

https://www.opennet.ru/opennews/art.shtml?num=53791

wandrien
()

Нашел залежи документации

 ,

Нашел случайно. Чей сервер, не знаю:

https://doc.lagout.org/

Не всё на английском, часть на французском. Есть как историческая информация, так и актуальная.

wandrien
()

Хомяк в облаке. Версия для гика

 ,

Оказался на выходных без своего ноутбука и с необходимостью починить и настроить Windows 7, которую ни в коем случае нельзя переустанавливать. (Куча софта для организации, частично крякнутого, частично лицензионного, и бог знает как всё это накатывать с правильными настройками.)

Комп получил в состоянии «не грузится даже в безопасном режиме».

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

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

Используете такой подход? Сталкивались с какими-то подводными камнями при этом?

wandrien
()

Очень странный баг

 ,

Сабж, выделил на скрине красным: https://ibb.co/3fxDbqB

Кусок интерфейса окна снизу (основное окно poedit) просачивается в виде узкой вертикальной полосы на окно сверху (диалог поиска).

Ладно, допустим, что там gtk3 рисует в пределах окон одного приложения — его личное дело. Но полоса проходит по заголовку окна, а заголовок принадлежит оконному менеджеру.

Получается что? Получается, gtk3 берёт хэндл top-level окна (не клиентского, а именно openbox-ового окна) и зачем-то в него рисует.

wandrien
()

Открыть каталог с 500 тыс. файлов...

 ,

По следам темы: разыскивается файловый менеджер

Решил протестировать.

Создал каталог с 500 тысячами файлов.

Во всех ФМ стояла сортировка по имени. Точное время не засекал. Каждому ФМ давал 30 секунд на работу. Кто не справился — в таблице написано «дисквалифицирован».

ФМРезультат
nnnоткрывает очень быстро
vifmоткрывает быстро
mcоткрывает быстро
spacefmоткрывает быстро
PathFinderоткрывает секунд за 15-20
xfeдисквалифицирован
pcmanfmдисквалифицирован
stuurmanначинает строить список инкрементально. Но после 100000 скорость падает нелинейно. Так до конца и не добрался.
dolphinстроит список инкрементально. успел одолеть 300000
thunarдисквалифицирован
doublecmdдисквалифицирован
rox-filerна пределе отрезка времени, но открывает
workerна пределе, но открывает

Итого, безусловный фаворит — spacefm:

  • Работает быстро.
  • Имеет графический интерфейс.
  • Многопанельник.
  • Очень конфигурабельный.

Мой stuurman слился. Надо переделывать алгоритм.

wandrien
()

geh 0.4.0

 , , software revive

Сабж: https://github.com/software-revive/geh-rv/releases/tag/0.4.0

Вчера в комментариях вспомнили про такой image viewer: Заброшенные Open source программы (комментарий)

Я немного причесал сорцы и выложил в виде минорного релиза.

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

  • Компилируется мгновенно.
  • Получается единственный бинарник, ничего лишнего. (Локализации тоже нет)
  • Можно собрать как с gtk2, так и с gtk3.
  • Реальная фоновая загрузка изображений, не блокирующая поток UI.
  • Режим миниатюр, удобный.
  • Можно рекурсивно сканировать каталоги.
  • Лицензия MIT, если для кого-то это важно.

Пока добавил по мелочи:

  • Added new entries to the right-click menu:

    • View -> Full Image Mode, View -> Slide Show Mode, View -> Thumbnail Mode, to switch between the view modes with mouse, not just keyboard.
    • Help -> Key Bindings, displays the list of hot keys.
    • Help -> About, displays the detailed info about the application, license supported image formats and build environment.
  • Added command line options:

    • -v, –version, prints the application version
    • -V, –about, shows the about message (the same as in GUI)
  • Added files: AUTHORS, LICENSE, NEWS

  • Fixed few compilation warnings.

  • The man page removed, since it’s short and not helpful.

Полезные части кода и идеи я потом утащу в spicview.

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

wandrien
()

Нужен ли ChangeLog?

 releng,

Традиционный подход:

  • В NEWS перечисляются важные изменения от релиза к релизу.
  • В ChangeLog перечисляются ВСЕ изменения в исходном коде.

Моё мнение по этому поводу:

  • В наше время исходным кодом в полном смысле является не столько тарбол с копией сорцов, сколько вся история сорцов, хранимая в VCS.
  • Тарболы нужны только для поставки софта в дистрибутивы, чтобы сборочной машине не приходилось тянуть файлы из VCS (что банально занимает больше времени).
  • История изменений в программе бывает не менее, а подчас и более, важна, чем статичный срез состояния кода.
  • ChangeLog — атавизм той эпохи, когда VCS не применялись повсеместно, а патчи пересылались исключительно почтой от одного разработчика другому.
  • ChangeLog не нужен, потому что есть git log или аналоги.

Имеет смысл писать только осмысленные записи в NEWS. Все, кого интересуют мелкие детали, могут прочитать git log самостоятельно. А кто не может этого сделать, тем содержимое файла ChangeLog всё равно ничего не скажет.

Ваше мнение?

P.S.

На форуме нет тегов release engineering, releng, software engineering, software life cycle или подобных, но форум настойчиво требует от меня хотя бы один тег.

wandrien
()

Возможно ли из приложения, запущенного в wine, получить доступ к API линукса?

 , ,

Предположим, есть свободное приложение под винду. Оно использует нативный тулкит винды, так что переписывать его кроссплатформенно — слишком трудозатратно. Возможно ли так сделать, что 90% приложения я оставляю без изменений, и просто использую wine чтобы рисовать UI, а оставшиеся 10% переписываю с учетом особенностей линукс? Можно как-то протащить нативный API линукса в wine?

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

wandrien
()

В какой версии Debian был самый последний GNOME 2?

 

Надо кое-что глянуть в археологических целях.

wandrien
()

Пилю форумный движок для ZeroNet

 , ,

Привет, народ!

Эт я, @geekless aka @devzero.

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

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

Если вам лень ставить ZeroNet, а любопытно посмотреть, что это — можно зайти через этот шлюз: https://zeronet.now.im/

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

Вот тут можно посмотреть ченжлог по форумному движку: https://zeronet.now.im/1EgyL4nj9DmeSSQg3fytxGJjihxtmMon5y/?Topic:1549373688_1GooUE19488nDwG3TdkM8seYAHct4gjkq4/

А тут — roadmap с далёкими планами: https://zeronet.now.im/1fznczNZUMEMvCiqSmCZGUiv5sVnRcsTD/?Topic:1549014898_1GooUE19488nDwG3TdkM8seYAHct4gjkq4/

Код оригинального форума тут: https://github.com/HelloZeroNet/ZeroTalk

А мой код тут: https://zeronet.now.im/1H3qtUJRrghDHpY89CBeueVAZw8xbHuDLr/

В общем, буду держать вас в курсе. Если кто-то заинтересуется ZeroNet и захочет потыкать, пообщаться там или принять участие в разработке, you’re welcome!

wandrien
()

RSS подписка на новые темы