Архив автора: admin

Как работает Ethernet

Ethernet — это сетевая технология, которая позволяет компьютерам и другим устройствам в одной сети связываться друг с другом. В отличие от беспроводной связи, в сети Ethernet сигналы проходят по проводам. Это тип сети, лежащей в основе локальных сетей (LAN), городских сетей (MAN) и глобальных сетей (WAN). Поскольку потребность в более высоких скоростях сети продолжает расти, технологии Ethernet также продолжают достигать новых высот. Раньше широко применялся стандарт Basic Ethernet, но скорость его сканирования составляла не более 10 Мбит/с. Скорость Ethernet позже значительно улучшилась до 100 Мбит/с с помощью стандарта Fast Ethernet. Хотя Fast Ethernet по-прежнему является наиболее распространенным стандартом, который используется сегодня, стандарты, поддерживающие более высокие скорости, такие как Gigabit Ethernet , который может обрабатывать до 1000 Мбит/с или 1 Гбит/с, и 10 Gigabit Ethernet, уже внедряются, особенно в крупных отраслях промышленности.

 

Как работает Ethernet

Каждое устройство в сети Ethernet имеет карту Ethernet, более известную как NIC (контроллер сетевого интерфейса). Эти устройства называются узлами , и они общаются друг с другом с помощью протоколов . В контексте сети протокол — это язык общения между подключенными устройствами. Узлы обмениваются данными через фреймы, блоки информации, которые узлы отправляют в виде коротких сообщений. Фреймы несут информацию, которую узел отправляет другому узлу. Если протокол — это язык, кадры — это предложения. Протокол Ethernet определяет набор правил для построения фреймов, и каждый фрейм имеет адрес назначения и адрес источника для идентификации отправителя и получателя фрейма. Нет двух узлов с одинаковым адресом. Устройства подключаются друг к другу через Ethernet-кабели, также называемые средой .

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

 

Встречные сигналы

Распространенной проблемой в сетях Ethernet является конфликт сигналов, который происходит, когда два или более компьютеров отправляют данные одновременно. CSMA / CD (множественный доступ с контролем несущей и обнаружением конфликтов) эффективно решает эту сетевую дилемму. С помощью Carrier Sens e компьютер проверяет, используется ли провод, перед отправкой информации, что применяется, когда многие компьютеры используют одно и то же соединение, например, множественный доступ . Когда устройства в сети отправляют информацию одновременно, эта информация будет конфликтовать и не будет отправлена ​​успешно. Обнаружение столкновений это способность устройств в сети обнаруживать, что другие устройства также отправили информацию другим устройствам. Когда это произойдет, указанные устройства будут ждать произвольное время, а затем попытаются повторно отправить информацию.

 

Кабели Ethernet

Кабели Ethernet связывают все устройства в сети. В настоящее время доступны два типа кабелей Ethernet: витая пара и оптоволоконный кабель. Тип используемых кабелей определяет производительность сети.

 

Кабели витой пары

Кабели Ethernet на основе витой пары состоят из медных проводов, скрученных попарно и скрученных вместе в пластиковой оболочке. Концы кабелей заделаны разъемом RJ45. Кабели витой пары используются с самого начала создания сетей Ethernet, и их классифицируют по нескольким категориям.

Первым кабелем, использованным в сети Ethernet, был кабель категории 1 , который широко использовался в 1970-х годах. Этот кабель, также известный как коаксиальный кабель, состоит из скрученных телефонных проводов, завернутых в пластиковую оболочку. В последующих итерациях были улучшены частоты и производительность. Однако только в 1995 году произошел значительный скачок в частоте и скорости. Кабели категории 5 имеют частоту более 100 МГц и гораздо более высокую скорость 100 Мбит/с. Это было незадолго до того, как был введен кабель категории 5e или Cat 5e, увеличивший скорость до 1 Гбит/с. Категория 6кабель вышел в начале 21 века. Кабели Cat 6, работающие на частоте 250 МГц, могут передавать данные со скоростью 1 Гбит/с на расстояние более 330 футов и со скоростью 10 Гбит/с на расстоянии более 150 футов. Кабели Cat 6 также имеют экранирование для уменьшения помех. Усовершенствованный кабель Cat 6, кабель Cat 6A, работает на частоте 500 МГц, обеспечивая скорость передачи 1 Гбит/с на расстоянии 330 футов. Категория 7 следует за кабельной лестницей с более высокой частотой 600 МГц и выдающейся производительностью 10 Гбит/с на высоте 330 футов. Для усиления изоляции каждая пара проводов экранирована, а другой экран покрывает весь пучок проводов, что еще больше снижает помехи. Кабель Cat 7 был усовершенствован до Cat 7A, который передает 1 ГГц с поразительной скоростью 40 Гбит/с на расстояние 165 футов. Список становится все длиннее, последнее пополнение группы — Категория 8.кабель, работающий на максимальной частоте 2 ГГц и скорости 40 Гбит/с. Cat 7 и Cat 8 в основном используются в серверных комнатах и ​​центрах обработки данных, где требуется максимальная скорость.

 

Волоконно-оптические кабели

В настоящее время волоконная оптика занимает центральное место в области сетевых технологий. Волоконная оптика, изготовленная из стекловолокна, обеспечивает гораздо лучшие характеристики, чем традиционные медные провода. Волоконно-оптические кабели могут передавать данные со скоростью 10 Гбит/с на большие расстояния — 1000-6000 футов. Это устраняет необходимость в усилителях сигнала. Волоконная оптика также невосприимчива к помехам, в отличие от медных кабелей, поскольку они переносят свет вместо электричества. Таким образом, сигнал более надежен в оптоволоконных кабелях.

 

Преимущества Ethernet

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



2021-02-12T09:14:06
Сети

Уменьшают ли разветвители Ethernet скорость?

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

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

 

Правильная установка

Разветвители Ethernet полезны для подключения двух устройств в другой комнате, откуда идет основной сигнал. Они помогают сэкономить кабели, сетевые розетки и в большинстве случаев обеспечивают надежное соединение. Как упоминалось ранее, разветвители Ethernet бывают парами. Один разветвитель объединяет два сигнала от устройства (в большинстве случаев от маршрутизатора), а другой разделяет сигналы на две полосы, позволяя подключить два устройства.

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

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

 

Уменьшают ли разветвители Ethernet скорость?

Возможно, общий вопрос при использовании разветвителей Ethernet: «Будет ли это замедлять соединение?» Ответ будет полностью зависеть от типа сети, в которой используются разветвители. Разветвители Ethernet основаны на довольно старом стандарте 100BASE-T или более известном как Fast Ethernet, который обеспечивает номинальную скорость трафика 100 Мбит/с.

В кабеле Ethernet Cat5e есть 4 пары проводов, что означает в общей сложности 8 проводов в одном кабеле. В Fast Ethernet используются только две пары из четырех; две другие пары просто сидят там, неиспользованные. Сплиттер примет два сигнала со скоростью 100 Мбит/с от маршрутизатора, что означает два кабеля Ethernet, и объединит их на одном конце. Затем эти сигналы будут разделены на два сигнала 100 Мбит/с на другом конце. Таким образом, каждый порт на приемном конце разветвителя может передавать максимальную скорость 100 Мбит/с. Чтобы ответить на вопрос, то, если сплиттеры используются в сети 100 Мбит/с, нет, они не будут замедлять соединение. Однако, если ваш маршрутизатор может обеспечить скорость 1 Гбит/с и вы используете промежуточный разветвитель, то теоретически скорость будет значительно снижена до 100 Мбит/с. В этом случае разветвители действительно снизили скорость, и соединение будет медленнее.

 

За и против

Разветвители Ethernet могут пригодиться в определенных обстоятельствах, но у них есть много недостатков. Во-первых, они могут обеспечить максимальную скорость только 100 Мбит/с на порт Ethernet. В сети, которая может обеспечить скорость более 100 Мбит/с, ресурсы не будут полностью оптимизированы из-за этого ограничения. Более того, количество устройств, к которым вы можете подключиться, ограничено двумя, поэтому, если подключено более двух устройств, разветвители Ethernet не будут лучшим вариантом. Кроме того, если у вас есть только один оставшийся порт Ethernet в вашем маршрутизаторе, будет вообще невозможно использовать разветвители; нужно принести некоторые жертвы. Более того, хотя они уменьшают количество кабелей для соединения двух сетей, для работы установки по-прежнему требуются два разветвителя.

С другой стороны, разветвители Ethernet имеют несколько преимуществ. Они стоят намного дешевле, чем другое сетевое оборудование, и не требуют сложной настройки. Кроме того, в отличие от большинства сетевых устройств, им не требуется никакого программного обеспечения или конфигурации. Разветвители Ethernet — идеальный вариант в домашних сетях, где подключено меньше устройств, обычно максимум два устройства в одной комнате. Если вас устраивает соединение со скоростью 100 Мбит/с и у вас есть только два устройства для подключения, то лучше всего подойдут разветвители Ethernet.

Разветвители Ethernet существуют уже давно, но как бы они ни были просты, нет особых улучшений, позволяющих преодолеть их ограничения. Они по-прежнему основаны на устаревшем стандарте Fast Ethernet, который, возможно, уже не так важен при сегодняшнем спросе на более высокую скорость. Несмотря на то, что у них есть свои преимущества, в большинстве случаев они попросту не подходят. Сегодняшние технологические достижения позволяют надеяться на будущее разветвителей Ethernet. Какой-нибудь гений может просто поднять его до стандарта Gigabit Ethernet.



2021-02-11T19:42:38
Сети

Каким образом можно изучить C++ с нуля?

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

C++ поможет вам привить хорошие навыки программирования (то есть ясный и последовательный стиль кодирования, комментировать код по мере его написания и ограничить видимость внутренних компонентов класса для внешнего мира), а поскольку абстракции практически нет, вам необходимо определить практически все атрибуты, необходимые для работы вашего кода.

В этом посте мы познакомим вас с дорожной картой для начинающих по изучению C++ по курсам https://tutortop.ru/courses_selection/kursy_razrabotki_na_c/ или самостоятельно, чтобы вы могли чувствовать себя уверенно, начиная свой путь.

Вот что мы рассмотрим сегодня:

  • Краткая история C++
  • Обзор инструментов и программного обеспечения C++
  • Введение в язык и синтаксис C++
  • C++ Часто задаваемые вопросы
  • Следующие шаги

Давайте начнем!

Краткая история C++

Отличный способ начать работу с C++ — изучить его историю. C++ — один из старейших языков программирования, поэтому существует множество различных версий. Знакомство с этой историей поместит вас в сообщество программистов на C++ и даст вам представление о его возможностях.

Язык программирования C++ был изобретен в 1979 году Бьярном Страуструпом, когда он работал над своей докторской диссертацией в Bell Labs. C++ был разработан как расширение языка программирования C, отсюда и его первоначальное название «C с классами». Целью Страуструпа было добавить гибкости и ООП (объектно-ориентированного программирования) к языку C. Он включил такие функции, как классы, строгая проверка типов, аргументы функций по умолчанию и базовое наследование. Название было изменено на C++ в 1983 году, которое происходит от ++оператора.

C++ был выпущен для коммерческого использования в 1985 году, но еще не был стандартизирован. В 1990 году был выпущен компилятор Borland Turbo C++, который добавил много новых функций. Первый международный стандарт C++ был опубликован в 1998 году, известный как C++ 98.

