По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Мы уже рассказывали про мягкие и жесткие ссылки в Linux, и данная статья посвящена их более глубокому изучению. Ссылки в операционной системе Linux бывают 2-х типов мягкие и жесткие. Если провести аналогию с операционной системой Windows, то там мы в основном работаем с мягкими ссылками, символическими ярлыками. Но в операционной системе Windows есть и жесткие ссылки, просто они очень глубоко спрятаны внутри операционной системы. В статье будет рассказано: Как идентифицировать тип ссылки В чем разница между мягкой и жесткой ссылкой В чем разница между копирование и создание ссылки Итак, смотрим в домашнюю директорию пользователя. Я заранее создал файл и 2 ссылки жесткую и мягкую указывающие на данный файл. Основной файл file.txt, жесткая ссылка hard.txt на файл file.txt и мягкая ссылка soft.txt на файл file.txt. Как можно заметить символические (мягкие) ссылки в оболочке, обычно, подкрашиваются ярко голубым цветом и показывают на какой файл она ссылается. Можно еще интересную вещь заменить основной файл весит 38 килобайт и жесткая ссылка столько же весит. Мягкая ссылка – это всего лишь ярлык и весит всего 8 килобайт. Посмотрим, что внутри файла основного. Файл содержит фразу. Команда ls с ключем –li может отображать inodes. В результате ввода команды появился еще один столбец впереди. В данном столбце и отображается номер inodes, т.е идентификатор файла, индексный дескриптор, местонахождение файла на диске, метка файла. В нашем же случае номера inodes у файла и у жесткой ссылки совпадает. Т.е жесткая ссылка указывает на то же место, где находиться основной файл, в то же самое место на жестком диске. Мягкая же ссылка, сама по себе является отдельным файлом и у нее совершенно другой inode. А также можно видеть, что у данного файла в правах появилась буква l, которая указывает что это символьная ссылка. Причем попробовав просмотреть содержимое жесткой и мягкой ссылки, мы получим одинаковый результат. Все показывает на один и тот же файл. Если мы попробуем дописать, какие-нибудь изменения в файл. Например, echo Hello>> file.txt Получим один и тот же результат. Возьмем и переименуем наш основной файл mv file.txt newfile.txt. Теперь мы можем увидеть, что ссылка мягкая у нас стала красной (Битой). Потому что, мягкие ссылки опираются на имя файла. Причем не просто на имя файла, а на полное имя файла. А жесткая ссылка, как была, так и осталась работоспособной. Потому, что она указывает на один и тот же inode, потому что она указывает на то место где данный файл находиться. И если мы утилитой cat скажем показать жесткую ссылку в выводе мы получим исходный файл, а мягкая ссылка выдаст нам ошибку. Основная разница между жесткой ссылкой и мягкой, заключается в том, что мягкая опирается на имя файла. А жесткая указывает на физическое место, определяемое дескриптором где находиться файл. Создаются такие ссылки достаточно просто, командой ln с указанием основного файла и ссылки. Например, ln file.txt hard.txt. При создании мягкой ссылки добавляется ключик –s. Будет выглядеть примерно так - ln –s file.txt soft.txt. При создании ссылки, можно объекты указывать без расширения. Т.к. жесткая ссылка у нас привязана к inode, то ее нельзя использовать с несколькими файловыми системами. Если у вас есть другой жесткий диск премонтированый в данную файловую систему, то вы не сможете создать жесткую ссылку из данной системы к премонтированному жесткому диску. Потому, что это все опирается на inode, а inode справедливы для конкретной файловой системе. Поэтому в операционной системе Windows все ссылки по умолчанию мягкие. Пригодиться это может где угодно. Например, мы в своей домашней директории можем создать ссылки на все свои важные папки или данные. Очень часто символические ссылки используются для администрирования. Операционной системы Linux. Например, для команд, если пользователь не хочет знать номер версии или дополнительные ключи, он может просто получать доступ к различным версиям просто используя ссылки. Также стоит упомянуть ситуацию с папками. Создадим папку - mkdir Folder. Попробуем создать жесткую ссылку на данную папку - ln Folder folder.lnk, данная команда выдаст ошибку указывая на то, что нельзя создать жесткую ссылку на папку, но, а если мы захотим создать мягкую (символическую ссылку), то проблемы не возникнет - ln –s Folder folder.lnk. Хорошим тоном при создании ссылок символических это указание на полный путь файлу, т.к привязка идет к имени файла и при создании если указать относительны, мы можем столкнуться с ситуацией, когда получившаяся ссылка будет битой. Например, когда мы хотим создать ссылку на файл и положить ее во внутрь другие папки ln –s /home/siadmin/file.txt Folder/. данный вариант будет рабочим. Разница между копирование файла и созданием ссылки. Когда копируем файл мы фактически создаем другой файл со всем его содержимым, а когда мы создаем ссылку – это некий ярлык на файл. Скопируем файл file.txt в newfile.txt и на file.txt создадим жесткую ссылку. Когда мы смотрим вывод команды ls –l по папке то визуально копию мы не отличим от жесткой ссылки, если мы конечно об этом не знаем. А отличие мы увидим только если мы посмотрим на inodes. Как мы видим номера inode у файла и жесткой ссылки совпадают, причем мы не знаем, что из них первично. Можно заметить столбец с цифрами после указания прав на объекты, он показывает сколько ссылок жестких есть на данный inode. Создадим еще одну жесткую ссылку ln file.txt hard1.txt. Теперь если сделать вывод ls –li, то мы увидим цифру 3. Почему так происходит? Удалением файла у нас по умолчанию является действие, которое обнуляет количество всех жестких ссылок. Если мы удалим файл исходный file.txt. и посмотрим вывод то мы увидим, что если есть мягкие ссылки, то они прекратят работать, а файлы hard.txt и hard1.txt остались. Более того, если обратиться к этим жестким ссылкам, например, с помощью утилиты просмотра cat hard.txt, то мы увидим текст, который был у нас изначально в файле. Это происходит потому, что сам файл — это некоторое пространство занятое на диске, а имя файла и путь к нему – это и есть жесткая ссылка. Поэтому любой файл это есть жесткая ссылка на место на диске. Мы можем создать к нашему inode сколько угодно ссылок и пока мы их всех не удалим наш файл будет на месте.
img
В данной статье обзорно рассмотрим, какие программные оболочки бывают их виды и основные консольные команды. Самых распространенных оболочек не много: The Bourne Shell - /bin/sh The Bourne again shell - /bin/bash The Korne shell - /bin/ksh The C shell - /bin/csh Tom’s C shell - /bin/tcsh Наиболее признанной и распространенной оболочкой является bash. Поэтому в дальнейшем и в данной статье мы будем рассматривать именно ее. Посмотрим несколько основных команд: cat вывод содержимого файла в консоль; cd переход в каталог; ls вывод содержимого каталога; echo вывод текста в консоль; touch - обновление времени редактирования файла, а так же данная команда позволяет нам создать новый файл; file справка по файлу; whatis справка по названию; history вывод истории команд; env вывод переменных среды; pwd текущий каталог; export задание переменной; unset - отключение переменной; Для начала можно посмотреть, какая оболочка используется в текущий момент. В большинстве случаев это будет оболочка bash, которая является самой популярной оболочкой и самой используемой. При помощи данной оболочки мы взаимодействуем с операционной системой. Это не просто командная строка, но, а также целая программируемая среда. Со своими сценариями, переменными, со своим синтаксисом, т.е все эти оболочки ведут себя по-разному. Увидеть какую оболочку использует наш конкретный дистрибутив мы можем, посмотрев файл /etc/passwd/ На картинке видно много пользователей, можно увидеть, что пользователь Jenkins использует оболочку /bin/bash/. Это нормальная ситуация для Ubuntu т. к. в данной операционной системе данная оболочка используется по умолчанию. Если нам необходимо мы можем посмотреть глобальные настройки данной оболочки, которые располагаются /etc/profile. В данном файле много настроек, но необходимо знать языки программирования для того, чтобы редактировать файл. Единственное, что интересует в рамках данной стати это PS1 строчки, которые показывают, как должна выглядеть строка-приглашение. Если мы посмотрим, строка приглашение выглядит имя пользователя, тильда, смотря где мы находимся перечисляет нам. Мы можем настроить, каждую новую строчку так, чтобы не показывал имя пользователя, показывал полный путь, относительный путь и еще много чего, хоть пусть туда время выводит. Это уже такая детальная настройка внешнего вида оболочки bash. Если мы перейдем в домашнюю директорию пользователя, то там мы можем найти файл .profile с локальными настройками командной оболочки. Файл в линуксе который начинается с точки, является скрытым. Посмотреть такие файлы можно командой ls a. Ну и посмотрим, что у данного файла есть внутри cat .profile Мы опять видим некий сценарий и ссылку на некий файл ~/.bashrc. В котором уже находятся настройки внешнего вида этой оболочки. Мы так же его можем посмотреть cat .bashrc. Здесь уже более понятные и расширенные настройки, например, сколько хранится история команд, каким шрифтом выделять что-то. Например, мы можем сделать, так чтобы оболочка выделяла путь к файлу определенным цветом, имя пользователя другим цветом и т.д. все это делается в данном файле. Синтаксис в данной статье мы не разбираем. Соответственно можно непосредственно в редакторе редактировать файл, а можно посылать команды, которые будут вносить изменения в данные файлы. Вернемся к вопросу базовых команд. Команда echo выводит информацию в консоль. Синтаксис просто набираем: echo hello и получим в консоли hello. Т.е. командная оболочка, распознает первое слова как команду, а второе как аргумент данной команды. Если нам необходимо вывести в консоль несколько слов подряд, то их необходимо взять в кавычки. Можно выполнить две команды одна за другой, например, echo hello; ls. В данном случае сначала напечатается слово hello, а затем выведется список файлов. Мы можем создать свою команду, привязать команду к какому-нибудь псевдониму внутри оболочки т.е. создать такие ссылки и привязать действующую команду с новой. И новая команда уже будет вызывать команду echo. Для примера возьмем команду storm. При попытке ввода оболочка не понимает и начинает искать команду или исполняемый пакет. Но мы можем создать такой файлик, который будет что-то делать. Есть такая команда cat, она используется для вывода текста из файла на экран. Но она может действовать и в обратную сторону с экрана текст передавать в файл, для этого необходимо изменить направление передачи, например, cat> storm. И теперь все, что мы введем будет внесено в файл storm, опять же для примера echo и случайный набор букв. Затем нажимаем ctrl+c и прерываем ввод. Если мы посмотрим, что сохранилось в файлике storm то мы увидим, все то, что ввели в консоль. Далее сделаем файл storm исполняемым chmod +x storm. Можно видеть, что теперь при просмотре списка файлов командой ls данный файл подсвечивается зеленым, согласно настройкам программной оболочки. Если мы попробуем теперь выполнить команду, которую мы придумали, то опять ничего не выйдет, потому, что у нас оболочка по-умолчанию ищет исполняемые файлы, которые мы пишем, как команды по определенному пути. А все эти пути можно посмотреть в переменных среды. Переменные среды это определённые переменные, которые могут показать определенные настройки текущей операционной системы. Мы данные настройки можем посмотреть командой env. В выводе команды мы можем найти вот такую строчку PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games Здесь указан путь, по которому будут искаться переменные. Соответственно мы так же можем увидеть и другие настройки его среды, язык, его домашнюю папку и т.д. так как у нас по указанному выше пути ищутся исполняемые файлы мы не можем взять и запустить команду не пойми откуда. Но мы можем ее запустить, используя полный путь к исполняемому файлу. Чтобы посмотреть, где мы находимся, можно воспользоваться командой pwd, она покажет путь. В моем случае /root. У нас получится /root/storm Запустился. Следовательно, команда вывела тот текст, который мы изначально туда поместили. Вот это у нас получается полный путь к файлу /root/storm. Введем еще раз команду ls a. Мы видим скрытые файлы начинающиеся с "." , а так же еще два символа "." и ".." . Первый символ точки - это просто текущая папка. Т.е. если сделать cd . , то мы останемся в текущей директории. А если cd .. то это означает подняться на уровень выше по иерархии каталогов в файловой системе. Можно обнаружить, что при нахождении в домашней папке /root, под пользователем root, мы видим значок домашней папке ~. Это происходит потому, что в переменных для данного пользователя данная папка прописана, как домашняя. Теперь с учетом выше сказанного можно запустить нашу команду более кратко ./storm Это называется путь из текущей папки, где "." указывает на текущую папку. Таким образом мы можем запускать файлы. Еще раз вернемся к переменным среды. Например, мы можем добавить переменную ABC = 123, т.е. мы задали символьной последовательности ABC значение 123. Пока это не переменная, мы просто задали слову число. Чтобы это превратить в переменную есть команда export. Воспользуемся export ABC. И мы видим, что наша переменная добавилась. Теперь можно с данной переменной работать, например, можно ее указывать в качестве аргумента какой-либо команды. Например, echo $ABC, здесь "$" указывает, что мы обращаемся к переменной. В результате появится на экране 123. Мы можем отменить данную переменную, командой unset ABC. Снова смотрим перечень переменных env и видим, что переменная ABC исчезла. Можем поработать с другой переменной среды PATH. Например написать "PATH=$PATH:." , т.е. к текущему значению $PATH мы через двоеточие, как это показано в выводе команды env добавляем текущую папку в виде точки. Это означает, что у меня теперь будут запускаться файлы из той директории, которая обозначена точкой. Директорию, в которой находимся можно посмотреть pwd. Групповые символы: Создадим несколько файлов с помощью команды touch. Если мы хотим вывести файлы, которые заканчиваются на txt, мы вводим ls *.txt. Т.е. значок звездочки заменяет любое количество символов. Возможен, например, еще такой вариант команды, мы получим аналогичный результат ls *.t* Есть значок вопросительного знака, который заменяет только один символ. Работает по аналогии выше. Можно запросить информацию о диапазоне. Например, ls [1-4].txt, результатом вывода данной команды будет 4 файла. Все эти символы можно комбинировать. Мы можем создать некую последовательность. Например, touch {6,7,8}.txt соответственно созданы 3 файла, 6.txt, 7.txt, 8.txt. Символов достаточно много, но вот эти самые основные. Справочные команды Команда uname показывает какая операционная система. Ну я думаю и так, всем понятно, что Linux. Если ввести с ключиком a, то мы получим более информативный вариант Linux jenkins 5.4.0-45-generic #49-Ubuntu SMP Wed Aug 26 13:38:52 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux. Плюс дополнительные параметры, версия, издание и другое. Команда File на примере нашего файла storm. Мы можем увидеть, что данный файл - это обычный текст. Есть еще справочная похожая команда whatis запрос. Команда history - показывает историю ввода команд. Чтобы повторить, какую-нибудь команду можно двигать стрелочкой вверх на клавиатуре, а также можно перебирать стрелочкой вниз. Когда мы используем данный функционал, мы как раз двигаемся по истории команд. Еще полезный функционал, если написать пару символов и нажать дважды кнопку табуляции, то операционная система постарается дописать команду или файл, или выдаст возможные варианты, если вариантов нет просто допишется название файла или команды. И самая, пожалуй, важная команда это команда man, она позволяет открывать мануалы по той или иной команде.
img
Интеграция Asterisk и CUCM позволяет по протоколу SIP позволяет объединить несколько телефонных пулов, или, например, использовать Asterisk в роли IVR (голосового меню). Как правильно объединить Asterisk и Cisco Unified Communications Manager через SIP – транк расскажем в статье Настройка CUCM Перейдем к настройке Cisco UCM. Для создания нового SIP – транка в раздел Device -> Trunk и нажмите на кнопку Add New. Мы создаем SIP – транк, поэтому, укажите поле Trunk Type и Device Protocol на SIP, как указано на скриншоте ниже: После указания настроек нажмите Next. В появившемся окне указываем следующие опции: Device Name - имя для создаваемого SIP – транка. Обязательное поле Description - описание создаваемого подключения. Device Pool - выберите девайс пул для SIP – транка. Необходимо, чтобы он совпадал с устройствами, которые будут маршрутизироваться через этот транк. Обязательное поле Листаем вниз, и находим раздел под названием Inbound Calls и выставляем следующую опцию: Calling Search Space - имя CSS для SIP - транка. Должно совпадать с маршрутизируемыми устройствами. Последний шаг настроек находится в разделе SIP Information в пункте Destination, тут настраиваем следующие опции: Destination Address - Введите IP – адрес вашего Asterisk. Обратите внимание, что по умолчанию порт назначения 5060. Если ваш сервер Asterisk слушает SIP на другом порту, то укажите его в поле Destination Port. Обязательное поле SIP Trunk Security Profile - профиль безопасности для SIP - транка. Укажите в данном поле Non Secure SIP Trunk Profile. Обязательное поле Rerouting Calling Search Space - укажите CSS, который указали ранее в разделе настроек Inbound Calls. Out-Of-Dialog Refer Calling Search Space - аналогично указанному ранее пункту. SUBSCRIBE Calling Search Space - так же укажите CSS. SIP Profile - SIP профиль. В данном поле указывается Standard SIP Profile По окончанию настроек нажмите Save. Маршрутизацию в SIP – транк можно осуществлять с помощью шаблонов, которые настраиваются в настройках Route Pattern. Настройка со стороны Asterisk Все настройки SIP – транка на стороне Asterisk будем выполнять с помощью графической оболочки FreePBX 13. Для настройки транка перейдем в раздел Connectivity -> Trunks. Нажмите на + Add Trunk, чтобы создать новый SIP – транк. Во вкладке General, укажите имя для создаваемого транка. Далее, переходим во вкладку pjsip Settings. Так как в рамках настройки SIP – транка между Asterisk и CUCM мы не используем регистрацию по логину/паролю, то отмечаем следующие опции: Authentication - выставьте None. Как сказано раньше, мы не используем аутентификацию по логину и паролю. Registration - выставьте None. SIP Server - укажите IP – адрес Cisco UCM. Context - укажите контекст from-internal Перейдите во вкладку Advanced: Qualify Frequency - выставьте 60. Интервал в секундах, через который будут отправляться Keep – Alive сообщения для проверки состояния транка. From Domain - укажите IP – адрес вашего CUCM Нажмите Submit и затем Apply Config. После этого необходимо настроить маршрутизацию для этого транка. Как это сделать, вы можете прочитать в статье по ссылке ниже: Маршрутизация вызовов FreePBX
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59