Sayt bo'limlari
Muharrir tanlovi:
- Mening iPhone-da faqat bitta dinamik bor - nima qilishim kerak?
- Mac OS da tilni almashtirish
- Mac uchun flesh-disk fayl tizimini qanday tanlash mumkin
- Telefon kamerasidagi tirnalishlarni qanday olib tashlash mumkin?
- Mac OS-da dasturlarni qanday o'chirish mumkin - To'liq qo'llanma
- Mac OS X mac os klaviatura yorliqlari uchun foydali klaviatura yorliqlari
- Windows-ni Mac-ga qanday o'rnatish kerak?
- Nima uchun iPad yoqilmaydi va bunday holatlarda nima qilish kerak?
- MacOS-da xostlar faylini qanday ochish va tahrirlash
- Tananing o'zgarishi nima?
Reklama
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:
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 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'rnatishDEB 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'rnatishAPT 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'rnatishMandriva 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:
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 :) ./configureUshbu 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= IN fayl tizimi Ko'pgina dasturlar konfiguratsiya qilingan uchta asosiy prefiks mavjud, xususan:
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 qilishEng 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'rnatishUshbu 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'zUchta 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.
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
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.
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
Paketni o'rnating, keyin buyruqni bajarishingiz mumkin: O'rnatishni tekshiring - D
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:
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 chekinishMa'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:
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 tekshiringMake 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 yaratishAgar 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 Cd tempinstall mkdir DEBIAN find etc | sed "s/^/\//" > DEBIAN/conffiles 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. XulosaKo'rib turganingizdek, bu erda hech qanday murakkab narsa yo'q, ammo ushbu qadamlarni bajarish sizni kelajakda juda ko'p muammolardan xalos qiladi. |
O'qing: |
---|
Mashhur:
Yangi
- Mac OS da tilni almashtirish
- Mac uchun flesh-disk fayl tizimini qanday tanlash mumkin
- Telefon kamerasidagi tirnalishlarni qanday olib tashlash mumkin?
- Mac OS-da dasturlarni qanday o'chirish mumkin - To'liq qo'llanma
- Mac OS X mac os klaviatura yorliqlari uchun foydali klaviatura yorliqlari
- Windows-ni Mac-ga qanday o'rnatish kerak?
- Nima uchun iPad yoqilmaydi va bunday holatlarda nima qilish kerak?
- MacOS-da xostlar faylini qanday ochish va tahrirlash
- Tananing o'zgarishi nima?
- Nima uchun o'yinlar Windowsda ishga tushmaydi Nima uchun o'yinlar ishlamaydi