Сюда входит стандартная библиотека шаблонов, предоставляющая общие функции программирования и структуры данных. На основании отзывов комитет пересмотрел эти стандарты в 2003 году, а язык обновления был переименован в C++ 03.

В 2011 году, когда был завершен C++ 11, язык претерпел еще одну ревизию. Эта версия включает auto, среди прочего, такие функции, как поддержка Regex, новые библиотеки, новый синтаксис для циклов, ключевое слово и новые классы контейнеров. С тех пор были выпущены еще две ревизии: C++ 14 и C++ 17.

Обзор инструментов C++

Чтобы правильно создавать программы на C++ во время прохождения курсов https://tutortop.ru/courses_selection/kursy_po_c_razrabotke/, вам необходимо знать несколько инструментов и программного обеспечения: текстовый редактор, компилятор C++, компоновщик и библиотеки.

Текстовые редакторы

Чтобы написать программу на C++, вам понадобится текстовый редактор. Думайте об этом как о пустом документе Microsoft Word; именно здесь вы будете писать свой код. Подойдет любой текстовый редактор, некоторые даже встроены в ваш компьютер, но мы рекомендуем использовать текстовый редактор, предназначенный для программирования. Есть много вариантов, но некоторые из наиболее распространенных текстовых редакторов для разработчиков на C++:

  • Notepad ++: открытый доступ, легкий, простой
  • Atom: бесплатно, поддерживает множество языков, ограниченное количество плагинов
  • Sublime Text: 80 долларов, уникальные функции, простой макет
  • Bluefish: легкий, быстрый, мультиплатформенный, поддерживает множество языков.

Компиляторы

Компилятор просматривает ваш исходный код для выполнения двух важных задач: во-первых, он проверяет, соответствует ли ваш код правилам языка C++; во-вторых, он переводит ваш код в объектный файл. Некоторые известные компиляторы — это GCC, Clang и компилятор Visual Studio C++. Мы не рекомендуем Turbo C++, так как он немного устарел.

Компоновщик

Как только компилятор творит чудеса, объектный файл отправляется программе компоновщика, которая выполняет три задачи: во-первых, она объединяет все ваши объектные файлы в единую программу; во-вторых, он связывает файлы библиотеки с вашей программой; и, в-третьих, он выявляет любые проблемы с именами между файлами или ссылками.

Библиотеки

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

Интегрированная среда разработки (IDE)

Многие программисты на C++ используют IDE вместо текстового редактора и компилятора. IDE — это универсальный инструмент для программирования на C++. Он включает текстовый редактор, компоновщик, компилятор и библиотеки. Не существует подходящего или неправильного компилятора. Все сводится к вашим потребностям и тому, какой макет лучше всего подходит для вас. Некоторые популярные IDE:

  • Code::Blocks: бесплатные, востребованные функции, плагины пользователей
  • Visual Studio Code: открытый исходный код, отличные функции, кроссплатформенность
  • Eclipse: открытый исходный код, простой, кроссплатформенный, необходимо установить компоненты C++

Введение в язык и синтаксис C++

C++ — объектно-ориентированный язык программирования. Это означает, что программы C++ моделируются вокруг объектов и классов, которыми вы можете управлять и манипулировать, применяя функции. Языки ООП предлагают четкую структуру программы и помогают разработчикам моделировать реальные проблемы.

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

У вас есть возможность выбирать, как распределяется память (например, стек или куча); в C++ нет интерпретатора, который помешал бы вам писать ошибочный код.

Чтобы начать работу с C++, вам необходимо ознакомиться с синтаксисом. Это проложит путь для оставшейся части вашего пути к C++ и поможет вам создавать оптимизированные программы, которые будут безопасными и не содержат ошибок.

Давайте посмотрим на код C++!

Глядя на приведенный ниже код, вам может быть интересно, что все это такое и что это значит. Добро пожаловать в синтаксис C++.

Что такое синтаксис? Синтаксис подобен грамматике языка программирования. Это основная основа всего, что вы будете писать на C++.

Это правила, которые определяют, как вы пишете и понимаете код C++. Давайте посмотрим на пример кода, чтобы познакомиться с синтаксисом.

#include <iostream> //header file library 

using namespace std; //using standard library



int main() { //main function

  cout << "Hello World n"; // first object

  cout << "Learn C++ nn"; //second object with blank line

  cout << "Educative Team"; //third object 

  return 0; //no other output or return

} //end of code to exectute

Объяснение синтаксиса

#include <iostream>— это библиотека заголовочного файла. Заголовочный файл импортирует функции в вашу программу. По сути, мы просим программу скопировать содержимое из файла с именем <iostream>. Это означает поток ввода и вывода , и он определяет стандарты для объектов в нашем коде.

using namespace std означает, что мы используем имена объектов и переменных из стандартной библиотеки ( std). Этот оператор часто сокращается с помощью ключевого слова std и оператора ::. int main( ) используются для определения основной функции.

Это очень важная часть программ на C++. Функция по существу определяет действие для вашего кода. Все, что находится в фигурных скобках { }, будет выполнено.

cout это объект (произносится «видеть»). В этом примере он определяет наши выходные данные: строки слов. Мы пишем новый объект, используя cout во второй строке. Символ n заставляет текст исполняться в другой строке.

Включение двух nn создает пустое пространство. Выражением return 0 мы сообщаем программе, что ничего не вернется. Мы выводим только строки текста. Обратите внимание, что мы используем << оператор для именования наших объектов. Точка с запятой ; функционирует как точка.

Термины и словарь C++

Теперь, когда у нас есть представление о том, как выглядит код C++, давайте определим некоторые из упомянутых нами терминов и познакомим вас с некоторыми другими.

Ключевые слова

