EnglishFrenchSpanyol

Ad


Favicon OnWorks

dpkg-buildflags - Dalam Talian di Awan

Jalankan dpkg-buildflags dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan dpkg-buildflags yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


dpkg-buildflags - mengembalikan bendera binaan untuk digunakan semasa membina pakej

SINOPSIS


dpkg-buildflags [pilihan...] [arahan]

DESCRIPTION


dpkg-buildflags ialah alat untuk mendapatkan semula bendera kompilasi untuk digunakan semasa membina Debian
pakej. Bendera lalai ditakrifkan oleh vendor tetapi ia boleh dilanjutkan/ditindih
dalam beberapa cara:

1. seluruh sistem dengan /etc/dpkg/buildflags.conf;

2. untuk pengguna semasa dengan $XDG_CONFIG_HOME/dpkg/buildflags.conf di mana
$XDG_CONFIG_HOME lalai kepada $HOME/.config;

3. buat sementara waktu oleh pengguna dengan pembolehubah persekitaran (lihat bahagian PERSEKITARAN);

4. secara dinamik oleh penyelenggara pakej dengan pembolehubah persekitaran ditetapkan melalui
debian/peraturan (lihat bahagian PERSEKITARAN).

Fail konfigurasi boleh mengandungi dua jenis arahan:

SET bendera nilai
Gantikan bendera yang dinamakan bendera untuk mempunyai nilai nilai.

JALUR bendera nilai
Strip dari bendera bernama bendera semua bendera binaan disenaraikan dalam nilai.

LAMPIRAN bendera nilai
Panjangkan bendera bernama bendera dengan menambahkan pilihan yang diberikan dalam nilai. Ruang adalah
ditambahkan pada nilai yang dilampirkan jika nilai semasa bendera tidak kosong.

PREPEND bendera nilai
Panjangkan bendera bernama bendera dengan menambah pilihan yang diberikan dalam nilai. Ruang adalah
dilampirkan pada nilai yang didahulukan jika nilai semasa bendera tidak kosong.

