Как работает программное обеспечение в Ubuntu?
==============================================

 Я абсолютно новичок в Ubuntu. Я только что перешел на Ubuntu 13.10 из Windows. 

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

  Я устанавливал приложения в Ubuntu, используя 

 
```
sudo apt-get install <package-name>

```
 . В этом процессе я не могу сохранить копию программного обеспечения перед установкой. Есть ли процесс для этого? Ubuntu даже не спрашивает меня, куда можно загрузить программное обеспечение. Также меня не просят указать путь, по которому ОС хочет установить программное обеспечение. 

  Я не могу понять процесс, который происходит. 

 

 Программное обеспечение Linux организовано в пакеты, и `apt` это программное обеспечение, которое управляет этими пакетами. Программный пакет может зависеть от многих других программных пакетов для запуска. Например, если вы установите пакет для Wine, `apt` сообщит, что `wine`  [зависит от нескольких других пакетов](http://packages.ubuntu.com/trusty/wine1.4) , которые, в свою очередь, зависят от других пакетов, которые делают определенные вещи для Wine, таких как шрифты, файловая система. утилиты, поддержка типов файлов и т. д. 

  Организация программного обеспечения таким образом имеет много преимуществ. 

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

  В Windows у вас была бы одна большая папка для программы, содержащей все двоичные файлы программного обеспечения, значки, файлы конфигурации и весь большой двоичный объект для конкретной программы. В Linux у вас есть специальная папка для всех значков, которые использует система (`/usr/share/icons`), всех двоичных файлов (`/bin`), всех файлов прошивки (`/lib/firmware`) и остальных. Файл пакета для части программного обеспечения отслеживает все его файлы в системе. Вещи намного легче найти таким образом. 

  Когда вы устанавливаете пакет, происходит следующее: скажем, вы вызываете команду `sudo apt-get install libreoffice`: 

 1. Списки пакетов на вашем компьютере (в `/var/lib/apt/lists`) проверяются на наличие пакета с именем `libreoffice`. Списки предоставляют информацию обо всех различных устанавливаемых пакетах, которые хранятся на <http://archive.ubuntu.com/>. Веб-сайт не предназначен для просмотра пользователями (см. Ниже), а предназначен для использования apt. Рассматриваются зависимости пакета (в случае [, `libreoffice`,](http://packages.ubuntu.com/trusty/libreoffice)  список обширен). Если необходимо установить зависимости, они добавляются в список пакетов для установки в правильном порядке.
2. Все пакеты загружаются с <http://archive.ubuntu.com/>. Если вы  [выбрали другое зеркало](https://askubuntu.com/questions/37753/how-can-i-get-apt-to-use-a-mirror-close-to-me-or-choose-a-faster-mirror)  для увеличения скорости, они будут загружены оттуда.
3. Файлы  [самих пакетов](http://en.wikipedia.org/wiki/Deb_%28file_format%29)  являются  [архивами](http://en.wikipedia.org/wiki/Ar_%28Unix%29) , которые, в свою очередь, содержат архивы данных программы и информацию о том, куда эти данные отправляются, с более подробной информацией о пакете. Пакеты распаковываются индивидуально и затем настраиваются в соответствии с тем, что подробно описано в контрольной информации пакета в архиве. Затем запускаются любые конкретные сценарии и изменяются файлы конфигурации.
4. Между тем, apt отслеживает состояние пакетов: установлены они, установлены частично или нет.

  Если вы хотите узнать, что происходит «за кулисами», вы можете проверить файлы, которые пакет устанавливает в системе на <http://packages.ubuntu.com/> , Вы также можете скачать файлы пакетов .deb оттуда, если вам это нужно, но обычно вы этого не хотите. Вы также можете использовать `apt` для загрузки и просмотра деталей пакетов. 

 * Чтобы загрузить файл пакета и его зависимости: `sudo apt-get download
<package>`
* Чтобы просмотреть детали пакета: `sudo apt-cache showpkg <package>`
* Чтобы увидеть, какие пакеты вы скачали (это каталог обычно защищен от записи и недоступен обычным пользователям): `ls /var/cache/apt/archives`
* Чтобы очистить кэш и сэкономить место на диске: `sudo apt-get clean`

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

 

 Перейдите в / var / cache / apt / archives. Когда вы набираете sudo apt-get install-name, он загружает программу и ее зависимости от этого местоположения. Просто скопируйте файлы оттуда в папку для резервного копирования. Если вы хотите переустановить их или установить на другом компьютере, просто вставьте их обратно, отключитесь от Интернета и введите обычную команду установки: sudo apt-get install program-name. В качестве альтернативы вы также можете настроить локальный репозиторий на вашем компьютере.