пїЅпїЅпїЅпїЅпїЅпїЅ
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Название tar архива образовано от сочетания Tape ARchive, так как было разработано для записи последовательных данных на ленточные устройства. Также иногда встречается название tarball. По умолчанию tar архивирует файлы только без сжатия, но с использованием некоторых частей. Мы можем использовать различные методы сжатия, чтобы на выходе получить архив меньшего размера. Утилита tar обычно включается в большинство дистрибутивов Linux по умолчанию, а сам формат поддерживается другими операционными системами, включая Windows и macOS, с помощью различных инструментов и утилит. В этой статье мы рассмотрим некоторые общие примеры использования команды tar и поддерживаемые флаги. 1. Создание tar архива Для создания обычного архива без сжатия достаточно ввести команду ниже: $ tar cvf <tar-file-name> <files-to-archive> Здесь флаги c обозначает создание, v обозначает подробный вывод и f обозначает имя файла архива tar. По соглашению укажите имя файла tar с расширением .tar. Архивируемые файлы могут быть определены с помощью подстановочных знаков или же можно указать один файл или несколько файлов/путей. В качестве примера можно привести три файла в каталоге: Создать архив, содержащий все три файла, можно следующим образом: Также можно указать только конкретные файлы для архивирования, например: 2. Создание сжатого архива (GZ) tar позволяет не только архивировать файлы, но и сжимать их для экономии места. Одним из популярных форматов сжатия является gunzip, обычно представленный расширением .gz после .tar или как tgz. Мы можем использовать флаг z, чтобы указать, что файлы должны быть сжаты с помощью gunzip. Вот пример: Можно заметить, что размер архивных файлов существенно отличается, хотя оба содержат одни и те же три файла. Это связано с использованием сжатия с использованием флага z. 3. Создание сжатого архива (BZ) tar поддерживает несколько других форматов сжатия. Одним из них является bz2 или bzip2, который представлен расширением tar.bz2 или иногда как tbz2. Это может дать вам меньший размер архива, но, в свою очередь, потребляет больше ЦП, так что процесс сжатия/декомпрессии может быть медленнее, чем gz архив. Для создания bz архива используется флаг j: 4. Распаковка всех файлов Архив tar (сжатый или несжатый) можно извлечь с помощью опции x. Ниже приведены примеры, поясняющие его использование: Эта команда также работает для сжатого архива формата gz: И даже для архива со сжатием bz2: 5. Просмотр содержания архива Чтобы перечислить содержимое архива tar, можно использовать флаг t, как показано ниже: 6. Распаковка конкретных файлов Из архива tar, tar.gz или tar.bz2 можно извлечь как все файлы, так и один конкретный файл, указав имя файла: Аналогично, можно указать несколько имен файлов, разделенных пробелом, чтобы извлечь их вместе за один переход. 7. Распаковка с помощью маски Чтобы извлечь один или несколько файлов с помощью шаблона PATTERN, используйте флаг --wildcards: 8. Добавление файлов в архив В существующий несжатый архив можно добавлять новые файлы используя флаг r или --append с новыми именами файлов или шаблоном подстановочных символов (помните, что это работает только с несжатыми TAR-файлами, а не со сжатыми форматами tar.gz или tar.bz2): Можно увидеть, что содержимое списка archive.tar показывает два только что добавленных файла. 9. Удаление файлов из архива Удаление определенных файлов из архива tar возможно с помощью флага --delete, как показано ниже (сравните список tar до и после удаления файлов): Опять же это работает только для несжатых архивов и завершится неудачей для сжатых форматов архива. 10. Создание архива с проверкой При создании несжатых архивных файлов можно проверить содержимое архива, используя флаг W как показано ниже: Этот флаг нельзя использовать с флагами сжатия, хотя можно сжать созданный файл tar позже с помощью gzip или других инструментов. 11. Распаковка архива в папку Если вы хотите извлечь содержимое тарбола в определенную папку вместо текущего каталога, используйте флаг -C с указанием пути к каталогу, как показано ниже: 12. Использование флага –diff Можно использовать флаг --diff или d для поиска любых изменений между файлами в архиве tar и файлами в файловой системе. Вот пример, который запускает diff один раз, когда файл внутри архива и снаружи был один и тот же. Если запустить команду снова после обновления файла, то можно увидеть разницу в выходных данных. 13. Исключение файлов Исключение определенных файлов может быть обязательным при создании архивов tar. Этого можно достичь с помощью флага --exclude. Как можно заметить из приведенных выше выходных данных, можно задать флаг --exclude несколько раз, чтобы указать несколько имен файлов или шаблонов связывая их логическим AND. Следует отметить, что из шести файлов в директории в приведенном выше примере только два файла удовлетворяли условию, которое должно быть включено в archive.tar.gz. 14. Просмотр размера содержимого архива Размер содержимого сжатого архива tar можно получить с помощью следующей команды: Аналогично для архива bz2: 15. Архивация с сохранением разрешений По умолчанию команда tar сохраняет разрешение архивированных файлов и каталогов, хотя можно явно указать его с помощью флага -p или --preserve-permissions, как показано ниже. Заключение tar - полезная утилита в системах Unix/Linux в течение долгого времени и в первую очередь использовалась в задачах архивирования и резервного копирования. С течением времени утилита развивалась и приобретала многие опции. Он может использоваться для простых и сложных задач, если вы знаете, какие функции он предлагает. В этой статье описаны некоторые основные операции, которые можно выполнить с помощью команды tar, и показано, как она может помочь в выполнении повседневных задач системного администрирования. Для получения дополнительных сведений обратитесь воспользуйтесь встроенным руководством Linux с помощью команда man tar или используйте команду tar --help или tar --usage.
img
За последний десяток лет большую популярность приобрела голосовая и видеосвязь через глобальную сеть. Есть десятки мессенджеров, поддерживающих эту технологию. В этой статье мы рассмотрим такой популярный вариант связи как Cisco Jabber. Вообще Сisco Jabber – это общее именование группы продуктов компании Cisco, предназначенное для связи посредством интернета. Это могут быть как текстовые сообщения, так и голосовая связь или видеозвонки. Данная технология наиболее удобно для корпораций, поскольку достаточно проста в использовании и позволяет без проблем найти и установить связь с нужным человеком. При этом система определяет, доступен ли данный человек для контакта, устройство, с помощью которого осуществляется связь, а также имеется возможность ведения совместных проектов. Удобство в том, что используемое удаленным сотрудником устройство связи не имеет значения, поскольку данный продукт мультиплатформенный Данная технология связи обеспечивает отличное взаимодействие с большинством программ, предназначенных для связи через интернет, благодаря использованию протокола передачи данных XMPP. Клиенты Cisco Jabber совместимы с приложениями от самых разных производителей, а это значит, что никаких проблем с обменом данными не будет, каким бы клиентским приложением ни пользовался абонент. Очевидным плюсом данного решения является мобильность. Имеется возможность осуществлять связь с любого устройства, будь то ПК, ноутбук, планшет или смартфон. Операционная система в данном случае также не имеет значения. А возможность синхронизации данных позволяет спокойно переходить между устройствами связи. Интересное решение – обмен голосовыми сообщениями посредством сети Wi-Fi. Кроме этого, программа позволяет не только совершать видеозвонки по всему миру, но и делает это с высокой четкостью. Также есть возможность устраивать видеоконференции с большим числом участников, при этом есть возможность видеть, кто присутствует в конференции, а кого на месте нет. Кроме того в рамках конференции пользователь может вывести на свой экран изображение одного или нескольких собеседников. Если говорить о персональном использовании Jabber – это действительно удобное решение, поскольку в одной единственной программе заключается несколько способов связи – чат, электронная почта, телефонные и интернет-звонки, а также видеосвязь. Это позволяет сэкономить ресурсы системы и не запускать кучу разных приложений одновременно. Но самым востребованным вариантом использования Cisco Jabber остается корпоративное применение. Решение от компании Cisco обеспечивает связь внутри рабочих групп с высокой степенью безопасности, позволяет организовывать удаленные рабочие совещания и своевременно доводить информацию до сотрудников. Кроме того, если у корпорации есть свои сервера, посредством Jabber можно осуществлять контроль за различным оборудованием. Упомянем о мультиплатформенности. Поскольку данный продукт очень удобен в использовании и имеет открытый код, многие разработчики ПО стали интегрировать его в свои продукты (на стационарных платформах, к примеру, это Miranda, Psi, JAJC Tkabber). Даже такие гиганты как Google и Яндекс включают решения Jabber в свой функционал. Какие же преимущества имеет Jabber перед другими клиентскими приложениями? Открытость – протокол XMPP полностью прозрачен и не содержит никакого скрытого кода, что позволяет широко использовать это решение в качестве интегрируемого Стабильность – приложение имеет 20-летнюю историю, и все это время над продуктом трудились сотни талантливых программистов, оптимизируя, улучшая, добавляя новые возможности и «фишки». При этом компания уделяет огромное внимание тестированию - появление новой версии продукта в широком доступе значит, что программа всесторонне протестирована и будет работать корректно Безопасность –сервер Jabber способен работать без доступа в сеть, при этом осуществляется поддержка надежных систем шифрования (PGP) и защищенных соединений (SSL). Гибкость – программа имеет широкие возможности для настройки, поэтому любой мало-мальски разбирающийся в технологии пользователь может внести изменения в систему через несложный XML-файл
img
Вот оно – слово, которое ненавидят все разработчики, -  конфликт . Если вы работаете с Git (или с какими-то другими системами контроля версий), то вам никуда не деться от случайных конфликтов слияния.  В процессе общения с разработчиками я часто слышу о том, что тема конфликтов слияния вызывает у них чувство тревоги и беспокойства.  Обстоятельства разрешения конфликтов часто остаются тайными и загадочными. Дело в том, что вы попадаете в не очень хорошую ситуацию и не знаете, как из нее выйти, не усугубляя ее. Конфликты слияния – это неотъемлемая часть жизни любого разработчика, и поэтому совсем не обязательно беспокоится по этому поводу.  Этой статьей я хочу внести некоторую ясность в эту тему: как и когда возникают конфликты, что они на самом деле из себя представляют и как их можно разрешать.  Когда вы разберетесь во всем этом, вы будете чувствовать себя более спокойно и уверенно.  Как и когда возникают конфликты Название говорит само за себя – «конфликты слияния» возникают, когда вы объединяете коммиты из разных источников.  Учтите, что под «объединением» я имею в виду не только «слияние веток». Объединение может происходить при обычном или интерактивном перемещении, при выполнении операции копирования или извлечения изменений, или даже при повторном применении команды stash.  Все эти действия выполняют своего рода объединение коммитов, и после любого из них могут возникнуть конфликты слияния.  Конечно, это происходит не всегда (и слава Богу!). В идеале, вы должны сталкиваться с такими ситуациями крайне редко.  Но когда именно возникают конфликты слияния? На самом деле, самое большое преимущество Git заключается именно в его возможностях слияния. В большинстве случаев вы можете спокойно выполнять слияния веток, поскольку Git, как правило, может сам разрешить все возникающие конфликты. Но иногда могут возникать ситуации, когда вы внесли слишком противоречивые изменения. В таком случае Git уже не может самостоятельно определить, что правильно, а что нет. Такие ситуации требуют человеческого вмешательства.  Настоящая классика: вы внесли изменения в одну и ту же строку в двух разных коммитов в двух разных ветках, и Git просто не знает, какое из них нужно оставить.  Бывают и другие ситуации, когда вы, например, изменили файл в одной ветке, но при этом удалили его в другой. Но такие ситуации встречаются намного реже.  Настольный графический интерфейс Git «Tower» может отлично визуализировать такие ситуации: Как узнать, когда произошел конфликт Можете быть спокойны! Если возникнет конфликт, Git обязательно даст вам об этом знать.  Для начала Git сообщит вам об этом прямо во время «происшествия», например, когда он не сможет выполнить слияние или переместить коммиты из-за конфликта.  $ git merge develop Auto-merging index.html CONFLICT (content): Merge conflict in index.html CONFLICT (modify/delete): error.html deleted in HEAD and modified in develop. Version develop of error.html left in tree. Automatic merge failed; fix conflicts and then commit the result. Как вы видите, я попытался выполнить слияние, и тем самым создал конфликт. Но Git очень четко и быстро сообщил мне о проблеме: Конфликт возник в файле «index.html» Еще один конфликт возник в файле «error.html» И, как результат, из-за всех этих конфликтов операция слияния не смогла быть выполнена В таком случае мы должны покопаться в коде самостоятельно и понять, что нам нужно сделать.  Это, конечно, маловероятно, но, если вы вдруг пропустите эти предупреждающие сообщения, Git будет информировать вас об этом каждый раз, когда вы будете запускать команду  git status . $ git status On branch main You have unmerged paths.  (fix conflicts and run "git commit")  (use "git merge --abort" to abort the merge) Unmerged paths:  (use "git add/rm ..." as appropriate to mark resolution) deleted by us: error.html both modified: index.html Иными словами, вам не нужно беспокоиться о том, что вы пропустите конфликт. Git сделает все, что вы просто не сможете пройти мимо. Как отменить конфликт в Git и начать сначала Конфликты слияния довольно настойчивы. И у них есть на это все основания. Прежде чем продолжить свою работу, вы должны разрешить все конфликты.  Игнорировать их, конечно, нельзя, но «разрешить конфликт слияния» не всегда подразумевает то, что их надо именно разрешить. Вы можете их просто  отменить ! Возможно, мне стоит это повторить:  вы всегда можете просто отменить конфликт слияния и вернуться к предыдущему состоянию. Это возможно даже если вы уже начали разрешать этот конфликт, но зашли в тупик. В таких ситуациях всегда полезно помнить о том, что вы можете начать все сначала и вернуться к тому состоянию, когда конфликта еще не было.  Для этого у большинства команд есть специальный флаг  --abort , например,  git merge –abort  и git rebase --abort : $ git merge --abort $ git status On branch main nothing to commit, working tree clean Это должно вселить в вас уверенность в том, что вы просто не можете напортачить. Вы всегда можете остановиться, вернуться к предыдущему состоянию и начать сначала.  Как на самом деле выглядят конфликты в Git Теперь, когда мы знаем, что мы не можем ничего «сломать», давайте посмотрим на конфликт изнутри. Это поможет нам раскрыть тайну этих маленьких негодников, потерять к ним уважение и обрести уверенность в своих силах. Давайте в качестве примера возьмем содержимое файла «index.html» (на данный момент это конфликтующий файл): Git оказался довольно любезным и выделил проблемную область вот в такие вот скобки:  <<<<<<< HEAD …  >>>>>>> [other/branch/name] . То, что мы видим сразу после первой скобки, возникло в нашей текущей ветке. Здесь строка  ======= разделяет два конфликтующих изменения.  Как разрешить конфликт в Git Мы, как разработчики, должны все это исправить, то есть после того, как мы все сделаем, файл должен выглядеть именно так, как мы хотим.  Не исключено, что для этого вам придется поговорить с вашим товарищем по команде, который написал эти «другие» изменения, чтобы решить, какой код все же правильный. Может быть ваш, может его, а может вы придете к выводу, что нужно объединить и то, и другое.  Весь этот процесс не требует никакого волшебства. Вы можете просто открыть текстовый редактор или IDE и начать вносить изменения.  Однако вы можете счесть такой подход не самым эффективным. Тогда вы можете сэкономить свое время и усилия и воспользоваться специальными инструментами: Инструменты графического пользовательского интерфейса (GUI) Git . Некоторые GUI могут оказаться полезными при разрешении конфликтов. Например, графический интерфейс Tower предлагает функцию под названием «Conflict Wizard», которая помогает визуализировать сложившуюся ситуацию и разрешить ее: Специальные инструменты слияния . В случае более сложных конфликтов полезно будет иметь под рукой специальный инструмент под названием «Diff & Merge Tool». Вы можете его настроить с помощью команды «git config» (более подробную информацию вы можете найти в документации вашего инструмента). Когда возникнет конфликт, вы можете его вызвать, просто набрав команду  git mergetool . Ниже я привел пример. Это Koleidoscope для macOS: После того, как вы разрешите конфликт и очистите файл (любым из приведенных способов), вы должны зафиксировать это в Git, как и любое другое изменение: Когда мы разрешаем конфликт для какого-то (ранее) конфликтующего файла, мы должны ввести команду  git add .   После того, как мы разрешим все конфликты и добавим все необходимое в промежуточную область, мы должны завершить процесс разрешения, то есть зафиксировать все наши изменения.  Как стать более уверенным и продуктивным Много лет назад, когда я только начинал пользоваться системой контроля версий, я психовал с каждого возникающего конфликта слияния. Я думал, что «сломал» все окончательно. Только после того, как я нашел время и разобрался, что же у этих конфликтов «под капотом», я научился уверенно и эффективно разрешать их.  То же самое у меня было с ошибками: только после того, как я научился исправлять ошибки с помощью Git, я смог обрести уверенность в своих силах и стать более продуктивным в своей работе. 
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59