Fail konfigurasi boleh mengandungi ulasan pada baris bermula dengan cincang (#). kosong
baris juga diabaikan.

PERINTAH


--pembuangan Cetak ke output standard semua bendera kompilasi dan nilainya. Ia mencetak satu bendera
setiap baris dipisahkan daripada nilainya dengan tanda yang sama (“bendera=nilai”). Ini adalah
tindakan lalai.

--senarai Cetak senarai bendera yang disokong oleh vendor semasa (satu setiap baris). Lihat
DISOKONG BENTUK bahagian untuk maklumat lanjut tentang mereka.

--status
Paparkan sebarang maklumat yang boleh berguna untuk menerangkan tingkah laku
dpkg-buildflags (sejak dpkg 1.16.5): pembolehubah persekitaran yang berkaitan, semasa
vendor, keadaan semua bendera ciri. Cetak juga bendera pengkompil yang terhasil dengan
asal usul mereka.

Ini bertujuan untuk dijalankan dari debian/peraturan, supaya log binaan kekal jelas
jejak bendera binaan yang digunakan. Ini boleh berguna untuk mendiagnosis masalah yang berkaitan dengan
Mereka.

--eksport=format
Cetak kepada arahan output standard yang boleh digunakan untuk mengeksport semua kompilasi
bendera untuk beberapa alat tertentu. Sekiranya format nilai tidak diberikan, sh diandaikan.
Hanya bendera kompilasi yang bermula dengan huruf besar disertakan, yang lain
diandaikan tidak sesuai dengan persekitaran. Format yang disokong:

sh Perintah Shell untuk menetapkan dan mengeksport semua bendera kompilasi dalam
persekitaran. Nilai bendera dipetik supaya output sedia untuk
penilaian oleh cangkerang.

cmdline
Argumen untuk dihantar ke baris arahan program bina untuk menggunakan semua
bendera kompilasi (sejak dpkg 1.17.0). Nilai bendera dipetik dalam shell
Sintaks.

mengkonfigurasi
Ini adalah alias warisan untuk cmdline.

membuat Buat arahan untuk menetapkan dan mengeksport semua bendera kompilasi dalam
persekitaran. Output boleh ditulis ke serpihan makefile dan dinilai
menggunakan termasuk arahan.

--dapatkan bendera
Cetak nilai bendera pada output standard. Keluar dengan 0 jika bendera diketahui
sebaliknya keluar dengan 1.

--asal bendera
Cetak asal nilai yang dikembalikan oleh --dapatkan. Keluar dengan 0 jika bendera
diketahui sebaliknya keluar dengan 1. Asal boleh menjadi salah satu daripada nilai berikut:

penjual bendera asal yang ditetapkan oleh vendor dikembalikan;

sistem bendera ditetapkan/diubah suai oleh konfigurasi seluruh sistem;

pengguna bendera ditetapkan/diubah suai oleh konfigurasi khusus pengguna;

env bendera ditetapkan/diubah suai oleh konfigurasi khusus persekitaran.

--ciri-pertanyaan kawasan
Cetak ciri yang didayakan untuk kawasan tertentu (sejak dpkg 1.16.2). Satu-satunya
kawasan yang diiktiraf pada masa ini pada Debian dan derivatif adalah qa, boleh dihasilkan semula, membersihkan
and pengerasan, lihat CIRI AREAS bahagian untuk butiran lanjut. Keluar dengan 0 jika
kawasan diketahui sebaliknya keluar dengan 1.

Output adalah dalam format RFC822, dengan satu bahagian setiap ciri. Sebagai contoh:

Ciri: pai
Didayakan: tidak

Ciri: stackprotector
Didayakan: ya

- membantu Tunjukkan mesej penggunaan dan keluar.

--versi
Tunjukkan versi dan keluar.

DISOKONG BENTUK


CFLAGS Pilihan untuk pengkompil C. Nilai lalai yang ditetapkan oleh vendor termasuk -g dan juga
tahap pengoptimuman lalai (-O2 biasanya, atau -O0 jika DEB_BUILD_OPTIONS
pembolehubah persekitaran mentakrifkan noopt).

CPPFLAGS
Pilihan untuk prapemproses C. Nilai lalai: kosong.

CXXFLAGS
Pilihan untuk pengkompil C++. Sama seperti CFLAGS.

OBJCFLAGS
Pilihan untuk pengkompil Objektif C. Sama seperti CFLAGS.

OBJCXXFLAGS
Pilihan untuk pengkompil C++ Objektif. Sama seperti CXXFLAGS.

GCJFLAGS
Pilihan untuk pengkompil GNU Java (gcj). Subset daripada CFLAGS.

FFLAGS Pilihan untuk pengkompil Fortran 77. Subset daripada CFLAGS.

FCFLAGS
Pilihan untuk pengkompil Fortran 9x. Sama seperti FFLAGS.

LDFLAGS
Pilihan diserahkan kepada pengkompil apabila memautkan boleh laku atau objek kongsi (jika
penghubung dipanggil terus, kemudian -Wl and , perlu dilucutkan daripada pilihan ini).
Nilai lalai: kosong.

Bendera baharu mungkin ditambah pada masa hadapan jika perlu (contohnya untuk menyokong yang lain
bahasa).

CIRI AREAS


Setiap ciri kawasan boleh didayakan dan dilumpuhkan dalam DEB_BUILD_OPTIONS and
DEB_BUILD_MAINT_OPTIONS nilai kawasan pembolehubah persekitaran dengan ‘+'Dan'-' pengubah suai.
Sebagai contoh, untuk membolehkan pengerasan ciri "pai" dan lumpuhkan ciri "kuatkan" anda
boleh melakukan ini dalam debian/peraturan:

eksport DEB_BUILD_MAINT_OPTIONS=pengerasan=+pai,-kuatkan

Ciri khasnya semua (sah di mana-mana kawasan) boleh digunakan untuk mendayakan atau melumpuhkan semua kawasan
ciri pada masa yang sama. Oleh itu melumpuhkan segala-galanya dalam pengerasan kawasan dan membolehkan
hanya "format" dan "fortify" boleh dicapai dengan:

eksport DEB_BUILD_MAINT_OPTIONS=hardening=-all,+format,+fortify

qa
Beberapa pilihan masa kompilasi (terperinci di bawah) boleh digunakan untuk membantu mengesan masalah dalam
kod sumber atau sistem binaan.

pepijat Tetapan ini (dilumpuhkan secara lalai) menambah sebarang pilihan amaran yang dapat mengesan dengan pasti
kod sumber bermasalah. Amaran itu membawa maut.

kenari Tetapan ini (dilumpuhkan secara lalai) menambah pilihan kenari tiruan pada bendera binaan, jadi
bahawa log binaan boleh disemak untuk mengetahui cara bendera binaan merebak dan membenarkannya
mencari sebarang peninggalan tetapan bendera binaan biasa. Satu-satunya yang disokong pada masa ini
bendera adalah CPPFLAGS, CFLAGS, OBJCFLAGS, CXXFLAGS and OBJCXXFLAGS dengan bendera ditetapkan kepada
-D__DEB_CANARY_bendera_rawak-id__, dan LDFLAGS bersedia untuk -Wl,-z,deb-canary-rawak-id.

membersihkan
Beberapa pilihan masa kompilasi (diperincikan di bawah) boleh digunakan untuk membantu membersihkan hasil
binari terhadap kerosakan memori, kebocoran memori, penggunaan selepas percuma, perlumbaan data threading dan
pepijat tingkah laku yang tidak ditentukan.

alamat
Tetapan ini (dilumpuhkan secara lalai) menambah -fsanitize=alamat kepada LDFLAGS and
-fsanitize=alamat -fno-omit-frame-pointer kepada CFLAGS and CXXFLAGS.

thread Tetapan ini (dilumpuhkan secara lalai) menambah -fsanitize=benang kepada CFLAGS, CXXFLAGS and
LDFLAGS.

bocor Tetapan ini (dilumpuhkan secara lalai) menambah -fsanitize=bocor kepada LDFLAGS. Ia mendapat
dilumpuhkan secara automatik jika sama ada alamat atau thread ciri didayakan, sebagai
mereka membayangkannya.

undefined
Tetapan ini (dilumpuhkan secara lalai) menambah -fsanitize=undefined kepada CFLAGS, CXXFLAGS
and LDFLAGS.

pengerasan
Beberapa pilihan masa kompilasi (terperinci di bawah) boleh digunakan untuk membantu mengeraskan hasil
binari terhadap serangan rasuah memori, atau menyediakan mesej amaran tambahan semasa
kompilasi. Kecuali seperti yang dinyatakan di bawah, ini didayakan secara lalai untuk seni bina yang
menyokong mereka.

format Tetapan ini (didayakan secara lalai) menambah -Wformat -Werror=format-security kepada CFLAGS,
CXXFLAGS, OBJCFLAGS and OBJCXXFLAGS. Ini akan memberi amaran tentang rentetan format yang tidak betul
digunakan, dan akan gagal apabila fungsi format digunakan dengan cara yang mewakili kemungkinan
masalah keselamatan. Pada masa ini, ini memberi amaran tentang panggilan ke Printf and imbasan fungsi
di mana rentetan format bukan rentetan literal dan tiada argumen format,
seperti dalam printf(foo); bukan printf("%s", foo); Ini mungkin lubang keselamatan jika
rentetan format datang daripada input yang tidak dipercayai dan mengandungi '%n'.

membentengi
Tetapan ini (didayakan secara lalai) menambah -D_FORTIFY_SOURCE=2 kepada CPPFLAGS. Semasa kod
generasi pengkompil mengetahui banyak maklumat tentang saiz penimbal (di mana
mungkin), dan cuba menggantikan panggilan fungsi penimbal panjang tanpa had yang tidak selamat
dengan yang terhad panjang. Ini amat berguna untuk kod lama yang rapuh.
Selain itu, rentetan format dalam memori boleh tulis yang mengandungi '%n' disekat. Jika
aplikasi bergantung pada rentetan format sedemikian, ia perlu diuruskan.

Ambil perhatian bahawa untuk pilihan ini mempunyai apa-apa kesan, sumber juga mesti disusun bersama
-O1 atau lebih tinggi. Jika pembolehubah persekitaran DEB_BUILD_OPTIONS mengandungi noopt, Maka
membentengi sokongan akan dilumpuhkan, disebabkan amaran baharu dikeluarkan oleh glibc 2.16
dan kemudian.

stackprotector
Tetapan ini (didayakan secara lalai jika stackprotectorstrong tidak digunakan) menambah
-fstack-pelindung --param=ssp-buffer-size=4 kepada CFLAGS, CXXFLAGS, OBJCFLAGS,
OBJCXXFLAGS, GCJFLAGS, FFLAGS and FCFLAGS. Ini menambah pemeriksaan keselamatan terhadap timbunan
menimpa. Ini menyebabkan banyak serangan suntikan kod berpotensi menjadi pengguguran
situasi. Dalam kes terbaik, ini menukar kelemahan suntikan kod kepada penafian
perkhidmatan atau bukan isu (bergantung pada aplikasi).

Ciri ini memerlukan pemautan terhadap glibc (atau pembekal lain
__stack_chk_fail), jadi perlu dilumpuhkan apabila membina dengan -nostdlib or
-berdiri bebas atau sama.

stackprotectorstrong
Tetapan ini (didayakan secara lalai) menambah -fstack-protector-strong kepada CFLAGS,
CXXFLAGS, OBJCFLAGS, OBJCXXFLAGS, GCJFLAGS, FFLAGS and FCFLAGS. Ini adalah lebih kuat
varian dari stackprotector, tetapi tanpa penalti prestasi yang ketara.

Melumpuhkan stackprotector juga akan melumpuhkan tetapan ini.

Ciri ini mempunyai keperluan yang sama seperti stackprotector, dan sebagai tambahan juga
memerlukan gcc 4.9 dan lebih baru.

relro Tetapan ini (didayakan secara lalai) menambah -Wl,-z,relro kepada LDFLAGS. Semasa program
memuatkan, beberapa bahagian memori ELF perlu ditulis oleh penyambung. Bendera ini
pemuat untuk memusingkan bahagian ini baca sahaja sebelum menyerahkan kawalan kepada
program. Terutama sekali ini menghalang serangan ganti GOT. Jika pilihan ini
kurang upaya, bindnow akan menjadi kurang upaya juga.

bindnow
Tetapan ini (dilumpuhkan secara lalai) menambah -Wl,-z, sekarang kepada LDFLAGS. Semasa beban program,
semua simbol dinamik diselesaikan, membolehkan keseluruhan PLT ditanda baca-
sahaja (disebabkan relro atas). Pilihan tidak boleh didayakan jika relro tidak
yang aktif.

pai Tetapan ini (dilumpuhkan secara lalai) menambah -fPIE kepada CFLAGS, CXXFLAGS, OBJCFLAGS,
OBJCXXFLAGS, GCJFLAGS, FFLAGS and FCFLAGS, dan -fPIE -pai kepada LDFLAGS. kedudukan
Boleh Laksana Bebas diperlukan untuk memanfaatkan Susun Atur Ruang Alamat
Rawak, disokong oleh beberapa versi kernel. Sedangkan ASLR sudah boleh
dikuatkuasakan untuk kawasan data dalam tindanan dan timbunan (brk dan mmap), kawasan kod mesti
disusun sebagai bebas kedudukan. Perpustakaan kongsi sudah melakukan ini (-fPIC), jadi
mereka memperoleh ASLR secara automatik, tetapi kawasan .teks binari perlu membina PIE untuk memperoleh
ASLR. Apabila ini berlaku, serangan ROP (Return Oriented Programming) adalah lebih sukar
kerana tiada lokasi statik untuk melantun semasa kerosakan memori
serang.

Ini tidak serasi dengan -fPIC jadi berhati-hati mesti diambil apabila bangunan dikongsi
objek.

Selain itu, memandangkan PIE dilaksanakan melalui daftar umum, beberapa seni bina
(terutamanya i386) boleh melihat kehilangan prestasi sehingga 15% dalam segmen teks-
beban kerja aplikasi yang berat; kebanyakan beban kerja melihat kurang daripada 1%. Seni bina dengan
lebih banyak daftar umum (cth. amd64) tidak melihat penalti terburuk yang tinggi.

boleh dihasilkan semula
Pilihan masa kompilasi yang diperincikan di bawah boleh digunakan untuk membantu meningkatkan kebolehulangan binaan
atau menyediakan mesej amaran tambahan semasa penyusunan. Kecuali seperti yang dinyatakan di bawah, ini
didayakan secara lalai untuk seni bina yang menyokongnya.

tiada masa
Tetapan ini (didayakan secara lalai) menambah -Wtarikh-masa kepada CPPFLAGS. Ini akan menyebabkan
amaran apabila __MASA__, __TARIKH__ and __TIMESTAMP__ makro digunakan.

PERSEKITARAN


Terdapat 2 set pembolehubah persekitaran melakukan operasi yang sama, yang pertama
(DEB_bendera_op) tidak boleh digunakan dalam debian/peraturan. Ia dimaksudkan untuk mana-mana pengguna yang mahu
untuk membina semula pakej sumber dengan bendera binaan yang berbeza. Set kedua
(DEB_bendera_MAINT_op) hanya boleh digunakan dalam debian/peraturan oleh penyelenggara pakej untuk menukar
bendera binaan yang terhasil.

DEB_bendera_SET
DEB_bendera_MAINT_SET
Pembolehubah ini boleh digunakan untuk memaksa nilai dikembalikan untuk yang diberikan bendera.

DEB_bendera_STRIP
DEB_bendera_MAINT_STRIP
Pembolehubah ini boleh digunakan untuk menyediakan senarai pilihan yang diasingkan ruang yang akan
dilucutkan daripada set bendera yang dikembalikan untuk diberikan bendera.

DEB_bendera_APPEND
DEB_bendera_MAINT_APPEND
Pembolehubah ini boleh digunakan untuk menambah pilihan tambahan kepada nilai yang dikembalikan
yang diberi bendera.

DEB_bendera_SEDIAKAN
DEB_bendera_MAINT_PREPEND
Pembolehubah ini boleh digunakan untuk menambah pilihan tambahan kepada nilai yang dikembalikan
untuk yang diberi bendera.

DEB_BUILD_OPTIONS
DEB_BUILD_MAINT_OPTIONS
Pembolehubah ini boleh digunakan oleh pengguna atau penyelenggara untuk melumpuhkan/mendayakan pelbagai kawasan
ciri yang mempengaruhi bendera binaan. The DEB_BUILD_MAINT_OPTIONS penggantian pembolehubah
sebarang tetapan dalam DEB_BUILD_OPTIONS kawasan ciri. Lihat CIRI AREAS seksyen
untuk maklumat lanjut.

Gunakan dpkg-buildflags dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad