Архив рубрики: Публикации

LXQt 1.1.0: следующая стабильная версия будет выпущена в апреле этого года.

LXQt 1.1.0: следующая стабильная версия будет выпущена в апреле этого года.

LXQt 1.1.0: следующая стабильная версия будет выпущена в апреле этого года.

Время от времени оба Дистрибутивы GNU / Linux, такие как приложения, Среды рабочего стола (DE) y Оконные менеджеры (WM) которые интегрируют его, обновляются. Поэтому мы знаем все, что можем, чтобы новый в самый подходящий момент. И сегодня дело за Среда рабочего стола LXQt, которая вскоре выпустит свою будущую стабильную версию под названием и номером «LXQt 1.1.0».

Про эту будущую версию уже было 2 официальных предварительных уведомления, опубликовано в Официальный блог от команды разработчиков такой замечательной среды рабочего стола. Первая дата 14, вторая дата 02. Тем временем в ожидании середина апреля 2022 г. пусть это будет выпущено новая стабильная версия.



Читать

Настройка сети на Debian

Настройка сети — это один из важнейших навыков системного администрирования, и в этой статье мы научимся настраивать сеть на Debian 11.















Получение информации о сетевых интерфейсах




Так как в предыдущем уроке мы научились пользоваться и устанавливать sudo на debian, то для административных действий теперь будем использовать эту утилиту. А настройка сети — это административное действие на любой системе, в том числе и на Debian.




Определить какие интерфейсы есть у вашего сервера поможет утилита lshw. Но её предварительно нужно установить с помощью следующей команды:




$ sudo apt install lshw




Эта утилита предназначена для определения железа вашего сервера. Например, с её помощью можно посмотреть какой на сервере процессор или оперативная память. Используя параметр -С network получим информацию только по сетевым устройствам:




$ sudo lshw -C network
  *-network
       description: Ethernet controller
       product: Virtio network device
       vendor: Red Hat, Inc.
       physical id: 12
       bus info: pci@0000:00:12.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: msix bus_master cap_list rom
       configuration: driver=virtio-pci latency=0
       resources: irq:11 ioport:e0a0(size=32) memory:fea52000-fea52fff memory:fe408000-fe40bfff memory:fea00000-fea3ffff
     *-virtio2
          description: Ethernet interface
          physical id: 0
          bus info: virtio@2
          logical name: ens18
          serial: 2a:75:9e:4d:1d:fa
          capabilities: ethernet physical
          configuration: autonegotiation=off broadcast=yes driver=virtio_net driverversion=1.0.0 ip=172.28.90.31 link=yes multicast=yes




Из этого вывода вы можете получить следующую информацию:




  • logical name: ens18 — имя сетевого интерфейса;
  • serial: 2a:75:9e:4d:1d:fa — mac-адрес;
  • ip=172.28.90.31 — ip-адрес;
  • и другое.




Утилита lshw в основном используется, чтобы узнать имя и возможности сетевой карты. А для получения информации о mac и ip адресах нужно использовать другую утилиту — ip. Эта утилита командной строки не так проста, команда ip имеет множество подкоманд, которые мы изучим в этой статье. И первая подкоманда это address — она означает, что работать мы будем с ip-адресами. У подкоманды address, тоже есть свои подкоманды, например подкоманда show покажет информацию о назначенных ip-адресах. В самом конце команды можно указать имя сетевого интерфейса, чтобы получить информацию только по нему, а не по всем сетевым интерфейсам в системе.




Все эти подкоманды можно сокращать, например address = addr, show = sh. Но пока не будем этого делать, так как вначале нужно их запомнить.




Для того чтобы посмотреть, какие настройки использует сетевой интерфейс ens18 выполним команду ip address show ens18:




$ ip address show ens18
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 2a:75:9e:4d:1d:fa brd ff:ff:ff:ff:ff:ff
    altname enp0s18
    inet 172.28.90.31/20 brd 172.28.95.255 scope global dynamic ens18
       valid_lft 258476sec preferred_lft 258476sec
    inet6 fe80::2875:9eff:fe4d:1dfa/64 scope link
       valid_lft forever preferred_lft forever




Здесь мы также видим mac и ip адрес с маской подсети.




Этот ip адрес был получен по dhcp.




Настройка IP адреса




Чтобы изменить ip адрес на какой-нибудь другой, нужно отредактировать конфигурационный файл «/etc/network/interfaces». Но вначале глянем на него с помощью команды cat:




$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens18
iface ens18 inet dhcp




