Пакети в DEBIAN - Част I (Пакети, хранилища и мениджъри на пакети.)

Поздрави, Уважаеми кибер читатели,

Това ще бъде първата публикация на серия от 10 свързани с Проучване на пакети, които са от изключителна важност за всеки потребител на Операционни системи GNU / Linux като цяло, но съсредоточен върху Дистро ДЕБИАН.

Пакети DEBIAN

В тази първа част ще се съсредоточим върху концептуалното: Пакети, хранилища и мениджъри на пакети.

  • пакети

Софтуерен пакет в Операционна система GNU / Linux обикновено е a компресиран файл който има предварително дефинирана вътрешна структура, която улеснява и позволява да бъде манипулиран от Инструменти за управление на софтуер (мениджъри на пакети) за постигане на нейното компилиране и / или инсталиране, актуализиране и / или елиминиране в операционната система, по удобен, безопасен, стабилен и централизиран начин. Пакетът е компилируем ако вашата инсталация се базира директно на вашия изходен код (Изкл. * .Tar.gz) o инсталируем ако го правите в двоични файлове, вече компилирани за определена архитектура или платформа (Изкл. * .Deb).

Повечето пакети идват с вашия включена документация, неговата скриптове за предварително и след инсталиране, неговата първоначални конфигурационни файлове, неговата ресурсни файлове, и техния двоични файлове или изходен код с всичко необходимо, ако е предназначено да бъде компилирано.

Повечето формати на пакети идват със съответните им Инструменти за управление на софтуер, най-известните са .deb създаден за дистрибуцията на DEBIAN и всички негови производни, и .rpm, създаден от Red Hat за собствения си Distro и произведен като Fedora и Open SUSE. Има и компилируеми пакети Gentoo .ebuilds.

Фактът, че пакетът е създаден за конкретен Distro не означава, че той може да се използва само в този Distro или деривати, тъй като е достатъчно да има специализирани инструменти във всеки друг Distro за управление на тези формати, за да може да ги използва. Сред тези инструменти имаме: Dpkg, Apt-get, Aptitude, RPM, Emerge, Alíen и др).

Всяко Distro запазва своето колети в хранилища, както в медиите, така и в CD / DVD както и в Отдалечени сървъри, което позволява актуализирайте и инсталирайте чрез мрежа (интернет) цялата или част от операционната система от безопасно и надеждно местоположение (официални хранилища) за да не се налага да търсите неизвестни (и несигурни) сървъри, освен ако не е било строго необходимо.

Всеки дистрибутор обикновено дава своя пакети за сигурност (кръпки) и подобрения (актуализации), за да направят достъпни за своите Потребителски общности голяма част от перфектно функционален софтуер, интегриран в операционната система. А що се отнася до зависимости обикновено между всеки пакет да се управлява автоматично, за да се избегнат потенциални проблеми по-малко експертни потребители.

Компилиране или инсталиране? Хубавото при компилирането За разлика от инсталирането, може да се каже, че основното е възможността за определяне на опциите за компилация за вашата система и използвания софтуер, които позволяват по-добро използване на ресурсите и се приспособяват към предпочитанията на потребителя / администратора и лошите колко бавен и сложен може да стане този процес. Тъй като обикновено инсталирането на пакет (например * .deb) е много бързо и лесноНо обикновено не е добре актуализиран или адаптиран към дистрибуцията на нашата употреба или ресурси на нашето компютърно оборудване.

Ако искате да научите повече за Пакети DEBIAN Оставям следните връзки по-долу за вашето подробно четене:

  1. DEBIAN - Пакети
  2. Ъгъл на разработчика на Debian
  3. Ръководство за нов разработчик на Debian
  4. Ръководство за създаване на пакети на Debian
  • хранилища

Хранилищата са големи Сървъри (външни / вътрешни) те се държат като Банки с данни, които хостват приложенията (пакетите), от които се нуждаят нашите базирани на Linux операционни системи, дали стари, текущи, нови или в процес на разработка, които се инсталират с помощта на Мениджър на пакети. Всичко това с цел поддържайте операционната система актуална особено по въпросите на кръпки за сигурност. Репозиториите могат да бъдат два (2) типа: Официален и Неофициален.