Ключевые слова — это заранее определенные имена, которые можно использовать для идентификации вещей в вашем коде. Ключевые слова — это идентификаторы определенных объектов, переменных или действий. Вы также можете создавать свои собственные ключевые слова. Вот несколько примеров ключевых слов:

  • goto
  • float
  • public
  • class(1)
  • int

Переменные

Переменные подобны контейнерам, в которых хранятся значения. Чтобы объявить переменную, вы должны присвоить ей значение type и  использовать правильное ключевое слово. Всем переменным в C++ необходимо имя или идентификатор. При создании идентификаторов необходимо соблюдать несколько основных синтаксических правил.

  • Имена чувствительны к регистру
  • Имена могут содержать буквы, цифры и символы подчеркивания.
  • Имена должны начинаться с буквы или символа подчеркивания.
  • Имена не могут содержать пробелы или специальные символы (!, #, @ И т. Д.)
  • Имена не могут использовать зарезервированные ключевые слова

Есть шесть различных типов переменных:

int myNum = 5;               // Stores integers (whole numbers)

float myFloatNum = 5.99;     // Stores decimals loating point number

double myDoubleNum = 9.98;   // Floating point number

char myLetter = 'D';         // Stores single characters

bool myBoolean = true;       // Stores Boolean, values with a true or false state

string myText = "Hello";     // Stores strings of text

Типы данных

Типы данных — это классификации различных типов данных, которые вы можете использовать в программе. Типы данных сообщают нашим переменным, какие данные они могут хранить. В C++ есть три типа данных:

Примитивные типы данных: это встроенные данные, которые вы можете использовать для объявления переменных. Они включают в себя integer, character, boolean, floating point, double floating point, void, и wide character.

Производные типы данных: они являются производными от примитивных типов данных. Они включают в себя function, reference, array, и pointer.

Типы данных, определяемые пользователем: они определяются вами, программистом.

Строки

Строки — это объекты в C++. Они представляют собой набор символов в " " кавычках, как наша строка "Hello World". Поскольку они являются объектами, мы можем выполнять с ними функции, такие как функция length( ), определяющая длину строки.

Операторы

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

  • Арифметические операторы используются для математических операций. Они работают как алгебраические символы.
    cout << x + y // This adds x to y

  • Операторы присваивания предназначены для присвоения значений нашим переменным.
    int x = 10 // This defines x as 10

  • Операторы сравнения сравнивают два значения.
    x <= y // Determines x is greater than or equal to y

  • Логические операторы определяют логику между значениями.
    x < 4 && x <9 // Will return true if both statements are true about x

Объекты

Объект — это набор данных, с которыми мы можем действовать. У объекта в C++ есть атрибут (его свойства) и метод (его возможности). Вы создаете объекты, используя класс. Думайте об этом как о чертеже объекта.

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

#include <iostream>

using namespace std;

class Dog //this is the name of our class

{

public:

  string name = "rover"; //this is an attribute

  string gender = "male";

  int age = 5;

};

int main() {

  Dog dogObj; //here we are making an object of Dog class

  cout << "Dog name is: "<<dogObj.name<<endl; //by using . operator we can access the member of class

  cout << "Dog gender is: "<<dogObj.gender<<endl; //accessing the public members of class Dog in main()

  cout << "Dog age is: "<<dogObj.age<<endl;

}

Функции

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

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

Чтобы создать функцию, вы должны дать ей имя (так называемое объявление) и круглые скобки ( ). Затем вы можете вызвать эту функцию в любой момент, используя это name( ).

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

Условные утверждения

Они позволяют выполнять проверки того, следует ли выполнять блок кода. В C++ есть четыре условных оператора:

  • if: при выполнении определенного условия будет выполнено определенное действие
  • else: вместо этого будет выполнено определенное действие, если это условие не выполнено
  • else if: новое условие будет проверено, если первое не выполнено
  • switch: проверяет переменную на соответствие списку значений

Циклы

Циклы похожи на условные операторы. Они выполняют блоки кода, пока достигается определенное условие. В C++ есть два типа циклов:

  • while циклы: этот цикл будет продолжать повторять ваш код, пока условие не возвращается true.
  • for циклы: это используется, когда вы знаете точное количество циклов в своем коде.

Теперь, когда у вас есть базовое представление о синтаксисе C++, давайте рассмотрим некоторые часто задаваемые вопросы и ресурсы, которые помогут вам начать путешествие по C++.

C++ FAQ

Сколько времени нужно, чтобы изучить C++?

Ну, это действительно зависит от того, что подразумевается под «учиться». Если вы серьезно относитесь к этому языку, то вы никогда не закончите его изучение. Разработчики могут посвятить всю свою карьеру C++ и при этом чувствовать, что им есть чему поучиться.

С учетом сказанного, если вы поработаете, вы сможете выучить достаточно C++ за 1-2 года и при этом оставаться отличным разработчиком.

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

Для чего используется C++?

C++ ориентирован на производительность больших систем, поэтому он используется в большом количестве программ и задач, где производительность важна. Это включает в себя, помимо прочего, операционные системы, разработку игр, 3D-анимацию, веб-браузеры (они используются в Firefox и Chrome), программное обеспечение для офисов, медицинское программное обеспечение и многое другое. C++ используется во всех играх Blizzard, большинстве консольных игр, Adobe Photoshop, Mozilla Thunderbird, технологиях PDF и сканерах МРТ.

В чем разница между C и C++?

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

В чем разница между C++ и C #?

C# — гораздо более новый язык (созданный Microsoft в 2000 году), он построен на C++, поэтому они имеют схожий синтаксис. Одно из основных различий между ними — их гибкость. C# показывает предупреждения компилятора при написании кода, чтобы уменьшить количество ошибок, а C++ — нет.

C# работает только в ОС Windows, а C++ может работать на любой платформе (MacOS, Linux, Windows и т. Д.). C# отлично подходит для мобильных и веб-приложений, а C++ известен производительностью и программами, которые работают напрямую с оборудованием. Они также немного по-другому обрабатывают управление памятью.

Схож ли C++ с другими языками программирования?

C++ является основой для многих других объектно-ориентированных языков программирования, таких как Java, JavaScript, Python, PHP, Rust, C # и других. Изучение синтаксиса C++ облегчит изучение других языков программирования.

Какой язык программирования лучше всего изучать?

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

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

Насколько востребован C++? За С++ хорошо платят?

Да и да. Если вы потратите время, то будете вознаграждены. У разработчиков C++ уже есть высокие зарплаты, и ожидается, что они будут расти в ближайшие годы. C++ переживает период возрождения популярности, поскольку он отлично подходит для таких надежных приложений, как беспилотные автомобили и виртуальная реальность. Поскольку у C++ более крутая кривая обучения, чем у большинства языков, полученные вами навыки выделят вас при приеме на работу.



2021-02-11T15:37:54
Вопросы читателей

Как использовать функцию NumPy unique() в Python

Библиотека NumPy используется в Python для создания одного или нескольких размерных массивов, и у нее есть много функций для работы с массивом. Функция unique() — одна из полезных функций этой библиотеки для определения уникальных значений массива и возврата отсортированных уникальных значений. Эта функция также может возвращать кортеж значений массива, массив ассоциативных индексов и количество раз, когда каждое уникальное значение появляется в основном массиве. В этом руководстве показаны различные варианты использования этой функции.

 

Синтаксис:

Синтаксис этой функции приведен ниже.

array numpy.unique(input_array, return_index, return_inverse, return_counts, axis)

Эта функция может принимать пять аргументов, назначение которых объясняется ниже.

  • input_array: это обязательный аргумент, который содержит входной массив, из которого выходной массив будет возвращен путем извлечения уникальных значений. Если массив не является одномерным массивом, то массив будет сглаженным.
  • return_index: это необязательный аргумент, который может принимать логическое значение. Если для этого аргумента установлено значение True, он вернет индексы входного массива.
  • return_inverse: это необязательный аргумент, который может принимать логическое значение. Если для этого аргумента установлено значение True, он вернет индексы выходного массива, который содержит уникальные значения.
  • return_counts: это необязательный аргумент, который может принимать логическое значение. Если для этого аргумента установлено значение True, он вернет количество раз, когда каждый элемент уникального массива появляется во входном массиве.
  • axis: это необязательный аргумент, который может принимать любое целочисленное значение или None. Если для этого аргумента не задано значение, входной массив будет сглажен.

Функция unique() может возвращать четыре типа массивов на основе значений аргументов.

 

Пример 1: Распечатать уникальные значения одномерного массива

В следующем примере показано использование функции unique() для создания массива с уникальными значениями одномерного массива. В качестве значения аргумента функции unique() используется одномерный массив из 9 элементов. Возвращенное значение этой функции напечатано позже.

# Импортировать библиотеку NumPy



import numpy as np



# Создать массив целого числа



np_array = np. unique ([55, 23, 40, 55, 35, 90, 23, 40, 80])



# Распечатать уникальные значения



print("Массив уникальных значений: n", np_array)

 

Выход :

Входной массив содержит 6 уникальных элементов, которые отображаются на выходе.

 

Пример 2: Распечатать уникальные значения и индексы на основе входного массива

В следующем примере показано, как можно получить уникальные значения и индексы двумерного массива с помощью функции unique(). В качестве входного массива используется двумерный массив из 2 строк и 6 столбцов. Для аргумента return_index установлено значение True, чтобы получить индексы входного массива на основе уникальных значений массива.

# Импортировать библиотеку NumPy



import numpy as np



# Создать двумерный массив



np_array = np. array([ [ 6, 4, 9, 6, 2, 9 ], [ 3, 7, 7, 6, 1, 3 ] ])



# Распечатать двумерный массив



print("Содержимое двумерного массива : n", np_array)



# Создайте уникальный массив и индексный массив уникальных значений



unique_array, index_array = np. unique(np_array, return_index = True)



# Распечатать значения уникального и индексного массивов



print("Содержимое уникального массива: n", unique_array)



print("Содержимое индексного массива: n", index_array)

 

Выход :

Входной массив содержит 7 уникальных значений. На выходе отображается массив из 7 уникальных значений и 7 индексов этих значений из входного массива.

Пример 3: Распечатать уникальные значения и индексы на основе выходного массива

В следующем примере показано, как уникальные значения одномерного массива и индексы основаны на уникальных значениях с помощью функции unique (). В сценарии в качестве входного массива используется одномерный массив из 9 элементов. Значение аргумента return_inverse установлено в True, что вернет другой массив индексов на основе уникального индекса массива. И уникальный массив, и индексный массив напечатаны позже.

# Импортировать библиотеку NumPy



import numpy as np



# Создать массив целочисленных значений



np_array = np. array([ 10, 60, 30, 10, 20, 40, 60, 10, 20 ])



print("Значения входного массива: n", np_array)



# Создайте уникальный массив и обратный массив



unique_array, inverse_array = np.unique(np_array, return_inverse=True)



# Распечатать значения уникального массива и обратного массива



print("Значения уникального массива: n", unique_array)



print("Значения обратного массива: n", inverse_array)

 

Выход :

На выходе был показан входной массив, уникальный массив и обратный массив. Входной массив содержит 5 уникальных значений. Это 10, 20, 30, 40 и 60. Входной массив содержит 10 в трех индексах, которые являются первым элементом уникального массива. Итак, 0 появился в обратном массиве трижды. Остальные значения обратного массива были размещены таким же образом.

 

Пример 4: Распечатайте уникальные значения и частоту каждого уникального значения

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

# Импортировать библиотеку NumPy



import numpy as np



# Создать массив целочисленных значений



np_array = np. array([70, 40, 90, 50, 20, 90, 50, 20, 80, 10, 40, 30])



print("Значения входного массива: n", np_array)



# Создать уникальный массив и подсчитать массив



unique_array,count_array = np.unique(np_array, return_counts = True)



# Распечатать значения уникального массива и обратного массива



print("Значения уникального массива: n", unique_array)



print("Значения массива count: n", count_array)

Выход :

Входной массив, уникальный массив и массив счетчиков были напечатаны в выходных данных.

 

Заключение

Подробное использование функций unique() было объяснено в этом руководстве с использованием нескольких примеров. Эта функция может возвращать значения различных массивов, показанных здесь, с использованием одномерных и двумерных массивов.



2021-02-11T10:14:44
Python

Что такое Bitcoin Cash и является ли это хорошей инвестицией? (2021 год)

Практически весь мир к настоящему времени слышал или даже использовал Биткойн. Это маяк криптовалюты, и его невероятный рост на ранних этапах 2021 года заставил его сиять ярче, чем когда-либо. Конечно, когда в списке указан Bitcoin Cash, мы не можем не задаться вопросом, связан ли он с Биткойном или совершенно другой криптовалютой, чем Биткойн. Что ж, ответ на оба этих вопроса действительно положительный. Давайте разберемся, что такое Биткойн Кэш и является ли это хорошей инвестицией.

Что такое Bitcoin Cash?

Bitcoin Cash (BCH) был образован в августе 2017 года в результате хард-форка блокчейна Биткойн (BTC). Хард-форк — это, по сути, блокчейн, разделенный на две части, и каждый существующий остаток становится его криптовалютой с его уникальной цепочкой блоков.

Вы можете купить биткоин за наличные Cryptex в Москве, Санкт-Петербурге и других городах России. Для покупки необходимо отправить заявку на пополнение вашего счёта на нашей криптовалютной биржи Cryptex с указанием желаемого города передачи средств, времени и суммы.

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

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

Эти группы посчитали, что, хотя и необходимо (с увеличением размера сети BTC, которая изо всех сил пытается справиться с увеличением количества транзакций), предлагаемое обновление не следует децентрализованной философии создателя псевдонима Сатоши Накамото. В результате они согласились, что единственный способ преодолеть проблему масштабируемости — увеличить предельный размер блока.

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

Роджер Вер, видный ранний инвестор в BTC, известный как «Биткойн Иисус», вложивший в 2011 году 25000 долларов, когда они стоили 1 доллар каждый, стал соавтором BCH и по сей день продвигает криптовалюту вместо BTC.

В интервью Forbes в 2019 году он сказал, что работает над «партнерством с большим количеством известных имен, чтобы использовать Bitcoin Cash в реальной коммерции для реальных людей и реального бизнеса». И интригующе предсказал, что «в конечном итоге он превзойдет рыночную капитализацию BTC».

 

Как добывают Bitcoin Cash?

Технология, лежащая в основе BCH, точно такая же, как и BTC. Криптовалюта имеет блокчейн, который действует как главная книга и записывает каждую транзакцию. Как и в случае майнинга BTC , майнеры используют мощные компьютеры для решения сложных математических задач для проверки транзакций и, таким образом, добавления новых блоков в цепочку блоков. За это майнеры награждаются криптовалютой. Награда за блок для майнеров в настоящее время составляет 6,25 BCH после последнего сокращения вдвое в апреле 2020 года.

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

 

Биткойн против Bitcoin Cash

Так в чем же основные различия между BTC и его младшим братом по хард-форку, BCH?

  • Масштабируемость

BCH был сформирован из-за некоторых опасений в сообществе BTC относительно проблемы масштабируемости Биткойна. Даже сегодня сеть BTC может обрабатывать только 7 транзакций в секунду (TPS) , в то время как сеть BCH может обрабатывать значительно больше. Этот факт был продан как один из основных аргументов в пользу его продажи во время запуска. В то время размер блока BTC был ограничен 1 МБ, но изначально BCH имел размер блока 8 МБ. С тех пор он увеличился до 32 МБ.

  • Сложность майнинга

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

На момент написания (14 января 2021 г.) BTC составлял около 37000 долларов, а BCH — около 500 долларов. Следовательно, для привлечения майнеров в сеть сложность сети BCH должна быть ниже, чем у BTC. Но как это работает? Через что-то, что называется Emergency Difficulty Adjustment (EDA). Это алгоритм, встроенный в блокчейн BCH, который автоматически вступает в силу при резком изменении количества майнеров.

  • Использование и адаптации

Еще одним источником разногласий в сообществе BTC было то, что к нему относились больше как к средству сбережения, чем к реальной валюте. Действительно, даже сегодня это понятное разочарование. В СМИ по-прежнему много внимания уделяется тому, что BTC является «цифровым золотом» с ограниченным предложением. Итак, если вы надеетесь, что его цена вырастет в будущем, зачем вам использовать его для покупки чего-то еще? Таким образом, с его низкими комиссиями и быстрым временем обработки, видение его создателей ожидает, что BCH обгонит BTC в использовании в качестве реальной валюты — во всяком случае теоретически. Но так ли вышло?

 

Были ли биткойны наличными успешными?

Как мы уже видели, после запуска BCH продавался как Биткойн плюс. «Биткойн… но лучше!» Итак, был ли это оглушительный успех, на который надеялись его создатели? Ну… не совсем так. Его разработчикам пришлось столкнуться с несколькими проблемами, которые в конечном итоге повлияли на его цену и успех криптовалюты на протяжении ее короткого срока службы.

 

Хард-форки Bitcoin Cash

Вы не поверите, но у BCH тоже был хардфорк! На самом деле не раз. Первый произошел в ноябре 2018 года, когда его блокчейн разделился с формированием новой криптовалюты Bitcoin SV. «SV» означает «видение Сатоши». (Сатоши — создатель Биткойна, Сатоши Накамото).

Подобно первоначальному форку BTC, форк BCH возник из-за спора между разработчиками по поводу направления блокчейна, описанного как «гражданская война» между различными фракциями сообщества BCH. По сути дело сводилось к размеру блока. С одной стороны, Роджер Вер и компания хотели сохранить размер блока 8 МБ. На другом конце были Крейг Стивен Райт и компания, которые хотели увеличить размер блока до 128 МБ.

Дальнейшее разделение цепочки происходило каждые шесть месяцев с целью обновления сети. Однако даже суперфанат BCH Роджер Вер выразил недовольство этим, заявив, что запланированные «спорные хард-форки» — это «большая проблема» и что он «хотел бы, чтобы этому пришел конец». Регулярные хард-форки, как правило, не рассматриваются как положительные для криптовалюты, поскольку они рассматриваются как дестабилизирующие, и действительно, похоже, что именно так и было в случае BCH. Это отразилось на его цене, о чем мы поговорим позже в статье.

 

Угроза атаки 51%

Угроза атаки 51% вызвала вопросы о безопасности блокчейна BCH. Такое событие происходит, когда группы майнеров могут получить более половины хэш-мощности блокчейна и, таким образом, взять на себя контроль над сетью. Если посмотреть на сеть BTC, это маловероятно из-за огромной мощности хеширования и затрат, связанных с проведением такой атаки. Однако в прошлом атака 51% случилась с другими блокчейнами, включая Bitcoin Gold в 2018 году, когда злоумышленники украли криптовалюту на сумму 18 миллионов долларов.

Хотя этого не произошло с блокчейном BCH, были высказаны опасения. В апреле 2020 года произошло последнее сокращение BCH вдвое, в результате чего вознаграждение майнеров снизилось с 12,5 BCH до 6,25 BCH. В результате хешрейт сети значительно снизился, так как майнеры устремились в более прибыльные предприятия. В свою очередь, это значительно снизило стоимость запуска атаки 51% ( менее 10 000 долларов в час на одном этапе). К счастью, такой атаки не было. Однако это вызывает постоянные тревожные вопросы у сообщества BCH, касающиеся его безопасности.

До сих пор мы были немного циничными при оценке успеха BCH, так был ли он успешен в какой-либо области?

 

Используется как способ оплаты

Поскольку BCH был основан для бесперебойной и эффективной оплаты, в последние годы в этой области был достигнут определенный успех. В качестве верного признака роста его статуса, особенно в октябре 2020 года, он был включен PayPal в список криптовалют (наряду с BTC, Ethereum и Litecoin). Теперь клиенты смогут покупать и продавать товары со своих счетов. В феврале 2020 года было подсчитано, что более 4300 продавцов по всему миру теперь принимают BCH (поэтому к настоящему времени это число, вероятно, будет выше).

 

История цен Bitcoin Cash

BCH был запущен в августе 2017 года за 240 долларов. Это было время, которое совпало со знаменитым бегством крипто-быков. Таким образом, он быстро вырос в цене и достиг пика 20 декабря 2017 года, составив 4355 долларов. В начале 2018 года, как и многие другие криптовалюты, произошла значительная коррекция. К февралю цена упала ниже 800 долларов. К маю, однако, он поднялся выше отметки 1600 долларов. Однако по мере того, как в сообществе BCH разгорелась борьба (кульминацией которой стал хард-форк с Bitcoin SV), его цена упала. Это привело к рекордно низкому уровню в 75 долларов в декабре 2018 года.

С тех пор его цена оставалась относительно стабильной. В период с января 2019 года по январь 2021 года он не опускался ниже 100 и выше 500 долларов. Даже сокращение вдвое не сильно повлияло на его цену. Тем не менее, в январе 2021 года произошел скачок цен, чему способствовал заметный скачок цены на BTC. 10 января его цена ненадолго превысила отметку в 600 долларов, это самая высокая цена за последние два года. Можно ли сохранить это оптимистичное настроение?

 

Биткойн наличные — хорошая инвестиция?

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

 

Прогнозы цен на Bitcoin Cash

  • Prime XBT прогнозирует, что к 2025 году BCH достигнет примерно 1100 долларов.
  • Цена цифровых монет более оптимистична, прогнозируя, что к 2025 году BCH может превысить отметку в 2500 долларов.
  • Wallet Investor не так уверен в его перспективах, что указывает на то, что цена BCH останется относительно неизменной и составит около 540 долларов в 2025 году.
  • Долгосрочный прогноз все же менее оптимистичен, прогнозируя, что цена BCH обесценится к 2025 году и составит около 350 долларов.

Как видите, прогнозы относительно перспектив BCH кажутся несколько неоднозначными, но что мы думаем?

 

Суть

Успех криптовалюты во многом зависит от BTC, и BCH не исключение. Действительно, он был известен как альткойн с одной из самых сильных корреляций цены с BTC. Таким образом, исторически, если BTC идет на повышение, BCH, вероятно, будет следовать за трендом, а если BTC станет медвежьим, то BCH также, вероятно, будет делать то же самое. Несмотря на то, что BCH якобы был обновлением BTC, он, скорее всего, всегда будет в его тени. Дело в том, что это не BTC, и каждая криптовалюта, вероятно, будет в своей тени только из-за этого простого факта. По сути, BTC настолько популярен, потому что это первая и самая известная криптовалюта.

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



2021-02-11T09:37:41
Криптовалюта

Как обновить Fedora Linux?

Fedora — это дистрибутив Linux, спонсируемый Red Hat. Лучше всего то, что он бесплатный и с открытым исходным кодом. Он также доступен для настольных компьютеров, серверов и систем Интернета вещей. У него другая среда рабочего стола, такая как KDE Plasma, XFCE, LXQT и т.д.

Что мы будем освещать?

В этом руководстве мы расскажем, как обновить Fedora 32 до Fedora 33. Мы увидим три различных способа обновления Fedora:

  • Обновление с помощью Software Center
  • Плагин обновления системы DNF
  • Обновление с помощью диспетчера пакетов только с dnf

Что нужно сделать перед началом

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

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

Метод 1. Обновление с помощью Software Center (рекомендуется для выпуска Fedora Workstation)

Это наиболее рекомендуемый способ обновления Fedora Workstation, а также самый простой способ для новичков. Начиная с версии Fedora 23 Workstation, уведомление о новом выпуске Fedora начинает появляться всякий раз, когда появляется новый стабильный выпуск. Просмотрите уведомление или перейдите в графический центр программного обеспечения Fedora, вам будет представлено простое окно обновления, как показано ниже:

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

Способ 2. Использование плагина обновления системы DNF

Это официально рекомендуемый метод обновления для всех установок Fedora, за исключением Fedora Workstation. При обновлении системы он использует dnf-plugin-system-upgrade. На самом деле это метод командной строки, поскольку он требует запуска некоторой команды. Хорошо, давайте посмотрим, как это будет работать.

Шаг 1. Сначала обновите вашу систему Fedora с помощью команды:

# dnf upgrade --refresh

Это позволит установить все необходимые обновления в систему перед обновлением. Фактический размер загрузки может отличаться для каждой системы.

Загрузка и установка всех обновлений может занять значительное время в зависимости от скорости вашего интернет-соединения и оборудования системы.

Шаг 2. После завершения установки обновлений перезагрузите систему.

Шаг 3. После перезагрузки системы откройте терминал и установите плагин: dnf-plugin-system-upgrade. Для этого используйте команду ниже:

# dnf install dnf-plugin-system-upgrade

Шаг 4. Теперь мы будем использовать плагин dnf для загрузки пакетов обновления выпуска. Выполните приведенную ниже команду:

# dnf system-upgrade download --refresh --releasever=33

Когда вы запустите указанную выше команду, она попросит запустить команду «dnf upgrade –refresh», чтобы убедиться, что система обновлена. Нажмите «y» и нажмите «Enter», чтобы можно было загрузить любое новое обновление.

Аргумент releasever используется для указания версии Fedora OS мы хотим установить. Здесь мы указали номер версии 33, которая на данный момент является последней доступной версией. Для обновления до разветвленной версии нам нужно использовать 34, или мы можем использовать rawhide для обновления до версии rawhide.

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

Как видите, это обновление версии имеет размер около 1,3 Гб, поэтому загрузка и установка всех этих обновлений может занять много времени. Подождите, пока процесс завершится.

Во время процесса обновления он импортирует ключ gpg и попросит вас подтвердить его, просто нажмите здесь ‘y’:

Процесс установки практически завершен, осталось выполнить команду:

# dnf system-upgrade reboot

Примечание. Не выполняйте никаких других команд, кроме «dnf system-upgrade reboot», в противном случае вам может потребоваться перезапустить весь процесс.

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

После завершения процесса обновления вы должны увидеть новый экран входа в ОС Fedora 33, как показано здесь:

Мы можем проверить версию Fedora с помощью команды:

# cat /etc/os-release

Поскольку мы использовали версию Fedora 32 xfce, мы обновились до Fedora 33 xfce. Это должно быть то же самое, если вы обновляетесь с версии gnome, вам следует перейти на gnome Fedora.

Метод 3. Обновление с помощью диспетчера пакетов только с dnf (без использования подключаемого модуля обновления системы DNF)

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

Шаг 1. Откройте терминал, войдите в систему как пользователь root и выполните следующую команду:

# systemctl isolate multi-user.target

Шаг 2. На этом этапе мы должны обновить пакеты нашей текущей ОС Fedora с помощью следующей команды:

# dnf upgrade

Шаг 3. В случае обновления трех или более выпусков или обновления старой версии Fedora до Fedora 20 вам может потребоваться импортировать и установить ключ подписи пакета. В противном случае это не требуется для обновления двух или менее выпусков версии Fedora 20 или более поздней.

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

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-23-x86_64

Не забудьте заменить «23» на ваш целевой выпуск, например 32 или 33 для последней версии Fedora. Также замените «x86_64» архитектурой вашей системы.

Шаг 4. Очистите весь кеш dnf, запустив:

# dnf clean all

Шаг 5 . Запустите процесс обновления командой:

# dnf --releasever=<target_release_number> --setopt=deltarpm=false distro-sync

Шаг 6. Установите новые пакеты для новой версии:

# dnf groupupdate 'Minimal Install'

Другие группы, такие как Рабочий стол GNOME, Инструменты администрирования, также можно обновить, как показано здесь:

# dnf groupupdate "GNOME Desktop"

# dnf groupupdate “Administration Tools”

Шаг 7. Установите загрузчик для вашего загрузочного устройства с помощью команды:

# /usr/sbin/grub2-install BOOTDEVICE

Загрузочным устройством обычно является /dev/sda или /dev/sdb, в зависимости от вашего жесткого диска. Если вы используете виртуальную машину, это может быть как dev/vda.

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

  • /var/cache/dnf
  • /var/lib/mock
  • /var/cache/mock

Заключение

В этом руководстве мы увидели, как обновить Fedora Linux тремя различными способами. Мы также узнали основное различие в использовании этих методов обновления. Это руководство было успешно протестировано на Fedora 32 для обновления до Fedora 33. Если вам понравилось это руководство, поделитесь им с другими.



2021-02-10T18:41:09
Вопросы читателей