uy - Antiviruslar
Men uni olib, suratga olmoqchiman yoki nima uchun make install dan foydalanmaslik kerakligi haqidagi ta'lim dasturini. Manbalardan dasturlarni kompilyatsiya qilish va o'rnatish Yadro manbalarini yuklab olish

Dasturning so'nggi versiyasi kerak bo'lgan holatlar mavjud, ammo u tarqatish omborida emas. Yoki bu dastur biron sababga ko'ra u erda umuman qo'shilmagan. Ushbu dasturni olishning bir nechta variantlari mavjud, ulardan biri dasturni yig'ishdir manba kodi, to'g'ridan-to'g'ri tarqatish uchun. Albatta, biz ochiq kodli dasturlar haqida gapiramiz :)

Dasturni yig'ish (kompilyatsiya qilish) - dasturchiga tushunarli bo'lgan ba'zi kompilyatsiya qilingan dasturlash tilida (masalan, C++) yozilgan uning dastlabki kodini tushunarli bo'lgan ikkilik kodga (nollar va birliklar ketma-ketligiga) o'zgartirish. markaziy protsessor kompyuter. Hamma dasturlash tillari kompilyatsiya qilinmagan. Masalan, Python-dagi kod uni ikkilik kodga tarjima qilmasdan darhol ishga tushirilishi mumkin (garchi bu ham mumkin). Dasturni yaratish uchun etarlicha kuchli va afzalroq bo'lishi tavsiya etiladi ko'p yadroli protsessor. Hech qachon noutbuklarda dasturlarni kompilyatsiya qilmang! Bu ularning umr ko'rish davomiyligiga juda salbiy ta'sir qiladi (ular bunday yuklarga mo'ljallanmagan, agar sizda, albatta, o'yin noutbuki).

Dasturni manba kodidan yaratishda murakkab narsa yo'q. Esda tutish kerak bo'lgan asosiy narsa bitta qoida: paketlarni tarqatishda siz hech qachon usuldan foydalanmasligingiz kerak o'rnatish. Aks holda, kelajakda siz katta muammolarga duch kelasiz. Dasturni olib tashlamoqchi ekanligingizni tushunganingizda (shu tarzda o'rnatilgan) va paket menejeri u haqida bilmaydi. Va dasturning o'zi turli kataloglar bo'ylab tarqalgan bir necha yuzlab fayllardan iborat. Qo'rqinchlimi? Shuning uchun, paketli tarqatishlarda dastur, aslida, paketga yig'ilishi kerak. Keyin biror narsa yuz bersa, uni muammosiz olib tashlash mumkin. Men buni yozdim, chunki Linuxda dasturlarni kompilyatsiya qilish bo'yicha ko'plab qo'llanmalar aniq tasvirlangan o'rnatish. Shu tarzda o'rnatilgan dasturni faqat ikkita holatda olib tashlashingiz mumkin:

  • Agar sizda hali ham uning kodi bilan arxiv mavjud bo'lsa (u holda siz ishga tushirishingiz mumkin o'chirishni amalga oshiring);
  • agar dasturning manba kodi uni qo'llab-quvvatlasa.
make install dan foydalanmang!

Shuni ta'kidlash kerakki, har bir dasturni bir xil tarzda yig'ish mumkin emas. Shuning uchun, siz har doim manba kodi bilan arxivda joylashgan montaj ko'rsatmalarini o'qib chiqishingiz kerak. Ishlab chiquvchi u erga skript qo'ygan bo'ladi, u ishga tushirilganda hamma narsani o'zi bajaradi (kompilyatsiya qiladi va o'rnatadi, lekin biz o'rnatishni eslaymiz) yoki u yig'ish uchun mos kelmasligi mumkin. qilish, lekin sizga boshqa yig'ish tizimi kerak. Bundan tashqari, dasturni yaratish uchun siz unga zarur bo'lgan montaj bog'liqliklarini o'rnatishingiz kerak (bular prefiksli paketlar). -dev). Dasturni muammosiz o'rnatish yoki o'chirish uchun paketga tezda yig'ish uchun, deb nomlangan yordamchi dastur mavjud. o'rnatishni tekshiring. Bu sizga tizimga xos paket yaratishga imkon beradi ( deb yoki rpm), bu sizga uni o'rnatish/o'chirish uchun standart paket menejeridan foydalanish imkonini beradi

GNU/Linux-da dasturlar yaratish uchun siz (asosan) dasturdan foydalanasiz qilish dan ko'rsatmalar ishlaydi Makefile, lekin juda ko'p GNU/Linux distributivlari mavjud va ularning barchasi har xil bo'lgani uchun dasturni kompilyatsiya qilish uchun har bir tarqatish uchun kutubxonalar va sarlavha fayllari joylashgan yo'llarni alohida ko'rsatish kerak. Dasturchilar har bir tarqatishni o'rgana olmaydi va har biri uchun alohida Makefiles yarata olmaydi. Shuning uchun ular tizimni "o'rganadigan" va olingan bilimlarga muvofiq Makefile yaratadigan konfiguratorlar bilan kelishdi. Qurilish uchun bizga kompilyatorlar kerak: ular paketga bog'liqliklarda ko'rsatilgan qurish - muhim, shuning uchun uni barcha bog'liqliklar bilan o'rnatish kifoya. Hali ham kerak autoconf Va avtomobil ishlab chiqarish. Agar dastur yozilgan bo'lsa Qt, keyin odatda u yoki jamoa tomonidan yig'iladi qmake(albatta, u o'rnatilgan bo'lishi kerak) yoki ba'zilarida loyiha faylini ochish orqali IDE(odatda Qt yaratuvchisi) va undagi yig'ilishlar.

