Установка Snap в Linux
Одно из самых обсуждаемых нововведений в Ubuntu 16.04 — это новый формат установочных пакетов программного обеспечения — snap. Canonical представила новую систему установки и управления программным обеспечением, она более безопасна и позволяет получить всегда самые последние версии программ.
Ещё одно преимущество Snap пакетов — это доступность не только в Ubuntu, но и в других дистрибутивах. Разработчики могут создать один пакет, который потом можно будет одинаково установить в Ubuntu, Debian, Fedora, CentOS или любом другом дистрибутиве. В этой статье мы рассмотрим как установить пакетный менеджер Snap в вашем дистрибутиве, а также как им пользоваться.
Что такое Snap пакеты?
Сначала поговорим о том что такое Snap. Есть несколько способов установки программ в системах Linux. Один из способов — установка из исходных кодов. Здесь вам нужно вручную запускать скрипты, удовлетворять зависимости, ну одним словом, очень неудобно.
Notion: для чего он нужен / сравнение Notion с Google Docs, Evernote, Trello — урок 1
Здесь в игру вступают пакеты. После завершения разработки программы её разработчики создают пакеты, например, deb или rpm и размещают их в репозиториях программного обеспечения, откуда пользователи могут их очень легко установить. Установить программу из любого deb пакета можно буквально в пару кликов. Но такие пакеты содержат только саму программу, все зависимости и необходимые ей библиотеки пакетный менеджер ищет и устанавливает автоматически.
В свою очередь Snap пакеты содержат саму программу, а также все её зависимости. Это имеет несколько преимуществ перед обычными deb или rpm пакетами, поскольку теперь программу можно запустить в любом дистрибутиве, а также разработчик может быть уверен, что его программа получает именно необходимые ей версии библиотек.
Установка snap
В дистрибутивах, основанных на Debian и в самом Debian для использования snap пакетов сначала надо установить менеджер пакетов snap. Для этого выполните:
sudo apt install snapd
Установка snap в Fedora или CentOS отличается не сильно:
sudo dnf install snapd
После установки для включения возможности установки классических приложений через snap надо создать символическую ссылку на /var/lib/snapd/snap в корне:
sudo ln -s /var/lib/snapd/snap /snap
После этого можно установить магазин приложений snap-store:
sudo snap install snap-store
Или устанавливать пакеты snap через терминал.
Как пользоваться snap
Основы рассмотрели, теперь перейдем к управлению пакетами. Процесс взаимодействия со snap очень похож на apt или dnf, только не надо обновлять репозитории. Все действия выполняются в терминале.
1. Поиск пакетов
Чтобы найти нужный пакет или посмотреть есть ли он в магазине приложений snap используйте команду find. Например:
snap find chromium
Будут выведены все пакеты соответствующие данному критерию, доступные для установки в вашей системе. Если выполнить команду find без параметров, то система выведет несколько рекомендуемых пакетов.
2. Информация о пакете
Чтобы посмотреть информацию о пакете используйте команду info:
snap info chromium
Здесь выводится информация о том кто создал пакет, а также его описание. Для установки пакетов доступно несколько каналов. Это stable, beta и edge. Первый самый стабильный, второй — тестируемый, а третий — версия для разработчиков. Эта информация тоже выводится внизу вывода команды info.
Здесь же выводится версия программы в канале.
3. Установка пакетов
Вы можете установить snap пакет в Ubuntu или любом другом дистрибутиве командой install:
sudo snap install chromium
Когда установка snap пакетов завершится, программа выдаст соответствующее сообщение. Для установки пакета из определенного канала используйте соответствующую опцию, например —stable, —candidate, —beta или —edge. По умолчанию используется канал stable. Например:
sudo snap install chromium —edge
По умолчанию приложение может получить доступ только к тем частям системы, к которым у него подключены интерфейсы. Эти подключения устанавливаются автоматически во время установки пакета. Посмотреть их можно командой connections:
snap connections chromium
Иногда для приложений недостаточно такого уровня доступа. Тогда для них используется уровень безопасности classic. В этом режиме приложение получает доступ к системным ресурсам как любые другие системные программы. Для установки таких программ надо использовать опцию —classic, иначе установить их не получится:
sudo snap install —classic atom
Есть ещё один режим безопасности, при котором приложение получает полный доступ к системе: devmode. Для установки таких программ надо использовать опцию —devmode.
4. Удаление пакета
Удалить snap пакет из системы очень просто. Для этого достаточно использовать команду remove:
sudo snap remove chromium
5. Установленные программы
Для того чтобы посмотреть все пакеты, установленные в системе используйте команду list:
Многие из программ Ubuntu и Gnome уже поставляются в виде snap и их уже нельзя установить из обычных репозиториев. С помощью опции —all можно посмотреть все доступные версии определённого пакета:
snap list —all opera
6. История изменений
Также вы можете посмотреть историю изменений, внесенных, в систему с помощью этого пакетного менеджера:
7. Обновление пакетов
Если вы хотите обновить пакет snap, до более новой версии, выполните команду refresh:
sudo snap refresh opera
Если установлена самая свежая версия вы получите сообщение об ошибке.
Для обновления всех пакетов, установленных в системе просто выполните команду refresh:
sudo snap refresh
Если обновление вам не понравилось, вы можете откатить версию всех пакетов или одного из них до предыдущей. Для этого выполните команду revert:
sudo snap revert opera
Выводы
С момента создания этой технологии прошло много времени и сейчас доступно уже много snap пакетов. Они даже вытеснили многие PPA репозитории, что теперь заброшены и не поддерживаются. Поскольку существует инструмент snapcraft, который делает создание snap пакетов намного проще, все разработчики могут подготовить эти пакеты для своих программ.
А что вы думаете о системе управления пакетами и о самих пакетах snap? Будете использовать систему установки snap чаще чем apt? Напишите в комментариях!
Источник: losst.pro
Графический способ дать разрешения программам snap.
Тихо и незаметно для меня графический инструмент установки софта Ubuntu Software обзавёлся возможностью выдать дополнительные возможности данной программе, а точнее соединить slot с plugs, что раньше мы делали только в консоли. В этом месте я хотел бы вернуться в прошлое и вспомнить как всё это только начиналось.
Графика для механизма соединений в технологии snap
Людям всегда проще всё визуализировать и пока это не представлено в удобном графическом виде, то немногие могут понять зарождающуюся технологию. Что она принесёт? Реально ли она хороша и расцветёт?
С релиза Ubuntu 16.04 нам дали попробовать самодостаточные пакеты snap. И сразу же грязь и выставленные штыки. Всё началось с грамотной технической статьи Мэтью Гаррета (Matthew Garrett), где он указал на очевидное — пока жив и используется X11 (Xorg), безопасность snap не реализуется в полной мере и до конца.
Так создан в далёкие годы X11, что любое приложение может инжектировать ему события в потоки ввода-вывода. Сам Мэтью пишет, что такого нет в современных дисплейных серверах Mir и Wayland. Но журналюги всё «лишнее», на их взгляд, выкинули и Интернет запестрел новостями — snap не безопасен, snap атцтой.
Но в те времена, я часто разговаривал со своими коллегами, которые в мире MS Windows обслуживали критически важные ПК, с установленными системами мандатного доступа (mandatory access control, MAC) типа Secret Net или Dallas Lock. Мне были понятны их проблемы и мучения, когда в графической MS Windows на десктопной машине нужно заставить работать софт в ежовых рукавицах.
Другими словами, системы подобные Secret Net или Dallas Lock превращали классическую Windows (DAC) в неприступную MAC систему. Приведу пример. В обычной MS Windows (DAC) если вы запустите программу под учётной записью Администратор, то она получит излишние права и сможет сделать всё что угодно.
Если будет работать система мандатного доступа, то её профиль (шаблон) будет держать программу в рамках заранее разрешённых правил и возможности DAC не будут решающими. Естественно, в обычной жизни все стараются применять принцип минимальных привилегий (англ. Principle of least privilege), но общую мысль вы, надеюсь, поняли — MAC строже DAC.
Я проводил параллели с установленным по умолчанию AppArmor в моей Убунту и размышлял, а разовьются ли десктопные Linux системы до того, чтобы стать ещё безопаснее и перейти из традиционного мира discretionary access control (DAC) в более суровый MAC? Это просто невероятно сложная задача и мои самостоятельные шаги по созданию профиля для Adobe Reader и Opera это только подтверждали.
Сразу было понятно что всё упрётся в человеческий фактор. Сообщество вокруг AppArmor (да и у SELinux) большое, но создавать профиля под +100500 софта и постоянно актуализировать профиля вслед за изменением в функционале софтины — это сизифов труд. Вот почему AppArmor, как пристяжная лошадь, вроде как и есть в системе, но профилями защищает лишь критически важную, но малую часть. Профиля сделаны лишь на основные сетевые службы, слушающие сеть, да браузеры. Можете глянуть на досуге в каталог /etc/apparmor.d/
И тут Canonical предложила формат snap, как решение проблемы с ручным визированием софта в репозиториях, устраняя человеческий фактор при review. Более подробно в статье Процесс загрузки приложения в репозиторий Ubuntu.
С самого рождения технологии вводится философия ограничений (security confinement) для snap, которая собственно и позволяет гарантировать автоматическое одобрение софта после вереницы тестов. И главная задумка состоит в том, чтобы снять нагрузку при визировании софта с плеч небольшого количества сопровождающих (maintainer) и перенести на армию авторов-снапкрафтеров. Автор программы точно знает функционал своего детища, а даже если снапкрафтер не является автором, то при упаковке подопечного он будет вынужден разобраться в софте и в декларативной форме описать что необходимо софту от системы в файле snapcraft.yaml. Данные хотелки будут автоматически развёрнуты в правила AppArmor и в системные белые списки seccomp.
В то время я всеми фибрами души прочувствовал эту крутую мысль, что впервые на Linux десктоп идёт своей мощной поступью система мандатного доступа, чтобы стать всеобъемлющей. Перестать быть пристяжной лошадью, а занять место коренной. Тогда не было графического интерфейса к snap даже для установки софта и приходилось лабать в консоли. Но опыты с сетевым сканером nmap, которого одного из первых представили в snap формате, показал как же это всё круто. Если бы я поставил nmap через deb, то он бы обитал в мире традиционных разрешений rwxr-x-r— и мог бы делать всё что он захочет, получив права доступа от моей учётной записи. Но в мире MAC всё строже и к традиционным разрешениям ещё прилагаются профиля «чуть-влево-чуть-вправо-расстрел-на-месте»
nmap -iL /home/vasilisc/report.txt
Failed to open input file /home/vasilisc/report.txt for reading QUITTING!
Nmap не может взять из домашней папки файл, так как я не давал ему разрешения. Точнее говоря, в терминах snap у программы nmap нет connect’а к слоту home системы, а значит в нижележащем слое у AppArmor нет кусков правил, разрешающее такое для данной программы. Разработчики технологии snap все интерфейсы поделили на 2 большие группы: автоподключаемые и нет.
Полный список интерфейсов вы можете увидеть в документации Core interfaces reference. Если напротив названия интерфейса в поле Auto-connect стоит yes, то автор программы (и/или снапкрафтер) может попросить в декларативной форме к ним подключиться и при установке программы snap в системе это будет сделано автоматически. А вот подключить программу к интерфейсам, которые Auto-connect = no, до сих пор можно было только в консоли.
И вот теперь товарищи, финальный аккорд! Вишенка на торте! Графический интерфейс к механизмам connect/disconnect в Ubuntu Software.
Сколько уже лет прошло и вот, оглядываясь назад, понимаешь что технология самодостаточных пакетов snap, несмотря на недопонимание и отторжение у части сообщества, начала превращать Linux системы из DAC в MAC. В идеальном будущем, весь софт будет отделён друг от друга и от системы, что позволит провести некоторый «водораздел ответственности», облегчающий труд как системных программистов, работающих над развитием операционной системы, так и труд прикладных программистов, чей софт не будет ломаться всякий раз при изменении в фреймворках/библиотеках/компонентах.
- Системные программисты получат возможность легко и просто изменять операционную систему, не опасаясь что их труд заденет вышестоящий слой прикладных программ. Можно смело менять API/ABI и делать резкие развороты.
- Прикладные программисты перестают быть зависимыми от системных программистов и от зоопарка Linux систем с их различными версиями фреймворков/библиотек/компонент. Не нужно теперь прилагать огромные усилия, чтобы пропихнуть свою бесплатную программу в официальные репозитория основных linux игроков. Софт, если прошёл вереницу тестов, автоматически визируется и попадает в Store. Прикладной софт может коннектиться к snap пакету конкретной версии фреймворка, что позволит существовать нескольким версиям одной и той же программы, что невозможно в традиционном линуксе.
- Пользователь получает всегда свежий софт от автора и может быть уверен, что изменения в его системе не сломают софт и vice versa. Более жёсткий контроль над программой позволяет курировать вопросы — что и как может программа? Софт не привязан к версии релиза системы.
- Сопровождающие из мира deb продолжают свою тяжёлую работу, а количество проверяющих хранилище можно легко удерживать в разумных рамках при росте количества софта. Автоматические тесты и правила AppArmor гарантируют работу софта в рамках профиля. Ручное визирование софта вызывается лишь при любой остановке автоматического теста и обычно это редкое событие, которое вызывает нарекание в сторону снапкрафтера. Мой личный пример доказывает!
Итог
Технология snap с самого своего рождения была создана быть безопасной и решить вопрос с убыстрением попадания свежего софта в хранилище, а из него на столы пользователей. Образно можно сказать что, благодаря snap, вы бесплатно получаете аналог MS Windows + Secret Net. Как пользователь, вы должны радоваться данной технологии, которая быстро и безопасно принесёт вам свежий софт от авторов, гарантируя транзакционное обновление и давая возможность откатов при каких-либо проблемах.
Дополнительные материалы
Многих интересует и интригует новая технология. Задаются вопросы типа таких: а можно ли упаковать зловреда и люди его скачают к себе на ПК? Ответы в статье Доверие и безопасность в Ubuntu Snap Store
Детальное сравнение как работает установка софта и его запуск в системе. Механизмы DAC и MAC во всей красе. Мир Snap против мира Deb
Дата последней правки: 2018-11-02 13:26:08
Источник: vasilisc.com
Что такое функция Snap в Windows 7 и как это работает?
Windows 7 принесла с собой множество новых функций и улучшила старые. Когда Microsoft начала разработку Windows 7, они хотели, чтобы изменить способ, которым пользователи взаимодействуют с их рабочим столом. Оформление рабочего стола Aero и несколько функций, вышли именно из этого проекта. Одна из таких функций называется Snap.
Windows 7 оснастки изменяют способ изменения размера открытых окон на рабочем столе. Перетащив окно к краю экрана, позволит вам увеличить его, поставить бок-о-бок или растянуть окго по вертикали. Snap работает на всех версиях Windows 7 и может занять некоторое время, чтобы привыкнуть к ней, поэтому давайте взглянем на то, как она работает.
Как работает Snap
Самый быстрый способ увидеть оснастки в действии, это перетащить строку заголовка окна (не развернутое) к левой или правой стороне экрана. Вы увидите, из стороны окна выходит бар, просто отпустите окна, и это будет “захватывать” и разворачивать окно, чтобы занять весь экран.
Если вы перетащите строку снова, окно открывается до исходного размера. Вы также можете использовать клавишу с эмблемой Windows на клавиатуре и левую клавиши со стрелками, чтобы двигаться по свёрнутому окну по экрану и переместить его в новое положение.
Если вы дважды щелкните на не развернутое окно , то окно будет развёрнуто его для вас, основываясь на том, как Windows использует оснастки.
Если вы будете удерживать нажатой клавишу Shift и щёлкните правой кнопкой мыши по окну на панели задач, окно откроется поверх того, которое вы открыли в свернутом окне. Вы можете перетащить верхний бар, чтобы максимально увеличить окно и сделать его в центре вашего внимания.
Вы также можете использовать функцию Snap, чтобы открывать окна по вертикали. Для этого Вы просто наведите курсор мыши на верхнюю или нижнюю часть свернутого окна до тех пор, пока вы не увидите появляющуюся двойную стрелку.
Как только вы увидите её, вы можете просто потянуть страницу вверх или вниз, и это будет выравнивать окно по вертикали.
Windows Snap будет работать с большинством программ и окон, которые вы открываете на компьютере. Если программа имеет разрешения настраиваемых окон, то скорее всего Вы не сможете использовать оснастки с ними. Если вы пытаетесь использовать оснастки и найдёте, что Вам не удаётся получить окно в месте которое вам нужно, скорее всего, вы работаете с программным обеспечением, которое не даёт Вам полный доступ к этой функции окна.
Snap хорошо работает для пользователей Windows 7?
Чтобы привыкнуть к особенностям оснастки, может потребоваться некоторое время, и большинство пользователей введённой функцией разочарованы после того, как они не смогли перемещать свёрнутое окно по экрану. Если Вы не торопитесь, чтобы узнать, как Snap работает и хотите приступить к её использованию, просто потренируйтесь немного, и у вас всё должно получиться.
Функцией Snap могут воспользоваться пользователи, которые работают с большим монитором или более чем один экран, потому что это позволяет им иметь больше контроля над несколькими программами, окнами которые открыты и разложены столе для них, чтобы их использовать.
Источник: kompkimi.ru
Ashampoo Snap
Ashampoo Snap — просто идеальная программа для эффективной записи/обработки снимков экрана с широчайшим набором инструментария созданных изображений.
Скачайте Ashampoo Snap бесплатно на компьютер, ведь запись скриншотов может быть полезна во многих случаях: похвастать среди друзей достижениями в видеоиграх, запечатлеть фрагмент виртуальной переписки, сохранить таким образом необходимую картинку и многое другое.
Прогресс продвигается вперед и даже для подобного процесса уже давно существуют программные приложения особого назначения, которые помимо создания статичных скриншотов помогут задокументировать все происходящее на экране, не исключая видео со звуком. А предпочтительным приложением в данной области можно назвать Ashampoo Snap.
Захват скриншотов можно делать и штатным средством в Windows, но специальная программа может оказаться куда сподручней. Тем более, чтобы довести полученный результат до ума (подрезать ненужные участки, «вогнать» в нужный размер, подрисовать стрелочки, надписи и много другого) нужно намного меньше времени.
Интерфейс данного программного продукта несколько специфичен, но привыкание происходит совершенно быстро. Заскринить экранное содержимое программа предлагает в нескольких различных режимах. К примеру, существует возможность сделать скриншот с активной прокруткой. Подобный скрин понадобится в случае сохранения документа, не помещающегося в одном экране.
Утилита автоматически прокручивает содержимое и пользователь получает полноценный конечный результат. Своих приверженцев также наверняка найдет опция создания скринов через заданные временные промежутки (10, 15 секунд и т.д.), а можно и попросту создавать видеозапись полностью всего происходящего.
После запечатления необходимой картинки, наступает фундаментальный момент, когда снимок может быть подвержен некоторой доработки до желаемого вида. Утилита Ashampoo Snap rus обладает широчайшей подборкой инструментов для всестороннего редактирования картинок.
В программном приложении есть такие средства как затирочный ластик, выделительный маркер, заливка, размытие, штампы и прочее. После всех мероприятий по комплексной обработке изображения, полученный документ можно переслать по e-mail, залить в профиль или на ресурс Ashampoo, ну или просто обойтись сохранением на локальном диске, или отправить на печать.
Бесплатный лицензионный ключ к Ashampoo Snap
Чтобы получить полную лицензию и активировать продукт, необходимо:
- перейти по этой ссылке и пройти простую регистрацию;
- скачать и установить программу по ссылке ;
- в процессе установки ввести данные в раздел Ввести ключ вручную.
Получается Ashampoo Snap — это поистине стоящее программное обеспечение в своей области с обширным потенциалом для самого требовательного пользователя.
Источник: soft-file.ru