Тохируулах, хийх, суулгах зэрэг гайхалтай ид шид. Линукс дээр програм суулгах (.tar, .gz, .bz, RPM болон DEB) Шаардлагатай програм хангамж

Ихэнхдээ шаардлагатай багцуудыг зөвхөн эх хэлбэрээр нь олж авах боломжтой бөгөөд энэ нийтлэлд эх кодоос багц суулгах аргыг тайлбарладаг.

Хайрцагнаас задлах

Программуудыг ихэвчлэн багцалсан архивт тараадаг бөгөөд эдгээр нь өргөтгөлтэй файлууд юм

.tar.gz (заримдаа .tgz) .tar.bz2

Архивлагч, савлагч хоёрын ялгааг та ойлгох хэрэгтэй.

Програм нь лавлах болон файлуудыг архивлахад ашиглагддаг давирхай; ажлын үр дүн нь өргөтгөлтэй файл юм .tar. Товчоор хэлбэл, энэ нь файлын системийн хуулбар юм - нэг файлд байрлуулсан тэдгээрийн шинж чанар, хандалтын эрх бүхий лавлах ба файлууд.

Энэ файл нь архивлагдсан файлуудын нийт хэмжээнээс арай том хэмжээтэй байх болно. Тиймээс (эсвэл өөр шалтгааны улмаас) тэд өгөгдөл алдалгүйгээр файлын хэмжээг багасгах боломжийг олгодог багц програмуудыг ашигладаг.

Хөтөлбөр давирхайзадлах боломжтой тул залгах шаардлагагүй буу, эсвэл та зүгээр л програмыг хэлж болно давирхайфайлыг эхлээд задлах ёстой. Жишээлбэл, тушаал

tar -xvf< some_app_name>.tar.gz

тэр даруй задалж, задлах болно. Файл ба өргөтгөлүүдийн ялгаа

.tar.gz

.tar.bz2

зөвхөн өөр өөр савлагч ашиглаж байсан, програм давирхайавтоматаар шахах аргыг тодорхойлдог ба нэмэлт сонголтуудэнэ тохиолдолд шаардлагагүй.

Багцыг задласны дараа та үүссэн лавлах руу очих хэрэгтэй бөгөөд доор тайлбарласан бүх тушаалуудыг багцын эх код бүхий лавлах хэсэгт гүйцэтгэнэ.

CD< имя_пакета>*

Багцыг бүтээх

GNU/Linux дээр програм бүтээхийн тулд та (ихэнхдээ) програмыг ашигладаг хийх-аас зааварчилгааг ажиллуулдаг Makefile, гэхдээ олон GNU/Linux түгээлтүүд байдаг бөгөөд тэдгээр нь бүгд өөр өөр байдаг тул программыг бүтээхийн тулд түгээлт бүрийн хувьд номын сан болон толгой файлууд байрлах замыг тусад нь зааж өгөх хэрэгтэй. Программистууд түгээлт бүрийг судалж тус тусад нь үүсгэж чадахгүй Makefile. Тиймээс тэд системийг "судлах", олж авсан мэдлэгийнхээ дагуу бүтээдэг тохируулагчдыг гаргаж ирэв. Makefile. Гэхдээ тэд тохируулагч дээр зогссонгүй, тохируулагчийн тохируулагчийг гаргаж ирэв ... тэд энд л зогссон.

Бүтээхийн тулд бидэнд хөрвүүлэгч хэрэгтэй: тэдгээр нь багцын хамааралд заасан байдаг барих-зайлшгүй, тиймээс үүнийг бүх хамааралтай суулгахад хангалттай. Хэрэгтэй хэвээр байна autoconfТэгээд автомашин үйлдвэрлэх.

Тиймээс, эх сурвалжаас ямар нэг зүйлийг бүтээхийн тулд эхлээд тохируулагчийг бүтээх хэрэгтэй; Тохируулагчийг хэрхэн бүтээх талаар configure.in файлд тайлбарласан болно. Тохируулагчийг бүтээхийн тулд та ажиллуулах хэрэгтэй

./ bootstrap ./ autogen.sh

Хэрэв архивт ийм скрипт байхгүй бол та дараах тушаалуудыг дарааллаар нь ажиллуулж болно.

aclocal autoheader automake --gnu --add-missing --copy --foreign autoconf -f -Wall

Эдгээр бүх тушаалууд нь файлыг ашигладаг configure.in. Эдгээр командуудыг гүйцэтгэсний дараа файл үүснэ тохируулах. Үүний дараа та бүх хамаарал байгаа эсэхийг шалгахын тулд тохируулагчийг ажиллуулж, нэмэлт бүтээх сонголтуудыг (боломжтой бол) суулгаж, суулгалтын үр дүнг харах хэрэгтэй (заавал биш - байхгүй байж болно).

./ тохируулах

Тохируулагч нь олж авсан мэдлэг болон файл дээр тулгуурлан Makefile-г бүтээх болно makefile.am. Та тохируулагч руу програмын эх сурвалжид өгөгдсөн сонголтуудыг дамжуулж болно, энэ нь танд програмын зарим функцийг идэвхжүүлэх/идэвхгүй болгох боломжийг олгодог; ихэвчлэн командын тусламжтайгаар тэдгээрийн талаар олж мэдэх боломжтой.

./ тохируулах --help

гэх мэт стандарт сонголтуудын багц байдаг

Угтвар =

Суулгахад ямар санг ашиглахыг зааж өгдөг. Ихэвчлэн Ubuntu-д зориулагдсан

--prefix =/ usr --prefix =/ usr/ локал

