LINUX.ORG.RU

Сообщения olegd

 

Свободный GPU на RISC-V. Что это будет?

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

https://hub.packtpub.com/a-libre-gpu-effort-based-on-risc-v-rust-llvm-and-vul...

Начали проектировать открытый графический процессор на базе RISC-V. Обещают использовать Rust, LLVM и Vulkan. Что значит «The GPU will be mostly software-based.» ?

И заодно: что такое RISC-V? В кремнии его уже выпускают, или это про другой RISC были новости?

P.S. Специально для Вальцмана: уже собрали четверть миллиона долларов, если интересуют деньги.

 , , , ,

olegd
()

Зачем разбивать конфиг на много файлов?

Я понимаю, когда конфигурация постоянно меняется, удобно добавлять-убирать симлинки в /etc/apache2/*-enabled/ Но когда конфигурация устоялась, и её надо копировать на другие системы, не удобнее ли всё собрать в один файл? (Вопрос про современную версию Апача — 2.4.)

В каких случаях имеет смысл сводить конфиг в один файл? И когда это противопоказано? Ссылки на документацию приветствуются. (Гугл ищет только ограничение доступа ко всем файлам кроме одного.)

Заранее спасибо.

 ,

olegd
()

Не синхронизируется время

Ubuntu 16.04, работает на сервере VMware, время на 25-30 секунд отличается от верного.

$ timedatectl status
      Local time: Wed 2018-09-26 13:06:14 MSK
  Universal time: Wed 2018-09-26 10:06:14 UTC
        RTC time: Wed 2018-09-26 10:06:16
       Time zone: Europe/Moscow (MSK, +0300)
 Network time on: yes
NTP synchronized: no
 RTC in local TZ: no

$ cat /etc/systemd/timesyncd.conf

[Time]
NTP=pool.ntp.org
FallbackNTP=ntp.ubuntu.com

Как его заставить синхронизироваться? sudo timedatectl set-ntp true и sudo timedatectl --adjust-system-clock не помогают.

Ответ: Был закрыт порт 123, а systemd отказывался работать, пока не удалю старый NTP.

 , ,

olegd
()

О скорости работы с файловой системой

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

Вопрос: если создать на ext4 большой файл (сотни гигабайт), смонтировать его как диск, отформатировать в btrfs и писать файлы на него, будет быстрее, чем непосредственно на ext4, или медленнее?

Если вы считаете, что быстрее, обоснуйте ответ, пожалуйста.

 ,

olegd
()

Можно ли бесплатно выучиться на сертификат?

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

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

 

olegd
()

Можете срочно одобрить новость?

Ответы на вопросы о Pyra в прямом эфире

Событие состоится с 19:00 до 21:00.

 

olegd
()

Livestream о Pyra

Pyra — проект по созданию ноутбука на ARM, ориентированному на игры в эмуляторах. Первая партия ожидается до конца года.

Сегодня, 3 августа, в 19:00 по Московскому времени (18:00 CEST) руководитель проекта Pyra в прямом эфире ответит на вопросы о Pyra и о себе.

Страница на Ютубе: https://www.youtube.com/watch?v=HKogYWJKoKU

Тема на форуме проекта: https://pyra-handheld.com/boards/threads/ask-the-dragon-date-has-been-set.83095/

Перемещено leave из linux-hardware

 ,

olegd
()

А под Линуксом так можно?

Есть программа на сишарпе:

using System;
using Какаято.Библиотека;

namespace Application
{
    class Program
    {
        static void Main(string[] args)
        {
            ScriptContext context = new ScriptContext("C:\\Path\\To\\some.dll");
            TBrevno brevno = TBrevno.Create();
            brevno.DoTheJob();
            context.Dispose();
        }
    }
}

Вопрос: можно ли собрать и использовать эту программу под Линуксом, используя WINE? some.dll пересобрать под Линукс нельзя. Архитектура x86, 32-разрядная. По каким словам гуглить?

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

 ,

olegd
()

Как их совмещать?

На одном сервере работают веб-приложения на Джаве и на Питоне. Сейчас, в тестовом режиме, параллельно работают Apache+mod_wsgi и Tomcat. Вопрос: как их лучше установить, чтобы обеспечить максимальное быстродействие быструю отзывчивость? Ссылки на истории успеха приветствуются.

 , , ,

olegd
()

Eudora открывает исходники

Никто новость сделать не хочет?

http://www.computerhistory.org/_static/atchm/the-eudora-email-client-source-c...

Популярный лет 20-25 назад почтовый клиент под Windows и Mac OS открывает исходники. Разработку прекратили в 2006 году, оставив попытки угнаться за Outlook, и вместо этого стали пилить надстройку над Thunderbird: Eudora станет Open Source

Теперь открыли под лицензией BSD. Для сборки виндовой версии требуется MFC.

 

olegd
()

Запуск WINE под Apache

Кто-нибудь имеет опыт запуска Вайна под Апачем? Или может посоветовать мануал?

Есть скрипт на Питоне под Windows. Вызывает закрытые программы, которые портировать нельзя. Но скрипт несложно перенести под Линукс, запуская эти программы в Wine. В связке с Flask работает нормально. Требуется запустить скрипт в связке с Апачем, используя mod_wsgi.

Сервер запустился (требовал неочевидных вывертов с правами на /var/www/.wine/) и работает, но требует наличия всех экзешников в / , при том, что скрипты можно класть куда угодно. Как указать, откуда запускать экзешники?

Upd: попробовал демонизировать mod_wsgi, прописав директорию скрипта как начальную в параметре home= Получаю в логах ошибку «WSGI script file is writable to group» (И да, на скриптовой странице 403.) Что это значит?

Команда была

WSGIDaemonProcess procname home=/home/intern/pyscripts script-user=intern

Upd2: вроде, заработало с

WSGIDaemonProcess procname home=/home/intern/pyscripts
то есть без смены пользователя.

 , , , ,

olegd
()

Корчеватели

Читаю документацию на Tomcat: https://tomcat.apache.org/tomcat-8.0-doc/appdev/installation.html Наткнулся на совет установить CVS. Из любопытства заглянул на рекомендованный сайт http://cvshome.org/

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

 

olegd
()

Как менеджеру пакетов пройти по цепочке линков?

Понадобилось узнать, какой пакет поставил Джаву.

$ dpkg -S `which java`
dpkg-query: no path found matching pattern /usr/bin/java
$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Mar 20 02:17 /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 46 Mar 20 02:17 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
$ ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
-rwxr-xr-x 1 root root 6464 Mar 14 15:58 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
$ dpkg -S /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
openjdk-8-jre-headless:amd64: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

Существует ли более простой способ установить пакет, если в /usr/bin/ — симлинк на симлинк?

Заранее спасибо.

Ответ:

readlink -f "$(which java)"
пройдёт по цепочке линков, а
update-alternatives --list java
сразу покажет пакет.

 , , ,

olegd
()

Как заставить mv не сигнализировать об ошибке, если файл не найден?

В скрипте есть команда

mv errors.log errors-$currentBuild.log
Если в текущем цикле errors.log не создаётся, весь скрипт возвращает ошибку. Можно сделать проверку наличия errors.log, наподобие
if [ -e errors.log ] 
    then mv errors.log errors-$currentBuild.log 
fi
но это ещё больше запутает скрипт. Можно сделать так:
mv errors.log errors-$currentBuild.log || true
но мне это решение не нравится тем, что прячет все остальные ошибки.

Существует ли какой-нибудь переключатель для mv или другой способ, чтобы пропускать несуществующие файлы, не генерируя ошибок?

 ,

olegd
()

Писать логи из docker на хост

Как писать логи из докера наружу? Самое простое решение — запускать его командой

docker run  --mount=type=bind,source=/var/log/apache2/,destination=/var/log/apache2-docker/ {image_name}

А что будет, если одновременно запустить несколько экземпляров? Будут писать в один файл вперемешку? Или как-то разрулят?

И умеет ли syslog-ng штатно обслуживать такую ситуацию, когда несколько виртуальных машин пишут логи на хост? По каким ключевым словам искать? А то я не могу определить, когда документация говорит о логах самого Докера, а когда о логах программ в гостевой системе.

 , ,

olegd
()

Как в systemd глобально отключить less?

Как сделать, чтобы все программы systemd по умолчанию выводили данные просто в stdout, а не в less -S?

export SYSTEMD_PAGER=''

и

export SYSTEMD_PAGER='cat'
приводят к потере концов строк. Не годится.

 

olegd
()

Как рисовать репорты в Дженкинсе?

Есть сервер Jenkins, который гоняет тесты. Отчёты сохраняются в XML в формате совместимом с JUnit. Требуется красиво их оформить, например, как здесь: https://plugins.jenkins.io/test-results-analyzer

Поставил плагин «Test Results Analyzer», но получил таблицу из одного заголовка. Внизу написано «No build data retrieved. You may need to select a Module.» «Publish JUnit test result report» включён. Чего ему ещё не хватает?

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

Дополнение 1: Проект с матрицей конфигураций (multi-configuration project). Для простого проекта с единственной конфигурацией всё работает. — Ответ: Нужно внимательно следить за параметром «Local module directory» в настройках SVN. Если параметр «» (пустая строка), в пути нужно добавлять директорию, куда идёт чекаут.

Дополнение 2: Похоже, «Test Results Analyzer» не умеет показывать результаты для всех элементов матрицы одновременно. А что умеет?

Дополнение 3: Allure умеет читать результаты из нескольких директорий. Но как показать их на одной странице раздельно? — Костыль: Переименовывать тестовый скрипт. Одноимённые тесты из разноимённых скриптов отобразятся как из разных Packages.

Дополнение 4: И что важнее: как запускать Allure из Jenkins? — Ответ: В «Post-build Actions», как и все подобные плагины. Но нужно правильно указать пути к XML. Например, создавать логи опцией

--junit-xml="$WORKSPACE/allure-results/$var1-$var2-...-$BUILD_NUMBER.xml"
Эта директория ДОЛЖНА ОТЛИЧАТЬСЯ от директории, где Allure создаёт отчёты (по умолчанию — allure-report).

 allure,

olegd
()

Не видит DLL в той же директории

Запускаю консольную программу под WINE — ругается, что не может найти MSVCR120.dll, которая лежит в той же директории. ОС — Ubuntu, версия WINE — 1.6.2.

$ wine getspec.exe
err:module:import_dll Loading library MSVCR120.dll (which is needed by L"Z:\\home\\powtest\\abserv\\zlib.dll") failed (error c000007b).
err:module:import_dll Library zlib.dll (which is needed by L"Z:\\home\\powtest\\abserv\\hdf5.dll") not found
err:module:import_dll Loading library MSVCR120.dll (which is needed by L"Z:\\home\\powtest\\abserv\\hdf5.dll") failed (error c000007b).
Exception EOSError in module getspec.exe at 000000000003E467.
System Error.  Code: 126.
Module not found.

В чём может быть дело?

Заранее спасибо.

Ответ: Возникла путаница из-за того, что на одной Убунте всё работает, на остальных — нет. Убунта, где всё работало, при внимательном рассмотрении оказалась Дебианом с Wine 1.8. В итоге пришлось ставить новый Вайн на все машины.

 

olegd
()

Общая директория для контейнеров докера и пользователей

Сейчас делается следующее:

Создал volume:

docker volume create shara

При загрузке (systemd) соответствующая директория монтируется на директорию одного из пользователей, куда все имеют доступ:

mount --bind /home/testcase/common_data/ /var/lib/docker/volumes/shara/_data/

При запуске контейнеров (тоже systemd или вручную) эта директория подключается как /common_data:

docker run -v shara:/common_data image1

Вопросы:

1. Есть ли подводные камни в таком подключении?

2. Можно ли сделать это проще?

Дистрибутив — Ubuntu, если это имеет значение.

 

olegd
()

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

Разнообразные руководства пишут, что командой вида docker exec NAME sh можно запустить шелл и смотреть, что происходит в виртуальной машине. Но у меня это не работает.

Прочие команды работают нормально.

$ docker exec pensive_hodgkin ls -l /bin/bash /bin/sh /bin/dash
-rwxr-xr-x 1 root root 1099016 May 15  2017 /bin/bash
-rwxr-xr-x 1 root root  117208 Jan 24  2017 /bin/dash
lrwxrwxrwx 1 root root       4 Jan 24  2017 /bin/sh -> dash

Но при запуске шелла просто висит, не реагируя на вводимые команды:

$ docker exec pensive_hodgkin bash
ls


?????

werwerwerljh

^C
С явным указанием пути и с sh вместо bash — аналогично. В чём проблема?

Ubuntu 16.04, Docker 17.05. В обеих машинах.

ОТВЕТ: нужно добавить ключи -it после exec.

 ,

olegd
()

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