Посмотрим внимательнее на блок настроек для интерфейса ens18:




  • # The primary network interface — это комментарий, так как в начале строки стоит символ #. Он ни на что не влияет, просто подсказывает нам, что следующие за ним настройки редактируют основной сетевой интерфейс (ens18).
  • allow-hotplug ens18 — разрешает горячее подключение для интерфейса ens18. То есть этот сетевой интерфейс будет включен при старте системы.
  • iface ens18 inet dhcp — интерфейс ens18 будет получать настройки с помощью dhcp.




Чтобы назначить другой статический ip адрес нужно отредактировать этот блок в файле, например с помощью текстового редактора nano.




$ sudo nano /etc/network/interfaces

***** пропущу другие блоки настроек *****

# The primary network interface
allow-hotplug ens18
iface ens18 inet static
        address 172.28.90.77/20
        gateway 172.28.80.1




То есть меняем dhcp на static и ниже указываем адрес интерфейса (address) и адрес шлюза по умолчанию (gateway).




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




  • $ sudo systemctl restart networking.service — перезагружает службу отвечающую за сеть на сервере, но если сетевых интерфейсов несколько, то все они на время окажутся недоступными. Также эта команда у меня не всегда срабатывала, то есть после перезапуска службы, интерфейс оказывался без назначенного ip адреса. Поэтому я не рекомендую этот способ.
  • $ sudo ifdown ens18; sudo ifup ens18 — это две команды, которые выполнятся по очереди. Первая команда (ifdown ens18) отключит сетевой интерфейс, а вторая (ifup ens18) включит. Эта команда меня ещё не подводила.
  • $ sudo reboot — эта команда перезагрузит сервер полностью. После чего сервер загрузится уже с новыми сетевыми настройками.




В любом случае вы отвалитесь от сервера, так как были подключены к нему по ssh по другому ip адресу. Вам придется заново подключиться к серверу, но использовать уже новый ip адрес.




Настройка DNS сервера




Чтобы указать серверу, какой ему использовать dns сервер, нужно редактировать конфигурационный файл /etc/resolv.conf. Давайте взглянем на него:




$ cat /etc/resolv.conf
nameserver 172.28.80.1




Этот адрес был получены от dhcp сервера. Но его можно изменить прям в этом файле:




$ sudo nano /etc/resolv.conf
nameserver 77.88.8.8




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




$ nslookup ya.ru
Server:         77.88.8.8
Address:        77.88.8.8#53

Non-authoritative answer:
Name:   ya.ru
Address: 87.250.250.242
Name:   ya.ru
Address: 2a02:6b8::2:242




Как видим, был использован dns от Яндекса — 77.88.8.8. Именно его мы внесли в конфиг /etc/resolv.conf.




Утилита IP




Теперь более подробно разберем утилиту ip.




Работая с ней вы используете различные подкоманды. Все их рассматривать не будем. Разберём лишь некоторые из них:




  • address — позволяет назначать и удалять ip адреса, просматривать их и тому подобное.
  • link — можно включить или выключить сетевой интерфейс, посмотреть список интерфейсов и их mac адреса.
  • neigh — можно добавить или удалить mac адрес из arp таблицы, или полностью её очистить.
  • route — позволяет создавать новые маршруты и удалять их, а также просматривать уже созданные маршруты.




Шпаргалка по команде ip




У этих подкоманд есть свои подкоманды. Например, чтобы посмотреть информацию используется общая подкоманда show:




# ip address show - посмотреть ip адреса
# ip link show    - посмотреть физические устройства
# ip neigh show   - посмотреть arp таблицу
# ip route show   - посмотреть таблицу маршрутизации




Во всех случаях можно указывать конкретный интерфейс:




# ip address show ens18




Помимо просмотра информации можем настраивать сеть, например можно добавить или удалить ip адрес на интерфейсе. Но в отличии от правки конфигурационного файла, изменённый ip адрес этим способом будет действовать только до перезагрузки сервера:




# ip address add 192.168.0.44/24 dev ens18 - добавить ip для ens18
# ip address del 192.168.0.44/24 dev ens18 - удалить ip для ens18




Также можем добавлять или удалять маршруты. Такие маршруты тоже будут действовать только до перезагрузки сервера:




# ip route add 192.168.5.0/24 via 192.168.0.10 - добавить маршрут
# ip route delete 192.168.5.0/24               - удалить маршрут




Можем включать и выключать сетевые интерфейсы:




# ip link set ens18 up   - включить
# ip link set ens18 down - выключить 




Кстати, выключение и включение сетевых интерфейсов с помощью ip link set не перечитывают настройки из /etc/network/interfaces, поэтому если вы что-то там изменили, то выполняйте ifdown и ifup.




Можем очистить arp таблицу:




# ip neigh flush 




Если хотите, можете почитать мануал по команде ip. На русском языке он доступен тут.




Добавление статических маршрутов




Чтобы добавленный маршрут остался после перезагрузки его нужно вписать в уже знакомый файл /etc/network/interfaces в таком виде:




up ip route add 192.168.5.0/24 via 192.168.0.10




То есть в конце файла, с новой строки пишите up, а дальше команду с помощью которой вы создаете маршрут.




Итог




Вот мы и прошли тему «Настройка сети Debian«.




Мы познакомились с командами lshw, и ip. Научились настраивать сеть с помощью конфигурационных файлов /etc/network/interfaces и /etc/resolv.conf, а также с помощью команды ip. Научились включать и выключать сетевые интерфейсы с помощью команд ifup и ifdown.




Настраивая сеть мы теперь можем указать ip адрес, адрес шлюза, адрес dns сервера, а также можем создать отдельные маршруты. Это не все сетевые настройки, которые можно сделать, их намного больше, можно даже создать свой роутер на Debian, но это выходит за рамки этого курса.















2022-04-08T16:44:29
Администрирование Linux

Что значит ? значит на Java

Java предоставляет широкий спектр операторов, таких как оператор присваивания «=» , оператор приращения « ++ », оператор декремента «–» и так далее. Возможно, вы слышали обо всех этих операторах, но слышали ли вы когда-нибудь о троичном «?» оператор? Что ж, это не что иное, как альтернативный вариант оператора if-else, который также известен как условный оператор. Более того, использование вложенного тернарного оператора «?» предоставляет функциональные возможности операторов switch.

В этой статье мы собираемся исследовать различные аспекты оператора «?»:

  • Что означает «?» в Java
  • Синтаксис
  • Как «?» работает на Java
  • Как использовать вложенный «?» на Java

Итак, начнем!

 

Что значит «?» в Java

«?» в java — это не что иное, как оператор, который работает так же, как выполняются операторы if-else, и поэтому он более известен как условный или тернарный оператор в java. «?» в java помогают нам писать простой, лаконичный и понятный код.

 

Синтаксис

Тернарный или условный оператор состоит из двух символов: один из них — «?» а другой — «:» , и вместе эти два символа образуют выражение:

(condition/expression) ? first-expression : second-expression

 

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

 

Как работает «?» на Java

Как «?» оператор работает аналогично операторам if-else, поэтому сначала он проверяет условие.

  • Если true, то будет выполнено первое выражение.
  • Если false, то будет выполнено второе выражение.

 

Давайте рассмотрим приведенные ниже примеры для глубокого понимания того, как «?» оператор работает в java или как он заменяет оператор if-else.

 

Пример

Фрагмент ниже проверит условие, используя оператор if-else, чтобы узнать, является ли предоставленное число четным или нечетным:

publicclassTernaryOperatorExample {



publicstaticvoidmain(String[] args) {

int number = 35;



if (number % 2 == 0) {

System.out.println("Вы ввели четное число");

        } else {

System.out.println("Вы ввели нечетное число");

        }

    }



}

 

Данное число будет разделено на 2, если в остатке 0, то будет показано четное число, в противном случае — нечетное число.

Вывод подтверждает правильность оператора if-else.

 

Пример

Теперь давайте выполним приведенный выше пример с помощью оператора «?»:

publicclassTernaryOperatorExample {



publicstaticvoidmain(String[] args) {

int number = 35;

        String res = (number % 2 == 0) ? "Четное число" :"Нечетное число";

System.out.println(res);

    }

}

 

Использование оператора ? делает наш код кратким и легким для понимания. Приведенный выше фрагмент кода подтверждает работу оператора «?».

 

Как использовать вложенный «?» на Java

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

 

Пример

В этом примере есть три числа и среди них мы должны найти большее число:

publicclassTernaryOperatorExample {



publicstaticvoidmain(String[] args) {



int num1 = 51, num2 = 45, num3 = 55;



int res = (num1 >= num2) ? ((num1 >= num3) ? num1 : num3) : ((num2 >= num3) ? num2 : num3);



System.out.println("Большее число - это: " + res);

    }

}

 

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

Вышеприведенный фрагмент кода покажет, что «55» больше, чем «51» и «45» , что показывает, что вложенный оператор  «?» работает эффективно.

 

Вывод

