Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π² LinuxΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 112

Автор НСйл ΠœΡΡ‚ΡŒΡŽ

β–‘ v (verbose) β€” ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ выполнСния tar Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ сообщСния;

β–‘ Ρ… β€” ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π°;

β–‘ z β€” пропускаСт Π°Ρ€Ρ…ΠΈΠ² GNU tar Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ gzip (сТимаСт Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ сТатиС).

Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ tar Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ мноТСство ΠΎΠΏΡ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ дСйствиями ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ создаваСмыми Сю Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ tar см. Π½Π° страницах ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ справочного руководства.

RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹

ДиспСтчСр RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ RPM появился ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π² дистрибутивС Linux Red Hat (ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ назывался Red Hat Package Manager). Π‘ Ρ‚ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ RPM прСвратился Π² общСпринятый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… дистрибутивах Linux, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ. SUSE Linux. Он Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ ΠΊΠ°ΠΊ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΏΠΎ стандартизации ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π° Π±Π°Π·Π΅ Linux Linux Standards Base ΠΈΠ»ΠΈ LSB, см. Web-сайт www.linuxbase.org.

К основным достоинствам RPM относятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅.

β–‘ Π­Ρ‚ΠΎΡ‚ диспСтчСр ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСн. МногиС дистрибутивы Linux ΠΌΠΎΠ³ΡƒΡ‚, ΠΏΠΎ мСньшСй ΠΌΠ΅Ρ€Π΅, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ RPM ΠΊΠ°ΠΊ собствСнный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, RPM пСрСнСсСн Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы.

β–‘ ΠžΠ½ позволяСт ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ автоматичСски, Ρ‚.ΠΊ. Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ RPM Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для нСобслуТиваСмого примСнСния. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

β–‘ Π’Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ. RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ хранился Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, облСгчая Ρ‚Π΅ΠΌ самым пСрСнос ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ систСмы Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ.

β–‘ RPM автоматичСски выполняСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ зависимостСй. RPM-систСма Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… всСх ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², установлСнных Π²Π°ΠΌΠΈ, вмСстС с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄Π°Π΅Ρ‚ вашСй систСмС ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ трСбованиях ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

β–‘ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ для формирования исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· исходных, позволяя Π²Π°ΠΌ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ сборку. ДиспСтчСр RPM ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ срСдства ОБ Linux, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ patch для внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² процСссС компиляции.

Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

Π›ΡŽΠ±ΠΎΠΉ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ хранится Π² Ρ„Π°ΠΉΠ»Π΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ rpm. Π€Π°ΠΉΠ»Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΡΠΎΠ±Π»ΡŽΠ΄Π°ΡŽΡ‚ соглашСниС ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру ΠΈΠΌΠ΅Π½ΠΈ:

name-version-release.architecture.rpm

Π’ этой структурС name содСрТит Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠ΅ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, mysql для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… MySQL ΠΈΠ»ΠΈ make для срСдства компиляции ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ make. Π’ элСмСнтС version указываСтся Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вСрсия 5.0.41 для MySQL. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ release Ρ…Ρ€Π°Π½ΠΈΡ‚ Π½ΠΎΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ»ΠΈ выпуск RPM ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния содСрТится Π² Ρ„Π°ΠΉΠ»Π΅. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π°Π±ΠΎΡ€ΠΎΠΌ инструкций (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π΄. "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ RPM-Ρ„Π°ΠΉΠ»Π° spec" Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅). НомСр выпуска позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² инструкциях сборки.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ architecture содСрТит спСцификатор для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ рассчитана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, i386 для Intel-систСмы. Для ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ этот элСмСнт ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ исполняСмый Ρ„Π°ΠΉΠ», созданный для процСссора SPARC, Π²ΠΏΠΎΠ»Π½Π΅ вСроятно, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° процСссорС Intel. АрхитСктура ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ sparc для процСссоров SPARC, ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ sparcv9 для v9 SPARC ΠΈΠ»ΠΈ athlon для процСссора AMD Athlon. Пока Π²Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ этот элСмСнт, RPM-систСма Π½Π΅ даст Π²Π°ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ architecture ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния: noarch для ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π½Π΅ относящихся ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС Java, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° языкС Perl, ΠΈ src для RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π° с исходными Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с исходными Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ содСрТат тСксты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ инструкции ΠΏΠΎ сборкС для построСния Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, для удобства Π·Π°Ρ€Π°Π½Π΅Π΅ собраны Π² расчСтС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ тысячи ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для систСмы Linux Π² Π²ΠΈΠ΄Π΅ Π·Π°Ρ€Π°Π½Π΅Π΅ собранных ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊ установкС RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ ΡƒΠ±Π΅Ρ€Π΅ΠΆΠ΅Ρ‚ вас ΠΎΡ‚ трудностСй компиляции.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ‚Π°ΠΊ сильно зависят ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… вСрсий, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅ собранный ΠΏΠ°ΠΊΠ΅Ρ‚, Ρ‡Π΅ΠΌ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. НапримСр, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для бСспроводных сСтСй стандарта 802.11b ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ собранными для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ исправлСний ядра ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дистрибутивов Linux, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… β€” ΠΏΠ°ΠΊΠ΅Ρ‚ kernel-wlan-ng-modules-rh9.18-0.2.0-7-athlon.rpm, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π» Π² сСбя ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ядра для дистрибутива Red Hat 9.0 с ядром Π°2.4.20-18 Π² систСмС Π½Π° Π±Π°Π·Π΅ процСссора AMD Athlon.

Установка RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

Для установки RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π° запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ rpm. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ простой:

rpm -Uhv name-version-release.architecture.rpm

НапримСр,

$ rpm -Uhv MySQL-server-5.0.41-0.glibc23.i386.rpm

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° устанавливаСт (ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ нСобходимости обновляСт) ΠΏΠ°ΠΊΠ΅Ρ‚ сСрвСра Π‘Π£Π Π‘Π” MySQL для систСмы Π½Π° Π±Π°Π·Π΅ Intel x86.

Команда rpm обСспСчиваСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с RPM-систСмой. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, установлСн Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

$ rpm -qa xinetd

xinetd-2.3.14-40

Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

Для создания RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ rpmbuild. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ прост. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

1. Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΊΠ΅Ρ‚.

2. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» spec, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚.

3. Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ rpmbuild.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ созданиС RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ слоТным, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² этой Π³Π»Π°Π²Π΅ простого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, достаточного для распространСния ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ³ΠΎ прилоТСния Π² Π²ΠΈΠ΄Π΅ исходного ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π‘ΠΎΠ»Π΅Π΅ таинствСнныС ΠΎΠΏΡ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² исправлСний (patches), ΠΌΡ‹ оставим Π»ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ читатСлям. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ страницу ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ справочного руководства, ΠΏΠΎΡΠ²ΡΡ‰Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ rpm, ΠΈΠ»ΠΈ справочноС руководство RPM HOWTO (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранящССся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /usr/share/doc). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ Π­Ρ€ΠΈΠΊΠ° ЀостСра-ДТонсона (Eric Foster-Johnson) "Red Hat RPM Guide" ("Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ Red Hat RPM"), Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π° Web-сайтС http://docs.fedoraproject.org/drafts/rpm-guide-en/.

ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€Π΅ΠΌ шагам, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ для создания ΠΏΠ°ΠΊΠ΅Ρ‚Π° Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ прилоТСния myapp.

Π‘Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ этап Π² создании RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π° β€” сбор ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΊΠ΅Ρ‚. Π§Π°Ρ‰Π΅ всСго Ρƒ вас Π΅ΡΡ‚ΡŒ исходный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ прилоТСния, Ρ„Π°ΠΉΠ» сборки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ make-Ρ„Π°ΠΉΠ», ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, страница ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ справочного руководства.

Π‘Π°ΠΌΡ‹ΠΉ Π»Π΅Π³ΠΊΠΈΠΉ способ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС β€” ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² сТатый tar-Ρ„Π°ΠΉΠ». НазовитС Ρ„Π°ΠΉΠ» Π°Ρ€Ρ…ΠΈΠ²Π° ΠΈΠΌΠ΅Π½Π΅ΠΌ прилоТСния ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π² Π½Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ вСрсии, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, myapp-1.0.tar.gz.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π½Π΅Π΅ созданный make-Ρ„Π°ΠΉΠ» Makefile6, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² сТатый Ρ„Π°ΠΉΠ» Π°Ρ€Ρ…ΠΈΠ²Π°. ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ вСрсия make-Ρ„Π°ΠΉΠ»Π°, названная просто Makefile, выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

all: myapp


# Какой компилятор

CC = gcc


# Π“Π΄Π΅ хранятся Ρ„Π°ΠΉΠ»Ρ‹ include

INCLUDE = .


# ΠžΠΏΡ†ΠΈΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

CFLAGS = -g -Wall -ansi


# ΠžΠΏΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ вСрсии

# CFLAGS = -О -Wall -ansi


# Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

MYLIB = mylib.a


myapp: main.ΠΎ $(MYLIB)

 $(CC) -ΠΎ myapp main.ΠΎ $(MYLIB)


$(MYLIB) : $(MYLIB)(2.o) $(MYLIB)(3.ΠΎ)

main.ΠΎ: main.c a.h

2.o: 2.с a.h b.h

3.o: 3.c b.h c.h


clean:

 -rm main.ΠΎ 2.ΠΎ 3.o $(MYLIB)


dist: myapp-1.0.tar.gz


myapp-1.0.tar.gz: myapp myapp.1

 -rm -rf myapp-1.0

 mkdir myapp-1.0

 cp *.c *.h *.1 Makefile myapp-1.0

 tar zcvf [email protected] myapp-1.0

Π—Π°Π΄Π°Π½ΠΈΠ΅ myapp-1.0.tar.gz Π² make-Ρ„Π°ΠΉΠ»Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ сТатый Π°Ρ€Ρ…ΠΈΠ² (tarball) ΠΈΠ· исходных Ρ„Π°ΠΉΠ»ΠΎΠ² нашСго простого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° прилоТСния. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ вставлСн для простоты Π² Π·Π°Π΄Π°Π½ΠΈΠ΅ dist, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Для создания Ρ„Π°ΠΉΠ»Π° Π°Ρ€Ρ…ΠΈΠ²Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

$ make dist

Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» myapp-1.0.tar.gz Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² SOURCES, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² систСмС Red Hat Linux это ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /usr/src/redhat/SOURCES, Π° Π² систСмС SUSE Linux β€” /usr/src/packages/SOURCES. НапримСр:

$ cp myapp-1.0.tar.gz /usr/src/redhat/SOURCES

RPM-систСма ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ исходныС Ρ„Π°ΠΉΠ»Ρ‹ находятся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ SOURCES Π² Π²ΠΈΠ΄Π΅ tar-Ρ„Π°ΠΉΠ»ΠΎΠ². (Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ, Π½ΠΎ эта самая простая.) SOURCES β€” это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рассчитываСт RPM-систСма.