Avval siz tizimni tayyorlashingiz kerak. Buning uchun biz kerakli vositalar to'plamini o'rnatamiz:

S udo apt install build-essential gcc devscripts git fakeroot automake autoconf

Siz manba kodini olishingiz mumkin turli yo'llar bilan. Internetdan yuklab oling (masalan, ishlab chiquvchining veb-saytidan), manba kodi bilan omborni klonlash va hokazo. Birinchi holda, umuman olganda, hamma narsa aniq. Ikkinchisida: dastur git omborida (on GitHub, Masalan). Biz ushbu omborga o'tamiz va u erdan kod bilan arxivni yuklab olishimiz mumkin

Shunday qilib, butun omborni o'zingizga nusxa ko'chiring (ishlab chiquvchilar kabi). Masalan, dasturni olaylik mgba. Bu emulyator o'yin konsoli Nintendo GameBoy. Repozitoriy manzili. Keling, o'zimiz uchun nusxa ko'rsatamiz:

git clone https://github.com/mgba-emu/mgba.git

Uy katalogingizda uning manba kodi bilan katalog bo'ladi. Dasturning xuddi shu sahifasida yig'ish bo'yicha ko'rsatmalar mavjud.

Biz diqqat bilan o'qiymiz. Terminalni oching va manba kodi bilan katalogga o'ting:

cd ~/mgba

Va biz dasturni yig'amiz:

mkdir qurish
CD qurish
cmake -DCMAKE_INSTALL_PREFIX: PATH=/usr ..
qilish
sudo checkinstall -D

Sizdan ba'zi ma'lumotlar so'raladi (paket nomi, versiyasi va boshqalar. Barcha maydonlarni to'ldirish tavsiya etiladi). Yig'ishdan so'ng yuqoridagi katalogda (ya'ni mgbada) dasturga ega deb to'plami paydo bo'ladi. Endi siz uni ikki marta bosish yoki buyruq yordamida o'rnatishingiz mumkin sudo dpkg -i packagename.deb. Agar montaj paytida siz xato xabarlarini olishni boshlasangiz, ularni diqqat bilan o'qing. Ba'zi montaj bog'liqliklari etishmayotgan bo'lishi mumkin.

Keling, konfiguratordan foydalanadigan biroz boshqacha misolni olaylik. Bunday holda, skriptlar manba kodi bo'lgan katalogda joylashgan: autogen.sh, sozlash va shunga o'xshashlar. Autogen.sh skript hosil qiladi sozlash, uning yordamida siz dasturni yig'ishdan oldin sozlashingiz mumkin (ha, ha, konfiguratorning konfiguratori). Har doimgidek, ma'lum bir dasturni yig'ish bo'yicha ko'rsatmalarni o'qishni unutmang. Faraz qilaylik, arxivda autogen.sh skripti mavjud. Keling, uni bajaramiz:

./autogen.sh

Amalga oshirilgandan so'ng, konfiguratsiya fayli paydo bo'lishi kerak. Dasturni qaysi parametrlar bilan yaratishingiz mumkinligini ko'rish uchun quyidagilarni kiriting:

./configure --help

Barcha mavjud variantlarni ko'rib chiqing. Odatda, bu turli xil plaginlarni qo'llab-quvvatlash, muqobil interfeys bilan yig'ish, hatto boshqa protsessor arxitekturasi uchun yig'ish bo'lishi mumkin. Aytaylik, dasturda yozilgan interfeysdan foydalaniladi GTK+ 2, lekin muqobil variant mavjud GTK+ 3. Keyin dastur konfiguratsiyasi quyidagicha ko'rinadi:

./configure --with-gtk3

./configure --enable-gtk3

Har bir narsa ko'rsatmalarda batafsil tavsiflanadi. O'rnatish yo'lini belgilash kabi standart variantlarning ma'lum bir to'plami mavjud (./configure --help ni kiritgandan so'ng, ular birinchi navbatda yoziladi):

Prefiks=/usr

Configure-ni ishga tushirgandan va kodni muvaffaqiyatli sozlagandan so'ng, siz qurilishni ishga tushirishingiz mumkin:

sudo tekshiruvini o'rnating

Ana xolos. Ko'rib turganingizdek, bu erda murakkab narsa yo'q. Yashirmayman, ishlab chiquvchi yuqori sifatli montaj bo'yicha ko'rsatmalar bilan bezovta qilmagan. Ammo bu kamdan-kam hollarda sodir bo'ladi. Men sizning e'tiboringizni quyidagilarga ham qaratmoqchiman: dasturni manba kodidan yaratishga faqat oxirgi chora sifatida murojaat qiling. Agar foydalanayotgan bo'lsangiz Ubuntu LTS, keyin sizga kerak bo'lgan dastur (yoki yangiroq versiya) Ubuntu'ning so'nggi versiyasida mavjudligini bilish uchun (Google yordamida) qarang. Yoki, ehtimol, bor