ҮГҮЙтөгсгөлд нь таслах! Одоо та командын тусламжтайгаар програмыг өөрөө бүтээх процессыг эхлүүлж болно

хийх

Байнгын хэрэглэгчийн эрх нь бүтээхэд хангалттай. Бүтээлийн төгсгөлийг консол дээрх тушаалууд "санамсаргүй байдлаар" гүйцэтгэхээ больж, ямар ч үг байхгүй байх мөч гэж үзэж болно. алдаа. Одоо бүх зүйл эмхэтгэж, суулгахад бэлэн боллоо.

Суурилуулалт

Үүнд зарцуулсан хүчин чармайлт Зөв суурилуулалтирээдүйд суулгасан програм хангамжийг устгах эсвэл шинэчлэх тохиолдолд тэд өөрсдөөсөө илүү төлөх болно.

Зөв суурилуулалт(Сонголт №1)

Хэрэгслийг ашиглан суурилуулах суулгацыг шалгана уу. Суулгахын тулд:

sudo apt-get суулгацыг шалгана уу

Хасах энэ арга: суулгацыг шалгана ууПрограмын зохиогч тусгай суулгах скрипт бичиж чаддаг тул бүх эх сурвалжийг ойлгодоггүй суулгацыг шалгана уутэднийг ойлгохгүй.

Deb багц үүсгэж суулгахын тулд та ажиллуулах хэрэгтэй

sudo checkinstall

Зөв суурилуулалт (Сонголт No2)

Гараар deb багцыг хурдан үүсгэ.

Өмнөх аргын гол ялгаа нь энэ тохиолдолд та багцыг гараар үүсгэж, хийсэн бүх өөрчлөлтийг хянах явдал юм. Хэрэв эх сурвалжууд багцыг бүтээхийг дэмждэггүй бол энэ арга нь танд тохирно суулгацыг шалгана уу.

    Бид түр зуурын санд суулгаж, суулгасан файлуудыг бүхэлд нь авдаг.

fakeroot make install DESTDIR=`pwd`/tempinstall

    "Багцын үндэс" хэсэгт DEBIAN лавлах үүсгээд /etc DEBIAN/conffiles руу орох ёстой бүх файлуудын жагсаалтыг нэмье:

cd tempinstall mkdir DEBIAN олох гэх мэт | sed "s/^/\//" > DEBIAN/ conffiles

    Дараа нь бид дараах агуулгатай DEBIAN/control файлыг үүсгэнэ.

Багц: package_name Хувилбар: 1.2.3 Архитектур: amd64/i386/armel/all Maintainer: Та нэрээ оруулж болно, хог болно, гэхдээ хоосон орхивол dpkg хараана. Хамааралтай: Энд та багцын жагсаалтыг оруулж болно. таслалаар тусгаарлагдсан. Тэргүүлэх чиглэл: нэмэлт Тайлбар: Та бас ямар нэг зүйл оруулах хэрэгтэй бөгөөд ингэснээр ямар ч анхааруулга байхгүй болно

    Шаардлагатай бол та тэндээс preinst, postinst, prerm, postrm скриптүүдийг үүсгэж болно.

    Бид deb багц үүсгэж, үүний тулд бид дараахийг гүйцэтгэдэг:

dpkg -b tempinstall

    Гаралт нь tempinstall.deb бөгөөд бидний суулгадаг

sudo dpkg -i tempinstall.deb

Суурилуулалт (сонголт №3)

Буруу суурилуулалт

Энэ аргын сул тал нь хэрэв та шууд дамжуулан суулгах юм бол суулгац хийх, тэгвэл та багцыг устгах эсвэл шинэчлэх боломжгүй байх магадлалтай. Үүнээс гадна суурилуулалт шинэ хувилбарХуучны дээр таны тохиргооны өөрчлөлтийг дарж бичих магадлалтай. make install нь яг хийх ёстой зүйлээ хийдэг - энэ нь файлуудыг зөв газарт суулгаж, ямар нэгэн зүйл байгаа гэдгийг үл тоомсорлодог. Энэ процессын дараа хаана, юуг шингээж авах боломжтой байрлуулсан талаар ямар ч мэдээлэл олж авах нь туйлын боломжгүй юм. Заримдаа мэдээжийн хэрэг Makefile нь устгах үйлдлийг дэмждэг боловч энэ нь тийм ч түгээмэл биш бөгөөд энэ нь зөв ажиллаж байгаа нь үнэн биш юм. Нэмж дурдахад та задалсан эх модыг хадгалах, устгах дүрмийг бий болгох шаардлагатай болно.

Суулгахын тулд та хийх хэрэгтэй

sudo суулгаарай

Энэ аргыг ашиглан суулгасан багцыг устгахын тулд та үүнийг програмын эх сурвалжийн үндсэн директорт (make install ажиллуулсан газар) ажиллуулах ёстой.

sudo хийх устгах

Алдаа

Ихэнхдээ тохиргооны үе шатанд тохируулагч тодорхой номын сан байхгүй байна гэж мэдээлдэг. Түүний мэдээлдэг номын сангийн нэр нь Ubuntu дээрх багцын нэртэй үргэлж таарч байдаггүй. Өөрийн туршлагаас харахад lib угтвараас бусад шаардлагатай багцыг Synaptic-аас хайж олохыг зөвлөж байна.Хэрэв та нэрнээс нь -dev угтвартай ялгаатай хэд хэдэн багц олдвол -dev багцыг (ихэвчлэн энэ нь) суулгах хэрэгтэй. мөн хөгжүүлэлтийн бус багцыг агуулна). Та мөн http://packages.ubuntu.com/ ашиглан багцын агуулгыг хайхдаа номын сангийн нэрийг оруулан хайлт хийх боломжтой. Үүний нэгэн адил хэрэв та dev болон non-dev-г олвол хоёулаа хэрэгтэй болно. За, эсвэл зүгээр л Google-ээс хай.

Шаардлагатай програм хангамж

Тайлбарын төгсгөлд мм бичсэн багцууд нь C++ программд зориулагдсан багцууд юм. bmpx-ийн жагсаалт, гэхдээ бараг бүх GTK2/Gnome програмд ​​тохиромжтой. Хэрэв та үүнийг угсарч чадахгүй бол энэ жагсаалтыг хараад суулгасан зүйлтэйгээ харьцуулаарай.

Эмхэтгэх:Ажиллах цаг:
Xlibx11-devlibx11-6
GlibMMlibglibmm-2.4-devlibglibmm-2.4-1c2a
GTK+libgtk2.0-dev,gtk-doc-toolslibgtk2.0-0
GTKMMlibgtkmm-2.4-devlibgtkmm-2.4-1c2a
Гладlibglade2-devlibglade2-0
GladeMMlibglademm-2.4-devlibglademm-2.4-1c2a
XMLlibxml2-devlibxml2
XML++libxml++2.6-devlibxml++2.6c2a
DBuslibdbus-1-dev,libdbus-glib-1-devlibdbus-1-2,libdbus-glib-1-2
Алсаlibasound2-devlibasound2
ХАЛlibhal-dev,libhal-storage-devlibhal1,libhal-storage1
Гаминlibgamin-devlibgamin0
Неонlibneon25-devlibneon25
TagLiblibtagc0-devlibtagc0
Эхлүүлэх-Мэдэгдэхlibstartup-notification0-devlibstartup-notification0
Тус дэмlibboost-dev, libboost-filesystem-devlibboost-файл систем1.33.1
MusicBrainzlibmusicbrainz4-devlibmusicbrainz4c2a
GStreamerlibgstreamer0.10-dev,libgstreamer-plugins-base0.10-devlibgstreamer0.10-0,libgstreamer-plugins-base0.10-0

Android-д зориулсан хөгжүүлэлттэй танилцах хүсэл байсан. Би Android Studio-г татаж аваад задлаад устгасан. Би өөр суулгацын хувилбаруудыг хайхаар шийдсэн. Хайж байхдаа би Ubuntu Make (өмнө нь Ubuntu Developer Tools Center)-тэй таарсан бөгөөд энэ товч тэмдэглэлд би энэ тухай танд хэлэхийг хүсч байна.

Ubuntu Developer Tools Center нь Ubuntu 14.10 (Utopic Unicorn)-ийн хамт мэдээгээр цацагдсан боловч миний бодлоор энэ нь олны анхаарлыг татсангүй. Хэсэг хугацааны дараа уг төслийг Ubuntu Make гэж нэрлэж, 0.4 хувилбар болгон өргөжүүлэв. Энэхүү хөгжүүлэлтийг Canonical компанийн програм хангамжийн инженер Дидье Рош гүйцэтгэв. Ubuntu Make нь Python 3.4 дээр бичигдсэн нь бас анхаарал татаж байна.

Төслийн гол зорилго нь Ubuntu дээр нийтлэг хөгжүүлэгчийн хэрэгцээг хурдан бөгөөд хялбар суулгах явдал юм. Хэдийгээр "ерөнхий хэрэгцээ" -ээс хол байгаа ч (суулгах боломжтой багцуудын жагсаалт бага хэвээр байгаа) "хурдан бөгөөд энгийн" бүх зүйл зүгээр.

Асаалттай Энэ мөч Ubuntu Make ашиглан та дараахийг суулгаж болно:

  • Android Studio
  • хиртэлт
  • IntelliJ Idea Олон нийтийн хэвлэл
  • PyCharm Олон нийтийн хэвлэл
  • Google-ийн хөрвүүлэгч
  • Stencyl тоглоом хөгжүүлэгч IDE

Суурилуулалт

Ubuntu 15.04 дээр ubuntu-make нь бэлэн байгаа бөгөөд 14.04 ба 14.10 хувилбарын хэрэглэгчид ppa-аас суулгахыг хүсэх болно:

Sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get суулгах ubuntu-make

Хэрэглээ

Ubuntu-make ашиглан суулгах нь маш энгийн. Учир нь Android суулгацууд Studio зүгээр л терминал дээр ажилладаг:

Android-г ашиглах
Жаахан хүлээгээд үр дүн нь:

Зураас болон openjdk доторх дүрс (хэрэв Java системд байхгүй байсан бол) багтсан. Эхлүүлсний дараа "студи" нь sdk-г татаж, 1.0.2 хувилбар руу шинэчилсэн. "Сайн уу ертөнц" утсан дээр гарч, функциональ тест дууссан.

Голанг үүнтэй адил суулгасан:

PyCharm, Eclipse, Idea-ийн хувьд өөр нэг аргумент нэмэгдэх болно:

Umake ide pycharm

Багцыг устгахын тулд ижил мөрөнд "-r" аргументыг нэмнэ үү:

Umake ide pycharm -r

Үзэл бодол

Хэн нэгэн: "Хийх зүйл их байна. Архивыг татаж аваад задлаад зураас дээрх дүрсийг шалгаад Java дээр шалгана уу. Танд ubuntu make хэрэгтэй юу? Би зөвшөөрч байна, хийх зүйл их биш байж магадгүй, гэхдээ би багцыг өөртөө хэрэгтэй гэж үзсэн. Тэр миний цагийг хэмнэж, хэвшмэл байдлаасаа салсан. Танд ч бас хэрэг болно гэж найдаж байна.

Брянск Линукс хэрэглэгчдийн групп болон www.rm.pp.ru-ийн материал

Тархалт бүр нь цөмийг угсрах өөрийн гэсэн онцлогтой бөгөөд энэ нийтлэлийг Debian Etch дээр хэрхэн хийх талаар тусгайлан авч үзсэн болно. Энэ нь таны системд тодорхой функц эсвэл шинэ тоног төхөөрөмжийг дэмжих шаардлагатай үед цөмд тодорхой нөхөөсийг хэрхэн яаж хэрэглэх вэ гэсэн асуултыг мөн харуулж байна. Нийтлэл нь голчлон илүү бэлтгэгдсэн хэрэглэгчдэд зориулагдсан бөгөөд энэ арга нь зохих ёсоор ажиллах болно гэсэн баталгаа байхгүй бөгөөд тайлбарласан бүх үйлдэл, хариуцлага нь танд хамаарна.

  1. Анхаарна уу
  2. Засваруудыг хэрэглэж байна
  3. Цөмийн тохиргоо
  4. Цөмийг эмхэтгэж байна
  5. Шинэ цөм суулгаж байна
  6. Асуудлууд
  7. Холбоосууд

Анхаарна уу

Цөмийг угсрах хоёр аргыг тайлбарлах болно. Таны эсвэл өөр систем дээр суулгаж болох .deb багцуудыг угсрах эхний сонголтыг тайлбарлах болно. Хоёр дахь арга нь "уламжлалт" гэж нэрлэгддэг арга юм.

Нэгдүгээр арга. Цөмийг .deb багц болгон бүтээх

Цөмийг эмхэтгэхэд шаардлагатай багцуудыг суулгаж байна

Эхлээд багцын жагсаалтыг шинэчилье:

# apt-get шинэчлэлт

Бидэнд хэрэгтэй багцуудыг суулгацгаая:

# apt-get суулгах цөмийн багц libncurses5-dev fakeroot wget bzip2 build-essential

Цөмийн эх сурвалжийг татаж авах

/usr/src лавлах руу ороод www.kernel.org руу ороод хүссэн цөмийн хувилбараа сонгоно уу. Энэ тохиолдолд linux-2.6.23.1.tar.bz2 хувилбарыг авч үзэх болно. Татаж авах:

# cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.1.tar.bz2

Эх сурвалжуудыг задалж, бэлгэдлийн холбоос үүсгэцгээе:

# tar xjf linux-2.6.23.1.tar.bz2 # rm linux (өмнөх тэмдэгт холбоосыг устгах) # ln -s linux-2.6.23.1 linux # cd /usr/src/linux

Засваруудыг хэрэглэж байна

Үүнийг сонголтоор эсвэл шаардлагагүйгээр бүү хий!

Заримдаа одоо байгаа цөмд дэмжигдээгүй драйверууд эсвэл хэрэгслүүд шаардлагатай байдаг, жишээ нь виртуалчлалын технологи эсвэл одоогийн хувилбарт байхгүй бусад онцлог шинж чанарууд. Ямар ч тохиолдолд засвар гэж нэрлэгддэг засваруудыг (хэрэв байгаа бол) хэрэглэх замаар засч залруулж болно.

Тэгэхээр та шаардлагатай нөхөөсийг (жишээ нь, patch.bz2 гэж нэрлэе) /usr/src руу татсан гэж бодъё. Татаж авсан нөхөөсийг эх сурвалждаа хэрэглэцгээе (Та /usr/src/linux директорт байх ёстой):

# bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run # bzip2 -dc /usr/src/patch.bz2 | нөхөөс -p1

Эхний тушаал нь зөвхөн тест бөгөөд эх сурвалжид ямар ч өөрчлөлт оруулахгүй. Хэрэв эхний командын дараа алдаа гараагүй бол нөхөөсийг хэрэглэх хоёр дахь командыг ажиллуулж болно. Хэрэв эхний тушаалын дараа алдаа гарсан бол ямар ч тохиолдолд хоёр дахь командыг гүйцэтгэх ёсгүй!

Ингэснээр та цөмийн эх үүсвэрт засваруудыг хэрэглэж болно. Жишээлбэл, зөвхөн 2.6.23.8 цөмд байдаг зарим функцууд байдаг бөгөөд эх код нь шаардлагатай функцийг агуулаагүй боловч patch-2.6.23.8.bz2 гарсан. Та энэ нөхөөсийг 2.6.23 цөмийн эх үүсвэрт хэрэглэж болно, гэхдээ 2.6.23.1 эсвэл 2.6.23.3 гэх мэт биш. Та энэ талаар дэлгэрэнгүй унших боломжтой:

Угтвар (урьдчилсан засварууд) - альфа хувилбаруудтай тэнцэх; 3 оронтой хувилбар бүхий өмнөх бүрэн хувилбарын эх үүсвэрүүдэд засваруудыг хийх ёстой (жишээ нь, 2.6.12-rc4 нөхөөсийг 2.6.11 хувилбарын эх сурвалжид хэрэглэж болох боловч 2.6.11.10 хувилбарт хэрэглэх боломжгүй.)

Энэ нь хэрэв бид 2.6.23.8 цөмийг бүтээхийг хүсвэл 2.6.23 хувилбарын эх сурвалжийг татаж авах хэрэгтэй гэсэн үг (http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23) .tar.gz) хоёр дахь аргыг "уламжлалт" аргаар ашигласан!

2.6.23 цөмд 2.6.23.8.bz2 нөхөөсийг хэрэглэнэ:

# cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.22.8.bz2 # cd /usr/src/linux # bzip2 -dc /usr/ src/patch-2.6.23.8.bz2 | patch -p1 --dry-run # bzip2 -dc /usr/src/patch-2.6.23.8.bz2 | нөхөөс -p1

Цөмийн тохиргоо

Одоо байгаа зүйлийг ашиглах нь зүйтэй тохиргооны файлажиллаж байгаа цөм болон шинэ. Тиймээс бид одоо байгаа тохиргоог /usr/src/linux руу хуулна.

# make clean && make mrproper # cp /boot/config-`uname -r` ./.config # цэсийн тохиргоог хийх

Үүний дараа график цөмийн тохиргооны цэс ачаалагдах болно. Тохируулагч цэснээс "Өөр тохиргооны файлыг ачаалах" хэсгийг сонгоод "Ok" дээр дарна уу. Дараа нь (шаардлагатай бол) цэсээр дамжуулан цөмийн тохиргоонд шаардлагатай өөрчлөлтийг хийнэ үү (цөмийн тохиргооны дэлгэрэнгүйг www.google.com дээрээс олж болно). Та "Гарах" товчийг дарсны дараа "Та шинэ цөмийн тохиргоогоо хадгалахыг хүсч байна уу?" гэсэн асуулт гарч ирэх бөгөөд "Тийм" гэж хариулна уу.

Цөмийг эмхэтгэж байна

Цөмийг бүтээх нь зөвхөн хоёр тушаалаар хийгддэг:

# make-kpkg clean # fakeroot make-kpkg --initrd --append-to-version=-cybermind kernel_image kernel_headers

--append-to-version=-ийн дараа та дуртай нэрээ бичиж болно, гэхдээ энэ нь хасах тэмдэг (-) -ээр эхэлж, хоосон зайгүй байх ёстой.

.deb багцуудыг эмхэтгэх, бүтээх үйл явц нэлээд удаан үргэлжилж болно. Цөмийн тохиргоо болон таны процессорын чадвараас бүх зүйл шалтгаална.

initrd.img үүсгэхтэй холбоотой асуудлыг шийдэж байна

Саяхан Debian-д энд тайлбарласан аргын дагуу угсарсан цөм бүхий багцуудыг суулгасны дараа харгалзах /boot/initrd.img файл үүсгэгдээгүй алдаа гарчээ. Үүнийг аль хэдийн суулгасан цөмд засахын тулд initrd.img-г гараар үүсгэх хэрэгтэй:

update-initramfs -c -k<полная-версия-ядра>

"Ирээдүйд зориулсан" асуудлыг шийдэхийн тулд /etc/kernel/postinst.d/initramfs-tools файлын доор иш татсан хоёр дахь мөрийг харуулсан шиг тайлбар хийнэ үү:

# цөмийн багц нь нэмэлт арг дамжуулдаг; #[ -z "$2" ] || цөмийн багцын доор ажиллахгүйн тулд хакердах 0 гарах

Шинэ цөм суулгаж байна

Цөмийг бүтээх ажил амжилттай дуусмагц /usr/src директорт хоёр .deb багц үүснэ:

# cd /usr/src # ls -l

linux-image-2.6.23.1-cybermind_2.6.23.1-cybermind-10.00.Custom_i386.deb - бодит цөм өөрөө болон linux-headers-2.6.23.1-cybermind_2.6.23.1-cybermind-03tomom-0.80.Custom бусад модулиудыг бүтээхэд шаардлагатай цөмүүд (жишээлбэл, модулиудыг бүтээх үед nVidia драйверууд). Тэдгээрийг суулгах:

# dpkg -i linux-image-2.6.23.1-cybermind_2.6.23.1-cybermind-10.00.Custom_i386.deb # dpkg -i linux-headers-2.6.23.1-cybermind_2.6.23.1-cybermind.10.Cybermind.Custom

(Эдгээр багцуудыг одоо өөр систем дээр суулгаж болох бөгөөд дахин бүтээх шаардлагагүй болно.)

Суулгац дууссан, ачаалагчийн цэс, шинэ RAM диск болон цөм суурилуулах ажил автоматаар хийгдэнэ. Үлдсэн зүйл бол дахин ачаалах явдал юм:

# дахин ачаална

Хоёр дахь арга. "уламжлалт" арга

Бид "Цөм бүрдүүлэх" цэгээс өмнө дээр дурдсан бүх зүйлийг хийдэг.

# бүгдийг хийх # модулиудыг_суулгах # суулгах

Ердийнх шиг, цөмийн тохиргоо болон процессорын чадавхиас хамааран угсралт удаан үргэлжилж магадгүй юм.

Энэ аргын гол сул тал нь хэрэв та цөмийг байнга шинэчилдэг бол хэсэг хугацааны дараа тэдгээр нь олон тооны хуримтлагдаж, ашиглагдаагүйг нь устгахыг хүсэх болно. Үүнийг хөнгөвчлөхийн тулд та системд суулгасан цөм болон бусад файлуудыг "make modules_install" болон "make install" командуудыг ашиглан "Make modules_install" гэсэн командуудыг ашиглан "Deb багц" (эсвэл 2.6.27-ээс эхлэн хоёр цөм) болгон угсарч болно. Эхний арга, гэхдээ бид ашиглах болно Цөмийн скриптүүд энд байна:

# бүгдийг хийх # deb-pkg хийх

Хоёр .deb файл нь эх лавлахаас нэг түвшний дээгүүр директорт гарч ирнэ. Би цөмийг /usr/src/linux-2.6.27.10 санд угсарсан ба файлууд /usr/src/ санд гарч ирэв.

# linux-2.6.27.10_2.6.27.10-1_amd64.deb # linux-firmware-image_2.6.27.10-1_all.deb

Цөмийг тушаалаар суулгасан

# dpkg -i linux-2.6.27.10_2.6.27.10-1_amd64.deb

Хуучин цөмийг жишээлбэл, синаптикаас устгаж болно

Дараагийн алхмууд

Цөмийг эмхэтгэж суулгасан боловч одоо та RAM диск үүсгэх хэрэгтэй (үүнгүйгээр цөм зүгээр л ачаалахгүй) бөгөөд та GRUB ачаалагчийг шинэчлэх хэрэгтэй. Үүнийг хийхийн тулд дараахь зүйлийг хийнэ үү.

# depmod 2.6.23.1 # apt-get install yaird

RAM дискийг суулгана уу:

# mkinitrd.yaird -o /boot/initrd.img-2.6.23.1 2.6.23.1

Ачаалагчийг хялбар бөгөөд өвдөлтгүй шинэчилцгээе:

# update-grub

Ингээд л ачаалагч болон шинэ цөм бэлэн боллоо, дахин ачаалахад л үлдлээ.

# дахин ачаална

Асуудлууд

Хэрэв дахин ачаалсны дараа таны сонгосон шинэ цөм ачаалагдахгүй бол дахин ачаалж, өмнөх цөмөө сонгоод, ажиллаж байгаа цөмийг бүтээхийн тулд бүх процессыг дахин хийж үзээрэй. Энэ тохиолдолд /boot/grub/menu.lst доторх ажиллахгүй цөмийн мөрүүдийг устгахаа бүү мартаарай.

Мөн бусад системийг суулгах шаардлагатай нэмэлт програмууд. IN үйлдлийн системүүд Windows дээр бүх зүйл маш энгийн, дүрмээр бол програм хангамжийг суулгахад тусалдаг setup.exe нэртэй суулгагч байдаг. Гэхдээ Линукс дээр бүх зүйл арай өөр байдаг. Линукс дээр хэрхэн програм суулгах вэ?Одоо энэ асуултыг харцгаая.

Линукс нь хэд хэдэн төрлийн суулгалтын багцтай бөгөөд түгээлт бүр өөрийн гэсэн багц форматтай байдаг. Fedora, Mandriva, Red Hat, Suse түгээлтүүд нь Red Hat-ийн боловсруулсан стандарт Linux RPM суулгацыг ашигладаг. RPM багц файл нь ихэвчлэн нэртэй байдаг програмын_нэр-хувилбар.rpm.

Өөр нэг алдартай формат бол DEB юм. Debian, Ubuntu, Knoppix, Mepis програмуудад ашиглагддаг. Нэртэй program_name-version.deb.

Тэгээд бид архивт хандсан. Ихэвчлэн эдгээр нь .tar , .tar.gz , .tgz өргөтгөлүүд юм. Тэдгээрийг задалж, дараа нь суулгасан/эмхэтгэсэн байх ёстой.

Та супер хэрэглэгчийн хувьд програм суулгах процедурыг хийх хэрэгтэй.

Шуурхай навигаци

Debian, Ubuntu дээр програм суулгах

DEB багцтай ажиллах олон хэрэгсэл байдаг ч хамгийн түгээмэл хэрэглэгддэг нь apt-get бөгөөд энэ нь стандарт хэрэгслүүдэд багтсан байдаг. Програмыг суулгахын тулд дараах тушаалыг оруулна уу:

apt-get суулгах багц_нэр

Устгахад:

apt-get багц_нэрийг устгах

APT нь суулгах боломжтой бүх багцуудын локал мэдээллийн санг хадгалдаг бөгөөд тэдгээрийг хаанаас авах холбоосыг агуулдаг. Энэ мэдээллийн санг дараах тушаалаар үе үе шинэчлэх шаардлагатай.

apt-get шинэчлэлт

Компьютер дээрх хуучирсан багцуудыг (программуудыг) шинэчлэхийн тулд дараах тушаалуудыг оруулна уу.

apt-get шинэчлэлт; apt-get шинэчлэх

Fedora, Red Hat дээр програм суулгах

APT-тай төстэй хэрэгсэл бол yum юм. Тохируулсан репозитороос багцыг татаж аваад суулгахын тулд дараах тушаалыг бичнэ үү.

yum суулгах багц_нэр

yum package_name устгана уу

Орон нутгийн yum мэдээллийн сан хадгалагдаагүй тул шинэчлэх шаардлагагүй. Шинэчлэлтүүдийг суулгахын тулд дараах тушаалыг ашиглана уу.

юм шинэчлэл

Шинэчлэх тодорхой зүйлийг сонгоно уу:

yum шинэчлэх багц_нэр

Mandriva дээр програм суулгах

Mandriva нь urpmi гэж нэрлэгддэг багцуудтай ажиллах өөрийн гэсэн багц хэрэгсэлтэй. Суурилуулалтын хувьд:

urpmi багцын нэр

Устгахын тулд:

urpme багцын нэр

Локал мэдээллийн санг багцын жагсаалтаар шинэчилнэ үү:

урпми. шинэчлэх - a

Шинэчлэлтүүдийг суулгахын тулд:

urpmi --автоматаар сонгох

Архиваас програм суулгах (tarballs)

GZIP (gz, gz2 гэх мэт) ашиглан шахсан архивын хувьд бид дараах зүйлийг хийнэ.

tar -xvz f файлын нэр

BZIP (bz, bz2 гэх мэт) ашиглан шахсан архивын хувьд арай өөр байна:

tar -xvjf файлын нэр

Tar тушаалууд:

  • x – архиваас файлуудыг задлах;
  • v – дэлгэцэн дээрх мэдээллийг дэлгэрэнгүй харуулах;
  • f – Шаардлагатай сонголт. Хэрэв заагаагүй бол Tar файлын оронд соронзон хальс ашиглахыг оролдох болно;
  • z – gzip ашиглан шахсан архивыг боловсруулах;
  • j – bzip ашиглан шахсан архивыг боловсруулна.

Командыг гүйцэтгэсний дараа багцын нэртэй төстэй нэртэй хавтас үүснэ. Дараа нь та энэ үүсгэсэн хавтсыг дараах тушаалаар нээх хэрэгтэй.

cd хавтасны_нэр

Дараа нь задалсан архивт байгаа бол README файлын зааврыг уншина уу. Ямар ч тохиолдолд, хэрэв програмыг гүйцэтгэх файл хэлбэрээр хөрвүүлсэн бол багц нь ихэвчлэн install.sh гэж нэрлэгддэг .sh файлыг агуулна.

Хамгийн гол нь "make install" эсвэл "sudo make install" хэлбэрийн энэхүү командыг орчин үеийн түгээлтэд ашиглах боломжгүй юм.

Гэхдээ суулгах гарын авлагад програмын зохиогчид энэ тушаалыг ашиглах хэрэгтэй гэж та хэлж магадгүй юм. Тийм ээ, тэд бичдэг. Гэхдээ энэ нь тэд танд ямар хуваарилалт байгааг, эсвэл энэ нь түгээлт мөн эсэхийг мэдэхгүй байна гэсэн үг, магадгүй та нэг сектэд элсэж, LFS уншиж тамхи татсан бөгөөд одоо өөрсдийн бүтээлийг өөрийн chthonic системд зориулж эмхэтгэхээр шийдсэн байж магадгүй гэсэн үг юм. Make install нь үүнийг хийх бүх нийтийн арга боловч ихэнхдээ буруу байдаг.

Уянгын ухралт

Таны мэдэж байгаагаар хэвийн ажиллахын тулд ихэнх програм хангамжийг зөвхөн эмхэтгэхээс гадна систем дээр зөв суулгасан байх ёстой. Хөтөлбөрүүд нь өөрт хэрэгтэй файлуудаа тодорхой газруудаас олохыг хүлээдэг ба ихэнх *nix систем дээрх эдгээр газрууд хөрвүүлэх үед код руу хатуу кодлогдсон байдаг. Энэ талаас гадна linux/freebsd/whatever болон Windows болон MacOS-д суулгах процессын гол ялгаа нь уг программ нь зүгээр л нэг багц файлуудыг Програмын файлууд эсвэл /Программууд доторх тусдаа санд оруулдаггүй, харин " бүхэлд нь өөрөө тархдаг Файлын систем. Номын сангууд lib руу явдаг, гүйцэтгэх боломжтой файлууд bin, configs гэх мэт, var доторх төрөл бүрийн өгөгдөл гэх мэт. Хэрэв та үүнийг гэнэт шинэчлэх шаардлагатай бол эхлээд энэ бүгдийг ямар нэгэн байдлаар цэвэрлэх хэрэгтэй, учир нь ... шинэ хувилбарыг ашиглах үед хуучин файлын үлдэгдэл нь урьдчилан таамаглах аргагүй үр дагаварт хүргэж болзошгүй юм, ихэнхдээ сайн биш. Энэ үйл явдлын магадлал тийм ч өндөр биш, гэхдээ танд үйлдвэрлэлийн сервер дээр хэрэгтэй юу?

Тэгээд юу гэж?

Тиймээс, хэрэв та make install-ээр шууд суулгасан бол программ хангамжийг устгах эсвэл шинэчлэх нь хэвийн үзэгдэл юм чи чадахгүй. Түүгээр ч барахгүй шинэ хувилбарыг хуучин хувилбараас нь суулгах нь их магадлалтай тохиргоон дахь таны өөрчлөлтийг дарж бичих болно. make install нь яг хийх ёстой зүйлээ хийдэг - энэ нь файлуудыг зөв газарт суулгаж, ямар нэгэн зүйл байгаа гэдгийг үл тоомсорлодог. Энэ процессын дараа хаана, юуг шингээж авах боломжтой байрлуулсан талаар ямар ч мэдээлэл олж авах нь туйлын боломжгүй юм. Заримдаа мэдээжийн хэрэг Makefile нь устгах үйлдлийг дэмждэг боловч энэ нь тийм ч түгээмэл биш бөгөөд энэ нь зөв ажиллаж байгаа нь үнэн биш юм. Нэмж дурдахад, задалсан эх модыг хадгалах, устгах дүрмийг бий болгох нь ямар нэгэн байдлаар хачирхалтай юм.

Яаж тэмцэх вэ?

Түгээлтийн багцууд заримдаа шинэчлэгдэх хандлагатай байдаг тул энэ асуудлыг шийдэхийн тулд тэд ийм зүйлийг гаргаж ирэв багц менежер. Үүнийг ашиглах үед суулгац дараах байдлаар явагдана.
  1. тодорхой аргаар бүрдүүлсэн архивыг авдаг
  2. Энэ нь юу вэ, ямар хувилбар вэ, юунаас хамаардаг, юутай зөрчилддөг, суулгах/устгах/тохируулга хийхэд ямар нэгэн скрипт ажиллуулах шаардлагатай эсэх гэх мэт мэдээллийг эндээс гаргаж авдаг.
  3. Шууд суулгах алхмууд хийгдэж байна
  4. Хаана, юу хүргэсэн талаарх бүх мэдээллийг багц менежерийн мэдээллийн санд нэмсэн.

Энэ тохиолдолд шинэчлэлт хийхдээ шаардлагагүй зүйлсийг арилгах боломжтой бөгөөд үүнтэй зэрэгцэн тохиргоо гэж тэмдэглэгдсэн файлууд системд өөрчлөгдсөн эсэхийг харж, шинэ хувилбарт агуулга нь өөр байвал юу хийхээ асууна. Нэмж дурдахад, багц менежер нь өөр багцыг суулгах үед нэг багцын файлыг дарж бичихийг зөвшөөрөхгүй. Ерөнхийдөө энэ нь маш их хэрэгтэй зүйлийг хийж чадна.

Хэрэв та мунхаглал/залхуугаасаа болоод зааврыг хуулж аваад суулгаад суулгаарай багц менежерийн мэдэхгүй файлууд систем дээр гарч ирдэг. Хэрэв өмнө нь жагсаасан зүйл танд хангалтгүй байвал энэ нь бүх зүйлийг илтгэнэ.

Юу хийх вэ?

Мэдээжийн хэрэг, та эх модыг /opt/mycoolapp/-ийн хаа нэгтээ суулгаж, шаардлагатай бол гараар устгаж болно, гэхдээ эндээс эхлээд олон таагүй зүйл гарч ирж болно. Програм нь таны сангуудыг ачаалж чадна гэж найдаж байгаа бөгөөд дуудагч нь хаана байгаа директорийн талаар юу ч мэдэхгүй бөгөөд програмын зохиогч жишээ нь $prefix/share-д файл тавьсан тохиолдолд ийм зүйл хүлээж болно гэсэн үг. /xsessions/, дараа нь дэлгэцийн менежер авах болно. pkgconfig гэх мэт замуудыг дурдахгүй өнгөрч болохгүй.

Тиймээс та багцыг цуглуулах хэрэгтэй.

Надад үүнийг хийх цаг алга, би дахин суулгасан нь дээр, бүх зүйл энгийн бөгөөд ойлгомжтой!

Тайвшир, тайвшир. Тэр бидний хөлөөс уясан. Бүх зүйл анх харахад тийм ч аймшигтай, төвөгтэй биш юм.
суулгацыг шалгана уу
Энэхүү гайхамшигт хэрэглүүрийг make install-ын оронд эхлүүлэх үед хэд хэдэн асуулт асуух бөгөөд үүний дараа багцыг бүтээж, суулгах болно. Ингээд л шинэчлэлт хийхдээ хуучин хог хаягдлыг цэвэрлэхэд асуудал гарахгүй.
Деб багцыг гараар бүтээх
Хэрэв та ийм автоматжуулалтад итгэх сонирхолгүй байгаа бол (заримдаа энэ нь эвдэрсэн хэвээр байгаа) эсвэл хэд хэдэн өөрчлөлт хийхийг хүсч байгаа ч багц бүтээх ердийн үйл явцыг даван туулахаас залхуу хэвээр байгаа бол багцыг гараар угсарч болно. Би үүнийг системд зориулж бүтээх арга замыг өгдөг Debian мэдээллийн сан, учир нь би тэднийг хамгийн сайн мэддэг. Энэ нь үзэл суртлын хувьд зөв биш боловч нэмэлт нэгж ашиглахгүйгээр гаралт нь бүрэн зөв багц юм. Үүнийг дараах байдлаар хийнэ.
Эхлээд бид программ хангамжийг configure эсвэл autogen.sh-д урьдчилан тодорхойлсон --prefix=/usr болон --exec-prefix=/usr параметрүүдээр угсардаг.
Дараа нь бид үүнийг түр зуурын санд суулгана. Бид бичдэг:

Fakeroot суулгацыг DESTDIR=`pwd`/tempinstall хийнэ
Үүний дараа бид шинээр үүсгэсэн директор доторх бүх файлыг авах болно. Дашрамд хэлэхэд, бид одоо хуурамч орчинд байна, өөрөөр хэлбэл та файлын эзэмшигч болон хандах эрхийг ямар ч хязгаарлалтгүйгээр өөрчлөх боломжтой боловч бие махбодийн хувьд та системийн эзэмшигч хэвээр байх болно. Fakerot сесс доторх программ хангамж нь өөрчлөгдсөн мэдээллийг хүлээн авах бөгөөд энэ нь зөв эрхтэй файлуудыг архивлах боломжийг олгоно.
Дараа нь "багцын үндэс" дотор DEBIAN лавлах үүсгээд /etc DEBIAN/conffiles руу орох бүх файлуудын жагсаалтыг нэмнэ үү.

Cd tempinstall mkdir DEBIAN find гэх мэт | sed "s/^/\//" > DEBIAN/conffiles
Дараа нь бид дараах агуулгатай DEBIAN/control файлыг үүсгэнэ.

Шаардлагатай бол та тэндээс preinst, postinst, prerm, postrm скриптүүдийг үүсгэж болно.

Ингээд л бид dpkg -b tempinstall програмыг хийх ба гаралт нь tempinstall.deb бөгөөд та үүнийг dpkg -i ашиглан зөв суулгах, шинэчлэх, устгах боломжтой.

Эх кодын багцыг урьдчилан үүсгэх "зөв" үйл явц нь энэ тэмдэглэлийн хамрах хүрээнээс гадуур байгаа тул тайлбарлахгүй, гэхдээ таны зорилгын хувьд энэ нь ихэвчлэн шаардлагагүй байдаг.

Дүгнэлт

Таны харж байгаагаар энд ямар ч төвөгтэй зүйл байхгүй, гэхдээ эдгээр алхмуудыг дагаж мөрдөх нь таныг ирээдүйд гарах олон тооны асуудлаас аврах болно.