Операционни системи, базирани на Linux (Distros) Те обикновено имат файл, в който списъкът на хранилищата (официални или не), до които можем да осъществим достъп чрез Мениджър на пакети за твоя Изтегляне, инсталиране, актуализиране или премахване. Този файл обикновено се намира на мястото / etc / package_manager_name / Donde "Package_manager_name" обикновено това е името на диспечера на пакети на Distro. Например в DEBIAN ще бъде в /etc/apt/sources.list.

Официалните хранилища съхраняват пакетите от приложенията, които нашият Distro поддържа. Те винаги са разделени на структура (на клонове и версии), която в зависимост от политиките на създателите им гарантира (гарантира) по много строг протокол за преглед, че всички пакети, които се съдържат, са в оптимално състояние и не представляват рискове за сигурността или стабилност за системата и нови или в разработка в отделни клонове за тези по-напреднали или опитни потребители.

В случая с DEBIAN хранилищата имат 3 клона:

  • Основна: Клон, който съхранява всички пакети, включени в официалната дистрибуция на Debian, които са безплатни според Указания за свободен софтуер на Debian. Официалното разпространение на Debian се състои изцяло от този клон.
  • Принос (принос): Клон, който съхранява пакети, чиито създатели са им дали безплатен лиценз, но имат зависимости от други програми, които не са безплатни.
  • Несвободен: Клон, който съхранява пакети, които имат някакво обременяващо лицензионно условие, което ограничава тяхното използване или преразпределение.

Хранилищата на DEBIAN са разделени на версии:

  • OldStable (Old Stable):  Версия, която съхранява пакетите, принадлежащи на старата стабилна версия на DEBIAN. В момента това принадлежи към Wheezy версията.
  • Стабилен:  Версия, която съхранява пакетите, принадлежащи към текущата стабилна версия на DEBIAN. В момента това принадлежи към версията на Jessie.
  • Тестване:  Версия, която съхранява пакетите, принадлежащи на бъдещата стабилна версия на DEBIAN. В момента това принадлежи към Stretch версията.
  • Нестабилен: Версия, която съхранява пакети, принадлежащи към бъдещи пакети, които непрекъснато се разработват и тестват, които в крайна сметка могат да принадлежат към Версия Тестване от DEBIAN. Това винаги принадлежи на SID версията.

Забележка: Много пъти името на версията обикновено се придружава от префикса "-Актуализации" o „-Предложени актуализации“ за да подчертая казаното пакети съхранявани там, въпреки че обикновено принадлежат към тази версия по-актуализиран, тъй като те идват по-скоро от следващата по-висока версия. В други моменти, когато става въпрос за Хранилище за сигурност префиксът обикновено е «/ Актуализации».

Репозиториите на DEBIAN могат да бъдат филтрирани по тяхното съдържание:

  • деб: Хранилища, които ще съдържат само компилирани пакети.
  • deb-src: Хранилища, които ще съдържат само изходните кодове на компилираните пакети.

Примери за хранилища за DEBIAN:


#######################################################
# REPOSITORIOS OFICIALES DE LINUX DEBIAN 8 (JESSIE)
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
# deb http://ftp.us.debian.org/debian/ jessie-proposed-updates main contrib non-free
# deb http://ftp.us.debian.org/debian/ jessie-backports main contrib non-free
# deb http://www.deb-multimedia.org jessie main non-free
# aptitude install deb-multimedia-keyring
# ####################################################

Забележка: Тези редове, които започват с символа »#« те са забранени от Package Manager. Този знак също се използва за вмъкнете коментари като например Описание на редовете на хранилището или командния ред, за който трябва да се използва добавете ключовете на хранилището описано.

  • Мениджъри на пакети

В миналото много Linux пакети (програми) се разпространяваха като изходен код и трябваше да бъдат трансформирани (компилирани) в необходимата програма или набор от програми, плюс съответната им документация (ръководства), конфигурационни файлове и всичко останало, което беше необходимо. . Понастоящем обаче повечето дистрибуции на Linux използват пакети (програми или предварително направени набори от програми), които са готови за инсталиране в споменатата дистрибуция.