Bundan tashqari, boshqa tizimlar o'rnatilishi kerak qo'shimcha dasturlar. Operatsiya xonalarida Windows tizimlari hamma narsa juda oddiy, qoida tariqasida, dasturiy ta'minotni o'rnatishga yordam beradigan setup.exe o'rnatuvchisi mavjud. Ammo Linuxda narsalar biroz boshqacha. Linuxda dasturlarni qanday o'rnatish mumkin? Endi bu savolga qaraylik.

Linuxda bir necha turdagi o'rnatish paketlari mavjud va har bir tarqatish o'z paket formatiga ega. Fedora, Mandriva, Red Hat va Suse distributivlaridan foydalanadi standart o'rnatish Red Hat tomonidan ishlab chiqilgan Linux RPM uchun. RPM paket fayli odatda nomlanadi program_name-version.rpm.

Yana bir mashhur format - DEB. Debian, Ubuntu, Knoppix va Mepis da qo'llaniladi. Ismi bor program_name-version.deb.

Va biz arxivga yaqinlashdik. Odatda bu .tar , .tar.gz , .tgz kengaytmalari. Ular paketdan chiqarilishi va keyin o'rnatilishi/kompilyatsiya qilinishi kerak.

Dasturni o'rnatish jarayonini superuser sifatida bajarishingiz kerak.

Tez navigatsiya

Debian, Ubuntu da dasturlarni o'rnatish

DEB paketlari bilan ishlash uchun juda ko'p vositalar mavjud, lekin eng ko'p ishlatiladigani apt-get bo'lib, u standart vositalar to'plamiga kiritilgan. Ilovani o'rnatish uchun buyruqni kiriting:

apt-get install package_name

O'chirish uchun:

apt-get paket_nomini olib tashlang

APT o'rnatish uchun mavjud bo'lgan barcha paketlarning mahalliy ma'lumotlar bazasini va ularni qaerdan olish mumkin bo'lgan havolalarni saqlaydi. Ushbu ma'lumotlar bazasi vaqti-vaqti bilan buyruq bilan yangilanishi kerak:

apt-get yangilanishi

Kompyuterda eskirgan paketlarni (dasturlarni) yangilash uchun quyidagi buyruqlarni kiriting:

apt-get yangilash; apt-get yangilash

Fedora, Red Hat-da dasturlarni o'rnatish

APT ga o'xshash yordamchi dastur yum. Paketni sozlangan ombordan yuklab olish va o'rnatish uchun buyruqni yozing:

yum paket_nomini o'rnating

yum paket_nomini olib tashlang

Mahalliy yum ma'lumotlar bazasi saqlanmaydi, shuning uchun yangilashning hojati yo'q. Yangilanishlarni o'rnatish uchun quyidagi buyruqdan foydalaning:

yum yangilash

Yangilash uchun maxsus narsani tanlang:

yum paket_nomini yangilang

Mandriva-da dasturlarni o'rnatish

Mandriva paketlar bilan ishlash uchun urpmi deb nomlangan o'ziga xos vositalar to'plamiga ega. O'rnatish uchun:

urpmi paket_nomi

O'chirish uchun:

urpme paket_nomi

Mahalliy ma'lumotlar bazasini paketlar ro'yxati bilan yangilang:

urpmi. yangilash -a

Yangilanishlarni o'rnatish uchun:

urpmi - avtomatik tanlash

Arxivlardan dasturlarni o'rnatish (tarballs)

GZIP (gz, gz2 va boshqalar) yordamida siqilgan arxivlar uchun biz buni qilamiz:

tar -xvz f fayl nomi

BZIP (bz, bz2 va boshqalar) yordamida siqilgan arxivlar uchun bu biroz boshqacha:

tar -xvjf fayl nomi

Tar buyruqlari:

  • x – arxivdan fayllarni chiqarib olish;
  • v – ma’lumotni ekranda batafsil aks ettirish;
  • f – Majburiy variant. Agar ko'rsatilmagan bo'lsa, Tar fayl o'rniga lentani ishlatishga harakat qiladi;
  • z – gzip yordamida siqilgan jarayon arxivi;
  • j – bzip yordamida siqilgan arxivni qayta ishlash.

Buyruq bajarilgandan so'ng paket nomiga o'xshash nomli papka hosil bo'ladi. Keyin ushbu yaratilgan papkani buyruq bilan ochishingiz kerak:

cd papkasi_nomi

Keyin, ochilmagan arxivda, agar mavjud bo'lsa, README faylidagi ko'rsatmalarni o'qing. Har qanday holatda, agar dastur bajariladigan fayl sifatida tuzilgan bo'lsa, paketda odatda install.sh deb ataladigan .sh fayli bo'ladi.

Hammaga salom!

Bu Linux boshlanuvchilari uchun ushbu uchta ajoyib buyruq nimani anglatishi va ular nima uchun kerakligi haqida qisqacha eslatma. Keling, ular aytganidek, boshidan boshlaylik. Ko'pgina dasturlar foydalanishdan oldin kompilyatsiya qilinishi kerak, ya'ni odam tushunadigan matndan kompyuter tushunadigan birliklar va nollar to'plamiga aylantirilishi kerak. Jarayon uch bosqichga bo'linadi: konfiguratsiya, yig'ish va o'rnatish. Tafsilotlar kesim ostida :)

./configure

Ushbu buyruq kompilyatsiya qilish uchun zarur bo'lgan kutubxonalar va sarlavha fayllarini qidiradi (bu qisman yoki to'liq C/C++ va shunga o'xshash tillarda yozilgan dasturlar uchun), shuningdek, maxsus parametrlarni o'rnatish yoki maxsus kutubxonalarni ulash, agar ./configure o'ziga kerak bo'lgan hamma narsani topadi, u yaratadi Makefayllar- dasturni yaratish uchun zarur bo'lgan fayl

Konfigurator parametrlarini shu tugmachalarning kalitlari va argumentlari yordamida sozlashingiz mumkin, masalan:

./configure --prefix=/opt/my_program

Kalit bilan --prefiks= Siz keyinchalik dasturingiz uchun prefiks vazifasini bajaradigan katalogni belgilashingiz mumkin (ya'ni ildiz katalogi). Buning sababi, nafaqat Linux dunyosida, balki fayl tizimining maxsus ierarxiyasi (HFS) mavjud bo'lib, unga ko'ra har qanday dastur xatosiz ishlashi uchun kompilyatsiya qilinishi va o'rnatilishi kerak.

IN fayl tizimi Ko'pgina dasturlar konfiguratsiya qilingan uchta asosiy prefiks mavjud, xususan:

  • / - ROOT deb ataladigan operatsion tizimning ildiz katalogi
  • /usr - foydalanuvchi muhiti ilovalari joylashgan katalog
  • /usr/local - qo'lda, maxsus uchun tuzilgan foydalanuvchi dasturlari uchun qo'shimcha katalog operatsion tizim axlatxonaga aylanmadi

Agar siz ushbu kataloglardan birini ochsangiz, juda o'xshash tuzilmani ko'rishingiz mumkin, hech bo'lmaganda papkalar bo'ladi: bin, va hokazo, include, libs, sbin.

Yugursang ./configure kalitlarsiz, keyin standart prefiks (kompilyatsiya qilingan dastur o'rnatiladigan katalog) bo'ladi /usr/local, shuni esda tuting, agar siz dasturni ishga tushira olmasangiz, yo'lingiz bo'lmasligi mumkin YO'L.

Kalitdan tashqari --prefiks Konfiguratorda, qoida tariqasida, boshqa ko'plab kalitlar mavjud, agar siz ishga tushirsangiz, ularning barchasini ko'rishingiz mumkin:

./configure --help

qilish

Eng muhim va oddiy buyruq/dastur manba kodidan ilovalarni kompilyatsiya qilish tartibini ishga tushiradi. Sizning ishingiz uchun bu dastur maxsus fayllardan foydalanadi Makefayllar, bu biz konfiguratorga ko'rsatgan barcha parametrlar bilan dasturni yaratish jarayonini batafsil tavsiflaydi. Muvaffaqiyatli make buyrug'ining natijasi joriy katalogdagi kompilyatsiya qilingan dastur bo'ladi.

o'rnatish

Ushbu buyruq dasturni to'g'ridan-to'g'ri konfiguratsiya bosqichida ko'rsatilgan katalogga o'rnatadi; make install buyrug'ini bajargandan so'ng, siz yangi o'rnatilgan dasturni ishga tushirishingiz mumkin.

Keyingi so'z

Uchta buyruqni navbat bilan yozmaslik uchun ularni bir qatorga yozishingiz mumkin:

./configure && make && make install

&& - bu C/C++ tilidan kelgan AND operatori, ammo qobiq nuqtai nazaridan, bu keyingi buyruq faqat oldingi buyruq muvaffaqiyatli bajarilgan taqdirdagina bajarilishi kerakligini anglatadi, agar bittasi bo'lsa, bu juda qulaydir. bosqichlari xato bilan tugaydi.

Aslida make install qurilishni ham amalga oshirishi mumkin, chunki oʻrnatish vazifasi barcha topshiriqlarga bogʻliq (yaʼni, toʻgʻridan-toʻgʻri dasturni yaratish), demak, make qadamini oʻtkazib yuborish mumkin va agar siz ularni yozsangiz, faqat ikkita buyruq bajarilishi mumkin. bir qatorda:

./configure && o'rnatish

Omad sizga! Va o'qiganingiz uchun rahmat!

terminal va buyruqlar

Bunga qanchalik tez-tez duch kelgansiz kerakli versiya Ubuntu tarqatishda sizning arxitekturangiz uchun oddiygina dastur yo'q, ammo bu dastur ishlab chiquvchilarning veb-saytida .tar.gz arxividagi manba kodi shaklida mavjud. Menimcha, ko'pchilik bu holat bilan tanish, ammo hamma ham bu muammoni hal qilish yo'llarini izlashni davom ettirmadi va shunchaki dasturning boshqa analogini yoki biroz eskiroq versiyasini qidirib, ishlashni davom ettirdi.

Men darhol Linuxga yangi kelganlar uchun bir nechta so'zlarni qo'shmoqchiman; ushbu maqoladan biror narsa qilishdan oldin terminalni va u bilan ishlash uchun ishlatiladigan buyruqlarni yaxshilab o'rganing, mana yoki tarmoqdagi materiallarni o'qing.

  • Uchun ilovalar tuzadi Bizga, albatta, ishlab chiquvchi vositalari kerak bo'ladi, bizning holatlarimizda bu kompilyator va boshqa qo'shimcha dasturlar; asosiy ishni, albatta, make yordam dasturi bajaradi va buyruq qatori(terminal) biz bo'ladigan oshxonamiz kabi bo'ladi tayyorlash/yig'ish/o'rnatish bizning dasturimiz manbadan. Linuxda terminal sukut bo'yicha mavjud, sizning qulayligingiz uchun siz o'zingiz o'rganib qolgan har qanday ko'proq funksionalni o'rnatishingiz mumkin, masalan, men Guake-dan foydalanaman, standart terminalga nisbatan juda ko'p imkoniyatlar mavjud. CTRL+C, CTRL+V va boshqalardan foydalangan holda nusxa ko'chirish va joylashtirish buyruqlarini yoki istalgan matnni sozlash oson, bu konsol bilan ishlashni qulayroq qiladi.
  • 1. Ilovalarni manbadan yaratishni qaerdan boshlash kerak, albatta, ilovani tar.gz yoki tar.bz2 arxiviga yuklab oling, mening holimda bu, masalan, Gimp 2.9.2 ilovasi, garchi bizning holatimizda arxiv tar.gz formatida emas va tar.bz2, bu hech qanday farq qilmaydi, uni yuklab oling, keyin arxivni o'ng tugmasini bosing - Bu yerdan chiqarib oling.

Bu, ehtimol, birinchi bosqich, keyin nima qilamiz? Va keyin biz terminalni ishga tushiramiz va fayllar bilan ochilmagan papkamizga o'tamiz:

CD /home/linux/Yuklashlar/gimp-2.9.2/ ls

  • 2. Yig'ish uchun manbalarni tayyorlashni boshlashdan oldin, men sizga birinchi navbatda INSTALL faylini ochib, tanishib chiqishingizni maslahat beraman, siz ko'p narsani topasiz. foydali ma'lumotlar, bu fayl dasturni qanday o'rnatishni, qanday buyruqlarni bajarish kerakligini va juda ko'p qiziqarli narsalarni tasvirlaydi. Endi men sizga qo'shimcha paketni o'rnatishingizni maslahat beraman - auto-apt, bu siz uchun juda ko'p muntazam ishlarni bajaradi.
sudo apt-get install auto-apt

Men uchun juda ko'p muntazam ishlarni qilish nimani anglatadi, siz so'raysiz, agar dastur manbasi konfiguratsiyasini ishga tushirish ushbu paketning prefiksi bilan, masalan, quyidagi shaklda:

Auto-apt -y run ./configure

Albatta, siz ushbu paketning yordamisiz konfiguratsiyani amalga oshirishingiz va oddiygina buyruqni bajarishingiz mumkin:

./configure

Agar siz konfiguratsiyani prefiks bilan amalga oshirsangiz - auto-apt -y run, keyin yig'ish uchun manbalarni tayyorlash da boʻlib oʻtadi avtomatik rejim, ya'ni bu buyruq avtomatik ravishda siz uchun barcha kerakli fayllar va kutubxonalarni yuklab olishi va o'rnatishi va hamma narsani qondirishi mumkin. bog'liqliklar qaysi talab qilinadi.

  • 3. Haqiqiy ishda hamma narsa unchalik silliq emas, balki bir holatda hamma narsa yaxshi ketadi va yig'ish uchun manba kodini tayyorlash bosqichi Bu xatosiz o'tadi, lekin boshqa hollarda va bu ko'pchilik bo'lsa, siz turli xil xatolarga duch kelasiz, masalan, dastlabki kodni keyingi tayyorlash uchun u yoki bu paket etarli emas. Ko'pgina hollarda, etishmayotgan paketning nomi yoziladi.

Biz yo'qolgan paketni buyruq bilan o'rnatishga harakat qilamiz:

Sudo apt-get install package_name

Yuqoridagi buyruqni bajarishda paket aniqlanmasa, quyidagi kombinatsiya tez-tez yordam beradi; biz keshda etishmayotgan paketlarni qidiramiz:

Apt-cache qidiruv pakage_name

  • Ushbu buyruqni bajarganingizdan so'ng, siz mos paketni topishingiz mumkin, ko'pincha siz mos paketni topa olmaysiz, lekin siz paketning aniq nusxasini topishingiz mumkin, lekin dev prefiksi ya'ni paketga o'xshash paket_nomi-dev va undan qaramliklarni qondirish uchun foydalanishingiz mumkin.
  • 4. Qurilish uchun manbalar konfiguratsiyasini muvaffaqiyatli tugatgandan so'ng, paketni o'rnatish tavsiya etiladi o'rnatishni tekshiring bu sizning tarqatish uchun dastur paketini yig'ishni osonlashtiradi.
sudo apt-get install tekshiruvini o'rnating

Paketni o'rnating, keyin buyruqni bajarishingiz mumkin:

O'rnatishni tekshiring - D

  • Xususiyat -D deb paketini, atributini yaratadi -R Fedora, RHEL, ASP Linux, ALT Linux, Mandriva, openSUSE tarqatishlarida ishlatiladigan rpm paketini yaratadi, qo'shimcha atribut ham mavjud -S Bu Slackware-da ishlatiladigan paketni yaratadi.

Mening holimda Ubuntu-da ishlayapman va buyruqni bajardim atribut - D, keyin biz dasturni tayyor Deb formatidagi paketga yig'amiz, bizga aniqlovchi ma'lumotlar kerak bo'ladi, masalan, paketga tavsif qo'shish, chunki siz uni yig'ayotganingiz va shunga mos ravishda tavsif butunlay toza va , go'yo sizdan bu qanday dastur nima uchun ekanligi haqida qisqacha ma'lumot berish talab qilinadi. Mening holatimda, men tekshirganimdek, quyidagi maydonlar ham avtomatik ravishda to'ldiriladi:

1 - Xulosa: [ EOF ] 2 - Ism: [ gimp ] 3 - Versiya: [ 2.9.2 ] 4 - Reliz: [ 1 ] 5 - Litsenziya: [ GPL ] 6 - Guruh: [ checkinstall ] 7 - Arxitektura: [ i386 ] 8 - Manba joylashuvi: [ gimp-2.9.2 ] 9 - Muqobil manba manzili: 10 - Talab qiladi: 11 - Taʼminlaydi: [ gimp ] 12 - Mojarolar: 13 - Oʻzgartirishlar:

  • Ko'rib turganingizdek, qurishdan oldin konfiguratsiya muvaffaqiyatli yakunlanganmi yoki yo'qmi, qanoatlantirilmagan bog'liqliklar yoki boshqa qarama-qarshiliklar mavjud bo'lsa, tekshirish o'tkaziladi; agar hamma narsa yaxshi bo'lsa, paket muammosiz quriladi.

Men uni paketni yaratmasdan, buyruqlarni bajarmasdan o'rnatdim:

O'rnatishni amalga oshiring

Agar o'chirmoqchi bo'lsangiz o'rnatilgan dastur, siz buyruqni bajarishingiz kerak:

O'chirishni amalga oshiring

yuqoridagi buyruq avtomatik ravishda siz o'rnatgan dastur bilan bog'liq bo'lganlarni o'chirib tashlaydi va uchinchi tomonning hech narsasiga ta'sir qilmaydi, kataloglar bo'ylab ishlamaslik va uni siz ishlagan, ya'ni konfiguratsiyani tayyorlagan dastur katalogidan ishga tushirish tavsiya etilmaydi. , va boshqalar.

Garchi hamma narsa xatosiz o'tgan bo'lsa-da, butun jarayon juda uzoq davom etdi, Gimp-ni manba kodidan o'rnatgunimga qadar taxminan 20 daqiqa davom etdi, men borib kofe tayyorlashga va o'rnatish jarayonini tomosha qilishga muvaffaq bo'ldim, hamma narsa uzoq vaqt davomida sodir bo'ladi. juda ko'p ekanligi turli papkalar dastur manba fayllarini tarqatadi, har bir fayl o'z maqsadiga ega va ma'lum bir katalogda joylashgan bo'lishi kerak, shuning uchun make install ni bajargandan so'ng, kerakli kataloglarga minglab manba fayllarni o'rnatish jarayoni sodir bo'ladi.

Ilovani manbadan o'rnatish shunday bo'ladi, ha, bir qarashda hammasi unchalik oddiy emas, men buni oson bo'ladi demadim, lekin agar urinib ko'rsangiz, fikrlash va yechim topish usullarini juda yaxshi rivojlantiradi. berilgan vaziyat, bu hatto juda yaxshi.

Bu, ehtimol, hammasi, agar sizda yuqoridagi material bo'yicha savollaringiz bo'lsa yoki siz o'rnatishga harakat qilsangiz va xatolarga duch kelsangiz, materialga sharhlarda so'rang, biz birgalikda yechim izlaymiz.

Xulosa shuki, "make install" yoki "sudo make install" ko'rinishidagi bu buyruqni zamonaviy distributorlarda ishlatib bo'lmaydi.

Ammo o'rnatish qo'llanmalarida dasturlarning mualliflari ushbu buyruqni ishlatishingiz kerakligini yozadilar, siz aytishingiz mumkin. Ha, yozadilar. Ammo bu faqat ular sizning qanday taqsimotingiz borligini yoki umuman tarqatishmi yoki yo'qligini bilmasligini anglatadi, ehtimol siz sektaga qo'shilgansiz va LFS o'qishni chekgansiz va endi o'zingizning xtonik tizimingiz uchun ularning yaratilishini tuzishga qaror qildingiz. Make install - bu ko'pincha noto'g'ri bo'lsa ham, buni qilishning universal usuli.

Lirik chekinish

Ma'lumki, uchun normal ishlash Ko'pgina dasturlar nafaqat kompilyatsiya qilinishi, balki tizimga to'g'ri o'rnatilishi ham kerak. Dasturlar ma'lum joylarda kerakli fayllarni topishni kutadi va ko'pchilik *nix tizimlarida bu joylar kompilyatsiya vaqtida kodga qattiq kodlangan. Bu jihatdan tashqari, linux/freebsd/whatever-da o'rnatish jarayonining Windows va MacOS-dan asosiy farqi shundaki, dastur shunchaki bir nechta fayllarni Program Files yoki /Applications-dagi alohida katalogga joylashtirmaydi, balki "tarqaladi". butun fayl tizimida o'zi. Kutubxonalar lib-ga, bajariladigan fayllar qutiga, konfiguratsiyalar va boshqalarga, turli xil ma'lumotlar var-ga o'tadi va hokazo. Agar siz to'satdan uni yangilashingiz kerak bo'lsa, unda bularning barchasi birinchi navbatda qandaydir tarzda tozalanishi kerak, chunki ... foydalanish yangi versiya Eski fayllarning qoldiqlari oldindan aytib bo'lmaydigan oqibatlarga olib kelishi mumkin, ko'pincha yaxshi emas. Ushbu hodisaning ehtimoli unchalik yuqori emas, lekin bu sizga ishlab chiqarish serverida kerakmi?

Xo'sh?

Shunday qilib, agar siz o'rnatishni to'g'ridan-to'g'ri make install orqali amalga oshirgan bo'lsangiz, dasturiy ta'minotni olib tashlash yoki yangilash odatiy holdir qila olmaysiz. Bundan tashqari, eski versiyaning yangi versiyasini o'rnatish katta ehtimollik bilan bo'ladi konfiguratsiyalardagi o'zgarishlaringizni qayta yozadi. make install o'zi aytilgan narsani to'liq bajaradi - fayllarni kerakli joylarga o'rnatadi, biror narsa borligiga e'tibor bermaydi. Ushbu jarayondan so'ng, qaerga va hazm bo'ladigan shaklda joylashtirilganligi haqida hech qanday ma'lumot olish mutlaqo mumkin emas. Ba'zan, albatta, Makefile o'chirish harakatini qo'llab-quvvatlaydi, lekin bu unchalik keng tarqalgan emas va u to'g'ri ishlashi haqiqat emas. Bundan tashqari, o'chirilmagan manba daraxtini saqlash va o'chirish uchun qurish qoidalari qandaydir g'alati.

Qanday kurashish kerak?

Distribyutsiyalardagi paketlar ba'zan yangilanib turadiganligi sababli, bu muammoni hal qilish uchun ular paket menejeri kabi narsalarni o'ylab topishdi. Uni ishlatganda, o'rnatish quyidagicha amalga oshiriladi:
  1. ma'lum bir tarzda shakllangan arxiv olinadi
  2. undan nima ekanligi, qaysi versiya ekanligi, nimaga bog'liqligi, nimaga zidligi, o'rnatish/o'chirish/konfiguratsiya qilish uchun biron-bir skriptni ishga tushirish zarurligi va hokazolar haqida ma'lumotlar olinadi.
  3. To'g'ridan-to'g'ri o'rnatish bosqichlari davom etmoqda
  4. Qaerda va nima etkazib berilganligi haqidagi barcha ma'lumotlar paket menejeri ma'lumotlar bazasiga qo'shiladi.

Bunday holda, yangilashda siz keraksiz narsalarni og'riqsiz olib tashlashingiz mumkin va shu bilan birga tizimda konfiguratsiya sifatida belgilangan fayllar o'zgarganligini ko'rishingiz va yangi versiyada ularning mazmuni boshqacha bo'lsa, nima qilish kerakligini so'rashingiz mumkin. Bundan tashqari, paket menejeri boshqa paketni o'rnatishda bitta paketning fayllarini qayta yozishga ruxsat bermaydi. Umuman olganda, u juda ko'p foydali narsalarni qila oladi.

Agar siz johillik/dangasalik tufayli ko'rsatmalardan nusxa ko'chirgan va joylashtirishni amalga oshirsangiz, unda tizimda paket menejeri bilmagan fayllar paydo bo'ladi. Bu shuni anglatadiki, agar ilgari sanab o'tilgan narsalar siz uchun etarli bo'lmasa.

Nima qilish kerak?

Siz, albatta, manba daraxtini shunday sozlashingiz mumkinki, hamma narsa /opt/mycoolapp/-da o'rnatiladi va keyin, agar kerak bo'lsa, uni qo'lda o'chiring, lekin bu erda juda ko'p yoqimsiz narsalar paydo bo'lishi mumkin. dastur kutubxonalaringizni yuklay olishini kutadi va yuklovchi ular joylashgan katalog haqida hech narsa bilmaydi, dastur muallifi buni kutishi mumkin, masalan, agar u faylni $ prefiks/share ichiga qo'ysa. /xsessions/, keyin displey menejeri uni oladi. Pkgconfig va boshqalar uchun yo'llarni eslatib o'tmaslik kerak.

Shunday qilib, siz paketni yig'ishingiz kerak.

Bu bilan ovora bo'lishga vaqtim yo'q, yana o'rnatganim ma'qul, hammasi oddiy va tushunarli!

Tinchlaning, tinchlaning. U bizning oyoqlarimizga bog'langan. Hamma narsa birinchi qarashda ko'rinadigan darajada qo'rqinchli va murakkab emas.
o'rnatishni tekshiring
Make install o'rniga ishga tushirilgan ushbu ajoyib yordamchi dastur bir nechta savollarni beradi, shundan so'ng u paketni tuzadi va o'rnatadi. Hammasi shu, yangilash paytida siz eski keraksiz narsalarni tozalashda hech qanday muammoga duch kelmaysiz.
Deb paketini qo'lda yaratish
Agar siz bunday avtomatlashtirishga ishonishga moyil bo'lmasangiz (ba'zida bu hali ham buzilib ketadi) yoki siz bir nechta o'zgartirishlar kiritmoqchi bo'lsangiz, lekin paketlarni qurishning oddiy jarayoni bilan shug'ullanish uchun hali ham dangasa bo'lsangiz, paketni qo'lda yig'ishingiz mumkin. Men uni Debian-ga asoslangan tizimlar uchun qurish usulini taqdim etaman, chunki men ular bilan yaxshi tanishman. Bu mafkuraviy jihatdan to'g'ri emas, lekin chiqish qo'shimcha ob'ektlardan foydalanmasdan butunlay to'g'ri paketdir. Bu quyidagicha amalga oshiriladi.
Birinchidan, biz dasturiy ta'minotni configure yoki autogen.sh uchun oldindan belgilangan --prefix=/usr va --exec-prefix=/usr parametrlari bilan yig'amiz.
Keyinchalik, biz uni vaqtinchalik katalogga o'rnatamiz. Biz yozamiz:

Fakeroot o'rnatishni DESTDIR=`pwd`/tempinstall qiling
Shundan so'ng biz yangi yaratilgan katalogdagi barcha fayllar to'plamini olamiz. Aytgancha, biz hozir soxta muhitdamiz, ya'ni siz hech qanday cheklovlarsiz fayllar egasini va kirish huquqlarini o'zgartirishingiz mumkin, ammo jismonan siz tizimning egasi bo'lib qolasiz. Fakerot sessiyasi ichidagi dasturiy ta'minot o'zgartirilgan ma'lumotlarni oladi, bu esa to'g'ri huquqlarga ega fayllarni arxivlash imkonini beradi.
Keyin, "paket ildizida" DEBIAN katalogini yarating va /etc ga DEBIAN/conffiles ichiga kirishi kerak bo'lgan barcha fayllar ro'yxatini qo'shing:

Cd tempinstall mkdir DEBIAN find etc | sed "s/^/\//" > DEBIAN/conffiles
Keyin biz quyidagi tarkibga ega DEBIAN/control faylini yaratamiz:

Agar kerak bo'lsa, u erda preinst, postinst, prerm va postrm skriptlarini ham yaratishingiz mumkin.

Hammasi shu, biz dpkg -b tempinstall dasturini qilamiz va chiqish tempinstall.deb bo'lib, uni to'g'ri o'rnatish, yangilash yoki o'chirish uchun dpkg -i dan foydalanishingiz mumkin.

Manba kodlari paketini oldindan yaratishning "to'g'ri" jarayoni ushbu eslatma doirasidan tashqarida va shuning uchun tavsiflanmaydi, lekin sizning maqsadlaringiz uchun odatda kerak emas.

Xulosa

Ko'rib turganingizdek, bu erda hech qanday murakkab narsa yo'q, ammo ushbu qadamlarni bajarish sizni kelajakda juda ko'p muammolardan xalos qiladi.



 


O'qing:



Android uchun minecraftni yuklab oling: barcha versiyalari

Android uchun minecraftni yuklab oling: barcha versiyalari

- bu Android qurilmalari uchun mavjud bo'lgan juda mashhur o'yin! An'anaga ko'ra, unda siz band bo'lgan qahramonni boshqarasiz...

Minecraft 1 uchun modlarni yuklab oling

Minecraft 1 uchun modlarni yuklab oling

Ushbu bo'limda siz Minecraft Pocket Edition o'yiniga kerak bo'lgan modni mutlaqo bepul va tez yuklab olishingiz mumkin. Bizning veb-saytimizda ...

ModPack Zeus002 mods yuklab olish bu yerda World Of Tanks mod to'plami

ModPack Zeus002 mods yuklab olish bu yerda World Of Tanks mod to'plami

Tankerlar orasida eng mashhur bo'lim - bu WoT uchun turli xil mods to'plamlari. WoT uchun mod birikmalarining turlari Mashhur video ishlab chiqaruvchilar tomonidan yaratilgan....

Nega minecraft men uchun ishlamaydi?

Nega minecraft men uchun ishlamaydi?

Minecraft-ni ishga tushirish bilan bog'liq muammolar tez-tez uchraydi. Buning bir qancha sabablari bor. Kompyuterda Java qo'shimchasi bo'lmasligi mumkin, ularsiz ...

tasma tasviri RSS