В Java «?» известен как тернарный/условный оператор, и он работает так же, как и операторы if-else. «?» в java включает три экземпляра, т.е. конкретное условие и два выражения. Если указанное условие истинно, то будет выполнено первое выражение, иначе будет выполнено второе выражение. В случае нескольких условий можно использовать вложенный тернарный оператор. Эта статья представляет собой подробное руководство об операторе «?», что он означает в java, и как использовать «?» символ в java.



2022-04-08T09:05:00
Java

Что означает += в Java?

В Java есть несколько операторов, которые можно использовать для присвоения значений переменным, известных как операторы присваивания. Среди них наиболее часто используемые операторы присваивания — «=» , «+=» , «-=» и т. д. В этой статье мы рассмотрим различные аспекты оператора «+=» , который называется «оператор присваивания сложения» . Оператор «+=» позволяет нам выполнять сложение и присваивание за один шаг.

В этой статье мы рассмотрим следующие понятия:

    • Что означает += в Java
    • Поведение оператора += по отношению к типам данных

  • Как использовать += для увеличения значения
  • Как использовать += в циклах
  • Как использовать += для конкатенации строк

Итак, приступим!

 

Что означает += в Java

Это сокращенный оператор присваивания, обычно называемый «оператором присваивания составного сложения». Оператор += выполняет две функции за один раз, т. е. сначала выполняет сложение операндов, а затем присваивает результат левому операнду.

Проще говоря, мы можем сказать, что переменная1 += переменная2 имеет тот же смысл, что и переменная1 = переменная1 + переменная2.

 

Поведение оператора += по отношению к типам данных

Поведение оператора += зависит от типа данных операндов, т.е. если операнды являются строками, то он используется для конкатенации, а если операнды являются числами, то он используется для чисел.

 

Как использовать += для увеличения значения

В java оператор ++ увеличивает значение на 1, однако, используя оператор присваивания сложения, мы можем указать приращение по нашему выбору.

Пример

Предположим, у нас есть переменная «number», которая содержит значение 50, теперь, если нам нужно увеличить ее на 5, мы можем сделать это следующим образом:

publicclassAssignmentOperatorExample {

publicstaticvoidmain(String[] args) {

        int number = 50;

        number +=5;

System.out.println(number);

  }

 }

}

 

Приведенный выше вывода мы видим, что число увеличивается на 5.

 

Как использовать += в циклах

Оператор присваивания сложения может использоваться в структурах циклов Java для увеличения значения более чем на единицу.

 

Пример

Если нам нужно напечатать таблицу «5», мы можем использовать цикл for и внутри цикла мы можем увеличивать значение в пять раз на каждой итерации:

publicclassAssignmentOperatorExample {

publicstaticvoidmain(String[] args) {

for(inti=5; i<=50; i+=5 )

        {

System.out.println(i);

        }

    }

}

 

В приведенном выше фрагменте кода мы инициализируем цикл с «5» и указываем критерии завершения как «i<=50» . Затем мы используем оператор «+=» , который будет увеличивать значение на 5 на каждой итерации. Таким образом, будет выполнено 10 итераций, пока значение «i» не удовлетворит условию завершения, т. е . «i <= 50».

Приведенный выше фрагмент кода проверяет работу оператора +=.

 

Как использовать += для конкатенации строк

Оператор += может использоваться для конкатенации строк:

 

Пример

Давайте рассмотрим приведенный ниже фрагмент кода для глубокого понимания того, как объединить строки с помощью оператора += в java:

publicclassAssignmentOperatorExample {

publicstaticvoidmain(String[] args) {

        String str = "Andrey";

        str += "Ex";

System.out.println(str);

}

}

 

Исходная строка — «Andrey», и мы объединяем с ней «Ex» с помощью оператора +=.

 

Вывод

В Java оператор += используется для выполнения двух функций за один раз, т.е. сначала он выполняет сложение, а затем присваивание. Используя оператор +=, можно выполнить сложение или конкатенацию в зависимости от типа данных операндов. Более того, оператор += можно использовать в качестве оператора приращения в циклах Java.

В этой статье представлен всесторонний обзор оператора += , где мы узнали о различных вариантах использования оператора java +=.



2022-04-08T08:55:05
Java

Zulip 5 поставляется с поддержкой ARM, редизайном, улучшениями и многим другим

В запуск новой версии Zulip 5, серверная платформа для реализации корпоративных мессенджеров, подходящих для организации общения между сотрудниками и командами разработки.

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



Читать

Вход в роутер Cisco

Вход в роутер Cisco по умолчанию через логин (Имя пользователя) и Пароль через актуальные IP-адреса для входа. Инструкция универсальная и подходит для всех моделей.

Логины по умолчанию для Cisco

Логин и пароль Cisco - вход в роутер Читать