[Howto] Arch Linux бағдарламалық жасақтамасының пакеттері мен туындыларын жасау

Arch Linux және оның туындылары туралы маған ұнайтын нәрселердің бірі өте қарапайым кейінірек жүйеге орнатылатын пакеттер жасау, белгіліге қарағанда .deb бұл Debian / Ubuntu / Linux Mint / және т.б., бұл хаос (және егер олар кітапхана болса, мен сізге тіпті айтпаймын).

Негізгі үлгі келесідей болады:

# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()

build() {
...
}
package() {
...
}

Енді мен әр параметрді түсіндіремін:

  • # Күтуші: Онда пакетті ұстаушының аты жазылған
  • pkgname: Пакеттің атауы. Онда тек әріптер, сандар, -, _ және + болуы мүмкін
  • pkver: пакет нұсқасы. pe 1.0.0
  • pkgrel: бағдарламаны немесе пакетті қарау. pe 1
  • pkgdesc: пакеттің сипаттамасы.
  • арка: бағдарламаның архитектурасы: кез келген болуы мүмкін (барлығы үшін), i686 және x86_64, bash немесе python бағдарламалары сияқты компиляцияны қажет етпейтін пакеттер үшін кез келген болуы мүмкін. Егер ол қажет бағдарлама болса (мысалы, C немесе C ++ тіліндегі бағдарламалар), егер сіз 686 битке арналған болса, i32 немесе 86 битке x64_64 көрсетіңіз. Әдетте, егер ол екеуімен де үйлесімді болса, орнатылады (i686, x86_64)
  • url: бағдарламаның ресми парағына url. Оны қою ұсынылады.
  • лицензия: бағдарлама лицензиясы. мысалы, GPL3
  • топтар: пакет тиесілі топтар. топтар = ('жүйе')
  • байланысты: онда біз бағдарламаның орындалуына қажетті бумаларды көрсетеміз. pependens = ('python2' 'pygtk')
  • тәуелді: буманы құрастыру үшін ғана қажет болатын тәуелділіктер. Егер кодты нұсқа менеджерінен жүктеу керек болса, оны қойған жөн. pe: makedepends = ('git')
  • көзі: онда біз буманы құруға қажетті файлдарды көрсетеміз. Жалпы ереже бойынша, бұл код, патч, .desktopt файлы, белгішелер және т.с.с бумаға url. pe: source = (pacsyu.desktop)
  • md5 сомасы: Мұнда дереккөзде көрсетілген файлдардың md5 қосындылары келтірілген. PKGBUILD орналасқан қалтадағы терминалдан қайсысын іске қосатынымызды білу үшін (файл жолдарын дерек көзіне жазып) makepkg -g және қосындылар экранда пайда болады.
    Sh1 сияқты басқа қосындыларды да қолдануға болады.
  • құрастыру: Бұл функцияда біз бағдарламалық жасақтаманы компиляциялауға қажетті командалар. Егер компиляция жасау қажет болмаса, тек келесі функция қажет)
  • пакет: осы басқа функцияда бағдарламаны орнату командалары орындалады. Мысалы, егер біз C кодын құрастыратын болсақ, онда оны орнату орындалады.

Аяқтау үшін біз тек орындауымыз керек makepkg пакеттің жасалғандығын тексеру үшін.
Көріп отырғаныңыздай, бұл бізге қиын. Содан кейін мен сізге қосымша параметрлерін қалдырамын makepkg:

  • -i: Пакет жасалғаннан кейін оны орнату туралы makepkg-ге нұсқау береді.
  • -дер: Егер олар репозитарийде болса, пакеттің тәуелділіктерін орнатыңыз.
  • -F: Егер осы атаумен бума, нұсқасы және осы параметрмен өңделген пакеті болса, сізге оны қайта жазыңыз деп айтамыз.
  • -c: Аяқтағаннан кейін жұмыс қалталарын (pkg және көзі) тазалаңыз.
  • -Р: Қайта компиляция жасамай пакетті қайта ораңыз.

