Распаковка [tar

Введение

CentOS от англ. Community ENTerprise Operating System
— дистрибутив Linux, основанный на коммерческом
Red Hat Enterprise Linux компании Red Hat и совместимый с ним.

Согласно жизненному циклу Red Hat Enterprise Linux (RHEL)
, CentOS 5, 6 и 7 будут поддерживаться «до 10 лет»,
поскольку они основаны на RHEL.

Ранее версия CentOS 4 поддерживалась семь лет.

Red Hat Enterprise Linux состоит из свободного ПО с
открытым кодом, но доступен в виде дисков с бинарными пакетами только для
платных подписчиков.

Как требуется в лицензии GPL и других, Red Hat предоставляет все исходные коды.

Разработчики CentOS используют данный исходный код для создания окончательного продукта,
очень близкого к Red Hat Enterprise Linux и доступного для загрузки.

Пакеты .Deb и .rpm:

Linux разделен на два великих мира и очень хорошо представлен пакетами DEB и RPM. Первый используется Debian и производными, такими как Ubuntu, а второй используется SuSE, Fedora и другими.

Пакет:

Если вы находитесь в Novell SuSE или в openSuSE, вы можете использовать YaST для установки пакетов этого типа. Для этого вам просто нужно зайти в меню SuSE, щелкнуть «Система», «YaST» и затем перейти к опции «Установить / удалить программное обеспечение». Таким образом, мы можем устанавливать программы в Linux с DVD вашего дистрибутива или из сети.

Если у нас уже есть загруженный пакет, мы можем щелкнуть его правой кнопкой мыши, и он даст нам возможность установить. Очень просто…

Теме статьи:
Разархивируйте RAR в Linux

Если мы хотим сделать это из консоли вместо YaST использует Zypper:

zypper install nombre_programa

В Red Hat примерно то же самое … С другой стороны, если у вас Fedora или CentOS, вы можете использовать YUM. Давайте сначала с YUM, что из каталога, в котором находится пакет, в терминале вы должны написать:

yum install nombre_paquete

И если есть общий инструмент для установки RPM Это сам rpm, присутствующий во многих дистрибутивах, основанных на этом типе пакетов:

rpm –i nombre_paquete.rpm

В Mandriva вы можете использовать Центр управления Mandriva для установки программ или RPMDrake. Вы также можете использовать в текстовом режиме

урпм:

urpm –i nombre_paquete.rpm

ДЭБ:

В Ubuntu вы можете использовать простой программный центр Ubuntu для установки пакетов из официальных репозиториев. Из Debian его также можно установить с помощью гдеби-гтк, графически и легко или с помощью Synaptic, они также работают с другими дистрибутивами, вам просто нужно их установить.

Еще один интересный инструмент — Dselect, также в графическом режиме для облегчения работы с пакетами. Но для тех, кто больше тянет за консоль, можно использовать dpkg или apt (не забудьте добавить префикс sudo или работать с привилегиями root):

Dpkg –i nombre_paquete.deb

o

Apt-get install nombre_paquete

уместность — еще один довольно полный инструмент, который вы можете использовать, набрав следующее:

aptitude install nombre_paquete

Изменить locale

Чтобы в CentOS изменить locale можно либо откредактирвоать файл

locale.conf

в /etc/
либо применить команду localect (начиная с CentOS 7)

Предположим, что нужно поменять локаль на en_us.iso88591

Откройте

locale.conf

и найдите строку LANG

sudo vi /etc/locale.conf

Замените UTF-8 на iso88591

Альтернативный способ с использованием

sed

— выполните команду

sudo sed -i s/LANG=\»en_US\.UTF-8\»/LANG=\»en_US\.iso88591\»/ /etc/locale.conf

Чтобы проверить изменения выполните

localectl status

System Locale: LANG=en_US.iso88591
VC Keymap: us
X11 Layout: us

Чтобы изменить системную переменную, например, LC_CTYPE выполните

sudo vi ~/.bashrc

И внесите в конец файла следующий код

locale -c -k LC_CTYPE

LC_CTYPE
ctype-class-names=»upper»;»lower»;»alpha»;»digit»;»xdigit»;»space»;»print»;»graph»;»blank»;»cntrl»;»punct»;»alnum»;»combining»;»combining_level3″
ctype-map-names=»toupper»;»tolower»;»totitle»
ctype-width=16
ctype-mb-cur-max=1
charmap=»ISO-8859-1″

How to install .tar.gz or .tgz file in Linux

If you need to install a .tgz package, don’t worry, we have the solution, and you’re going to know it through an example:

I need to use WaoN because I play the guitar and want to transcribe the audio to a midi file, but WaoN isn’t available for my distro. So, I have downloaded the source code to my computer, and I have extracted the tarball’s content.

​To extract the files of a tarball, you can use the command: tar xvf tarball.tar.gz. Also, you should find more information about Tar here.

Now, enter into the extracted directory:

​Commonly, the tar.gz package contains a file with the instructions to compile and execute the program. My package contains a file called ‘INSTALL’ with the instructions:

​In other cases, you’ll find a ‘configure’ script. This script is a tool to check if your system has all the dependencies required for the building. If you find a ‘configure’ script, you must execute it: ./configure (also, you should check the file permissions).

If the output of the ‘configure’ script doesn’t report any problem, you can continue with the next step.

​To build a package, you must use the program make: make -arguments. More about make here.

Finally, I get an executable file:

​Now I must execute my program. In most cases, you’ll install the program on your computer, so you must use the command ‘make install’. Other tarball packages contain a binary file, for example:

Sublime Text is available for Ubuntu, but it doesn’t provide a version for my distro, so I have to use the tarball version (the file type isn’t tgz, it’s a tar.bz2 file).

​It takes the same process, extracts the file.

I found the executable file of sublime text, but I checked the file permissions to execute the file. If your file doesn’t have permissions, you can modify the permissions using chmod

​Finally, execute the program. There are many possibilities when you install a tarball package. So you must analyze your situation and install your package; it’s easy, pay attention to your package. Also, when you use .configure command, if you have any dependencies issue, you’ll be asked to install the dependencies. That’s all there is to install .tar.gz or .tgz files in Linux. If you have any problem installing the packages through this method, let me know in the comment section below. I’ll help you out.

Создание и распаковка архивов

Рассмотрим общий синтаксис для создания и распаковки архивов.

Создать

Создание выполняется с ключом c. Синтаксис следующий:

tar -c<опции> <новый архивный файл> <что сжимаем>

Пример создания:

tar -czvf archive.tar.gz /home/dmosk

* в данном примере будет создан архив archive.tar.gz домашней директории пользователя (/home/dmosk)
** где z — сжать архив в gzip (без этого параметра, tar не сжимает, а создает так называемый тарбол); c — ключ на создание архива; v — verbose режим, то есть с выводом на экран процесса (очень удобно для наблюдением за ходом работы, но в скриптах можно упустить); f — использовать файл (обязательно указываем, так как в большей степени работаем именно с файлами).

Распаковать

Распаковка выполняется с ключом x с синтаксисом:

tar -x<опции> <архивный файл> 

Пример распаковки:

tar -xvf archive.tar.gz 

Основные команды управления программами

Команды управления программным обеспечением приведены в статье .

Теперь опишу краткий список команд по работе с пакетными менеджерами:

dpkg rpm
Установка пакета
dpkg -i Имя_deb_Пакета
илиapt-get install Имя_deb_Пакета
-s — симуляция установки
rpm -ivh путь.к.пакету-v — отображение сообщений при установке-e — переустановка (удаление перед установкой)—force — принудительная установка (без разрешения зависимостей)—nodeps — Не выполнять проверку зависимостей перед установкой или обновлением пакета.
Обновление RPM пакетов
rpm -Uvh имя_пакета
Удаление пакета
dpkg -r имя_пакета
илиapt-get remove имя_пакета
rpm -e имя_пакета
Информация о пакете
dpkg -s имя_пакета rpm -q имя_пакета — краткая информация о пакете имя_пакета-qi — полное инфо о пакете имя_пакета
Список файлов в пакете
dpkg -L имя_пакета rpm -ql имя_пакета
Какой пакет содержит файл
dpkg -S /путь/к/файлу
Список установленных пакетов
dpkg -l rpm -qa
Поиск пакетов
apt-cache search имя
Требования к устанавливаемому пакету
rpm -qR имя_пакета
Целостность пакетов
rpm —checksig имя_пакетаrpm -V имя_пакета — целостность установленного пакета

На сегодня все, более полный . До новых встреч!

upd 2011.02.03: переработка статьи, дополнение 3 и 4 разделаupd 2012.06.08: дополнение 1 раздела (информация об удалении ПО)

How to Install Tar.gz

How to Extract Tar.gz Files

You can decompress a tarball in one of two ways. Most Ubuntu-based distros come with the Archive Manager application. Use either one of these approaches as you see fit.

Extract Tar.gz Files Using Archive Manager (Ubuntu/kali Linux/ Mint/ Debian)

  1. Use your File Manager to get to the location of the file.
  2. Right Click on the file and click on Extract Here. You should see the Archive Manager extraction progress.
  3. After completion, you will notice a new folder created along with the tar.gz files.
  4. Open this folder in the terminal.

Extract Tar.gz Using the Command Line (All Linux Flavours + Macos Any Version)

  1. Open the terminal.
  2. cd /home/foo/Downloads

    Takes you inside the downloaded location.

  3. ls *tar.gz*

    Finds any tar.gz files and displays the full filename.

  4. tar -xzf keepassx-2.0.3.tar.gz
    • Extracts from the tarball keepassx-2.0.3.tar.gz and creates a new folder with the same name.
    • Extracts (x) using the Gzip algorithm (z) of the file (f) named keepassx-2.0.3.tar.gz.
  5. cd keepassx-2.0.3

    Takes you inside the now extracted folder.

  6. ls

    To confirm if the extraction completed successfully and to Check if you have a configure.ac file or Cmakelists.txt file in this folder.

How to Extract Tarfile in Windows

If you are using Windows 10 or newer, you can use tar utility from Powershell. If using an older version, you need to install extraction software to get files from tar.gz. This article lists some of the popular software used in Windows PC. 

  1. Type Powershell in Start Menu to open Windows Powershell.
  2. tar -xzf keepassx-2.0.3.tar.gz

    Extracts (x) while being verbose (v) using the gzip algorithm (z) of the file (f) named keepassx-2.0.3.tar.gz.

How to Install Tar.gz File

For our purposes, we will examine the steps by installing a free application. The name of this application is KeePassX. Check their website for more information. 

After following the above steps, we have the files we need under /home/foo/Downloads/keepassx-2.0.3.

The concept of this process is easy to follow. 

First, we build our configuration, and then we compile it for our Operating System. This process applies to any distro or any flavor of Linux with all tarball applications. Of course, every application has different config files. But they all follow the above general pattern for the installation process.

  1. cd /home/foo/Downloads/keepassx-2.0.3

    Takes you inside the extracted folder

  2. ls

    To look for an INSTALL/README file that contains detailed instructions.

     

  3. cat INSTALL

    To read the contents of the file INSTALL. You can do the same for README too.

  4. ls configure.ac

    To check if you have a configure.ac file or cmake files/folders here.

  5. If found, just do ./configure and move to Step 10.
  6. If not found, you need to create a build folder to generate config files.
  7. mkdir build

    To make a separate build folder

  8. cd build

    Go into the build folder

  9. cmake ..

    Configure using CMakeLists.txt file from directory one-level up into the current build folder.

  10. make

    Starts building using the freshly generated config files.

  11. sudo make install

    Install into the system using the freshly built files from step 10.

Installing Java JDK 11 from TAR on CentOS 7:

Connect to java-server.example.com using ssh as root user.

Extract downloaded tarball using tar command.

# mkdir /usr/java
# tar xf jdk-11.0.1_linux-x64_bin.tar.gz -C /usr/java/
# ls /usr/java/
jdk-11.0.1

Set JAVA_HOME environment variable.

# echo "export JAVA_HOME=/usr/java/jdk-11.0.1" >> /etc/profile
# export JAVA_HOME=/usr/java/jdk-11.0.1

Create the symbolic link for java using alternatives command.

# alternatives --install /usr/bin/java java /usr/java/jdk-11.0.1/bin/java 2
# alternatives --config java

There is 1 program that provides 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/java/jdk-11.0.1/bin/java

Enter to keep the current selection, or type selection number:

We have only one JDK/JRE installed on this server, therefore, press <ENTER> to keep the current selection.

Create the symbolic link for javac using alternatives command.

# alternatives --install /usr/bin/javac javac /usr/java/jdk-11.0.1/bin/javac 2
# alternatives --config javac

There is 1 program that provides 'javac'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/java/jdk-11.0.1/bin/javac

Enter to keep the current selection, or type selection number:

Press <ENTER>.

Create the symbolic link for jar using alternatives command.

# alternatives --install /usr/bin/jar jar /usr/java/jdk-11.0.1/bin/jar 2
# alternatives --config jar

There is 1 program that provides 'jar'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/java/jdk-11.0.1/bin/jar

Enter to keep the current selection, or type selection number:

Press <ENTER>

Verify installation of Java JDK 11 by executing java command.

# java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)

Java JDK 11 has been installed from TAR on CentOS 7 server.

Форматы

Утилита tar позволяет работать с архивами различных форматов. Рассмотрим их кратко.

gz

Сжатие:

tar -cf archive.tar.gz /files

Распаковка .gz файла:

tar -xf archive.tar.gz 

* при возникновении ошибки This does not look like a tar archive, можно воспользоваться командой gzip -d archive.tar.gz.

bz2

tar -xvjf archive.tar.bz2

* ключ j отвечает за работу с bz2.

Если система ругается на bzip2, значит нужно его установить:

yum install bzip2

apt-get install bzip2

pkg install bzip2

* соответственно, для CentOS (RPM based), Ubuntu (deb based), FreeBSD (BSD based).

Если видим ошибку tar: Unrecognized archive format, воспользуемся следующей командой:

bzip2 -d archive.tar.bz2

tar -xvzf archive.tar.gzip

* ключ z отвечает за работу с gzip.

tgz

TGZ — tar-архив, сжатый с помощью утилиты gzip. По сути, это тот же tar.gz, и работа с ним ведется такими же командами. Рассмотрим примеры работы с данным форматом.

Для создания архива tgz выполняем:

tar -czf archive.tgz /files

Распаковывается, как gzip:

tar -xzf archive.tgz

xz

Это формат сжатия данных с помощью алгоритма LZMA. Для работы с ним устанавливаем:

apt install xz-utils

* на Debian / Ubuntu. 

yum install xz

* на Rocky Linux / CentOS.

Теперь можно пользоваться.

Создать архив:

tar -cpJf archive.tar.xz /home/user

Распаковка:

tar -xpJf archive.tar.xz

Как установить скрипты:

.ш:

В Linux мы также можем найти скрипты с расширениями .sh или .py. Чтобы установить этот тип сценариев, мы перейдем в каталог, где находится сценарий, с помощью команды «cd», как мы видели ранее. Глаз! Если сценарий упакован, сначала распакуйте или разархивируйте его. Затем вы можете дать ему права на выполнение, как вы уже знаете (вы можете сделать это в графическом режиме или из терминала с помощью команды «chmod + x имя_сценария»без кавычек). Как только у них появятся разрешения на выполнение, с терминала:

sh nombre_script.sh

o

./nombre_script.sh

.py:

Для файлов с расширение .py необходимо вызвать интерпретатор языка программирования Python. Для этого введите в консоли следующее:

python nombre_script.py install

Where to Get SRPM Packages

The chance of success in rebuilding a SRPM package largely depends on how close the distribution is to CentOS. For example, it is almost certain that you will have success in rebuilding Red Hat or CentOS packages for the same major version. You may want to look for SRPMs from other distros based on Red Hat, such as Scientific Linux, since they will tend to be compatible with the CentOS base packages. As Red Hat (and consequently CentOS) is partially based on a stabilized subset of Fedora, it is often possible to rebuild SRPMs from Fedora in CentOS. The chance of rebuilding SRPMs for a higher version of Red Hat or CentOS is fairly good, the chance of rebuilding SRPMs from Fedora Core 6 or Fedora 7 on CentOS-5 is quite good, but the chances of rebuilding those from later Fedora versions is lower, as they have diverged considerably from the EL5 branch point during FC6 test versions. Some SRPMs up to Fedora 11 may rebuild on CentOS-5 without problems but those from Fedora 11 and later currently require use of the «—nomd5» flag with the rpm command to install. For CentOS-6 the corresponding Fedora versions are 12/13, the approximate versions from which EL6 was forked, and many Fedora 14 and above SRPMs will build successfully. The chance of rebuilding SRPMs made for other divergent RPM-based distributions, such as Mandriva or SuSE, without substantial changes is medium to low. Finally, some distribution-independent open source software is available in the form of SRPMs. You may be able use these instructions to rebuild those SRPMs on your system.

When rebuilding SRPMs, you will probably have more chance of success for packages that are add-ons to the system, rather than for core packages. If dependencies for an SRPM you are trying to rebuild require updating core packages it is probably time to look for an older SRPM as a starting point. You should probably not try to use this procedure to upgrade glibc, gcc, python, perl, or other core system components to a later version. If you do that, you risk damaging your system in a way that may be hard to recover from.

If you are trying to fix a bug that is fixed on the upstream but still not fixed in CentOS (usually this window is small) you may want to look for SRPMs that are made available by the upstream vendor:

http://ftp.redhat.com/pub/redhat/linux/enterprise/

Otherwise, you may look for SRPMs for CentOS for a more recent version than the one you are running. For instance, it is often possible to rebuild SRPMs for CentOS 5 in a CentOS 4 machine. CentOS SRPMs are available at:

http://vault.centos.org/

Once you locate the SRPM file, you can download it to your machine using wget or the browser itself. You may save the file to any directory. Although you may save it to the SRPMS directory in your RPM building tree, you should probably avoid that since the file may end up being overwritten when you build the RPM again.

Note: Although you may have success with rebuilding and using SRPMs from other distros, it is not guaranteed that you will. You should be aware that you may even damage your system in a way that is hard to recover by installing rebuilt RPMs from other distros. To be safe try to stick to packages included in CentOS, or in the recommended additional Repositories as much as possible. Remember, if you break it, you get to keep all the pieces.

Управление программным обеспечением поставляемым в бинарном виде (читай: в готовых пакетах)

В Linux существует несколько разновидностей систем управления пакетов. Основные из них именуются как RPM, dpkg и Portage. Существуют и другие разновидности пакетных менеджеров, но по моему мнению, они не имеют большого распространения. Как уже выше говорилось, назначение пакетного менеджера (системы управления пакетами), это: управлять процессом установки, удаления, настройки и обновления различных компонентов программного обеспечения.

Итак, расскажу подробней о каждой разновидности. RPM разработана компанией Red Hat, применяется в большей части в дистрибутивах, образованных от Red Hat Linux и используется для управления пакетами *.rpm. Система управления пакетов dpkg (Debian Package) разработана основателем дистрибутива Debian — Яном Мердоком, применяется в дистрибутиве Debian и других, производных от Debian, dpkg управляет пакетами в формате *.deb. Система Portage используется в дистрибутивах Gentoo. Программное обеспечение в Gentoo поставляется в виде нескольких файлов…

Пакетные менеджеры не умеют автоматически разрешать зависимости в устанавливаемых пакетах. Системы пакетных менеджеров лишь отслеживают зависимости. Слово «разрешать» думаю, хорошо будет понятно на примере. Например, при установке какого-либо пакета rpm, зависящего от другого пакета, пакетный менеджер лишь сообщит, что для текущего пакета необходим еще другой, но не предложит автоматически его установить. Для автоматического разрешения зависимостей существуют, так скажем, «надстройки» для пакетных менеджеров, которые автоматизируют отслеживание версий ПО, отслеживание и разрешение зависимостей между пакетами (то есть на примере выше, данная надстройка предложит автоматически установить недостающие пакеты).

Для rpm существуют следующие утилиты:

  • apt-rpm, порт APT, изначально выполненный Conectiva, затем существенно доработанный ALT Linux Team и продолжающий развиваться
  • apt4rpm, порт APT Debian. Рекомендуется для использовании с некоторыми репозиториями Fedora Core. Почти не разрабатывается, но расходует меньше ресурсов процессора, чем те средства, которые перечислены выше. Более поздний проект, нежели apt-rpm.
  • smart, доступен для многих дистрибутивов
  • urpmi, используется в Mandriva Linux
  • YaST, используется в SuSE
  • yum, разработан в Yellow Dog Linux, также используется в Fedora Core и ASP Linux

Для dpkg, преимущественно:

  • apt
  • aptitude
  • dselect

What is .tar.gz or .tgz?

​Tar isn’t an installation package but a computer software utility for collecting many files into one archive file. It is often referred to as a tarball for distribution or backup purposes. So .tar.gz is just a file format.Tar is often used together with a compression method, such as gzip, to create a compressed archive and file.tar.gz (or file.tgz).

Tarballs are often used to distribute the source code of an application or maybe a binary file to execute a program. You should consider finding an alternative before installing a tar.gz package because sometimes the process is longer and tougher.

Поиск

Просто найти

find /usr/share/doc -name ‘*.pdf’

Найти и сразу скопировать в текущую директорию

find /usr/share/doc -name ‘*.pdf’ -exec cp {} . \;

Найти в текущей директории

find -name ‘*.pdf’

Удалить из текущей директории

find -name ‘*.pdf’ -delete

Найти все ссылки

find /etc -type l

Найти все ссылки только на верхнем уровне вложенности

find /etc -maxdepth 1 -type l

df -h /boot

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 1014M 194M 821M 20% /boot

Найти обычные файлы определённого размера

find /boot -size +20000k -type f

find: ‘/boot/efi/EFI/centos’: Permission denied
find: ‘/boot/grub2’: Permission denied
/boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img
/boot/initramfs-3.10.0-1160.el7.x86_64.img
/boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img

find /boot -size +10000k -type f

find: ‘/boot/efi/EFI/centos’: Permission denied
find: ‘/boot/grub2’: Permission denied
/boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img
/boot/initramfs-3.10.0-1160.el7.x86_64.img
/boot/initramfs-3.10.0-1160.el7.x86_64kdump.img
/boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img
/boot/initramfs-3.10.0-1160.2.2.el7.x86_64kdump.img

То же самое плюс показать размер файлов

find /boot -size +10000k -type f -exec du -h {} \;

find: ‘/boot/efi/EFI/centos’: Permission denied
find: ‘/boot/grub2’: Permission denied
60M /boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img
21M /boot/initramfs-3.10.0-1160.el7.x86_64.img
13M /boot/initramfs-3.10.0-1160.el7.x86_64kdump.img
21M /boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img
14M /boot/initramfs-3.10.0-1160.2.2.el7.x86_64kdump.img

Управление программным обеспечением поставляемым в исходных кодах.

Управление программным обеспечением в виде исходных кодов на всех дистрибутивах практически не отличается и это управление можно привести к следующей последовательности действий:

  1. Вы скачиваете пакет с исходными текстами/кодами. Скорее всего это будет пакет в виде архива (*.tar.gz или *.tar.bz2 или др.). Скачивание архива будет происходить, скорее всего, командой wget http://адрес.ру/путь/к/архиву.tar.gz.
  2. Скачанный архив необходимо распаковать, как и любой архив, скорее всего, . Архив распакуется в подкаталог с именем архив (без .tar.gz). В данную подпапку можно . Распакованные исходники рекомендуется хранить в каталоге /usr/src/.
  3. Далее необходимо установить скачанное программное обеспечение. Тут есть 2 пути:
    1. Если вы знаете, что устанавливаете и как оно устанавливается, то производите установку.
    2. Если Вы первый раз скачали пакет с сорцами (исходниками), то необходимо прочитать документацию об устанавливаемом программном обеспечении. С предоставляемым пакетом всегда идут файлы README, INSTALL или аналогичные, в которых описан порядок установки данного пакета. В общем случае, установка программ из исходников сводится к вводу следующих команд:
         ./configure
         make
         make install

Команда ./configure может выполняться с различными параметрами, в зависимости от устанавливаемого ПО. При выполнении команды с параметрами могут задаваться какие-либо характеристики и особенности компилируемого кода. Весь список параметров в с описанием можно найти, как уже выше говорилось, в файлах README, INSTALL или аналогичных, а так же, выполнив команду с параметром —help. После запуска configure обычно вы видите сообщения, рассказывающие о типе используемой вами системы и о том, какие необходимые инструменты установлены, а какие нет.

По завершении выполнения скрипта configure, он сохраняет информацию о конфигурации в файле с названием config.cache, расположенном в том же каталоге, что и сам скрипт configure.

Если вам необходимо запустить вновь, то убедитесь, что прежде вы удалили файл config.cache, поскольку configure будет использовать настройки из config.cache, если он существует, не производя повторной проверки вашей системы.

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

make install устанавливает скомпилированную программу. Фактически, производится копирование необходимых файлов в нужные каталоги. Если вы производите установку в /usr/local, то вам могут потребоваться права суперпользователя (root).

ПримечаниеДля запуска make и make install необходим установленный компилятор. (пакет gcc)
В Debian вместе с gcc необходимо установить еще некоторые пакеты. Чтобы не запоминать их все, можно установить просто пакет build-essential. 

Существуют две разновидности программ, собираемых из исходников: использующих статическую компоновку и использующие динамическую компоновку. Статическая компоновка отличается от динамической тем, что при сборке программы со динамической компоновкой используются функции разделяемых библиотек, а при статической компоновке используется собственный экземпляр библиотек. Просмотреть список разделяемых библиотек, от которых зависит исполняемый файл можно . При сборке программ использующих библиотеки совместного доступа, к ней добавляется участок кода, вызывающий при запуске программы динамический компоновщик ld.so (/usr/bin/ld), который ищет необходимые библиотеки и подставляет функции библиотек к программе (каталоги поиска библиотек заданы ).

Удаление программ

Для корректного удаления программ, установленных из исходных текстов, есть несколько способов:

  1. ручное удаление всего, что установила программа make install
  2. выполнение команды make uninstall в каталоге с исходниками программы. Тут есть нюанс — не всегда разработчики подразумевают параметр uninstall для команды make, поэтому возвращаемся к первому пункту.

В целом, чтобы не было проблем с удалением программы, ее рекомендуют конфигурировать с ключом  —prefix=/путь/установки, например ./configure —prefix=/usr/local/apache. Если, конечно, скрипт configure поддерживает данный ключ.

В общих чертах, это была информация о установке программного обеспечения из исходных кодов. Теперь поговорим о бинарных пакетах…

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Союз-Маркет
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: