Arch-fakeroot-binary-options

Arch-fakeroot-binary-options

Buku forex-trading-for-dummies gratis
Biner-options-trading-signals-franco
Best-forex-trader-2014-movies


Grafik forex-trading-harian Forex-trading-training-in-mumbai-cablenet Trading-strategi-dispersi Akun Ig-pasar-biner-opsi-demo Harga dukascopy forex mt4 Forex-trading-in-india-review-of-fifty

Arch Build System Apa itu Arch Build System Arch Build System adalah sistem seperti port untuk perangkat lunak bangunan dan kemasan dari kode sumber. Sementara pacman adalah tool Arch khusus untuk manajemen paket biner (termasuk paket yang dibangun dengan ABS), ABS adalah kumpulan alat untuk mengkompilasi source ke dalam paket .pkg.tar.xz yang dapat diinstal. Apa itu sistem port-like Ports adalah sistem yang digunakan oleh BSD untuk mengotomatisasi proses membangun perangkat lunak dari kode sumber. Sistem ini menggunakan port untuk mendownload, membongkar, menambal, mengkompilasi, dan menginstal perangkat lunak yang diberikan. Port hanyalah sebuah direktori kecil di komputer pengguna, dinamai sesuai perangkat lunak yang sesuai untuk dipasang, yang berisi beberapa file dengan petunjuk untuk membangun dan menginstal perangkat lunak dari sumber. Hal ini membuat penginstalan perangkat lunak semudah mengetik membuat atau membuat instalasi bersih di dalam direktori port. ABS adalah konsep serupa ABS yang terdiri dari pohon direktori (pohon ABS) yang berada di bawah varabs. Pohon ini berisi banyak subdirektori, masing-masing dengan nama repo dan masing-masing diberi nama oleh paket masing-masing. Pohon ini mewakili (tapi tidak berisi) semua perangkat lunak Arch resmi. Ditarik melalui sistem SVN. Anda bisa merujuk ke masing-masing subdirektori yang diberi nama paket sebagai ABS, sama seperti yang merujuk ke port. ABS (atau subdirektori) ini tidak berisi paket perangkat lunak maupun sumber melainkan file PKGBUILD (dan terkadang file lainnya). PKGBUILD adalah script Bash sederhana yang membangun sebuah file teks yang berisi petunjuk kompilasi dan pengemasan serta URL tarbal sumber yang sesuai untuk diunduh. (Komponen terpenting dari ABS adalah PKGBUILD.) Dengan mengeluarkan perintah ABS makepkg, perangkat lunak pertama kali dikompilasi dan kemudian dikemas dalam direktori build. Sekarang Anda dapat menggunakan pacman (pengelola paket Linux Arch) untuk menginstal, meningkatkan versi, dan menghapus paket baru Anda. Gambaran umum ABS dapat digunakan sebagai istilah payung karena mencakup dan bergantung pada beberapa komponen lainnya, walaupun tidak akurat secara teknis, ABS dapat merujuk ke alat berikut sebagai toolkit yang lengkap: Pohon ABS Struktur direktori ABS berisi file yang dibutuhkan untuk membangun semua Paket resmi (tapi bukan paket sendiri atau file sumber dari perangkat lunak). Ini tersedia di repositori svn dan git dan skrip abs (dari paket abs) mendownloadnya menggunakan rsync ke varabs pada mesin (lokal) Anda. Pada sistem lokal, pohon berisi subdirektori untuk setiap repositori yang ditentukan di etcabs.conf. Yang pada gilirannya berisi subdirektori untuk setiap paket. Catatan: Pohon ABS disinkronkan sekali sehari sehingga mungkin tertinggal jauh dari apa yang sudah tersedia di repositori. PKGBUILD Skrip Bash yang berisi URL kode sumber beserta petunjuk kompilasi dan pengemasannya. Makepkg shell command tool yang membaca PKGBUILDs, secara otomatis mendownload dan mengkompilasi sumbernya dan membuat sebuah .pkg.tar sesuai dengan array PKGEXT di makepkg.conf. Anda juga dapat menggunakan makepkg untuk membuat paket kustom Anda sendiri dari sumber AUR atau pihak ketiga. Lihat Membuat paket untuk informasi lebih lanjut. Pacman pacman benar-benar terpisah, namun harus dipanggil baik oleh makepkg atau manual, untuk menginstal dan menghapus paket yang ada dan untuk mengambil dependensi. AUR Arch User Repository terpisah dari ABS tapi AUR (tidak didukung) PKGBUILD dibangun menggunakan makepkg untuk mengkompilasi dan mengemas perangkat lunak. Berbeda dengan pohon ABS di mesin lokal Anda, AUR ada sebagai antarmuka situs web. Ini berisi ribuan pengguna PKGBUILD untuk perangkat lunak yang tidak tersedia sebagai paket Arch resmi. Jika Anda perlu membuat paket di luar pohon Arch resmi, kemungkinan itu ada di AUR. Peringatan: PKGBUILD beranggapan bahwa paket dibangun dalam keadaan bersih. Membangun perangkat lunak pada sistem bangunan yang kotor dapat gagal atau menyebabkan perilaku tak terduga pada saat runtime, karena jika sistem build mendeteksi ketergantungan secara dinamis, hasilnya tergantung pada paket apa yang tersedia pada sistem build. Mengapa saya ingin menggunakan ABS Arch Build System digunakan untuk: Mengkompilasi atau mengkompilasi ulang sebuah paket, dengan alasan apapun Membuat dan menginstal paket baru dari sumber perangkat lunak yang belum ada paket yang tersedia (lihat Membuat paket) Sesuaikan paket yang ada agar sesuai Kebutuhan Anda (mengaktifkan atau menonaktifkan pilihan, menambal) Membangun kembali keseluruhan sistem dengan menggunakan flag kompiler Anda, la FreeBSD (misalnya dengan pacbuilder) Bersihkan dan instal kernel kustom Anda sendiri (lihat kompilasi Kernel) Dapatkan modul kernel yang bekerja dengan kernel kustom Anda Mudah dikompilasi dan Instal versi Arch yang lebih baru, lebih tua, versi beta, atau versi pengembangan dengan mengedit nomor versi di PKGBUILD ABS tidak perlu menggunakan Arch Linux, namun berguna untuk mengotomatisasi tugas-tugas tertentu dari kompilasi sumber. Cara menggunakan paket ABS Building menggunakan abs terdiri dari langkah-langkah berikut: Instal paket abs dengan pacman. Jalankan abs sebagai root untuk membuat pohon ABS dengan menyinkronkannya dengan server Arch Linux. Salin file build (biasanya berada di bawah varabsltrepogtltpkgnamegt) ke direktori build. Arahkan ke direktori itu, edit PKGBUILD (jika diinginkan) dan lakukan makepkg. Menurut instruksi di PKGBUILD, makepkg akan mendownload tarbal sumber yang sesuai, membongkar, patch (jika diinginkan), mengkompilasi sesuai dengan CFLAGS yang ditentukan di makepkg.conf. Dan akhirnya kompres file yang sudah jadi ke dalam paket dengan ekstensi .pkg.tar.gz atau .pkg.tar.xz. Instalasi semudah melakukan pacman -U lt.pkg.tar.xz filegt. Pengambilan paket juga ditangani oleh pacman. Install tools Ini akan mengambil script abs-sync, berbagai script build, dan rsync (sebagai dependensi, jika Anda belum memilikinya). Sebelum Anda benar-benar dapat membangun apa pun, Anda juga memerlukan alat kompilasi dasar. Ini dengan mudah dikumpulkan dalam basis kelompok paket. Kelompok ini bisa dipasang dengan pacman. Etcabs.conf Edit etcabs.conf untuk memasukkan repositori yang Anda inginkan. Hapus. Di depan repositori yang sesuai. Sebagai contoh: Pohon ABS adalah hierarki direktori SVN yang berada di bawah varabs dan terlihat seperti ini: Pohon ABS memiliki struktur yang sama persis dengan database paket: Tingkat pertama: Nama repositori Tingkat kedua: Direktori nama paket Tingkat ketiga: PKGBUILD ( Berisi informasi yang dibutuhkan untuk membuat paket) dan file terkait lainnya (tambalan, file lain yang diperlukan untuk membangun paket) Kode sumber untuk paket tidak ada dalam direktori ABS. Sebagai gantinya, PKGBUILD berisi URL yang akan mendownload source code saat paket dibuat. Jadi ukuran pohon abs cukup kecil. Download pohon ABS Pohon ABS Anda sekarang dibuat di bawah varabs. Perhatikan bahwa cabang pohon dibuat sesuai dengan yang Anda tentukan di etcabs.conf. Perintah abs harus dijalankan secara berkala agar tetap sinkron dengan repositori resmi. File paket ABS individual juga dapat didownload dengan: Dengan cara ini Anda tidak perlu memeriksa seluruh pohon abs hanya untuk membangun satu paket. Etcmakepkg.conf Catatan: tolong gunakan argumen kedua dari template untuk memberi indikasi lebih rinci. (Diskusikan di Talk: Arch Build System) makepkg s etcmakepkg.conf menentukan variabel lingkungan global dan flag kompilator yang mungkin ingin Anda edit jika Anda menggunakan sistem SMP, atau untuk menentukan optimasi yang diinginkan lainnya. Pengaturan default adalah untuk optimasi i686 dan x8664 yang akan bekerja dengan baik untuk arsitektur pada sistem CPU tunggal. (Defaultnya akan bekerja pada mesin SMP, tapi hanya akan menggunakan satu coreCPU saat mengkompilasi see makepkg untuk lebih jelasnya.) Mengatur variabel PACKAGER di etcmakepkg.conf Mengatur variabel PACKAGER di etcmakepkg.conf adalah langkah opsional namun sangat dianjurkan. Ini memungkinkan sebuah bendera untuk dengan cepat mengidentifikasi paket mana yang telah dibangun dan dipasang oleh ANDA, bukan pengelola resmi. Ini mudah dilakukan dengan menggunakan expac. Menampilkan semua paket (termasuk yang dari AUR) Menampilkan hanya paket yang ada di repo Contoh ini hanya menunjukkan paket yang terdapat dalam repo yang didefinisikan di etcpacman.conf. Buat direktori build Dianjurkan untuk membuat direktori build dimana kompilasi sebenarnya akan terjadi, Anda tidak boleh memodifikasi pohon ABS dengan membangun di dalamnya, karena data akan hilang (ditimpa) pada setiap update ABS. Ini adalah praktik yang baik untuk menggunakan direktori home Anda, meskipun beberapa pengguna Arch lebih memilih untuk membuat direktori lokal di bawah varabs. Dimiliki oleh user biasa. Buat direktori build anda misalnya Salin ABS dari pohon (varabsltrepositorygtltpkgnamegt) ke direktori build. Bangun paket Dalam contoh kita, kita akan membangun paket manajer display ramping. Salin ABS ramping dari pohon ABS ke direktori build: Arahkan ke direktori build: Ubah PKGBUILD sesuai dengan keinginan anda. Jika Anda perlu membuat perubahan pada sumber itu sendiri, bukan hanya PKGBUILD, lihat Patching in ABS. Kemudian jalankan makepkg (dengan flag -s untuk mengaktifkan penanganan ketergantungan build-time otomatis): Catatan: Sebelum mengeluh tentang missing (make) dependencies, ingatlah bahwa base-devel diasumsikan dipasang saat membangun dengan makepkg. Lihat Install tools. Install sebagai root: Thats it. Anda baru saja membangun ramping dari sumber dan memasangnya dengan rapi ke sistem Anda dengan pacman. Pengambilan paket juga ditangani oleh pacman dengan pacman -R ramping. Metode ABS untuk menginstal perangkat lunak memberikan kenyamanan, sambil tetap menjaga transparansi dan pengendalian fungsi pembuatan dan pemasangan yang lengkap termasuk dalam PKGBUILD. Intinya, langkah yang sama dijalankan dengan metode tradisional (umumnya termasuk konfigurasi, buat, buatlah langkah instalasi) namun perangkat lunaknya terinstal di lingkungan root palsu. (Sebuah akar palsu hanyalah sebuah subdirektori di dalam direktori build yang berfungsi dan berperilaku sebagai direktori root sistem. Dalam hubungannya dengan program fakeroot, makepkg membuat direktori root palsu, dan menginstal binari terkompilasi dan file yang terkait ke dalamnya, dengan root sebagai Pemilik.) Akar palsu. Atau pohon subdirektori yang berisi perangkat lunak yang dikompilasi, kemudian dikompres menjadi arsip dengan ekstensi .pkg.tar.xz. Atau sebuah paket. Saat dipanggil, pacman kemudian mengekstrak paketnya (menginstalnya) ke dalam direktori root sistem sebenarnya (). Pertahankan paket dimodifikasi Memperbarui sistem dengan pacman akan mengganti paket yang dimodifikasi dari ABS dengan paket dengan nama yang sama dari gudang resmi. Lihat petunjuk berikut untuk menghindari hal ini. Masukkan array kelompok ke dalam PKGBUILD, dan tambahkan paket ke grup yang disebut dimodifikasi. Tambahkan grup ini ke bagian IgnoreGroup di etcpacman.conf. Jika versi baru tersedia di repositori resmi selama pembaruan sistem, pacman mencetak catatan bahwa ia melewatkan pembaruan ini karena berada di bagian IgnoreGroup. Pada titik ini paket yang dimodifikasi harus dibangun kembali dari ABS untuk menghindari peningkatan sebagian. Alat pbget lainnya - ambil PKGBUILD untuk paket individual langsung dari antarmuka web. Termasuk dukungan AUR. Asp - alat untuk mengelola file source build yang digunakan untuk membuat paket Arch Linux. Menggunakan antarmuka git yang menawarkan lebih banyak sumber terkini. Gedung Pencipta dan menggunakan kernel khusus akan membuat sangat sulit untuk mendapatkan dukungan untuk sistem Anda. Meskipun ini adalah pengalaman belajar untuk mengkompilasi kernel Anda sendiri, Anda tidak akan diizinkan untuk menginfeksi bug pada kernel yang dibuat khusus (jika Anda melakukannya, mereka akan Ditolak tanpa penjelasan lebih lanjut). Catatan: Halaman ini memerlukan pembersihan yang signifikan. Anda mungkin ingin merujuk ke halaman KernelBuildYourOwnKernel di wiki Ubuntu, bukan yang merupakan panduan bersih dan lebih up-to-date untuk membangun kernel sederhana. Jika Anda memiliki kontrak dukungan komersial dengan UbuntuCanonical, ini akan membatalkan dukungan tersebut. Perhatikan juga bahwa halaman ini menjelaskan bagaimana melakukan hal-hal untuk kernel Edgy (2.6.17) dan yang lebih baru Sampai pada sumber kernel ini, kami tidak memiliki mekanisme yang memungkinkan orang membangun kernel mereka sendiri dengan mudah. Ini disengaja. Halaman ini TIDAK menjelaskan bagaimana membangun kernel hulu dari kernel.org. Ini adalah bagaimana membangun kembali kernel Ubuntu yang sebenarnya dimulai dari sumber. Alasan untuk mengkompilasi kernel kustom Anda adalah pengembang kernel. Anda memerlukan kernel yang dikompilasi dengan cara yang khusus, bahwa kernel resmi tidak dikompilasi (misalnya, dengan beberapa fitur eksperimental diaktifkan). Anda mencoba untuk men-debug masalah di kernel kernel saham yang telah Anda ajukan atau akan mengajukan laporan bug. Anda memiliki perangkat keras yang kernel kernel tidak mendukung. Anda menyukai komputer dan penasaran dan tertarik untuk melakukan hacking pada sistem GNULinux Anda sendiri untuk mempelajari lebih lanjut tentang cara kerjanya (dengan pemahaman bahwa Anda harus memperbaiki apa pun yang Anda pecahkan). Alasan TIDAK mengkompilasi kernel kustom Anda hanya perlu mengkompilasi driver khusus. Untuk ini, Anda hanya perlu menginstal paket-paket header linux. Anda tidak tahu apa yang Anda lakukan, dan jika Anda memecahkan sesuatu, Anda memerlukan pertolongan untuk memperbaikinya. Bergantung pada kesalahan Anda, Anda mungkin harus menginstal ulang sistem Anda dari awal. Anda sampai ke halaman ini karena kesalahan, dan memeriksanya karena terlihat menarik, tapi Anda benar-benar tidak ingin belajar banyak tentang kernel. Jika Anda ingin menginstal kernel baru tanpa kompilasi, Anda bisa menggunakan Synaptic. Cari linux-image dan pilih versi kernel yang ingin anda instal. Cara yang lebih mudah adalah dengan mengklik System gt Administration gt Update Manager. Lalu klik tombol Check, dan akhirnya klik Apply semua update termasuk kernel. Alat yang Anda butuhkan Untuk memulai, Anda perlu menginstal beberapa paket. Gunakan baris perintah berikut untuk menginstal secara tepat paket yang dibutuhkan untuk rilis yang Anda gunakan: Catatan: Paket makedumpfile tidak tersedia di Hardy. Dapatkan source kernel Ada beberapa cara untuk mendapatkan source kernel Ubuntu: Option A) Gunakan git Use git - Ini untuk pengguna yang selalu ingin tetap sinkron dengan source kernel Ubuntu terbaru. Untuk informasi Anda, petunjuk rinci tentang hal itu dapat ditemukan di Panduan Git Kernel Git repositori tidak menyertakan file kontrol yang diperlukan, jadi Anda harus membuatnya: Opsi B) Download arsip sumber Download arsip sumber - Ini untuk pengguna yang Ingin membangun kembali paket standar Ubuntu dengan tambalan tambahan. Perhatikan bahwa ini hampir selalu kedaluwarsa dibandingkan dengan sumber pengembangan terakhir, jadi Anda harus menggunakan git (opsi A) jika Anda memerlukan tambalan terbaru. Gunakan perintah berikut untuk menginstal dependensi pembuatan dan ekstrak sumbernya (ke direktori saat ini): Sumber modul Ubuntu mungkin juga diperlukan jika Anda berencana mengaktifkan dukungan PAE dan 64 GiB di kernel untuk Hardy 32-bit (8.04). Modul yang disediakan Ubuntu mungkin tidak kompatibel dengan kernel yang dilindungi PAE. Sumber akan didownload ke subdirektori di dalam direktori saat ini. Ubuntu Karmic Koala (9,10) dan rilis yang lebih baru Sumber akan didownload ke direktori saat ini sebagai trio file (untuk Lucid, setidaknya) (.orig.tar.gz .diff.gz dan .dsc) dan sub -direktori. Misalnya, jika uname -r kembali 2.6.32-25-generik. Kamu akan mendapatkan linux2.6.32.orig.tar.gz. Linux2.6.32-25.44.diff.gz. Linux2.6.32-25.44.dsc dan sub-directory linux-2.6.32. Opsi C) Download paket sumber Download paket sumber (petunjuk rinci lebih jauh ke bawah halaman ini di bawah Alternate Build Method (B): The Old-Fashioned Debian Way) - Ini untuk pengguna yang hanya ingin memodifikasi, atau bermain-main dengan, Source kernel yang di-patch Ubuntu. Sekali lagi, ini tidak akan menjadi yang paling up-to-date (gunakan Option Agit jika Anda memerlukan sumber terbaru). Perlu diketahui hal ini TIDAK sama dengan Option BDownload source archive. Memodifikasi sumber untuk kebutuhan Anda Bagi kebanyakan orang, cukup modifikasi konfigurasi saja sudah cukup. Jika Anda perlu menginstal patch, baca instruksi dari penyedia patch untuk mempelajari bagaimana cara menerapkannya. Konfigurasi Ubuntu saham terletak di debianconfigARCH dimana ARCH adalah arsitektur yang sedang Anda bangun (dimulai dengan lela ini adalah debian.masterconfigARCH). Dalam direktori ini ada beberapa file. File konfigurasi adalah basis untuk semua target dalam arsitektur itu. Lalu ada beberapa file config.FLAVOUR yang berisi pilihan yang spesifik untuk target itu. Sebagai contoh, berikut adalah file untuk 2.6.20, i386: Jika Anda tidak menemukan file konfigurasi di bawah debianconfig. Anda mungkin menemukannya di direktori boot Anda (misalnya, bootconfig-2.6.22-14-generik) jika tidak, Anda harus memeriksa untuk melihat apakah lokasi alternatif telah ditentukan di dalam debiandebian.env dari direktori sumber kernel Anda. Jika Anda perlu mengubah opsi konfigurasi, cukup modifikasi file yang berisi pilihannya. Jika Anda hanya memodifikasi file konfigurasi, ini akan mempengaruhi semua target arsitektur ini. Jika Anda memodifikasi salah satu file target, itu hanya akan mempengaruhi target itu. Setelah menerapkan patch, atau menyesuaikan konfigurasi, selalu yang terbaik adalah meregenerasi file konfigurasi untuk memastikannya konsisten. Ada perintah pembantu untuk ini. Untuk meregenerasi semua arsitektur yang dijalankan: Jika Anda hanya ingin memperbarui satu arsitektur. Jalankan: Catatan: Jika Anda tidak memiliki direktori debian setelah menggunakan sumber apt-get. Gunakan dpkg-source -x dsc untuk mengekstrak sumber dengan benar. Untuk dua perintah berikut ini, Anda perlu memberikan skrip di direktori debianscriptsmisc dan debianscripts untuk melakukan perintah dengan perintah berikut: Membangun Kernel Ada dua cara yang tercantum untuk membangun kernel Ubuntu: Build Method A: Bangun kernel (Ketika source berasal dari repositori git, atau dari apt-get source) Untuk membangun kernel sangat sederhana. Bergantung pada kebutuhan Anda, Anda mungkin ingin membangun semua target kernel, atau hanya satu yang spesifik untuk sistem Anda. Namun, Anda juga ingin memastikan bahwa Anda tidak berbenturan dengan kernel saham. Catatan: Meskipun petunjuk di luar ini termasuk membuat cabang kernel yang terpisah dan unik, tidak seperti di sini, ini mencakup penjelasan menyeluruh tentang semua langkah yang diperlukan dari awal sampai akhir. Instruksi ini khusus untuk pohon git dan untuk sumber yang didownload melalui sumber apt-get. Bukan saat mendownload paket source linux dari kernel.org Gunakan perintah ini untuk membangun semua target arsitektur yang sedang Anda bangun: debianrules clean create debiancontrol. Debianchangelog Dan seterusnya dari debian.ltbranchnamegt (misalnya debian.master). Hal ini diperlukan di pohon git berikut git commit 3ebd3729ce35b784056239131408b9a72b0288ef UBUNTU: Config Abstrak direktori debian. Variabel lingkungan AUTOBUILD memicu fitur khusus di kernel build. Pertama, ia melewatkan pemeriksaan ABI normal (ABI adalah kompatibilitas biner). Hal ini bisa dilakukan karena ini juga menciptakan ID ABI yang unik. Jika Anda menggunakan repo git, ID unik ini dihasilkan dari git HEAD SHA. Jika tidak, itu dihasilkan dari program uuidgen (yang berarti setiap kali Anda menjalankan debianrules, UUID akan berbeda). Paket Anda akan diberi nama dengan menggunakan ID ini. (Perhatikan bahwa di Intrepid dan yang lebih baru, Anda memerlukan skipabitrue untuk melewati pemeriksaan ABI.) Untuk membangun target tertentu. Gunakan perintah ini: Di ​​mana FLAVOR adalah salah satu rasa utama kernel (misal: generik) Untuk membangun salah satu rasa khusus (ditemukan di debianbinary-custom.d), gunakan: Dari dokumentasi ini, rasa khusus meliputi xen dan rt. Jika Anda memiliki lebih dari satu prosesor atau lebih dari satu inti, Anda dapat mempercepat semuanya dengan menjalankan perintah kompilasi bersamaan. Tambahkan CONCURRENCYLEVEL2 untuk dua prosesor atau dua core ganti 2 dengan nomor apapun sesuai dengan pengaturan perangkat keras Anda (untuk Gutsy dan nanti, Anda bisa menggunakan DEBBUILDOPTIONSparallel2). Jika Anda mendapatkan kesalahan ABI, Anda bisa menghindari pemeriksaan ABI dengan skipabitrue. Misalnya, Untuk memicu pembuatan ulang, hapus file stempel yang sesuai dari debianstamp (misalnya stamp-build-server untuk rasa server, dsb.). Debs ditempatkan di direktori induk direktori direktori kernel Anda. Jika diperlukan, sumber modul Ubuntu untuk Hardy (8.04) dapat dibangun dengan cara yang sama. Atau, jika Anda perlu menentukan kernel yang berbeda dari pada yang sedang berjalan, gunakan Jika Anda mengalami kesalahan, coba jalankan ini di kerneldir. (Contoh untuk rasa generik) Metode Bangun Alternatif (B): Jalan Debian Kuno-Mode Sistem pengembangan Ubuntu yang baru sangat bagus untuk pengembang, bagi orang-orang yang membutuhkan kernel pendarahan mutakhir yang mutlak, dan orang-orang yang perlu membangun beragam Set kernel (beberapa rasa). Namun bisa jadi sedikit rumit bagi pengguna biasa. Jika Anda tidak memerlukan sumber pengembangan terbaru, ada cara sederhana untuk mengkompilasi kernel Anda dari paket sumber linux. Seperti yang disarankan di atas, semua yang Anda butuhkan untuk ini adalah: Perintah terakhir dalam urutan membawa Anda ke direktori teratas dari pohon sumber kernel. Sebelum membangun kernel, Anda harus mengkonfigurasinya. Jika Anda ingin menggunakan kembali konfigurasi kernel yang saat ini berjalan, mulailah dengan Sebelum Anda menjalankan membuat menuconfig atau membuat xconfig (inilah langkah selanjutnya yang harus Anda lakukan), pastikan Anda memiliki paket yang diperlukan: Jika Anda mau Seperti untuk melihat apa yang berbeda antara konfigurasi kernel asli Anda dan yang baru (dan memutuskan apakah Anda menginginkan fitur baru), Anda dapat menjalankan: Sejak kernel 2.6.32, fitur baru memungkinkan Anda untuk memperbarui konfigurasi menjadi hanya Kompilasi modul yang benar-benar digunakan di sistem Anda: Lalu, terlepas dari apakah Anda menggunakan kembali konfigurasi yang ada atau mulai dari nol: Bagaimana dengan ini. (Yang berasal dari KernelBuildYourOwnKernel Page di bagian Modifying the configuration) Jika Anda menggunakan ulang konfigurasi yang ada, perhatikan bahwa kernel Ubuntu dibangun dengan informasi debugging, yang membuat modul kernel yang dihasilkan (file .ko) jauh lebih besar daripada yang seharusnya. menjadi. Untuk mematikannya, masuk ke konfigurasi Kernel hackinglt - lalu, di bawah debugging Kernel, --gt dan matikan MATI Kumpulkan kernel dengan info debug. Sekarang Anda bisa mengkompilasi kernel dan membuat paketnya: Anda bisa mengaktifkan penggunaan make-j secara paralel. Coba 1 jumlah inti prosesor. misalnya 3 jika Anda memiliki prosesor dual core: Pada kernel yang lebih baru, jika Anda hanya memerlukan paket biner dan menginginkan beberapa bangunan (saat mengedit sumbernya) tidak menyebabkan semuanya dapat dibangun kembali, gunakan: Paket .deb akan dibuat pada orang tua Direktori direktori sumber Linux Anda (dalam contoh ini, mereka akan ditempatkan di src karena direktori sumber Linux kami adalah Install the new kernel Jika Anda ingin melihat layar splash Ubuntu (atau gunakan mode teks) sebelum Anda masuk ke X dan bukan hanya Layar hitam, Anda akan ingin memastikan beban driver framebuffer: Sekarang Anda sudah memberi tahu alat-alat initramf-modul yang harus disertakan, dan setelah build selesai, Anda dapat menginstal deb yang dihasilkan menggunakan dpkg. Demikian pula, jika Anda telah membangun Modul Ubuntu untuk Hardy (8.04) sebelumnya, instal mereka sebagai berikut: Jika Anda menggunakan modul dari modul yang dibatasi linux, Anda perlu mengkompilasi ulang ini dengan paket header-linux baru Anda Catatan: Sebagai tanggapan atas berbagai komentar dalam sisa Dari bagian ini: Di ​​Ub Untu Precise (12.04) nampaknya postinst TIDAK menangani hal-hal initramfs. Setelah menginstal paket kernel baru saya boot dengan baik tanpa mengikuti salah satu metode di bawah ini. Seseorang tolong perbaiki saya jika saya salah. Sejak Ubuntu Lucid (10.04) gambar postinst tidak lagi menjalankan perintah pembuatan initramfs. Sebagai gantinya, ada contoh script yang disediakan yang akan melakukan tugas. Skrip ini akan bekerja untuk gambar kernel resmi juga. Sebagai contoh: Catatan: Saya tidak bisa mendapatkan skrip di atas untuk membantu menghasilkan initrd untuk kernel - dan kernel yang dibangun tidak dapat melakukan boot satu-satunya hal yang sesuai untuk saya adalah rekomendasi dalam debian-administration.orgarticleHowDoIMakeaninitrdimage. Gunakan perintah initramfs Ini adalah solusi nyata. Apa yang saya gunakan (setelah kernel custom-built .debs diinstal), adalah: Catatan (Michael): itu karena Anda perlu menyertakan skrip paket yang tepat untuk membangun initrd pada waktu pemasangan paket. Pilihan make-kpkg adalah --overlay-dir. Secara default, make-kpkg menggunakan paket usrsharekernel sebagai direktori overlay, yang berisi skrip default dan tidak biasa untuk distribusi Debian, dan bukan yang dibutuhkan untuk membangun kernel Ubuntu. Pertama salin direktori overlay default ke direktori home Anda: Kemudian instal sumber kernel yang Anda gunakan saat ini, dengan menggunakan nama paket yang tepat, mis. Yang akan membongkar sumber ke HOMElinux-2.6.32. Sekarang salin skrip kontrol ke overlay baru Anda: Dan sekarang Anda dapat menjalankan make-kpkg dengan opsi baris perintah tambahan - paket-paket pengeluaran-dirHOMEkernel. Membangun kembali modul yang dibatasi linux Paket linux-restricted-modules (lrm) berisi sejumlah driver bebas-DFSG (juga beberapa firmware dan daemon jaringan nirkabel ipw3945) yang, di dunia yang sempurna, tidak harus menjadi Dikemas terpisah, namun sayangnya tidak tersedia dengan lisensi GPL yang kompatibel. Jika Anda menggunakan perangkat keras yang didukung oleh paket l-r-m, Anda mungkin akan mendapati bahwa sistem Anda tidak berfungsi dengan baik setelah beralih ke kernel khusus. Dalam hal ini Anda harus mencoba untuk mengkompilasi paket l-r-m. Lihat CustomRestrictedModules tentang bagaimana membangun kembali l-r-m (jika Anda menggunakan driver binari nVidia atau ATI, Anda melakukannya). Catatan: Anda memerlukan sekitar 8 jam waktu kompilasi dan sekitar 10 Gb ruang hard drive untuk mengkompilasi semua rasa kernel dan modul yang dibatasi. Catatan lebih lanjut: Tidak ada paket modul modul l-r-m atau linux-restricted-modules di Lucid. Mempercepat Bangun Gunakan distcc dan, jika Anda membangunnya kembali, ccache. Gambaran umum penggunaan distcc pada sistem berbasis debian tersedia di myrddin.orghowtousing-distcc-with-debian. Jika Anda memiliki mesin AMD64 yang tersedia di jaringan area lokal Anda, mereka tetap dapat berpartisipasi dalam membangun distorsi kode 32 bit yang tampaknya menangani secara otomatis. Namun, dengan distcc mengambil alih semua kompilasi secara default, Anda perlu mengatur HOSTCC sehingga ketika kernel dibangun ingin menggunakan kompilator pada host itu sendiri, mereka tidak akan mendistribusikan pekerjaan ke server 64-bit. Jika Anda gagal melakukan itu, Anda akan mendapatkan kegagalan kompatibilitas tautan antara kode 64-bit dan 32-bit. Perintah make-kpkg saya, dengan usrlibccache di kepala PATH saya. Terlihat seperti: Dokumentasi lebih lanjut Silakan masuk ke halaman wiki komunitas untuk komentar, pertanyaan dan diskusi: wiki.ubuntuKernelCustomBuildBuat paket Artikel ini bertujuan untuk membantu pengguna membuat paket mereka sendiri dengan menggunakan sistem pembuatan port Arch Linux. Juga untuk pengajuan di AUR. Ini mencakup pembuatan sebuah PKGBUILD 8211 sebuah paket yang membangun file deskripsi yang bersumber dari makepkg untuk membuat paket biner dari sumbernya. Jika sudah memiliki PKGBUILD. Lihat makepkg Untuk petunjuk mengenai peraturan dan cara yang ada untuk memperbaiki kualitas paket lihat standar kemasan Arch. Paket di Arch Linux dibangun menggunakan utilitas makepkg dan informasi yang tersimpan dalam file PKGBUILD. Saat makepkg berjalan, ia mencari PKGBUILD di direktori saat ini dan mengikuti instruksi di dalamnya untuk mendapatkan file yang dibutuhkan dan kemudian mengkompilasinya agar dikemas dalam file paket (pkgname.pkg.tar.xz). Paket yang dihasilkan berisi file biner dan petunjuk pemasangan yang siap dipasang oleh pacman. Paket Arch tidak lebih dari arsip tar, atau tarbal, dikompres menggunakan xz, yang berisi file-file berikut yang dihasilkan oleh makepkg: File biner yang akan diinstal. .PKGINFO Berisi semua metadata yang dibutuhkan oleh pacman untuk menangani paket, dependensi, dll .MTREE. Berisi hash dan stempel waktu dari file, yang termasuk dalam database lokal sehingga pacman dapat memverifikasi keutuhan paket. .MEMASANG. Sebuah file opsional yang digunakan untuk mengeksekusi perintah setelah tahap installupgraderemove. (Berkas ini hadir hanya jika ditentukan dalam PKGBUILD.) .Changelog. Sebuah file opsional yang disimpan oleh pengelola paket yang mendokumentasikan perubahan paket. (Tidak ada dalam semua paket.) Paket Meta dan Grup Kelompok paket adalah sekumpulan paket terkait, yang didefinisikan oleh packager, yang dapat diinstal atau dihapus bersamaan dengan menggunakan nama grup sebagai pengganti setiap nama paket. Sementara sebuah kelompok bukan paket, paket itu bisa dipasang dengan cara yang mirip dengan paket, lihat kelompok paket PacmanInstalling dan PKGBUILDgroups. Paket meta, sering (meski tidak selalu) yang diberi judul dengan -meta suffix, menyediakan fungsionalitas serupa ke grup paket karena memungkinkan beberapa paket terkait diinstal atau dihapus bersamaan. Paket Meta bisa dipasang seperti paket lainnya, lihat paket khusus PacmanInstalling. Satu-satunya perbedaan antara paket meta dan paket reguler adalah paket meta kosong dan hanya ada untuk menghubungkan paket terkait secara bersama melalui dependensi. Keuntungan dari paket meta, dibandingkan dengan grup, adalah bahwa setiap paket anggota baru akan diinstal saat paket meta itu sendiri diperbarui dengan satu set dependensi baru. Ini berbeda dengan kelompok dimana anggota grup baru tidak akan terinstal secara otomatis. Kerugian dari paket meta adalah tidak fleksibel seperti grup - Anda dapat memilih anggota grup yang ingin Anda instal namun Anda tidak dapat memilih dependensi paket meta yang ingin Anda instal. Demikian juga Anda bisa menghapus anggota grup tanpa harus menghapus keseluruhan grup namun Anda tidak dapat menghapus dependensi paket meta tanpa harus menghapus paket meta itu sendiri. Persiapan Perangkat lunak prasyarat Pertama pastikan alat yang diperlukan sudah terpasang. Menginstal basis kelompok paket harus cukup mencakup pembuatan dan alat tambahan yang dibutuhkan untuk kompilasi dari sumber. Salah satu alat utama untuk membangun paket adalah makepkg (disediakan oleh pacman), yang melakukan hal berikut: Memeriksa apakah dependensi paket terpasang. Download file sumber dari server yang ditentukan. Unpacks file sumber (s). Kompilasi perangkat lunak dan pasang di bawah lingkungan fakeroot. Strip simbol dari binari dan perpustakaan. Menghasilkan file meta paket yang disertakan dengan setiap paket. Mengompres lingkungan fakeroot menjadi file paket. Menyimpan file paket di direktori tujuan yang dikonfigurasi, yang merupakan direktori kerja sekarang secara default. Download dan uji instalasi Download sumber tarball dari perangkat lunak yang ingin Anda paketkan, ekstrak, dan ikuti langkah-langkah penulis untuk menginstal program. Buat catatan semua perintah dan atau langkah yang diperlukan untuk mengkompilasi dan menginstalnya. Anda akan mengulangi perintah yang sama di file PKGBUILD. Sebagian besar penulis perangkat lunak tetap berpegang pada siklus pengembangan 3 langkah: Ini adalah saat yang tepat untuk memastikan program bekerja dengan benar. Membuat PKGBUILD Saat Anda menjalankan makepkg. Itu akan mencari file PKGBUILD di direktori kerja sekarang. Jika ditemukan file PKGBUILD maka akan mendownload kode sumber softwares dan mengkompilasinya sesuai instruksi yang ditentukan dalam file PKGBUILD. Instruksi harus sepenuhnya ditafsirkan oleh shell Bash. After successful completion, the resulting binaries and metadata of the package, i.e. package version and dependencies, are packed in a pkgname.pkg.tar.xz package file that can be installed with pacman -U ltpackage filegt . To begin with a new package, you should first create an empty working directory, (preferably abs pkgname ), change into that directory, and create a PKGBUILD file. You can either copy the prototype PKGBUILD usrsharepacmanPKGBUILD.proto to your working directory or copy a PKGBUILD from a similar package. The latter may be useful if you only need to change a few options. Warning: Use only the PKGBUILD prototypes provided in the pacman package (PKGBUILD-split.proto, PKGBUILD-vcs.proto and PKGBUILD.proto). The prototypes files in the abs package and in the ABS git repository are significantly out of date and should not be used. See FS34485 . Defining PKGBUILD variables Example PKGBUILDs are located in usrsharepacman. An explanation of possible PKGBUILD variables can be found in the PKGBUILD article. makepkg defines two variables that you should use as part of the build and install process: srcdir This points to the directory where makepkg extracts or symlinks all files in the source array. pkgdir This points to the directory where makepkg bundles the installed package, which becomes the root directory of your built package. All of them contain absolute paths, which means, you do not have to worry about your working directory if you use these variables properly. Note: makepkg . and thus the build() and package() functions, are intended to be non-interactive. Interactive utilities or scripts called in those functions may break makepkg . particularly if it is invoked with build-logging enabled ( -L ). (See FS13214 .) Note: Apart from the current package Maintainer, there may be previous maintainers listed above as Contributors. PKGBUILD functions There are five functions, listed here in the order they are executed if all of them exist. If one does not exist, it is simply skipped. Note: This does not apply to the package() function, as it is required in every PKGBUILD This function, commands that are used to prepare sources for building are run, such as patching. This function runs right after package extraction, before pkgver() and the build function. If extraction is skipped ( makepkg -e ), then prepare() is not run. Note: (From man PKGBUILD ) The function is run in bash -e mode, meaning any command that exits with a non-zero status will cause the function to exit. pkgver() runs after the sources are fetched, extracted and prepare() executed. So you can update the pkgver variable during a makepkg stage. This is particularly useful if you are making gitsvnhgetc. packages. where the build process may remain the same, but the source could be updated every day, even every hour. The old way of doing this was to put the date into the pkgver field which, if the software was not updated, makepkg would still rebuild it thinking the version had changed. Some useful commands for this are git describe. hg identify -ni. etc. Please test these before submitting a PKGBUILD, as a failure in the pkgver() function can stop a build in its tracks. Note: pkgver cannot contain spaces or hyphens ( - ). Using sed to correct this is common. Now you need to implement the build() function in the PKGBUILD file. This function uses common shell commands in Bash syntax to automatically compile software and create a pkg directory to install the software to. This allows makepkg to package files without having to sift through your file system. The first step in the build() function is to change into the directory created by uncompressing the source tarball. makepkg will change the current directory to srcdir before executing the build() function. Therefore, in most cases, like suggested in usrsharepacmanPKGBUILD.proto. the first command will look like this: Now, you need to list the same commands you used when you manually compiled the software. The build() function in essence automates everything you did by hand and compiles the software in the fakeroot build environment. If the software you are packaging uses a configure script, it is good practice to use --prefixusr when building packages for pacman. A lot of software installs files relative to the usrlocal directory, which should only be done if you are manually building from source. All Arch Linux packages should use the usr directory. As seen in the usrsharepacmanPKGBUILD.proto file, the next two lines often look like this: Note: If your software does not need to build anything, DO NOT use the build() function. The build() function is not required, but the package() function is. Place for calls to make check and similar testing routines. It is highly recommended to have check() as it helps to make sure software has been built correctly and works fine with its dependencies. Users who do not need it (and occasionally maintainers who can not fix a package for this to pass) can disable it using BUILDENV(check) in PKGBUILDmakepkg.conf or call makepkg with --nocheck flag. The final step is to put the compiled files in a directory where makepkg can retrieve them to create a package. This by default is the pkg directorya simple fakeroot environment. The pkg directory replicates the hierarchy of the root file system of the softwares installation paths. If you have to manually place files under the root of your filesystem, you should install them in the pkg directory under the same directory structure. For example, if you want to install a file to usrbin. it should instead be placed under pkgdirusrbin. Very few install procedures require the user to copy dozens of files manually. Instead, for most software, calling make install will do so. The final line should look like the following in order to correctly install the software in the pkg directory: Note: It is sometimes the case where DESTDIR is not used in the Makefile you may need to use prefix instead. If the package is built with autoconf automake . use DESTDIR this is what is documented in the manuals. If DESTDIR does not work, try building with make prefixpkgdirusr install. If that does not work, you will have to look further into the install commands that are executed by make lt. gt install . In some odd cases, the software expects to be run from a single directory. In such cases, it is wise to simply copy these to pkgdiropt. More often than not, the installation process of the software will create sub-directories below the pkg directory. If it does not, however, makepkg will generate a lot of errors and you will need to manually create sub-directories by adding the appropriate mkdir -p commands in the build() function before the installation procedure is run. In old packages, there was no package() function. So, files were put into the pkg directory at the end of the build() function. If package() is not present, build() runs via fakeroot . In new packages, package() is required and runs via fakeroot instead, and build() runs without any special privileges. makepkg --repackage runs only the package() function, so it creates a .pkg. file without compiling the package. This may save time e.g. if you just have changed the depends variable of the package. Note: The package() function is the only required function in a PKGBUILD. If you must only copy files into their respective directories to install a program, do not put it in the build() function, put that in the package() function. Note: Creating symlinks is a slightly awkward process in the package() function. Using the naive approach ln -s fromfoo togoo will result in a broken symlink to the build directory. The way to create a proper link is to create it pointing to an initially-broken source, ln -s fromfoo togoo. Once the package is installed, the link will point to the right place. Testing the PKGBUILD and package As you are writing the build() function, you will want to test your changes frequently to ensure there are no bugs. You can do this using the makepkg command in the directory containing the PKGBUILD file. With a properly formatted PKGBUILD. makepkg will create a package with a broken or unfinished PKGBUILD. it will raise an error. If makepkg finishes successfully, it will place a file named pkgname-pkgver.pkg.tar.xz in your working directory. This package can be installed with the pacman -U command. However, just because a package file was built does not imply that it is fully functional. It might conceivably contain only the directory and no files whatsoever if, for example, a prefix was specified improperly. You can use pacmans query functions to display a list of files contained in the package and the dependencies it requires with pacman -Qlp package file and pacman -Qip package file respectively. If the package looks sane, then you are done However, if you plan on releasing the PKGBUILD file, it is imperative that you check and double-check the contents of the depends array. Also ensure that the package binaries actually run flawlessly It is annoying to release a package that contains all necessary files, but crashes because of some obscure configuration option that does not quite work well with the rest of the system. If you are only going to compile packages for your own system, though, you do not need to worry too much about this quality assurance step, as you are the only person suffering from mistakes, after all. Checking package sanity After testing package functionality check it for errors using namcap. Check PKGBUILD contents for common errors and package file hierarchy for unnecessarymisplaced files Scan all ELF files in package using ldd. automatically reporting which packages with required shared libraries are missing from depends and which can be omitted as transitive dependencies Heuristically search for missing and redundant dependencies and much more. Get into the habit of checking your packages with namcap to avoid having to fix the simplest mistakes after package submission. Submitting packages to the AUR Please read AUR User GuidelinesSubmitting packages for a detailed description of the submission process. Download the source tarball of the software you want to package. Try compiling the package and installing it into an arbitrary directory. Copy over the prototype usrsharepacmanPKGBUILD.proto and rename it to PKGBUILD in a temporary working directory -- preferably abs . Edit the PKGBUILD according to the needs of your package. Run makepkg and see whether the resulting package is built correctly. If not, repeat the last two steps. Before you can automate the package building process, you should have done it manually at least once unless you know exactly what you are doing in advance . in which case you would not be reading this in the first place. Unfortunately, although a good bunch of program authors stick to the 3-step build cycle of .configure make make install , this is not always the case, and things can get real ugly if you have to apply patches to make everything work at all. Rule of thumb: If you cannot get the program to compile from the source tarball, and make it install itself to a defined, temporary subdirectory, you do not even need to try packaging it. There is not any magic pixie dust in makepkg that makes source problems go away. In a few cases, the packages are not even available as source and you have to use something like sh installer.run to get it to work. You will have to do quite a bit of research (read READMEs, INSTALL instructions, man pages, perhaps ebuilds from Gentoo or other package installers, possibly even the MAKEFILEs or source code) to get it working. In some really bad cases, you have to edit the source files to get it to work at all. However, makepkg needs to be completely autonomous, with no user input. Therefore if you need to edit the makefiles, you may have to bundle a custom patch with the PKGBUILD and install it from inside the prepare() function, or you might have to issue some sed commands from inside the prepare() function. More detailed guidelines Package creation guidelinesHow to: Recompiling Rebuild Debian Ubuntu Linux Binary Source File Packages Q. I8217d like to rebuild a Debian Ubuntu package called foo with additional option. How do I recompile .deb packages A. To build a Debian package, you need the following packages software installed on system a fakeroot . fakeroot package 8211 runs a command in an environment wherein it appears to have root privileges for file manipulation. This is useful for allowing users to create archives (tar, ar. deb etc.) with files in them with root permissionsownership. b dpkg-dev . package building tools for Debian c Development environment 8211 You need gcc, make and all other compiler collection installed on system. Under Debian Ubuntu package build-essential takes care of everything. Step 1: Install required packages Type the following command sudo apt-get install build-essential fakeroot dpkg-dev Step 2: Install source code package First, create a directory to store source package, enter: mkdir build cd build Use apt-get command to install source code for a package called foo sudo apt-get source foo Install all build-dependencies, enter: sudo apt-get build-dep foo Unpacks Debian Ubuntu source archives with Debian source package (.dsc) manipulation tool, enter: dpkg-source -x fooversion-revision.dsc To just compile the package, you need cd into foo-version directory and issue the command dpkg-buildpackage -rfakeroot -b If you want to pass custom additonal options to configure, you can set up the DEBBUILDOPTIONS environment variable. For instance, if you want pass option called 8211enable-radio 8211enable-gui, enter: DEBBUILDOPTIONS--enable-gui --enable-radio fakeroot debianrules binary You can also pass some variables to the Makefile. For example, if you want to compile with gcc v3.4, enter: CCgcc-3.4 DEBBUILDOPTIONS--enable-gui --enable-radio fakeroot debianrules binary A complete example 8211 mplayer Let us see how to rebuild mplayer media player package with 8211enable-radio 8211disable-ivt options: sudo apt-get source mplayer sudo apt-get build-dep mplayer dpkg-source -x mplayerversion-revision.dsc DEBBUILDOPTIONS--enable-gui --enable-radio --disable-ivt fakeroot debianrules binary Now wait for some time as compile procedure going to take its own time. To install the newly-built package, enter: dpkg -i. mplayerversion-revisionarch.deb Further readings: Related Posts: Share this tutorial on: Your support makes a big difference: I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations: Become a Supporter rarr Make a contribution via PaypalBitcoin rarr Dont Miss Any Linux and Unix Tips Get nixCraft in your inbox. Its free:
Opsi Mrc-market-binary
Pasar laksamana bola Forex