Installing glibc-2

Перед установкою пакета застосуєте патч. Переконайтеся, що патч і пакет розпаковані перед інсталяцією.

Перед виконанням інсталяційних інструкцій увійдіть в каталог glibc-2.2.5 і розпакуйте архів glibc-linuxthreads в каталозі glibc-2.2.5, а не в / usr / src.

Також не варто запускати скрипт configure з опцією --enable-kernel. Це може викликати помилки сегментації при посиланні на нього пакетів на кшталт fileutils, make і tar.

Для інсталяції Glibc виконайте:

Замість виконання make localedata / install-locales можна встановити тільки ті локалі, які вам необхідні за допомогою команди localedef. Більш детальну інформацію можна знайти в файлі INSTALL в директорії glibc-2.2.5. Не забудьте створити директорію / usr / lib / local. тому localedef передбачає її наявність.

На даному етапі ми не будемо інсталювати сторінки керівництва потоків (The Linux Threads man pages), тому що вони вимагають функціонуючого пакета Perl. Ми повернемося до їх інсталяції після установки Perl.

Під час стадії configure на екран буде виведено наступне попередження:

Відсутність файлу msgfmt (з пакета gettext, який ми встановимо пізніше в цьому розділі) не викличе жодних проблем. Файл msgfmt використовується для генерування бінарних файлів перекладу, які дозволяють системі спілкуватися іншою мовою. Так як ці файли перекладу вже згенеровані, в використанні msgfmt немає необхідності. Нам знадобився б msgfmt лише в тому випадку, якщо ми змінили вихідні файлів перекладу (файли * .po в підкаталозі po), тому що нам довелося б заново генерувати бінарні файли.

patch -Np1 -i. /glibc-2.2.5-2.patch: Цей патч переводить всі згадки про $ (PERL) на / usr / bin / perl в файлі malloc / Makefile. Це необхідно, тому що Glibc не може визначити місцезнаходження програм Perl, так як пакет Perl ще не був встановлений. Даний патч також замінює всі згадки про root на 0 у файлі login / Makefile. Це необхідно, тому що сам пакет Glibc ще не встановлений, і виявлення ідентифікаційного номера користувача з імені користувача неможливо. Наприклад, команда chown root file не працюватиме, в той час як при заміні імені користувача на userid, програма буде виконана.

touch /etc/ld.so.conf: Один із заключних кроків установки Glibc installation - виконання команди ldconfig для поновлення динамічного кешу завантаження. Якщо цей файл не існує, інсталяція завершиться з помилкою, що не може прочитати файл. Для уникнення подібної помилки, ми просто створюємо порожній файл (в разі порожнього файлу, Glibc буде за замовчуванням використовувати каталоги / lib і / usr / lib).

--disable-profile: Скасовує компіляцію бібліотек з профільної інформацією. Якщо ви збираєтеся використовувати профілі, пропустіть цю опцію.

--enable-add-ons: Включає додаткові модулі, в нашому випадку linuxthreads.

--libexecdir = / usr / bin: інсталюється програму pt_chown в каталог / usr / bin.

echo "cross-compiling = no"> configparms: Цією командою ми даємо зрозуміти, що компілюємо пакет тільки для нашої системи. Крос-компіляція використовується, наприклад, для того, щоб скомпілювати пакет для системи Apple Power PC на Intel-сумісний комп'ютер. Glibc за замовчуванням вважає, що ми крос-компілюємо, тому що не може скомпілювати тестову програму для перевірки, тому що сам пакет Glibc ще не встановлено.

exec / static / bin / bash --login: Дана програма запустить новий сеанс оболонки bash замість поточного. Ми, таким чином, позбудемося запрошення "I have no name!" командного рядка, яке було викликано неможливістю bash отримати ім'я користувача з userid (через отстутствия Glibc).

Остання перевірка: версія 2.2.5.

catchsegv, gencat, getconf, getent, glibcbug, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale, localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace, zdump і zic

catchsegv може бути використання для стеження за станом стека, коли виконання програми переривається через помилки розподілу пам'яті.

gencat генерує каталоги повідомлень.

getconf відображає значення змінних, що залежать від системної конфігурації.

getent дозволяє отримати записи адміністративної бази даних.

iconv здійснює перетворення наборів символів.

iconvconfig створює конфігураційні файли для модулів iconv.

ldconfig налаштовує прив'язки часу виконання динамічного линкера.

ldd виводить список поділюваних бібліотек, необхідних заданими програмами.

lddlibc4 використовується ldd при роботі з об'єктними файлами.

locale - скрипт на Perl, який дозволяє (або забороняє) компілятору використання локалей POSIX для вбудованих операцій.

localedef компілює специфікації локалей.

mtrace виводить шлях multicast від джерела до одержувача (запит IP trace).

nscd - демон, що надає кеш для більшості запитів DNS.

nscd_nischeck перевіряє потрібен чи ні захищений режим для запиту NIS +.

pcprofiledump виводить інформацію, отриманої з профілю PC.

pt_chown встановлює влдельца, групу і права доступу підлеглого псеводотермінала відповідно до основного псевдотермінали, переданому в описі `3 '. Це допоміжна програма для функції `grantpt '. Чи не призначається для прямого запуску з командного рядка.

rpcgen генерує код C для реалізації протоколу RPC.

rpcinfo робить запит RPC до сервера.

sln символічно пов'язує dest і source. Програма зібрана статично. Використання sln корисно для створення символічних посилань на динамічні бібліотеки, якщо система динамічного зв'язування з якоїсь причини нефункціональна.

sprof виводить інформацію про разделяемом об'єкті.

tzselect отримує від користувача інформацію від його місцезнаходження і виводить на стандартний висновок значення поточної тимчасової зони.

xtrace відстежує виконання програми, виводячи виконувані в даний момент функції.

zdump - зберігає значення часового поясу.

Схожі статті