Проект

Общее

Профиль

Новости

Функция "Randomize PID" в Linux. Как ее включить

Добавил(а) Михаил Губин 3 месяца назад

Функция "Randomize PID" в Linux - это функция, которая позволяет случайным образом генерировать идентификаторы процессов (PID) для каждого нового процесса. Это может быть полезно для повышения безопасности системы, так как делает более сложным для злоумышленников отслеживание и контроль над процессами.

Чтобы включить функцию "Randomize PID", необходимо выполнить следующие шаги:

  1. Откройте терминал и войдите в систему с правами суперпользователя (root).

  2. Введите команду:

echo 1 > /proc/sys/kernel/randomize_va_space

Этот шаг включает функцию "Randomize PID".

  1. Чтобы убедиться, что функция была успешно включена, введите команду:
cat /proc/sys/kernel/randomize_va_space

Если значение равно 1, то функция "Randomize PID" включена.

  1. Если вы хотите отключить функцию "Randomize PID", выполните следующие шаги:

a. Войдите в систему с правами суперпользователя (root).

b. Введите команду:

echo 0 > /proc/sys/kernel/randomize_va_space

Этот шаг отключает функцию "Randomize PID".

c. Чтобы убедиться, что функция была успешно отключена, введите команду:

cat /proc/sys/kernel/randomize_va_space

Если значение равно 0, то функция "Randomize PID" отключена.

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

Как делают "отечественные" операционные системы

Добавил(а) Михаил Губин 3 месяца назад

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

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

Примерами "отечественных" операционных систем являются РедОС, SelectelOS и AlterOS. Все они являются форками популярных дистрибутивов Linux - CentOS, Debian и Fedora соответственно. Однако, несмотря на то, что эти системы внесены в реестры и доступны для использования, они не могут считаться полностью отечественными, поскольку их ядро остается иностранным.

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

Затем следует создание репозитория пакетов. Это место, где хранятся все программы и приложения, которые могут быть установлены на системе. Для Debian это файлы с расширением .deb, но для новой операционной системы можно придумать собственное расширение, например, .rus.

К сожалению, пока еще ни одна компания или команда разработчиков не смогла создать полностью отечественную операционную систему. Все существующие "отечественные" ОС основаны на ядре Linux, созданном Линусом Торвальдсом. Однако, надежда на появление такой системы все еще есть, и основатель проекта "Gubin Systems" верит, что кто-то все-таки напишет код и создаст 100% отечественную операционную систему.

Выключаем 'Разблокирование связки ключей'

Добавил(а) Михаил Губин 3 месяца назад

Для того чтобы убрать опцию «Разблокирование связки ключей для входа в систему» на операционной системе Linux, вам необходимо выполнить следующие шаги:

  1. Откройте терминал и введите команду sudo nano /etc/gdm3/custom.conf. Это откроет файл конфигурации для графического менеджера входа в систему.

  2. В этом файле найдите строку #Enable automatic login и уберите знак решетки (#), чтобы она выглядела так: Enable automatic login.

  3. Ниже этой строки найдите AutomaticLoginEnable=false и измените значение на true, чтобы оно выглядело так: AutomaticLoginEnable=true.

  4. Затем найдите AutomaticLogin= и введите имя пользователя, которое вы хотите использовать для автоматического входа в систему. Например, если ваше имя пользователя john, то эта строка будет выглядеть так: AutomaticLogin=john.

  5. Сохраните изменения в файле, нажав Ctrl+O, затем Enter, и закройте редактор, нажав Ctrl+X.

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

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

Что такое ничтожные законы и ничтожные решения суда

Добавил(а) Михаил Губин 3 месяца назад

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

Ничтожные законы — это законы, которые противоречат Конституции Российской Федерации или другим федеральным законам. Они могут быть признаны недействительными судом или Конституционным Судом Российской Федерации.

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

Решение суда может быть признано ничтожным, если оно противоречит Конституции Российской Федерации или другим федеральным законам. Также, если решение суда основано на законе, который противоречит конституции, Европейской конвенции о защите прав человека и основных свобод и её протоколам, другим законам Боснии и Герцеговины, в том числе существующей общей норме международного публичного права и её сфере действия, то Конституционный суд может безоговорочно признать такое решение недействительным. Кроме того, решение суда может быть признано ничтожным, если оно не соответствует требованиям Гражданского кодекса Российской Федерации, в частности, статье 181.3, которая определяет основания недействительности решения собрания.

Примеры законов, которые могут быть признаны ничтожными:

— Закон, который ограничивает свободу слова или прессы;
— Закон, который нарушает права человека;
— Закон, который противоречит международным договорам, ратифицированным Российской Федерацией.

Примеры решений суда, которые могут быть признаны ничтожными:

— Решение, которое было принято без достаточных доказательств;
— Решение, которое противоречит закону или Конституции Российской Федерации;
— Решение, которое содержит ошибки в применении закона.

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

Для этого необходимо обратиться в суд или Конституционный Суд Российской Федерации.

Обновляем CentOS и РедОС без проверки GPG

Добавил(а) Михаил Губин 3 месяца назад

Обновление операционной системы Linux является важной частью её обслуживания. Это позволяет поддерживать систему в актуальном состоянии, исправлять ошибки и устанавливать новые функции. Однако, при обновлении может возникнуть проблема с проверкой подлинности пакетов через GPG. В этой статье мы рассмотрим, как обновить CentOS и РедОС без проверки GPG.

Что такое GPG?

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

Почему нужно отключать проверку GPG?

Отключение проверки GPG может быть необходимо в нескольких случаях:

  1. Если вы работаете с сервером, который не имеет доступа к интернету.
  2. Если вы работаете с устаревшим оборудованием, которое не поддерживает последние версии GPG.
  3. Если вы хотите ускорить процесс обновления.

Как обновить CentOS без проверки GPG?

Чтобы обновить CentOS без проверки GPG, выполните следующие шаги:

  1. Откройте терминал и войдите в систему как администратор (root).
  2. Введите команду yum update -y --nogpgcheck.
  3. Дождитесь завершения процесса обновления.

Как обновить РедОС без проверки GPG?

Чтобы обновить РедОС без проверки GPG, выполните следующие шаги:

  1. Откройте терминал и войдите в систему как администратор (root).
  2. Введите команду dnf update -y --nogpgcheck (для РедОС 8) или yum update -y --nogpgcheck (работает как в РедОС 7.х так и в РедОС 8, в версии 8 является алиасом для dnf).
  3. Дождитесь завершения процесса обновления.

Установка TeamCity на Ubuntu, Debian и Astra Linux

Добавил(а) Михаил Губин 3 месяца назад

TeamCity – это инструмент для непрерывной интеграции и доставки (CI/CD), который позволяет разработчикам автоматизировать процесс сборки, тестирования и развертывания программного обеспечения. В этой статье мы рассмотрим, как установить TeamCity на операционные системы Ubuntu, Debian и Astra Linux.

Шаг 1: Создание пользователя TeamCity

Прежде чем начать установку TeamCity, необходимо создать пользователя с именем "teamcity". Это делается с помощью команды:

sudo adduser teamcity

Шаг 2: Обновление репозитория пакетов и установка необходимых инструментов

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

sudo apt-get update
sudo apt-get install wget -y

Шаг 3: Загрузка и распаковка файла TeamCity

Следующим шагом является загрузка и распаковка файла TeamCity. Выполните следующие команды:

cd /opt
wget https://download.jetbrains.com/teamcity/TeamCity-2022.10.1.tar.gz
tar xfz TeamCity-2022.10.1.tar.gz

Шаг 4: Проверка версии Java

TeamCity требует наличия Java на вашем компьютере. Проверить версию Java можно с помощью следующей команды:

java -version

Если у вас нет Java или версия устарела, вам нужно будет установить последнюю версию Java. Для этого выполните следующие команды:

echo $JAVA_HOME
sudo apt-get install java-common -y
wget https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.deb
dpkg --install amazon-corretto-11-x64-linux-jdk.deb

После установки Java проверьте ее версию еще раз:

java -version

Шаг 5: Изменение владельца каталога TeamCity

Теперь, когда у нас есть все необходимые инструменты, мы можем изменить владельца каталога TeamCity. Это делается с помощью команды:

sudo chown -R teamcity:teamcity TeamCity

Шаг 6: Запуск TeamCity от имени пользователя teamcity

Чтобы запустить TeamCity от имени пользователя "teamcity", выполните следующую команду:

su teamcity

Затем перейдите в каталог TeamCity и запустите скрипт runAll.sh:

cd /opt/TeamCity
chmod +x bin/runAll.sh
./bin/runAll.sh start

Это запустит TeamCity в фоновом режиме.

Выходим из сеанса пользователя teamcity:

exit

Шаг 7: Настройка автоматического запуска TeamCity при загрузке системы

Чтобы TeamCity автоматически запускался при загрузке системы, создайте системный сервис с помощью следующей команды:

tee /etc/systemd/system/teamcity.service <<EOF
[Unit]
Description=TeamCity Service
After=network.target

[Service]
WorkingDirectory=/opt/TeamCity
ExecStart=/bin/bash /opt/TeamCity/bin/runAll.sh start
Restart=always
RestartSec=10
SyslogIdentifier=teamcity
User=teamcity

[Install]
WantedBy=multi-user.target
EOF

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

sudo systemctl daemon-reload
sudo systemctl enable teamcity.service
sudo systemctl start teamcity.service

Шаг 8: Проверка работы TeamCity

После выполнения всех этих шагов, вы можете проверить, работает ли TeamCity, открыв браузер и перейдя по адресу http://localhost:8111. Если все прошло успешно, вы увидите страницу входа в TeamCity.

Анекдоты про Half-Life и Portal #1

Добавил(а) Михаил Губин 3 месяца назад

— Что такое синий экран смерти?
— Это такой экран, который появляется, когда Гордон Фримен идёт на базу «Чёрная Меза».

***

— Тыж программист! А Half-Life 3 написать можешь?

— Да легко!

— А Portal 3?

— Тоже могу.

— А Skyrim?

— Без проблем.

— Вот бы ещё Doom 4 сделать…

— Это всё мелочи. Вот Fallout 5 будет сложно.

— Да ладно тебе, это же просто игра!

— Не скажи. Я тут в файлах «Ведьмака» покопался, там вообще какая-то дичь творится.

***

— Доктор Фримен, я пришёл починить ваш компьютер.
— А вы точно программист?
— Да, я ещё и Half-Life прошёл.

***

— Эй, Гордон Фримен! А почему ты без шлема?
— Так ведь в Half-Life 2 нет шлема.
— Ну, ты ж программист, напиши себе шлем.

***

— Куда ты меня ведёшь?
— В комнату с весёлыми испытаниями.
— Это как?
— Как в игре «Портал».
— А я думал, как в игре «Халф-Лайф».

***

В одной лаборатории Valve учёные решили провести эксперимент по скрещиванию двух игр. Для этого они взяли GLaDOS и испытали её на Гордоне Фримене. Но когда всё было готово, оказалось, что Фримен — единственный человек, который может проходить через порталы.

Запускаем задания Jenkins от пользователя root

Добавил(а) Михаил Губин 3 месяца назад

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

Шаг 1: Изменение владельца каталогов Jenkins

Прежде всего, нам нужно изменить владельца некоторых каталогов Jenkins. Это позволит выполнять задания от имени пользователя root. Для этого выполните следующие команды:

# Открываем файл конфигурации Jenkins
nano /etc/sysconfig/jenkins

Теперь найдите строку, которая начинается с $JENKINS_USER, и измените её значение на root. Это позволит Jenkins запускаться от имени пользователя root.

$JENKINS_USER="root"

После внесения изменений сохраните файл и закройте редактор.

Теперь нам нужно изменить владельца каталогов Jenkins. Выполните следующие команды:

# Меняем владельца каталога /var/lib/jenkins
chown -R root:root /var/lib/jenkins

# Меняем владельца каталога /var/cache/jenkins
chown -R root:root /var/cache/jenkins

# Меняем владельца каталога /var/log/jenkins
chown -R root:root /var/log/jenkins

Эти команды изменят владельца всех подкаталогов внутри указанных каталогов на пользователя root.

Шаг 2: Перезапуск службы Jenkins

Теперь, когда мы изменили владельца каталогов, нам нужно перезапустить службу Jenkins. Для этого выполните следующую команду:

systemctl restart jenkins

Это перезапустит службу Jenkins, и она будет запущена от имени пользователя root.

Шаг 3: Проверка статуса службы Jenkins

Чтобы убедиться, что служба Jenkins действительно запущена от имени пользователя root, выполните следующую команду:

ps -ef | grep jenkins

В результате выполнения этой команды вы увидите список процессов, в которых встречается слово "jenkins". Обратите внимание на столбец UID (User ID), который указывает на пользователя, от имени которого запущен процесс. Если там указано число 0, это означает, что процесс запущен от имени пользователя root.

Выводы

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

Программа "Updater": обновите ОС на своих ПК

Добавил(а) Михаил Губин 3 месяца назад

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

Программа использует язык программирования C# и библиотеку log4net для записи информации в журнал. Она также использует класс Process для запуска команд в командной строке.

Функции программы

Программа выполняет следующие функции:

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

  2. Программа запускает процесс обновления системы, используя команды sudo apt-get update и sudo apt-get full-upgrade для дистрибутивов Debian и Ubuntu, и команду sudo yum update -y для RED OS.

  3. Программа собирает информацию о свободном дисковом пространстве на всех доступных локальных дисках.

  4. Информация о дистрибутиве и свободном дисковом пространстве записывается в журнал с помощью библиотеки log4net.

Преимущества использования программы

Использование данной программы имеет несколько преимуществ:

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

Исходник

private static void UpdateSystem()
{
    Console.WriteLine("Обновление системы...");

    // Проверка операционной системы
    string distro = GetDistro();
    if (distro.Equals("RED OS", StringComparison.OrdinalIgnoreCase))
    {
        // Использование команды для RED OS
        Process process = new Process();
        process.StartInfo.FileName = "bash";
        process.StartInfo.Arguments = "-c \"sudo yum update -y\"";
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardOutput = true;
        process.Start();
        process.WaitForExit();

        // Вывод результатов обновления
        Console.WriteLine($"Результат обновления системы: {process.StandardOutput.ReadToEnd()}");
    }
    else if (distro.Contains("Debian") || distro.Contains("Ubuntu"))
    {
        // Использование команд для Debian и Ubuntu
        Process process = new Process();
        process.StartInfo.FileName = "bash";
        process.StartInfo.Arguments = "-c \"sudo apt-get update && sudo apt-get full-upgrade -y\"";
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardOutput = true;
        process.Start();
        process.WaitForExit();

        // Вывод результатов обновления
        Console.WriteLine($"Результат обновления системы: {process.StandardOutput.ReadToEnd()}");
    }
    else
    {
        // Если операционная система не распознана, выводим сообщение об ошибке
        Console.WriteLine("Неизвестная операционная система. Обновление системы не выполнено.");
    }
}

Скомпилированная софтина добавлена к статье, весит примерно 400 кб.

Запуск: dotnet updater.dll.

Скриптуем процесс установки PostgreSQL с определением ОС

Добавил(а) Михаил Губин 3 месяца назад

В этой статье мы рассмотрим, как написать скрипт на Bash для установки PostgreSQL на Linux-системе. Мы будем использовать переменные окружения для определения версии операционной системы и репозитория PostgreSQL, а также команды apt для установки и обновления пакетов. Учтите, что скрипт является примерным, и может не работать на некоторых системах.

Шаг 1: Определение версии операционной системы

Первым шагом мы определим версию операционной системы, чтобы знать, какой репозиторий PostgreSQL использовать. В Ubuntu используется репозиторий postgresql, а в CentOS/RHEL - pgdg.

# Определяем версию операционной системы
if [[ "$(lsb_release -is)" == "Ubuntu" ]]; then
    # Ubuntu
    OS_VERSION="$(lsb_release -rs)"
elif [[ "$(cat /etc/redhat-release)" == *"CentOS"* ]]; then
    # CentOS
    OS_VERSION="7"
elif [[ "$(cat /etc/os-release | grep ^ID=)" == *"rhel"* ]]; then
    # RHEL
    OS_VERSION="7"
else
    echo "Неизвестная операционная система!"
    exit 1
fi

Шаг 2: Установка необходимых пакетов

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

# Устанавливаем необходимые пакеты
sudo apt update
sudo apt install software-properties-common

Шаг 3: Добавление репозитория PostgreSQL

Далее мы добавим репозиторий PostgreSQL в зависимости от версии операционной системы.

# Добавляем репозиторий PostgreSQL
if [[ $OS_VERSION == "16.04" || $OS_VERSION == "18.04" ]]; then
    # Ubuntu 16.04 или 18.04
    sudo add-apt-repository ppa:pgdg/ubuntu
elif [[ $OS_VERSION == "20.04" ]]; then
    # Ubuntu 20.04
    wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
elif [[ $OS_VERSION == "22.04" ]]; then
    # Ubuntu 22.04
    echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
    wget -q --no-check-certificate https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
elif [[ $OS_VERSION == "7" ]]; then
    # CentOS/RHEL 7
    sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
fi

Шаг 4: Обновление списка пакетов

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

# Обновляем список пакетов
sudo apt update

Шаг 5: Установка PostgreSQL

Теперь мы можем установить PostgreSQL, используя команду apt.

# Устанавливаем PostgreSQL
sudo apt install postgresql-16
(251-260/323)

Экспортировать в Atom