Қосымша мысалдарды көру үшін команданы орындау үшін көбірек PKGBUILD файлдарын көруге кеңес беремін makepkg -h бағдарламаның қалған параметрлерін көру үшін қосымша Arch Linux Wiki-дегі ресми құжат сіз не таба аласыз Мұнда


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

14 пікір, өз пікіріңізді қалдырыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады.

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.

  1.   джамин-самуэль дижо

    Өте жақсы …

    .Exe бумасын Arch пакетіне басқара (компиляция) жасай аласыз ба?

    Мысалы, әйгілі жүктеу менеджері Мипония ??

    1.    дұрыс дижо

      Менің білуімше, бұл мүмкін емес, .exe екілік файлдар екенін және бастапқы код емес екенін ұмытпаңыз. Бірақ JDownloader бар.

    2.    v3on дижо

      біреу linux-ті пайдаланады және Myponi-ді сағынады ... jijijijiji

      jDownloader java-да және java өкпенің қатерлі ісігін тудыратыны бәріне белгілі ...

  2.   28 дижо

    қызықты, біз пакеттерді тестілеуден өткізуге тура келеді деп ойлаймын, qbittorrent-тен біреуін жасауға бейіммін, хахаха сізде бұрыннан бар, бірақ өз нұсқаңыздың болуы тестілеу үшін жаман болмайды, ақпарат, рахмет үшін рахмет

  3.   msx дижо

    Жақсы кіріс, +1
    Gentoo ebuilds-тен гөрі оларды жасау және қызмет көрсету оңайырақ екенін қосқым келеді!

    Debian-ға қатысты, менің ойымша, бұл дистрофикация өзінің заманауи пакетін және пакетті басқару жүйесін модернизациялау немесе көшіру арқылы өзінің мүгедектігін айтарлықтай арттырады, dpkg / apt жиынтығының соңғы жаңартуы қашан болатынын білмеймін, бірақ тұжырымдама қазірдің өзінде болуы керек оңай 15 жыл, және бүгінде анахронистік болып табылады.

  4.   87 дижо

    Сізге көп рахмет, жақында мен оны викиден іздедім және құрылымын түсінбедім (мен PlayonLinux жаңартқым келді), бірақ мен бәрібір бас тарттым ... менде бар нәрселер бар ассистент немесе сол сияқты нәрсе (мені атпаңыз), бірақ бәрібір ... уақыт өте келе құралдар болмаған кезде мен өзімнің қандай

    1.    msx дижо

      Сіздің нұсқаулығыңыздың арқасында мен Зеяның PKGBUILD құрамын бастадым (http://web.psung.name/zeya/), мен оны аяқтаған бойда АУР-ға жүктеймін 🙂

  5.   hypersayan_x дижо

    Debian / Ubuntu / Linux Mint / etc танымал .deb-тен айырмашылығы, бұл былық

    Толығымен келісемін, біраз уақыт бұрын мен Ubuntu үшін пакет жасауға тырыстым, және оны жасау туралы түсінікті ақпарат таба алмадым, соңында мен бағдарламадан бас тарттым.
    Arch-қа арналған бірдей бағдарлама пакетті жинауға 5 минуттан аз уақытты алды.
    Мен сенімді емеспін, бірақ менің ойымша, RPM DEB-ге қарағанда оңайырақ, бірақ Arch-тен қиын.

  6.   775 дижо

    Өте жақсы және оңай, ал .deb-ге келетін болсақ, бұл iOS үшін ондай қиын емес

    тілекпен

  7.   Карлос дижо

    Менің ойымша, бұл біраз уақыт бұрын мен алғашқы PKGBUILD-ті AUR-ге жүктегенде маған қызмет етер еді 🙂

  8.   клерафель дижо

    Маған біреу не екенін айта алады, мен жаңамын, және бұл маған .deb пакетін орнатуға көмектесетінін білмеймін, бірақ жергілікті жерде, дәлірек айтсақ, ойын. Ия, ол жұмыс істейді ме?

bool(шын)