[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
ru:slackbook:package_management [2013/12/01 12:09 (UTC)] – создано bormantru:slackbook:package_management [2013/12/01 16:01 (UTC)] (текущий) – [slackpkg] bormant
Строка 1: Строка 1:
 ====== Управление пакетами ====== ====== Управление пакетами ======
- 
-<note important>WIP \\ Work in progress. \\ В процессе перевода.</note> 
  
 Управление пакетами является неотъемлемой частью любого дистрибутива Linux.  Управление пакетами является неотъемлемой частью любого дистрибутива Linux. 
Строка 30: Строка 28:
 ===== Установка, удаление и обновление пакетов ===== ===== Установка, удаление и обновление пакетов =====
  
- +Хотя **//pkgtool//** лидирует по удобству, **//installpkg//**(8) способен  
-While **//pkgtool//** scores points for convenience, +справиться с нештатными задачамитакими как быстрая установка пакета,  
-**//installpkg//**(8) is much more capable of +установка целого набора пакетов или создание сценария установки.  
-handling odd taskssuch as quickly installing a single package,  +**//installpkg//** принимает список пакетов для установки и устанавливает  
-installing an entire disk set of packages, or scripting an install+их без дополнительных вопросовКак и все инструменты управления пакетами  
-**//installpkg//** takes a list of packages to +Slackware, он полагает, что вы знаете, что делаете, и не пытается быть умнее  
-install, and simply installs them without asking any questionsLike +васВ простейшем варианте **//installpkg//** просто принимает список пакетов  
-all Slackware package management toolsit assumes that you know what +для установки и делает в точности точто от него ожидалось.
-you're doing and doesn't pretend to be smarter than youIn its +
-simplest form, **//installpkg//** simply takes a +
-list of packages to installand does exactly what you would expect. +
  
 <code> <code>
Строка 58: Строка 52:
 # The Blackbox home page is http://blackboxwm.sourceforge.net # The Blackbox home page is http://blackboxwm.sourceforge.net
 # #
-Package blackbox-0.70.1-i486-2.txz installed.</code> +Package blackbox-0.70.1-i486-2.txz installed. 
- +</code>
- +
-You can of course install multiple packages at a time, and in fact use +
-shell wild cards.The following installs all of the //"N"// series +
-packages from a mounted CD-ROM:+
  
 +Конечно, можно устанавливать несколько пакетов разом при помощи символов 
 +подстановки оболочки. Следующая команда установит со смонтированного CD-ROM 
 +серию //«N»// целиком: 
  
 <code> <code>
-darkstar:~# installpkg /mnt/cdrom/slackware/n/*.txz</code> +darkstar:~# installpkg /mnt/cdrom/slackware/n/*.t?z 
- +</code>
- +
-At any given time, you can see what packages are installed on your +
-system by listing the contents of /var/log/packages, +
-which lists not only every application on your system but also the +
-version number. Should you want to know what individual files were +
-installed as a part of that package, **//cat//** +
-the contents of the package:+
  
 +В любое время можно посмотреть список установленных пакетов, получив список 
 +файлов каталога /var/log/packages, который содержит не только имена каждого 
 +приложения в системе, но и их версии. Чтобы узнать, какие файлы были 
 +установлены из этого пакета, посмотрите содержимое, например, при помощи 
 +**//cat//**:
  
 <code> <code>
- +darkstar:~#cat /var/log/packages/foo-1.0-x86_64-1
-darkstar:~#cat /var/log/packages/foo-1.0-x86_64.txz+
 </code> </code>
  
 +Команда покажет размеры упакованного и распакованного пакета, его описание, 
 +имя и расположение каждого файла в пакете.
  
-This will return everything from the size of the package+Удаление пакета даже проще установки. Команда удалениякак и ожидалось,  
-description of what it does, and the name and location of every file +**//removepkg//**(8). Просто укажите ейкакие пакеты удалить, и  
-installed as a part of the package. +**//removepkg//** проверит содержимое базы данных и удалит все файлы и  
- +каталоги этого пакета с одной оговоркойЕсли этот файл входит в несколько  
- +установленных пакетовон будет пропущен, и, если в каталоге есть новые  
-Removing a package is every bit as easy as installing one. As you +файлыкаталог будет оставлен на местеПоэтому удаление пакетов дольше,  
-might expectthe command to do this is +чем их установка.
-**//removepkg//**(8). Simply tell it which +
-packages to removeand **//removepkg//** will +
-check the contents of the package database and remove all the files +
-and directories for that package with one caveatIf that file is +
-included in multiple installed packagesit will be skipped and if a +
-directory has new files in itthe directory will be left in +
-placeBecause of thisremoving packages takes a good while longer +
-than installing them. +
  
 <code> <code>
Строка 105: Строка 88:
 </code> </code>
  
- +Наконецобновление пакета (как вы уженаверное, догадались) выполняет  
-Finallyupgrading is just as easy with (you guessed it)+**//upgradepkg//**(8), который сперва устанавливает новый пакет, затем  
-**//upgradepkg//**(8) which first installs a new +удаляет файлы  и каталоги, оставшиеся от прежнего пакетаНужно запомнить  
-packagethen removes whatever files and directories are left-over from +одну важную вещь -- **//upgradepkg//** не проверяет, что номер версии  
-the old packageOne important thing to remember is that +установленного пакета выше, чем у //«нового»//, поэтому подходит и для  
-**//upgradepkg//** doesn't check to see if the +установки предыдущих версий.
-previously installed package has a higher version number than the //"new"// +
-package, so it can also be used to downgrade to older versions. +
  
 <code> <code>
Строка 134: Строка 114:
 ... ...
 Package blackbox-0.65.0-x86_64-4 upgraded with new package Package blackbox-0.65.0-x86_64-4 upgraded with new package
-./blackbox-0.70.1-i486-2.txz.</code>+./blackbox-0.70.1-i486-2.txz. 
 +</code> 
 + 
 +Всех эти инструменты принимают полезные параметры. Например, //<nowiki>--</nowiki>root//  
 +позволяет **//installpkg//** устанавливать пакеты в произвольный каталог.  
 +Параметр //<nowiki>--</nowiki>dry-run// указывает **//upgradepkg//** вывести, что им будет  
 +предпринято, без фактического внесения изменений в систему. За подробной  
 +информацией (как всегда) обратитесь к страницам руководств man.
  
  
-All of these tools have useful arguments. For example, the +===== Форматы сжатия пакетов =====
-//--root// to **//installpkg//** will install +
-packages into an arbitrary directory. The //--dry-run// argument +
-will instruct **//upgradepkg//** to simply tell you +
-what it would attempt without actually making any changes to the +
-system. For complete details, you should (as always) refer to the man +
-pages. +
-===== Package Compression Formats =====+
  
-In the past, all Slackware packages were compressed with the +В прошлом все пакеты Slackware были сжаты утилитой сжатия **//gzip//**(1),  
-**//gzip//**(1) compression utilitywhich was a +что было хорошим компромиссом между скоростью сжатия и размеромПозже были  
-good compromise between compression speed and size.Recentlynew +разработаны новые схемы сжатиякоторые получили поддержку и в инструментах  
-compression schemes have been added and the package management tools +управления пакетамиСейчас официальные пакеты Slackware сжаты утилитой  
-have been upgraded to handle theseToday, official Slackware +**//xz//** и имеют расширение .txz. Прежние (и многие сторонние пакетывсё  
-packages are compressed with the **//xz//** +ещё используют расширение .tgz. 
-utility and end with .txz extensions.Older packages (and many +
-third party packagesstill use the .tgz extension.+
  
 +Стоит подчеркнуть, что расширения .tgz и .txz (если короче, файлы .t?z) 
 +общеупотребительные неуникальные расширения для для сжатых файлов .tar. 
 +В этом много преимуществ, их легко собрать на почти любой системе UNIX 
 +(многие другие форматы пакетов требуют специальных инструментов) и также 
 +просто разобрать. 
  
-It's worth emphasizing that .tgz and .txz (ormore succinctly, .t?z +Тем не менееважно пониматьчто хотя все пакеты Slackware **являются**  
-files) are very standardnon-unique extensions for compressed .tar +файлами .t?z, но обратное неверно, не все .t?z файлы являются пакетами  
-filesThis has many advantages; they're easy to build on nearly any +Slackware**//installpkg//** не умеет волшебным образом устанавливать  
-UNIX system (many other package formats require special toolchains), +произвольные файлы .t?zтолько пакеты Slackware.
-and they're just as simple to de-construct.+
  
  
-However, it is also important to realize that just because all Slackware 
-packages **are** .t?z files, not all .t?z files are 
-Slackware packages. **//Installpkg//** won't 
-magically install just any .t?z file, only Slackware packages. 
 ==== slackpkg ==== ==== slackpkg ====
  
-**//Slackpkg//** is an automated tool for +**//slackpkg//** -- это автоматизированный инструмент для управления пакетами  
-management of Slackware Linux PackagesIt originally appeared in +Slackware. Он впервые был включён в /extra в Slackware-12.1, а начиная с  
-/extra for the release of slackware-12.1, and since the release +выпуска Slackware-12.2 поставляется в наборе /ap базовой установки
-of slackware-12.2 it has been included in the apseries of a +
-base installation.+
  
 +**//slackpkg//** можно использовать для загрузки пакета из Интернет и 
 +установки также, как используете **//installpkg//** для установки пакетов 
 +Slackware из каталога /extra установочного диска. Это особенно полезно для 
 +обновлений безопасности или важных обновлений приложений, опубликованных на 
 +серверах Slackware, некоторые из которых вы можете захотеть использовать на 
 +своей системе.
  
-Just as you are able to use **//installpkg//** to +Без **//slackpkg//** процесс мог быть таким: 
-install Slackware packages from the /extra directory included on +  - Обнаружить в журнале изменений Slackware выпуск обновления. 
-the install media, you can use **//slackpkg//** +  - Посмотреть на используемом зеркале Slackware ссылку для загрузки пакета. 
-to pull packages from the Internet and install them. This is +  - Загрузить пакет с зеркала Slackware на жёсткий диск. 
-particularly useful for security updates or significant application +  - Применить **//installpkg//** или **//pkgtool//** для установки загруженного пакета.
-upgrades that are posted to the Slackware servers, some of which you +
-may want to start using on your own system.+
  
 +При помощи **//slackpkg//** он сокращается до:
 +  - Обнаружить в журнале изменений Slackware выпуск обновления для **//foo//**.
 +  - **slackpkg** //install// foo
  
-Without **//slackpkg//**the process would be: +Очевидночто это упрощает довольно распространённую задачу.
-  - Notice in the Slackware changelog that an update has been released. +
-  - Look on your local Slackware mirror to find a download link of the package. +
-  - Download the package from a Slackware mirror to your hard drive. +
-  - Use either **//installpkg//** or **//pkgtool//** to install the downloaded package. +
- +
-With **//slackpkg//**, this is reduced to: +
- +
-  - Notice in the Slackware changelog that an update for **//foo//** has been released. +
-  - **slackpkg** //install// foo+
  
-Clearlythis streamlines a fairly common task.+Для использования **//slackpkg//** настройте систему на использование зеркала  
 +Slackwareотредактировав от root ''/etc/slackpkg/mirrors''. Найдите зеркало,  
 +соответствующее версии и архитектуре Slackware, и раскомментируйте его. Этот  
 +список зеркал предлагает доступ по HTTP и FTP, но раскомментированным должно  
 +быть **только одно** зеркало.
  
 +После выбора зеркала обновите список файлов сервера командой 
 +''slackpkg update''. Это нужно проделывать при выпуске новых пакетов 
 +(рекомендуется регулярная проверка журнала изменений Slackware, дополнительную 
 +информацию см. в [[ru:slackbook:tracking_updates|главе 18 «Отслеживание 
 +обновлений»]]).
  
-To use **//slackpkg//**configure your system +Для поиска пакета используйте ''slackpkg search foo''для установки --  
-with a Slackware mirror by editing +''slackpkg install foo''.
-''/etc/slackpkg/mirrors'' as root. Find +
-the mirror that is associated with your Slackware version and +
-architecture, and uncomment it. This list of mirrors offers ftp and +
-http access, but you must uncomment **only one** +
-mirror.+
  
-Once a mirror has been selectedupdate the list of remote files by +После установки пакета при помощи **//slackpkg//**его можно удалить или  
-issuing the initial command ''slackpkg update''. This +обновить при помощи **//pkgtool//** или других команд управления пакетами  
-should be done any time you notice that a new package has been +как описано в разделе «[[#установка_удаление_и_обновление_пакетов|Установка 
-posted (regularly checking in with the Slackware changelog is +удаление и обновление пакетов]]».
-recommended; see [[slackbook:tracking_updates|Chapter 18Keeping Track of Updates]] for more information).+
  
-To search for a package, use ''slackpkg search foo''+Дополнительную информацию смотрите на страницах руководств **//man//**  
-and to install use ''slackpkg install foo''.+slackpkg(8) и slackpkg.conf(5)а также на вебсайте [[ 
 +http://www.slackpkg.org/|http://www.slackpkg.org/]].
  
-Once a package has been installed with 
-**//slackpkg//**, it can be removed or upgraded 
-using **//pkgtool//** and the other package 
-management commands as detailed in[[#installing_removing_and_upgrading_packages|Installing, Removing, and Upgrading Packages]]. 
  
-For more information see the **//man//** pages 
-for slackpkg(8) and slackpkg.conf(5), and see its website at [[ 
-http://www.slackpkg.org/|http://www.slackpkg.org/]] 
 ==== rpm2tgz ==== ==== rpm2tgz ====
  
-One of the most ubiquitous package formats for Linux software is +Одним из самых распространённых форматов пакетов программ для Linux является  
-RPM; it's not uncommon to find a developer offering their +RPM; нередко разработчики предлагают свои приложения для загрузки только как  
-application for download as either source code or an RPM file, and +исходный код или файл RPM. В этом случае у вас есть три варианта
-no moreIn this case, you would have three options:+
  
-  - Build your own Slackware package+  - Собрать собственный пакет Slackware. 
-  - Compile and install directly from source code+  - Скомпилировать и установить прямо из исходного кода
-  - Convert and install from RPM.+  - Сконвертировать установку из RPM.
  
-Building from source code or creating your own Slackware package is +Сборка из исходного кода или создание собственного пакета Slackware обычно  
-usually not as complex as you might think but installing directly from +не столь сложно, как можно подумать, а установка прямо из исходного кода не  
-source code is generally discouraged because there is no easy way to +рекомендуется из-за отсутствия простого способа отслеживания того, что было  
-track what has been installed on your system after issuing the +установлено в систему после выполнения команды ''make install''Создание  
-''make install'' commandBuilding your own Slackware +пакетов Slackware выходит за рамки настоящей главыОстаётся использование  
-packages is outside the scope of this chapterSo this leaves us with +полезной утилиты **//rpm2tgz//**.
-the helpful tool **//rpm2tgz//**+
- +
-**//rpm2tgz//** converts RPM packages into a +
-Slackware package that can then be installed via +
-**//pkgtool//** or +
-**//installpkg//**. This circumvents the need to +
-create your own Slackware package but grants you the benefit of +
-being able to remove, update, and track what you've installed.+
  
 +**//rpm2tgz//** преобразует пакет RPM в пакет Slackware, который затем может 
 +быть установлен при помощи **//pkgtool//** или **//installpkg//**. Это, с 
 +одной стороны, избавляет от сборки собственного пакета Slackware, а с другой 
 +-- предоставляет возможность удалять, обновлять и отслеживать установленное.
  
 <note warning> <note warning>
  
-While a Slackware package is just a shell script and source code+Пакет Slackware является архивом бинарных файлов с установочным сценарием,  
-an RPM package can by comparison be a maze of dependency listings +пакет RPM помимо этого содержит списки зависимостей и специальные сценарии.  
-and special instructionsTherefore, +Поэтому **//rpm2tgz//** срабатывает не всегдаособенно на очень сложных  
-**//rpm2tgz//** will not always work+приложенияха также никогда не обрабатывает зависимости волшебным образом
-especially on very complex applicationsand it will never +
-magically resolve dependencies.+
  
 </note> </note>
  
-To try **//rpm2tgz//**, download an RPM file from +Чтобы попробовать **//rpm2tgz//**, загрузите из доверенного источника файл  
-a trusted source and convert it: +RPM и сконвертируйте его:
  
 <code> <code>
- 
 rpm2tgz foo-x.x.xx.rpm rpm2tgz foo-x.x.xx.rpm
 </code> </code>
  
 +Результатом будет файл .tgz, поэтому оригинальный RPM после преобразования 
 +может быть удалён. Для установки только что полученного пакета Slackware 
 +используйте **//installpkg//**, равно как для установки всех других 
 +пакетов, необходимых приложению для работы.
 +
 +
 +====== Навигация по главам ======
  
-The result is a .tgz file, so after the conversion is finished, the +**Предыдущая глава: [[ru:slackbook:basic_networking_utilities|Основные сетевые утилиты]]**
-original RPM can safely be discarded. Use +
-**//installpkg//** to install the Slackware +
-package you've just created, provided that you've +
-installed all dependency code for the application to actually function. +
-====== Chapter Navigation ======+
  
-**Previous Chapter: [[slackbook:basic_networking_utilities|Basic Networking Utilities]]**+**Следующая глава: [[ru:slackbook:tracking_updates|Отслеживание обновлений]]**
  
-**Next Chapter: [[slackbook:tracking_updates|Keeping Track of Updates]]**+====== Источники ====== 
 +  Источник: [[http://www.slackbook.org/beta]] \\ 
 +  Авторы: Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson 
 +  Перевод: [[wiki:user:bormant | Serg Bormant]]
  
-====== Sources ====== +{{tag>slackbook package_management pkgtool slackpkg rpm2tgz}}
-<!-- If you copy information from another source, then specify that source --> +
-  * Original source: [[http://www.slackbook.org/beta]] \\ +
-<!-- Authors are allowed to give credit to themselves! --> +
-  * Originally written by Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson +
-<!-- * Contrbutions by [[wiki:user:yyy | User Y]] -->+
  
-<!-- Please do not modify anything below, except adding new tags.--> 
-<!-- You must also remove the tag-word "template" below. Otherwise your page will not show up in the Table of Contents --> 
-{{tag>slackbook package_management pkgtool slackpkg rpm2tgz translator_bormant}} 
 ru:slackbook:package_management ()