Массивы Bash

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

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

Массивы Bash

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

declare -a имя_массива

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

имя_массива[XX] = значение

Здесь XX обозначает индекс массива. Еще один удобный способ создавать массивы строк Bash - это просто перечислить все элементы в круглых скобках:

имя_массива=( элемент_1 элемент_2 элемент_3 ... )

Или вы можете сразу задать индекс массива для каждого из элементов:

имя_массива=( [XX]=значение [XX]=значение . . . )

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

read -a имя_массива

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

${имя_массива[XX]}

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

Примеры использования массивов Bash

Теперь рассмотрим примеры массивов bash. Сначала нам нужно создать массив, который мы будем использовать для примеров, на мой взгляд будет проще использовать синтаксис с круглыми скобками. Вообще, массивы используются в скриптах, но мы будем их применять прямо в оболочке Bash. Для начала так будет проще. Создаем массив:

array=(первый второй третий четвертый пятый)

Теперь попытаемся вывести один из элементов массива по его индексу:

echo ${array[1]}
$ echo ${array[2]}
$ echo ${array[0]}

Чаще всего используются массивы строк Bash, но иногда могут встречаться и цифры. Помните про нумерацию? Индексы элементов массива начинаются с нуля. Для вывода значения элемента по индексу можно использовать и немного другой синтаксис:

echo ${array:0}

Вы можете вывести все элементы:

echo ${array[@]}

Все элементы, начиная с номера 1:

echo ${array[@]:1}

Вывести все элементы которые находятся в диапазоне от 1 до 4:

echo ${array[@]:1:4}

Чтобы узнать длину первого элемента выполните:

echo ${#array[0]}

А посмотреть количество элементов массива Bash можно таким же синтаксисом:

echo ${#array[@]}

Кроме всего прочего, вы можете заменить одни символы в определенном элементе массива или во всем массиве на другие. Для этого используйте:

echo ${array[@]//р/Р}

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

#!/bin/bash

array=(первый второй третий четвертый пятый)
for i in ${array[@]}
do
echo $i
done

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

#!/bin/bash

echo "Введите элементы массива:"
read -a array
echo "Результат:"
for i in ${array[@]}
do
echo $i
done

Как и в любом другом варианте, вам нужно, чтобы все элементы были разделены пробелом. Точно так же можно присвоить массиву результат выполнения команды. Например, сохраним список файлов, полученный от ls:

 array=( $(ls /) )

Усложним задачу и сделаем скрипт, который будет выводить все файлы из указанной директории, которые имеют права доступа 755:

vi lsperm.sh

#!/bin/bash

ERR=27
EXT=0

if [ $# -ne 1 ]; then
echo "Используйте: $0 <путь>"
exit $ERR
fi

if [ ! -d $1 ]; then
echo "Каталог $1 не существует"
exit $ERR
fi

temp=( $(find $1 -maxdepth 1 -type f) )

for i in "${temp[@]}"
do
perm=$(ls -l $i)
if [ `expr ${perm:0:10} : "-rwxr-xr-x"` -eq 10 ]; then
echo ${i##*/}
fi
done

exit $EXT

Теперь проверим наш скрипт на папке /bin. Но перед этим нужно дать ему права на выполнение:

chmod u+x ./lsperm.sh
$ ./lsperm.sh

Как видите, все работает. Кроме номеров, в качестве индексов для массивов можно использовать строки. Такие массивы Bash называются ассоциативными и поддерживаются они начиная с четвертной версии Bash. Для создания ассоциативного массива используется declare с опцией -A:

declare -A assoc_array

assoc_array[first]=первый
$ assoc_array[last]=последний

echo ${assoc_array[first]}
$ echo ${assoc_array[last]}

Несмотря на то что Bash поддерживает только одномерные массивы, мы можем выполнять симуляцию работы с многомерными матрицами с помощью ассоциативных массивов:

declare -A matrix

arr[0,0]=0
$ arr[0,1]=1
$ arr[1,0]=2
$ arr[1,1]=3

echo "${arr[0,0]} ${arr[0,1]}"

Чтобы удалить массив, созданный с помощью declare используйте функцию unset:

unset matrix

Выводы

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

Будущее за изогнутыми телефонами

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

Чем интересен изогнутый экран? Картинка у него не будет лучше или более естественной и с точки зрения использования я не вижу преимуществ. Зато есть большой недостаток - карман будет больше выпирать.

Общие папки Linux

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

В этой небольшой статье мы рассмотрим как настраиваются общие папки Linux с помощью стандартной системы полномочий Linux.
Читать далее Общие папки Linux

Не работает Интернет на компьютере по кабелю или через роутер

Не работает интернет на компьютере или ноутбукеВ этой инструкции — пошагово о том, что делать, если не работает интернет на компьютере с Windows 10, 8 и Windows 7 в различных сценариях: интернет пропал и перестал подключаться ни с того ни с сего по кабелю провайдера или через роутер, перестал работать только в браузере или определенных программах, работает на старом, но не работает на новом компьютере и в других ситуациях.

Читать далее Не работает Интернет на компьютере по кабелю или через роутер

Как пользоваться telnet

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

Эта утилита очень часто использовалась раньше, для удаленного управления компьютером с Linux, но потом ей на замену пришел защищенный протокол SSH. Но telnet все еще используется, например, для тестирования сети, проверки портов, а также для взаимодействия с различными IoT устройствами и роутерами. В этой статье мы рассмотрим что такое telnet, а также как пользоваться telnet для решения своих задач.

Что такое Telnet?

Как я уже сказал, эта утилита предназначена для создания интерактивного соединения между удаленными компьютерами. Она работает по протоколу TELNET, но этот протокол поддерживается многими сервисами, поэтому ее можно использовать для управления ими. Протокол работает на основе TCP, и позволяет передавать обычные строковые команды на другое устройство. Он может использоваться не только для ручного управления но и для взаимодействия между процессами.

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

$ telnet опции хост порт

Хост - это домен удаленного компьютера, к которому следует подключиться, а порт - порт на этом компьютере. А теперь давайте рассмотрим основные опции:

  • -4 - принудительно использовать адреса ipv4;
  • -6 - принудительно использовать адреса ipv6;
  • -8 - использовать 8-битную кодировку, например, Unicode;
  • -E - отключить поддержку Escape последовательностей;
  • -a - автоматический вход, берет имя пользователя из переменной окружения USER;
  • -b - использовать локальный сокет;
  • -d - включить режим отладки;
  • - режим эмуляции rlogin;
  • -e - задать символ начала Escape последовательности;
  • -l - пользователь для авторизации на удаленной машине.

Это все, что касается команды telnet для установки соединения. Но соединение с удаленным хостом, это только полдела. После установки подключения telnet может работать в двух режимах:

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

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

  • CLOSE - закрыть соединение с сервером;
  • ENCRYPT - шифровать все передаваемые данные;
  • LOGOUT - выйти и закрыть соединение;
  • MODE - переключить режим, со строчного на символьный или с символьного на строчный;
  • STATUS - посмотреть статус соединения;
  • SEND - отправить один из специальных символов telnet;
  • SET - установить значение параметра;
  • OPEN - установить подключение через telnet с удаленным узлом;
  • DISPLAY - отобразить используемые спецсимволы;
  • SLC - изменить используемые спецсимволы.

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

Как пользоваться telnet?

Дальше мы рассмотрим как использовать telnet для решения ваших задач. Обычно, утилита уже установлена в большинстве систем, но если это не так, то вы можете установить telnet из официальных репозиториев, например, в Ubuntu:

sudo apt install telnet

Теперь перейдем к применению утилиты. Изначально она использовалась для удаленного управления компьютером, но поскольку потом был разработан более безопасный протокол SSH, использовать ее перестали.

1. Доступность сервера

Утилита все еще может быть полезной при поверке доступности узла, для этого просто передайте ей ip адрес или имя хоста:

telnet 192.168.1.243

Для этого не обязательно применять telnet, есть ping.

2. Проверка порта

C помощью telnet мы можем проверить доступность порта на узле, а это уже может быть очень полезным. Чтобы проверить порт telnet выполните:

telnet localhost 123
$ telnet localhost 22

В первом случае мы видим, что соединение никто не принимает, во втором же выводится сообщение об успешном подключении и приветствие SSH сервера.

3. Отладка

Чтобы включить режим отладки и выводить более подробную информацию во время работы используйте опцию -d во время подключения:

sudo telnet -d localhost 22

4. Консоль telnet

Использование консоли telnet тоже важный момент в разборе как пользоваться telnet. В основном режиме вы можете выполнять команды, на удаленном сервере, если же вы хотите адресовать команду именно telnet, например, для настройки ее работы, необходимо использовать спецсимвол для открытия консоли, обычно утилита сразу говорит вам что это за символ, например, по умолчанию используется "^[":

Для его активации вам нужно нажать сочетание клавиш Ctrl+[, затем вы уведите приглашение ввода telnet.

Чтобы посмотреть все доступные команды, вы можете набрать ?. Например, вы можете посмотреть статус подключения:

telnet> status

Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.

5. Посмотреть сайт telnet

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

telnet opennet.ru 80

Затем наберите команду веб-серверу:

GET /

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

6. Удаленное управление telnet

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

telnet localhost 23

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

Выводы

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

Настройка сети CentOS 7

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

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

Как работает сеть?

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

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

К каждой обычной локальной сети может быть подключено 256 компьютеров с IP адресами от 0 до 255. Из этого выплывает еще один термин - маска подсети, она указывает какая часть IP адреса относится к локальной сети. Например, в большинстве случаев маска сети будет 255.255.255.0, это значит, что в нашей сети будет меняться только последняя цифра IP адреса, такой тип наиболее распространен. Если наш IP 192.168.1.2, то компьютеры из нашей сети будут иметь адреса 192.168.1.1 и до 192.168.1.255.

Следующий важный для нас параметр, это компьютер, с помощью которого мы можем получить доступ к внешней сети, он называется шлюзом или Gateway. В каждой сети, подключенной к интернету есть шлюз.

Последнее, на чем осталось остановиться вид адресов сайтов. Как я уже сказал, все компьютеры имеют IP адрес и доступ к ним осуществляется именно по нему. Но в адресной строке браузера мы видим понятное имя, а не сложные цифры. Для преобразования имени в цифры IP адреса используется служба DNS. Ее нам тоже предстоит настроить. В случае если компьютер получает все эти параметры по DHCP нам достаточно только включить службу. Но если нужна ручная настройка сети из консоли centos 7, то каждый из параметров нужно указать вручную. А теперь перейдем к практике.

Настройка сети в GUI с помощью Network Manager

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

Или откройте "Параметры системы" затем пункт сеть. Для настройки  сетевого подключения по протоколу Ethernet (проводное) выберите пункт "Проводные" и переключите выключатель в положение On:

Если провод подключен, и вы собираетесь использовать DHCP то подключение настроится автоматически.

Настройка статического IP адреса

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

Затем перейдите в раздел IPv4. Затем нужно указать несколько полей, которые обычно система получает по протоколу DHCP, но поскольку вы хотите настраивать IP адрес вручную, то и все остальное тоже нужно настроить вручную. Первым делом необходимо в поле "Адреса" выбрать вместо "Автоматически DHCP", "Вручную".

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

Готово. Вам осталось сохранить настройки и перезапустить подключение. Дальше все будет работать так, как вы настроили, если, конечно, все было настроено правильно. Избегайте использования уже занятых IP адресов и обязательно укажите правильный шлюз.

Настройка сети через консоль с помощью networking

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

sudo ls /sys/class/net/

У меня имя сетевого интерфейса enp2s0f0. Именно на его примере дальше будет выполняться подключение к сети centos 7. Все настройки для сети Networking хранятся в каталоге /etc/sysconfig/network-scripts/. Для нашего сетевого интерфейса конфигурационный файл будет называться /etc/sysconfig/network-scripts/ifcfg-enp2s0f0.

Давайте сначала рассмотрим основные параметры, которые вам придется рассмотреть:

  • TYPE - тип соединения, проводное (Ethernet), беспроводное(Wired) и т д;
  • BOOTPROTO - способ получения IP адреса, static, dhcp или none;
  • NAME - имя соединения;
  • DEVICE - имя сетевого интерфейса;
  • ONBOOT - необходимо ли запускать при старте системы;
  • IPADDR - IP адрес, который будет использован для этого компьютера;
  • GATEWAY - шлюз для доступа к интернету;
  • NETMASK - маска сети;
  • DNS1 - сервер для разрешения доменных имен DNS.

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

Настройка получения IP по DHCP

Настройка сети dhcp centos предусматривает использование значения BOOTPROTO dhcp, остальные параметры задавать необязательно:

TYPE=Ethernet
BOOTPROTO=dhcp
NAME=enp2s0f0
UUID=9c3362c0-a615-4504-bb07-f2951f3810dd
DEVICE=enp2s0f0
ONBOOT=yes

Теперь сохраните изменения и перезапустите сеть. Все должно заработать.

Настройка сети со статическим IP

Для установки статического IP адреса нужно задать значение BOOTPROTO - static, а также указать IP адрес, шлюз, маску сети и DNS. Вот пример конфигурации сети CentOS для нашего интерфейса:

TYPE=Ethernet
BOOTPROTO=dhcp
NAME=enp2s0f0
UUID=9c3362c0-a615-4504-bb07-f2951f3810dd
DEVICE=enp2s0f0
ONBOOT=yes
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8

Укажите свои значения и сохраните настройки. Для перезагрузки сети используйте команду:

sudo systemctl restart networking

Затем вам останется проверить работу сети. Если все было сделано правильно сеть будет работать.

Выводы

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

Как изменить иконку диска или флешки в Windows

Как изменить иконку диска в WindowsИконки дисков и флешек в Windows, особенно в «десятке» хороши, но любителю настроек оформления системы могут приесться. В этой инструкции — о том, как изменить иконки жесткого диска, флешки или DVD в Windows 10, 8 и Windows 7 на свои собственные.

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

Примечание: для изменения значков дисков вам потребуются сами файлы иконок с расширением .ico — они легко ищутся и загружаются в Интернете, например, иконки в данном формате в большом количестве доступны на сайте iconarchive.com.

Изменение иконки диска и USB накопителя с помощью редактора реестра

Первый способ позволяет назначить отдельную иконку для каждой буквы диска в Windows 10, 8 или Windows 7 в редакторе реестра.

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

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

  1. Зайдите в редактор реестра (нажмите клавиши Win+R, введите regedit и нажмите Enter).
  2. В редакторе реестра перейдите к разделу (папки в левой части) HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Explorer\ DriveIcons
  3. Нажмите правой кнопкой мыши по этому разделу, выберите пункт меню «Создать» — «Раздел» и создайте раздел, имя которого представляет собой букву диска, для которого меняется иконка.
  4. Внутри этого раздела создайте еще один с именем DefaultIcon и выберите этот раздел. Иконки дисков в реестре Windows
  5. В правой части реестра дважды нажмите по значению «По умолчанию» и в появившемся окне, в поле «Значение» укажите путь к файлу иконки в кавычках и нажмите Ок. Изменение иконки диска в реестре
  6. Закройте редактор реестра.

После этого достаточно либо перезагрузить компьютер, либо перезапустить проводник (в Windows 10 для этого можно открыть диспетчер задач, выбрать «Проводник» в списке запущенных программ и нажать кнопку «Перезапустить»).

В следующий раз в списке дисков будет отображаться уже указанная вами иконка.

Иконка жесткого диска изменена

Использование файла autorun.inf для изменения иконки флешки или диска

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

Метод состоит из следующих шагов:

  1. Поместите файл иконки в корень диска, для которого будет меняться иконка (т.е., например, в C:\icon.ico)
  2. Запустите блокнот (находится в стандартных программах, можно быстро найти через поиск Windows 10 и 8).
  3. В блокноте введите текст, первая строка которого — [autorun], а вторая — ICON=имя_иконки.ico (см. пример на скриншоте). Создание autorun.inf в блокноте
  4. В меню блокнота выберите «Файл» — «Сохранить», в поле «Тип файла» укажите «Все файлы», а затем сохраните файл в корень диска, для которого мы изменяем значок, указав для него имя autorun.inf Сохранение autorun.inf с указанием иконки

После этого просто перезагрузите компьютер, если вы изменяли иконку для жесткого диска компьютера или же извлеките и снова подключите флешку, если изменение выполнялось для неё — в результате в проводнике Windows вы увидите уже новую иконку накопителя.

Измененные иконки дисков в проводнике Windows

При желании, вы можете сделать файл иконки и файл autorun.inf скрытыми, чтобы их не было видно на диске или флешке.

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

Ошибка ifconfig команда не найдена

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

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

Ошибка ifconfig команда не найдена

Первая причина почему вы можете получать эту ошибку, очень проста. Скорее всего, утилита установлена в вашей системе, но интерпретатор bash не может ее найти. Дело в том, что в Linux существует несколько папок для хранения исполняемых файлов. Все утилиты, которые может выполнять только суперпользователь расположены в каталоге /sbin или /usr/sbin.

Соответственно, обычному пользователю не нужно давать доступ к этим файлам, поэтому эти каталоги доступны только root, а в переменную среды PATH, из которой bash берет каталоги для поиска программ для пользователя они даже не добавлены. Проще говоря, вам достаточно только запустить программу от имени суперпользователя:

sudo ifconfig

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

Таким образом, чтобы исправить ошибку ifconfig команда не найдена вам понадобиться установить пакет ней. Утилита находится в пакете net-tools. Для установки в Ubuntu выполните:

sudo apt install net-tools

В Fedora:

sudo dnf install net-tools

В CentOS:

sudo yum install net-tools

В ArchLinux:

sudo pacman -S net-tools

После завершения установки пакета, а это будет выполнено очень быстро, вы можете пользоваться утилитой и ошибки ifconfig command not found больше не будет. Только запускайте ее с помощью sudo. Если вы решили больше не использовать ifconfig смотрите статью про утилиту ip linux.

Выводы

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

Как обновить драйверы Intel

Утилита обновления драйверов IntelСовременные Windows 10 и 8.1 как правило обновляют драйверы автоматически, в том числе и для оборудования Intel, однако драйверы, получаемые из Центра обновления Windows не всегда последние (особенно для Intel HD Graphics) и не всегда именно те, что нужны (иногда — просто «совместимые» по мнению Майкрософт).

В этой инструкции подробно об обновлении драйверов Intel (чипсета, видеокарты и др) с помощью официальной утилиты, как скачать любые драйверы Intel вручную и дополнительная информация, касающаяся драйверов Intel HD Graphics.

Примечание: рассматриваемая далее утилита Intel для обновления драйверов предназначена в первую очередь для материнских плат ПК с чипсетами Intel (но не обязательно ее производства). Обновления драйверов для ноутбуков она также находит, но не все.

Программа обновления драйверов Intel

Официальный сайт Intel предлагает собственную утилиту для автоматического обновления драйверов оборудования до их последних версий и её использование предпочтительнее, чем собственная система обновления, встроенная в Windows 10, 8 и 7, и тем более чем какой-либо сторонний драйвер-пак.

Загрузить программу для автоматического обновления драйверов можно со страницы http://www.intel.ru/content/www/ru/ru/support/detect.html. После короткого процесса установки на компьютер или ноутбук, программа будет готова для обновления драйверов.

Сам процесс обновления состоит из следующих простых шагов.

  1. Нажать кнопку «Начать поиск» Искать обновления драйверов Intel
  2. Подождать, пока он будет выполняться/
  3. В списке найденных обновлений выбрать те драйверы, которые следует скачать и установить вместо имеющихся в наличии (будут найдены только совместимые и более новые драйверы). Найденные драйверы
  4. Установить драйверы после загрузки автоматически или вручную из папки загрузок. Автоматическая установка драйверов Intel

На этом весь процесс будет завершен, а драйверы обновлены. При желании, в результате поиска драйверов, на вкладке «Более ранние версии драйверов» вы можете скачать драйвер Intel в предыдущей версии, если последний работает нестабильно.

Как скачать нужные драйверы Intel вручную

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

Ручной поиск драйверов Intel

В списке присутствуют драйверы для всех распространенных материнских плат с чипсетом Intel, компьютеров Intel NUC и Compute Stick для различных версий Windows.

Об обновлении драйверов Intel HD Graphics

В некоторых случаях драйверы Intel HD Graphics могут отказываться устанавливаться вместо уже имеющихся драйверов, в этом случае есть два пути:

  1. Сначала полностью удалить имеющиеся драйверы Intel HD Graphics (см. Как удалить драйверы видеокарты) и только после этого производить установку.
  2. Если пункт 1 не помог, а у вас ноутбук, загляните на официальный сайт производителя ноутбука на страницу поддержки вашей модели — возможно, там найдется обновленный и полностью совместимый драйвер интегрированной видеокарты.

Также в контексте драйверов Intel HD Graphics может быть полезной инструкция: Как обновить драйверы видеокарты для максимальной производительности в играх.

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

LineageOS это всё тот же CyanogenMod

Буквально в первый день выхода новой версии прошивки LineageOS для Samsung Galaxy S3 я перепрошился и новая прошивка практически ничем не отличается от последней стоявшей у меня версии CyanogenMod. Единственное, что теперь нужно для получения root доступа отдельно скачивать файлик с офф сайта и прошить его через Recovery. Я поддерживаю такую политику, поскольку устанавливая юзерам кастомную прошивку не хочется, что бы у них из коробки был root, особенно если юзверь не знает, что это такое.

Если вы всё еще думаете, ставить или нет и что маловероятно на ваш аппарат уже есть новая версия прошивки то не парьтесь, а делайте бэкап и ставьте новую версию прошивки.

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

Удачных прошивок. Слава LineageOS 🙂