Загрузка программного обеспечения на Linux VPS

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

Большинство пакетов Linux доступны в репозитории своего дистрибутива; их можно загрузить с помощью стандартных средств управления пакетами. Для загрузки пакетов, которых нет в репозиториях, используются другие механизмы. В этом руководстве рассматриваются наиболее распространенные методы загрузки файлов и данных на сервер Linux.

Примечание: Все примеры выполнены на сервере Ubuntu 14.04, но с небольшими поправками руководство можно выполнить на любом современном дистрибутиве.

Загрузка данных из репозитория

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

Установка программного обеспечения из стандартного репозитория

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

Дистрибутивы Linux используют разные форматы пакетирования и разные пакетные менеджеры.

Наиболее популярными форматами являются .deb (используется в дистрибутивах Debian и Ubuntu и их производных) и .rpm (традиционно используется в RedHat, CentOS и Fedora). Некоторые системы используют другие форматы. Например, Arch Linux использует простые пакеты .tar.xz.

Дистрибутивы, работающие с пакетами .deb, как правило, используют набор инструментов управления пакетами apt.

Читайте также: Управление пакетами в Ubuntu и Debian при помощи apt-get и apt-cache

Дистрибутивы, использующие формат .rpm, обычно управляют файлами с помощью менеджера пакетов yum. Больше информации об этом менеджере вы найдете здесь и здесь.

Использование PPA

Одним из методов загрузки программного обеспечения для машин Ubuntu является использование PPA (personal package archive). Хотя этот метод нельзя использовать на большинстве дистрибутивов, на серверах Ubuntu он применяется очень часто.

PPA – это, по сути, репозиторий, сосредоточенный на одном или нескольких конкретных пакетах. Такой архив поддерживается не официальными разработчиками Ubuntu, а сторонним пользователем или командой. Это позволяет использовать PPA в качестве отдельного источника данных для менеджера пакетов; сохраненное программное обеспечение можно установить так же, как и стандартные пакеты.

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

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

Однако у PPA есть и недостатки. Во-первых, вы должны доверять тем, кто поддерживает используемый вами PPA. Прежде чем использовать архив, убедитесь, что он надежен. Всегда существует вероятность того, что PPA  может содержать поврежденные пакеты (которые попали туда случайно).

Также нужно помнить о том, что многие PPA недолговечны. Что делать, если используемый архив больше не обновляется? Будет ли у вас время, чтобы следить за обновлениями официального репозитория дистрибутива?

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

sudo apt-get update
sudo apt-get install python-software-properties     # Для Ubuntu 12.04
sudo apt-get install software-properties-common     # Для версий Ubuntu, вышедших после 12.04

После этого можно добавить PPA:

sudo add-apt-repository ppa:PPA_name

Затем нужно обновить индекс пакетов и загрузить данные PPA. Установите новое программное обеспечение из PPA:

sudo apt-get update
sudo apt-get install new_package

Репозитории Git

Еще один вид репозиториев, с которым вам придется столкнуться во время работы с Linux, – это репозитории git, которые хранят исходный код прораммного обеспечения.

Если интересующие вас файлы хранятся в репозитории git, на сайте проекта GitHub, Bitbucket или в закрытом репозитории GitLab и т. п., вы можете загрузить файлы с помощью команды git.

Установите git на сервер:

sudo apt-get update
sudo apt-get install git

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

Скопируйте URL-адрес, вставьте его в терминал и клонируйте проект с помощью команды:

git clone https://github.com/user/project.git

Проект клонируется в текущий каталог.

Общие сетевые ресурсы

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

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

Удаленная загрузка и перемещение

Возможно, проще всего загружать данные на домашний компьютер, а затем уже загружать их на сайт.

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

Затем вы можете легко переместить эти файлы на сервер. Для этого рекомендуется использовать sftp-соединение, которое позволяет безопасно передавать данные. Вы можете запустить sftp из командной строки или использовать FTP-клиент с возможностями sftp.

Читайте также:

Это, пожалуй, самый гибкий способ загрузки контента на сервер.

Консольные веб-браузеры

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

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

Существует множество консольных браузеров

Браузер lynx