С тях Инструменти за управление на пакети можете лесно да знаете, изтегляте, инсталирате, актуализирате и изтривате всеки пакетe. В нашия случай за DEBIAN ще се съсредоточим върху Мениджъри на пакети Apt-get, Aptitude, Apt и DPKG. който използва както DEBIAN, така и Distros, получени от DEBIAN (като Ubuntu).

Въпреки че основната функция за управление на пакети е много по-мощна чрез команди от терминала (конзола), разработчиците на Linux, които винаги се опитват да направят всичко възможно, за да направят Linux по-лесен за използване, са допълнили тези основни инструменти с други Инструменти с графичен потребителски интерфейс (GUI Tools), които се опитват да намалят възможните сложности на основните инструменти, за да не усложняват крайните потребители.

Но основно във всички тях те могат да извършват едни и същи основни операции, вече споменати в пакетите. Докато основните имат функционалност на командния ред, допълнителните инструменти могат да предложат по-удобни за потребителя интерфейси. И всички те могат да извличат пакети от Интернет, тъй като информацията за инсталираните пакети обикновено се съхранява в една база данни.

По-долу са най-полезните и често срещани командни команди във всяка от Мениджъри на пакети:


Apt-get:

Actualizar Listas: apt-get update
Chequear actualización de Listas: apt-get check
Instalar paquete: apt-get install nombre_paquete
Reinstalar paquete: apt-get install --reinstall nombre_paquete
Actualizar Distro: apt-get upgrade / apt-get dist-upgrade / apt-get full-upgrade
Actualizar paquete: apt-get upgrade nombre_paquete
Actualizar paquetes usando dselect: apt-get dselect-upgrade
Eliminar paquetes: apt-get remove / apt-get autoremove
Purgar paquetes: apt-get purge
Conocer paquete: apt-cache show nombre_paquete / apt-cache showpkg nombre_paquete
Listar paquetes: apt-cache search nombre_paquete
Listar dependencias de un paquete: apt-cache depends nombre_paquete
Listar paquetes instalados: apt-cache pkgnames --generate / apt-show-versions
Validar dependencias incumplidas de un paquete: apt-cache unmet nombre_paquete
Configurar dependencias de un paquete: apt-get build-dep nombre_paquete
Descargar paquetes: apt-get source nombre_paquete
Corregir problemas post-instalación de paquetes: apt-get install -f
Forzar ejecución de orden de comando: apt-get comando  -y
Eliminar descargas de paquetes: apt-get clean
Eliminar paquetes obsoletos y sin usos: apt-get autoclean
Otros importantes: apt-file update / apt-file search nombre_paquete / apt-file list nombre_paquete

Nota: Para mayor información sobre este comando ejecute la orden de comando: man apt-get  
 

Aptitude:

Actualizar Listas: aptitude update
Instalar paquete: aptitude install nombre_paquete
Reinstalar paquete: aptitude reinstall nombre_paquete
Actualizar Distro: aptitude upgrade / aptitude safe-upgrade / aptitude full-upgrade
Actualizar paquete: aptitude upgrade nombre_paquete
Eliminar paquetes: aptitude remove
Purgar paquetes: aptitude purge
Listar paquetes: aptitude search nombre_paquete
Listar paquetes instalados / rotos: apt search [*] | grep "^i" / apt search [*] | grep "^B"
Configurar dependencias de un paquete: aptitude build-dep nombre_paquete
Descargar paquetes: aptitude download nombre_paquete
Corregir problemas post-instalación de paquetes: aptitude install -f
Forzar ejecución de orden de comando: aptitude comando  -y
Eliminar descargas de paquetes: aptitude clean
Eliminar paquetes obsoletos y sin usos: aptitude autoclean
Otros importantes: aptitude (un)hold, aptitude (un)markauto, why, why-not
Conocer paquete:
aptitude show nombre_paquete
aptitude show "?installed ?section(fonts)" | egrep '(Paquete|Estado|Versión)'
aptitude show "?not(?installed) ?section(fonts)" | egrep '(Paquete|Estado|Versión)'
aptitude show "?section(fonts)" | egrep '(Paquete|Estado|Versión)'

Nota: Para mayor información sobre este comando ejecute la orden de comando: man aptitude  

Apt:

Actualizar Listas: apt update
Instalar paquete: apt install nombre_paquete
Reinstalar paquete: apt install --reinstall nombre_paquete
Actualizar Distro: apt upgrade / apt full-upgrade
Actualizar paquete: apt upgrade nombre_paquete
Eliminar paquetes: apt remove / apt autoremove
Purgar paquetes: apt purge
Conocer paquete: apt show nombre_paquete
Listar paquetes: apt search nombre_paquete
Listar paquetes instalados / actualizables: apt list --installed / apt list --upgradeable
Corregir problemas post-instalación de paquetes: apt install -f
Forzar ejecución de orden de comando: apt comando  -y
Eliminar descargas de paquetes: apt clean
Eliminar paquetes obsoletos y sin usos: apt autoclean
Otros importantes: apt edit-sources

Nota: Para mayor información sobre este comando ejecute la orden de comando: man apt

DPKG:

Instalar paquete: dpkg -i nombre_paquete
Eliminar paquete: dpkg -r nombre_paquete / dpkg --force -r nombre_paquete / dpkg --purge -r nombre_paquete
Purgar paquete: dpkg -P nombre_paquete
Descomprimir paquete: dpkg --unpack nombre_paquete
Conocer paquete: dpkg -c nombre_paquete / dpkg --info nombre_paquete / dpkg -L nombre_paquete
Buscar archivos de paquetes instalados: dpkg -S nombre_archivo
Configurar paquetes: dpkg --configure nombre_paquete / dpkg --configure --pending / dpkg --configure -a
Listar paquetes: dpkg -l patrón_búsqueda / dpkg --get-selections nombre_paquete / dpkg --get-selections | grep -v deinstall > lista-paquetes-actuales.txt

Е, засега в този пост се надявам съдържанието да ви е полезно.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Кавра кавра каза той

    Една забележка ... gentoo .ebuilds не са пакети като такива, те са скриптове, които показват как ще бъде инсталиран пакетът, обикновено от изходния код с опаковката, избрана от разработчика.

  2.   гъсталак каза той

    Отлична информация. Ще го запазя заедно с други вноски, вече публикувани в Debian, защото те ще са ми много полезни. Благодаря на автора за изключителната му работа и принос.

  3.   Melvin каза той

    Отличен Хосе Албер, наистина се открояваш, поздравления и продължаваш да ни водиш

  4.   Melvin каза той

    Много добър Хосе Алберт продължава да ни води с поздравления

  5.   Melvin каза той

    Много добра статия

  6.   Venturi каза той

    Благодаря за вашия принос, въпреки че има някои грешки. Въпрос от любопитство, разработчик ли сте или сътрудник по някакъв начин? Благодарим ви, че разпространихте информацията за това как да си сътрудничите с Debian, за моя вкус беше необходимо да спомена възможността да помогна за сътрудничество във винаги необходимите преводи или ревизии на преводи на пакети, инсталатори, уеб страница и др ... Същото е запазено за бъдещи доставки.

    Поздрави и насърчение с публикацията.

  7.   Инж. Хосе Алберт каза той

    Не! Не съм официален разработчик или пряк сътрудник на DEBIAN, въпреки че съм създал около 2 отделни пакета и много скриптове за споменатото разпространение. И се надявам да включа това, което ми казахте в друга публикация. И благодаря за вашата подкрепа!

    DEBIAN е моят любим дистрибутор!

    1.    Мануел "Вентури" Порас Пералта каза той

      Както би трябвало да бъде! 🙂

  8.   Алехандро ТорМар каза той

    Отлична статия ... Поздравления, аз съм любител на свободния софтуер и уча компютърни науки и това е много полезно
    Поздрави от Богота

  9.   "Оскар" каза той

    Благодаря ви много за отделеното време и търпение ... и за споделянето !!!

    поздрав!
    Благодаря !!!!

  10.   Инж. Хосе Алберт каза той

    Благодаря ви много за всички ваши подкрепящи коментари, поздравления и мотивация!

  11.   Карлос Рейес каза той

    Благодаря ви, много пълно, поне за тези от нас, които все още знаят много за това.

  12.   Балуа каза той

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

  13.   Савиер каза той

    Какъв добър материал, приятел на Антонио, разбираем и полезен ...