ПредишенСледващото

Почти всички Linux програми използват едни и същи стандартни функции, например за достъп до файла, показване на изображението на екрана, подкрепа Хит. . И т.н. Това би било непрактично да записва всички тези функции директно в кода не е най-голямата програма - след това на програмните файлове ще станат огромни. Вместо това, най-Linux софтуер се отнася до така наречените споделени библиотеки: когато програмата автоматично се задейства и необходимите библиотеки. Какво е предимството? Ако няколко програми използват функциите на една и съща библиотека, библиотеката трябва да се изтегли само веднъж.

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

Динамични програми връзка чрез връзки. Повечето програми на Linux по време на работа се обръщат към споделени библиотеки. Така че спести дисково пространство (за бинарни файлове са компактни програми) и натоварване на паметта е по-малко (защото един и същ код не е необходимо да превози по няколко пъти). Бележка за програмисти, работещи употреба Windows: споделена библиотека сравнима с DLL - динамичните връзки библиотеки.

Формати и версии на библиотеките


През цялата история на Linux многократно изменя в библиотеката, които са също толкова фундаментално, тъй като те са несъвместими една с друга. Тези промени включват, например, замяна на a.out формат ELF или замяна библиотека библшотеката версия 5 на версия 2.p на НЬс, и последният може да бъде обработен и как да библшотеката 6 (понастоящем съответната версия на НЬс 2.10).

И в двата случая, библиотеката замяна са технически обосновани. Нови формати или версии позволяват да управлявате по-лесно библиотеките и функции, дава по-пълна оперативна съвместимост между различните Linux платформи (Intel, Sun-Sparc, дек-алфа) и така нататък.

Въпреки това, когато замяната на проблемите, свързани с факта, че двоичните файлове могат да се извършват, само когато системата има необходимите библиотеки и системата може да ги намери. Ако се опитате да стартирате програмата в старата Glibc и дистрибуцията, която не се поддържа от НЬс, можете да получите съобщение за грешка, загадъчен, както следва:

ЗАБЕЛЕЖКА


Поради факта, че в момента има проблеми с подкрепата на НЬс, се очаква да бъдат използвани не оригинален НЬс библиотека и напълно съвместима библиотека eglibc предстоящата версия на Debian Squeeze.

Автоматично зареждане на библиотеките


Ако работите с Linux само като потребител, а не като програмист, ще се сблъскате с библиотеки само в момент, когато някои от тях ще бъдат пропуснати. Обикновено тези проблеми възникват, когато инсталирате нова програма за постепенно. Когато се опитате да стартирате го показва съобщение за грешка, за отсъствието на конкретна библиотека. Често най-новите версии на програмите се отнасят до най-новата версия на съответните библиотеки, които все още не могат да инсталират. При по-старите програми е вероятно обратния случай. Може би те все още се отнасят до по-старата библиотека, която не се поддържа от вашата дистрибуция.

Определяне на списъка на библиотеката


ДЛД команда се предава като параметър, който се добавя към пълното име на програмата. В отговор на това ДЛД изброява всички библиотеки, които са необходими, за да стартирате програмата. В допълнение, той е показан, когато има подходяща библиотека и какво библиотеки са достъпни само в по-старата версия.


Що се отнася до програмата X-, KDE- и Gnome, тук е списък на библиотеките е много по-богат. Именно поради тази причина, че тези програми работят за дълго време.

Имената на библиотеките

Обобщение на имената на библиотеките: краят Така че показва, че си имаме работа с една споделена библиотека, okonchanie.a дефинира статична библиотека. Следващата фигура показва основния номер на версия. Например, LS изисква библиотеката библшотеката версия 6.

Каталози, които обикновено са разположени библиотека (например / ИЪ, / ЮЕсАр / ИЪ, / ЮЕсАр / местни / ИЪ, / ЮЕсАр / XHR6 / ИЪ и / изберат / ИЪ), често съдържат връзки, които свързват основната версия на библиотеката с това инсталиран на вашия компютър. По този начин, за СР (см. По-горе) е необходима библиотека LD-Linux-x68-64.so.2. Но в действителност, на компютър, работещ с версия на ld-2.9.so, съвместим "отдолу-нагоре".

Работещи програми

Когато стартирате програмата, ще трябва да намерите и изтеглите всички библиотеки - е отговорен за този така наречен време на изпълнение връзка. Така се взема предвид всички директории, посочени в променлива среда LD БИБЛИОТЕКА пътя на. Тези директории са разделени от колони.

В допълнение, свръзката интерпретира /etc/ld.so.cache файл. Това е двоичен файл, който съдържа цялата важна информация за библиотеката (номер на версията, пътеки за достъп, и така нататък. Г.). Той се нуждаеше само за да спестите време, че свръзката в противен случай ще бъдат изразходвани за търсенето на библиотеки.

/etc/ld.so.cache файл е създаден от програмата ldconfig, което, от своя страна, интерпретира /etc/ld.so.conf. Този файл обикновено съдържа списък на всички библиотечни каталози или списък с връзки към други файлове с директории (папки / ИЪ и / ЮЕсАр / ИЪ се вземат под внимание при всички случаи и поради това липсва в ld.so.conf или други конфигурационни файлове. Ако различна от / ИЪ и / ЮЕсАр / ИЪ няма да се налага да се вземат под внимание всички директории, ld.so.conf като цяло могат да бъдат пропуснати).

Някои дистрибуции ldconfig команда се изпълнява всеки път, когато стартирате компютъра, за да се гарантира най-актуалната състоянието на кеш файл. Винаги трябва да се извършва в случаите, когато инсталирате ръчно нова библиотека, в противен случай системата няма да "виждат" библиотеки. Ако библиотеките са разположени в новата директория, трябва да подходящ допълни файл / и т.н. / ld.so.conf. Когато инсталирате пакета с библиотеките на тези задачи се осъществява нормално от управителя на пакет.

32- и 64-битови библиотеки

Най-често срещаните дистрибуции съществуват в момента в най-малко два монтажни варианти: за 32-битови процесори, които са съвместими с Intel / AMD, както и 64-битови процесори, които са съвместими с Intel / AMD. Разбира се, за 32-битови процесори са само 32-битови библиотеки. Въпреки това, без значение колко съжалявам, същото не може да се каже и за 64-битови Linux дистрибуции: е била и остава на програмата, която не се събират за 64-битови системи. Най-добре познат програма по рода си - Acrobat Reader на Adobe.

За да изпълните 32-битови програми на 64-битови дистрибуции, ще ви е необходим 32-битови библиотеки. За да може да се избегнат конфликти, библиотеки са инсталирани в различни директории. Сред професионалистите в Linux, този метод се нарича multiarhitektura, или би-архитектура, като се поддържа от няколко паралелни (или две) архитектура процесори. Повечето дистрибуции появят каталози / lib32 или / I64, което позволява не се смесва библиотеки с различна дълбочина малко. Тази двойственост, разбира се, свързано с определени недостатъци: когато инсталирате множество библиотеки в два екземпляра прекарал повече дисково пространство, в допълнение, с подкрепата сложно.

Prelinking

Когато стартирате програма, която има достъп до динамична библиотека, трябва да се установи връзка между програмата и библиотеки. Този процес се нарича свързване. Когато се работи с комплексни програми за свързване с прекарват много време.

Впоследствие всеки приготвен по този начин програмата ще имат достъп до своите библиотеки много по-бързо, и по този начин работи по-бързо. Това ускорение е особено забележимо в OpenOffice и програмите на KDE, за да се движат, който сега ще изисква по-малко от половината от времето, отколкото преди. Във всеки случай, след предварителни обвързващи данни трябва да се актуализират с всяка актуализация библиотека.

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

Debian, Ubuntu. За да използвате предварително свързването, трябва да инсталирате пакета prelink и задайте във файла / и т.н. / по подразбиране / prelink конфигурация PRELINKING на = да. Prelinking ще се извършва на дневна база, като един от задачата Cron.

Red Hat, Fedora. Предварителна задължителна функция е зададена по подразбиране. Данните се актуализират редовно (задача Cron /etc/cron.daily/prelink на, конфигурационния файл / и т.н. / sysconfig / prelink).

SUSE. За да използвате предварително свързване, трябва да инсталирате пакета prelink и посочите файл / и т.н. / сис-довереник / prelink конфигурация PRELINKING = да. След това ще се проведе prelink YaST модул след инсталирането на всяка нова програма или библиотека (/sbin/conf.d/SuSEconfig сценарий. Prelink).
Прочетете също така:
Като самостоятелно съставя програми

Услуги по разработка на сайтове в MODx

MODx е софтуер, който ние използваме, за да развият всички наши сайтове.

MODx ще ви позволи да имате пълен контрол върху съдържанието, използвани в сайта си, можете да добавяте, изтривате, променяте и редактират всеки файл, който искате, можете да управлявате изцяло своя уебсайт.

Професионален уеб дизайн на MODx, финес и поддръжка на сайтове. създаване и попълване на онлайн магазини MODx.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!