Это самый старый веб-браузер, который по-прежнему активно разрабатывается и используется. Он очень прост в обращении. С помощью клавиш со стрелками вы можете легко переключаться между ссылками по всей странице. Чтобы перейти по ссылке, выделите ее и нажмите Enter или стрелку вправо.

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

sudo apt-get update
sudo apt-get install lynx

Браузер lynx может обрабатывать файлы cookie и управлять закладками. Он может отображать цветной вывод, если терминал его поддерживает. Как правило, с его помощью можно открыть любой веб-сайт, который не использует javascript.

Страница в lynx выглядит так:

× Logged in!
Image         Name            IP Address   Status Memory Disk Region
irssi                xxx.241.xxx.54  Active 512MB  20GB nyc1
try                  192.xxx.170.xx  Active 4GB    60GB nyc2
snmp                 xxx.170.xx.123  Active 4GB    60GB nyc2
tugboat              192.xxx.162.xxx Active 4GB    60GB nyc2

Браузер links

Этот браузер отлично подходит для просмотра веб-страниц из командной строки. Одна из преимуществ браузера links над lynx состоит в том, что он содержит систему меню, подобную традиционному браузеру, доступ к которому можно получить, нажав клавишу Esc.

Чтобы установить links, введите:

sudo apt-get update
sudo apt-get install links

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

Image Name                 IP Address      Status Memory Disk Region
irssi                xxx.241.xxx.54  Active 512MB  20GB nyc1
try                  192.xxx.170.xx  Active 4GB    60GB nyc2
snmp                 xxx.170.xx.123  Active 4GB    60GB nyc2
tugboat              192.xxx.162.xxx Active 4GB    60GB nyc2

Также браузер links по умолчанию поддерживает мышь: вы можете кликать по ссылкам в окне терминала так же, как в обычном браузере.

Браузер elinks

Elinks – это популярный форк браузера links, который вышел в 2001 году. Он включает расширенный набор функций, используя механизмы рендеринга и базовый движок links.

Чтобы установить elinks в Ubuntu, введите:

sudo apt-get update
sudo apt-get install elinks

Основные преимущества elinks над links – это управление паролями и формами, просмотр вкладок, частичная поддержка javascript и поддержка протокола bittorrent и протокола IPv6. Это может повлиять на скорость, но, скорее всего, это будет не слишком заметно.

Браузер w3m

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

Многие системы предоставляют w3m по умолчанию. Чтобы установить w3m, введите:

sudo apt-get update
sudo apt-get install w3m

Еще одним преимуществом этого браузера является то, что он может использовать команды, подобные командам vi. Например, перемещать курсор можно с помощью j, k, l и h.

Утилиты загрузки

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

Утилита wget

Инструмент wget быстро загружает данные с сайта.

Чтобы установить wget, введите:

sudo apt-get update
sudo apt-get install wget

Затем попробуйте загрузить файл из удаленного источника; для этого достаточно указать URL-адрес после команды, например:

wget www.example.com

Если вы укажете ссылку на главную страницу сайта, команда загрузит эту страницу в файл в локальном каталоге. Если вы укажете ссылку на файл, она загрузит этот файл.

Как правило, для поиска необходимого файла используется локальный компьютер; найдя файл, щелкните правой кнопкой мыши по ссылке на загрузку и выберите copy link location (или аналогичный вариант). Затем нужно вставить скопированный URL-адрес в команду.

Если загрузка прервалась, используйте флаг –с, который возобновит загрузку, если в текущем каталоге обнаружен неполный файл:

wget -c www.example.com

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

Утилита curl

Утилита curl также используется для загрузки данных. Если wget обычно создает файлы, то curl по умолчанию использует стандартный вывод, благодаря чему утилиту часто используют в сценариях и конвейерах. Она поддерживает больше протоколов и методов аутентификации HTTP, чем wget.

Обычно curl поставляется по умолчанию, но если в вашей системе эта утилита отсутствует, вы можете установить ее.

sudo apt-get update
sudo apt-get install curl

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

curl -O www.example.com/index.html

В команде нужно указать файл, потому что иначе curl не будет знать, как назвать локальный файл.

Для обработки редиректа curl использует флаг –L.

Заключение

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

Tags: ,

Добавить комментарий