- Firefox 93
- fheroes2 0.9.8
- Опубликовано исследование о вкладе СПО в экономику ЕС
- В России создадут фонд для разработки ПО с открытым исходным кодом
- cppcheck 2.6
- Установка .NET в Linux
- Неподдерживаемые выпуски
- Установка вручную
- Установка предварительных версий
- Alpine
- CentOS
- Debian
- Fedora
- openSUSE
- Red Hat
- Ubuntu
- Работа с «плохими» файлами в командной строке в Linux
- В названии файла есть служебный символ bash
- Имя файла начинается с дефиса
- Удаляем по wildcard
- Файлы с управляющим символом в названии
- Удаление файлов с символами utf8
- Перекодировка имени файла
- Автокомплит
- Удаляем файл через меню выбора
- Удаление по номеру inode
- Удаление по hex-коду
Firefox 93
fheroes2 0.9.8
Здравствуйте, любители героев!
Прошел еще один месяц разработки и наш проект стал еще чуточку ближе к своему выходу. Fheroes2 обновился до версии 0.9.8!
С прошлого обновления нашей командой было исправлено множество проблемных мест, начиная с простого позиционирования элементов интерфейса, до переработки глобальной логики прокладки пути рядом с каждым объектом на карте приключений.
Опубликовано исследование о вкладе СПО в экономику ЕС
Еврокомиссия опубликовала исследование о влиянии открытого программного и аппаратного обеспечения на технологическую независимость, конкурентоспособность и инновации в экономике ЕС.
В России создадут фонд для разработки ПО с открытым исходным кодом
Russian Open Source Foundation — некоммерческий фонд или организация — должен объединить основных разработчиков ПО с открытым исходным кодом, включая ВТБ и «Яндекс».
В пятницу 1 октября Илья Массух сообщил, что до 1 ноября планируется собрать в эту НКО ключевых игроков рынка open source: Сбербанк, ВТБ, Mail.ru Group, «Яндекс», Postgres Pro, Arenadata и, «возможно, еще одну-две» компании.
Замминистра цифрового развития, связи и массовых коммуникаций Максим Паршин напомнил, что в России государство активно потребляет open source продукты, поэтому стоит задача обеспечить, чтобы они были эффективными и безопасными.
Из проекта стратегии следует, что НКО должна будет координировать деятельность сообществ разработчиков, образовательных и научных организаций. В частности, она должна участвовать в разработке плана мероприятий по реализации стратегии: определять показатели эффективности, мониторить выполнение и т. д.
cppcheck 2.6
Вышла новая версия cppcheck — статического анализатора исходного кода для языков C и C++.
В этом выпуске представлены новые проверки:
- пропущенный return в функции;
- запись перекрывающихся (overlapping) данных, обнаружение UB;
- сравнение с значением вне допустимого диапазона типов;
- отключение copy elision из-за использования return std::move(local) ;
- открытие файла на чтение и запись в разных потоках (streams).
Помимо этого, была завершена проверка соответствия исходного кода стандарту MISRA C 2012: реализованы все правила MISRA C 2012, кроме 1.1, 1.2 (должны обеспечиваться компилятором) и 17.3 (может обеспечиваться компилятором), включая правила в поправках 1 и 2.
Исходный код анализатора распространяется по лицензии GPLv3.
Источник
Установка .NET в Linux
Платформа .NET доступна в различных дистрибутивах Linux. Для большинства платформ и дистрибутивов Linux разработчики каждый год публикуют основной выпуск. В большей части таких выпусков есть диспетчер пакетов, который используется для установки .NET. В этой статье приведены сведения о поддержке и об используемом диспетчере пакетов.
В остальной части этой статьи содержится конкретная информация по каждой из основных версий дистрибутивов Linux, которые поддерживает .NET. Все выпуски .NET поддерживаются до того же времени, что и версии .NET или дистрибутива Linux.
Для максимальной совместимости выберите версию LTS.
Неподдерживаемые выпуски
Следующие версии .NET больше не поддерживаются (❌). (но остаются доступными для скачивания):
Такие неподдерживаемые версии не описаны в приведенных ниже разделах. Поэтому, если вы попытаетесь установить их, полученные вами результаты могут отличаться от указанных.
Установка вручную
Если вы не хотите использовать диспетчер пакетов для установки .NET в Linux, можно установить .NET одним из следующих способов:
На странице, посвященной дистрибутиву, обязательно просмотрите дополнительные сведения о необходимых зависимостях, которые могут отсутствовать при установке вручную.
Установка предварительных версий
Предварительные версии и релиз-кандидаты .NET недоступны в диспетчере пакетов. Вы можете установить предварительные версии и релиз-кандидаты .NET вручную.
Alpine
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Alpine, в которых они поддерживаются. Эти версии поддерживаются до окончания поддержки версии .NET либо до окончания жизненного цикла версии Alpine.
- Значок ✔️ означает, что версия Alpine или .NET поддерживается.
- Значок ❌ означает, что версия Alpine или версия .NET в таком выпуске Alpine не поддерживается.
- Если значок ✔️ стоит как напротив версии Alpine, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Alpine | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 3.13 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 3.12 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 3.11 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 3.10 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 3.9 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 3.8 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Alpine.
CentOS
CentOS 7 использует Yum в качестве диспетчера пакетов, а CentOS 8 использует DNF.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET в CentOS 7 и CentOS 8. Эти версии поддерживаются до того же времени, что и версия .NET или CentOS.
CentOS | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 8 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 7 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в CentOS.
Debian
Debian использует APT (Advanced Package Tool) в качестве диспетчера пакетов.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Debian, в которых они поддерживаются. Эти версии поддерживаются до того же времени, что и версия .NET или Debian.
- Значок ✔️ означает, что версия Debian или .NET поддерживается.
- Значок ❌ означает, что версия Debian или версия .NET в таком выпуске Debian не поддерживается.
- Если значок ✔️ стоит как напротив версии Debian, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Debian | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 11 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 10 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 9 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 8 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Debian.
Fedora
Fedora использует DNF в качестве диспетчера пакетов.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Fedora, в которых они поддерживаются. Эти версии поддерживаются до того же времени, что и версия .NET или Fedora.
- Значок ✔️ означает, что версия Fedora или .NET поддерживается.
- Значок ❌ означает, что версия Fedora или версия .NET в таком выпуске Fedora не поддерживается.
- Если значок ✔️ стоит как напротив версии Fedora, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Fedora | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 34 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 33 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 32 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 31 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 30 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 29 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 28 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
❌ 27 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Fedora.
openSUSE
openSUSE использует zypper в качестве диспетчера пакетов.
В следующей таблице приведен список выпусков .NET, которые сейчас поддерживаются в openSUSE 15. Эти версии поддерживаются до тех пор, пока для версии .NET или версии openSUSE не будет прекращена поддержка.
openSUSE | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 15 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в openSUSE.
Red Hat
Red Hat Enterprise Linux (RHEL) использует yum (RHEL 7) и DNF (RHEL 8) в качестве диспетчера пакетов.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET в RHEL 7 и RHEL 8. Эти версии поддерживаются до того же времени, что и версия .NET или RHEL.
- Значок ✔️ означает, что версия RHEL или .NET поддерживается.
- Значок ❌ означает, что версия RHEL или версия .NET в таком выпуске RHEL не поддерживается.
- Если значок ✔️ стоит как напротив версии RHEL, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
RHEL | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 8 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 7 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в RHEL.
SLES использует zypper в качестве диспетчера пакетов.
В следующей таблице приведен список выпусков .NET, которые сейчас поддерживаются в SLES 12 SP2 и SLES 15. Эти версии поддерживаются до тех пор, пока для версии .NET или версии SLES не будет прекращена поддержка.
- Значок ✔️ означает, что версия SLES или .NET поддерживается.
- Значок ❌ означает, что версия SLES или версия .NET в таком выпуске SLES не поддерживается.
- Если значок ✔️ стоит как напротив версии SLES, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
SLES | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 15 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 12 SP2 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в SLES.
Ubuntu
Ubuntu использует APT (Advanced Package Tool) в качестве диспетчера пакетов.
В приведенной ниже таблице содержатся сведения о поддержке Ubuntu и .NET.
- Значок ✔️ означает, что версия Ubuntu или .NET поддерживается.
- Значок ❌ означает, что версия Ubuntu или версия .NET в таком выпуске Ubuntu не поддерживается.
- Если значок ✔️ стоит как напротив версии Ubuntu, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Ubuntu | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 21.04 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 20.10 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 20.04 (LTS) | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 19.10 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 19.04 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 18.10 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
✔️ 18.04 (LTS) | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 17.10 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
❌ 17.04 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
❌ 16.10 | ❌ 2.1 | ❌ 3.1 | ❌ 5.0 |
✔️ 16.04 (LTS) | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Ubuntu.
Источник
Работа с «плохими» файлами в командной строке в Linux
При работе в командной строке администраторы часто сталкиваются с необходимостью что-то сделать с определенным файлом: удалить, переместить, скопировать. При выполнении подобных задач зачастую приходится обращаться к файлам по имени, что может быть затруднительно, поскольку в именах файлов могут встречаться самые разные символы. Даже те, которых нет на клавиатуре. В этом плане работу может облегчить файловый менеджер, в котором файл можно просто выделить и совершить с ним нужное действие. Но для тех, кто привык работать исключительно в командной строке, предлагаются следующие способы.
В качестве shell-оболочки рассмотрим bash, как самую используемую. А в качестве операции над файлами рассмотрим удаление, как самую деструктивную.
Ситуации могут быть разными. В текущей директории могут быть файлы, которые нужно удалить вместе с теми, которые нужно оставить. Имена у них могут быть самыми разными. Причем первые от последних могут отличаться только одним каким-нибудь заковыристым символом.
В названии файла есть служебный символ bash
Самый простой случай. Для удаления файлов, содержащих в своем названии служебные символы вроде пробелов, кавычек, двойных кавычек, звездочек, обратные кавычки и др. можно заэкранировать обратным слешем или использовать одинарные кавычки:
С помощью одинарных кавычек нельзя удалить файл, в названии которого есть одинарная кавычка, даже заэкранировав ее.
С полным списком служебных символов и механизмом экранирования в bash можно ознакомиться в man bash. Раздел QUOTING.
Имя файла начинается с дефиса
Удалить файл, начинающийся с дефиса простым экранированием не получится, и команда rm будет воспринимать дефис, как начало своего аргумента. Решить проблему довольно просто:
Удаляем по wildcard
Если удаление файлов попадает под wildcard-маску, то можно удалить всю группу файлов:
Файлы с управляющим символом в названии
В названии файла может встречаться управляющий ASCII-символ, такой как перевод строки (\n), табуляция (\t), backspace (\b). Это символы с ASCII-кодами менее 0x20, а также символы DELETE и ESC. Для удаления таких файлов подходит конструкция:
Другим способом удаления таких файлов являяется ввод управляющего символа с клавиатуры. Для этого нужно воспользоваться комбинацией клавиш, которая экранирует следующий введенный символ, тем самым запрещая системе обрабатывать его. Как правило, эта комбинация CTRL+V. Точно убедиться в этом можно с помощью команды stty -a, посмотрев на параметр lnext. Удалим файл, содержащий символ ESC:
Удаление файлов с символами utf8
Если имя файла содержит символ в кодировке utf8, который мы не можем набрать на клавиатуре, то удалить такой файл можно выделением его мышкой, копированием в буфер обмена и последующей вставкой на ввод команды rm. Главное условие состоит в том, что наш терминал должен работать в кодировке utf8. Кодировка выставляется в настройках терминала. Будь то xterm, putty или брутальный linux tty.
Перекодировка имени файла
Подозревая, что имя файла находится в кодировке, отличной от кодировки терминала, мы можем выполнить перекодирование всех файлов в текущей директории. В результате файлы с битой кодировкой будут перекодированы, а файлы с ascii-символами изменений не претерпят. Существенный плюс этого способа – приведение всех файлов в читабельный вид.
Как видно, чтобы осуществить правильное перекодирование нужно знать две кодировки: предполагаемую кодировку файла и кодировку нашего терминала. Наиболее трудно распознать предполагаемую кодировку файла по непонятным символам. Есть замечательная табличка
Также можно воспользоваться сторонними программами, которые попытаются распознать кодировку автоматически. Например, онлайн-декодер Лебедева.
Если вы встретили такие символы в примонтированном media-носителе или смонтированном разделе Windows, не спешите ничего перекодировать. Возможно, вы просто указали неправильные опции монтирования.
Автокомплит
В случае, если в директории название требуемого файла начинается уникально, и это название можно однозначно сформировать автокомплитом, то это довольно простой способ удалить файл:
Удаляем файл через меню выбора
Если мы дошли сюда, дело плохо. Попробуем удалить конкретный файл, составив для этого меню выбора. В итоге, все что нам останется сделать – это выбрать нужный пункт меню вместо ввода имени файла. Для этого нам нужно запрограммировать действие, которое будет происходить с файлом или файлами после ввода нами нужных пунктов меню.
Удаление по номеру inode
Удалить файл можно по его номеру inode. Номер inode уникально идентифицирует файл в файловой системе. Узнать номер inode можно с помощью команды ls, а удалить – с помощью find. Недостаток этого способа, такой же, как у предыдущего. Неудобно, в случае большого числа файлов.
Удаление по hex-коду
И нельзя не упомянуть один суровый метод. Удаление по hex-кодам. Суть такова: мы узнаем hex-коды всех байтов в имени файла, а затем удаляем файл, указывая вместо имени hex-коды.
Хорошо, все-таки, что на практике такие файлы попадаются нечасто.
Источник