İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

dpkg-buildflags - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında dpkg-buildflags çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen dpkg-buildflags komutudur.

Program:

ADI


dpkg-buildflags - paket oluşturma sırasında kullanılacak derleme bayraklarını döndürür

SİNOPSİS


dpkg-buildflags [seçenek...] [komuta]

TANIM


dpkg-buildflags Debian'ın oluşturulması sırasında kullanılacak derleme bayraklarını almak için bir araçtır
paketler. Varsayılan bayraklar satıcı tarafından tanımlanır ancak genişletilebilir/geçersiz kılınabilir
çeşitli yollarla:

1. sistem genelinde /etc/dpkg/buildflags.conf;

2. mevcut kullanıcı için $XDG_CONFIG_HOME/dpkg/buildflags.conf nerede
$XDG_CONFIG_HOME varsayılan $HOME/.config;

3. kullanıcı tarafından ortam değişkenleriyle geçici olarak (bkz. ÇEVRE);

4. aracılığıyla ayarlanan ortam değişkenleri ile paket sağlayıcı tarafından dinamik olarak
debian/kurallar (bkz. bölüm ÇEVRE).

Yapılandırma dosyaları iki tür yönerge içerebilir:

SET bayrak değer
Adlı bayrağı geçersiz kıl bayrak değere sahip olmak değer.

ŞERİT bayrak değer
adlı bayraktan şerit bayrak listelenen tüm yapı bayrakları değer.

EKLE bayrak değer
adlı bayrağı uzatın bayrak verilen seçenekleri ekleyerek değer. Bir boşluk
bayrağın mevcut değeri boş değilse, eklenen değerin başına eklenir.

başına ekle bayrak değer
adlı bayrağı uzatın bayrak içinde verilen seçeneklerin başına getirerek değer. Bir boşluk
bayrağın mevcut değeri boş değilse, başa eklenen değere eklenir.

Yapılandırma dosyaları, bir kare (#) ile başlayan satırlarda yorumlar içerebilir. Boş
satırlar da dikkate alınmaz.

KOMUTLAR


--çöplük Tüm derleme bayraklarını ve değerlerini standart çıktıya yazdırın. Tek bayrak basar
değerinden eşittir işaretiyle ayrılmış satır başına (“bayrak=değer”). bu
Varsayılan aksiyon.

--liste Geçerli satıcı tarafından desteklenen bayrakların listesini yazdırın (her satıra bir tane). Bkz.
DESTEKLENEN BAYRAKLAR Onlar hakkında daha fazla bilgi için bölüm.

--durum
davranışını açıklamak için yararlı olabilecek herhangi bir bilgiyi görüntüleyin.
dpkg-buildflags (dpkg 1.16.5'ten beri): ilgili ortam değişkenleri, mevcut
satıcı, tüm özellik bayraklarının durumu. Ayrıca ortaya çıkan derleyici bayraklarını ile yazdırın
onların kökeni.

Bu, çalıştırılmak üzere tasarlanmıştır debian/kurallar, böylece yapı günlüğü net bir şekilde tutar
kullanılan yapı bayraklarının izi. Bu, aşağıdakilerle ilgili sorunları teşhis etmek için yararlı olabilir.
Onları.

--dışa aktar=biçim
Tüm derlemeyi dışa aktarmak için kullanılabilecek standart çıktı komutlarına yazdırın
belirli bir araç için bayraklar. Eğer biçim Değer verilmez, sh kabul edilir.
Yalnızca büyük harfle başlayan derleme bayrakları dahildir, diğerleri
ortama uygun olmadığı varsayılır. Desteklenen biçimler:

sh Tüm derleme bayraklarını ayarlamak ve dışa aktarmak için Shell komutları
Çevre. Çıktı için hazır olması için bayrak değerleri alıntılanmıştır.
bir kabuk tarafından değerlendirilmesi.

komut_satırı
Tüm öğeleri kullanmak için bir derleme programının komut satırına geçilecek argümanlar
derleme bayrakları (dpkg 1.17.0'dan beri). Bayrak değerleri kabukta alıntılanmıştır
sözdizimi.

yapılandırmak
Bu, eski bir takma addır komut_satırı.

yapmak İçindeki tüm derleme bayraklarını ayarlamak ve dışa aktarmak için yönergeler yapın.
Çevre. Çıktı bir makefile parçasına yazılabilir ve değerlendirilebilir
Bir kullanarak dahil Direktif.

--elde etmek bayrak
Bayrağın değerini standart çıktıya yazdırın. Bayrak biliniyorsa 0 ile çıkar
aksi takdirde 1 ile çıkar.

--Menşei bayrak
Tarafından döndürülen değerin kökenini yazdır --elde etmek. Bayrak varsa 0 ile çıkar
aksi takdirde 1 ile çıktığı bilinmektedir. Başlangıç ​​noktası aşağıdaki değerlerden biri olabilir:

satıcı satıcı tarafından belirlenen orijinal bayrak döndürülür;

sistem bayrak, sistem çapında bir konfigürasyon tarafından ayarlanır/değiştirilir;

kullanıcı bayrak, kullanıcıya özel bir konfigürasyon tarafından ayarlanır/değiştirilir;

env bayrak, ortama özel bir konfigürasyon tarafından ayarlanır/değiştirilir.

--sorgu-özellikleri alan
Belirli bir alan için etkinleştirilen özellikleri yazdırın (dpkg 1.16.2'den beri). Tek
Debian ve türevlerinde şu anda tanınan alanlar qa, tekrar üretilebilir, sterilize
ve sertleştirme, bakın ÖZELLİK ALANLARI Daha fazla ayrıntı için bölüm. 0 ile çıkar, eğer
alan bilinir, aksi takdirde 1 ile çıkar.

Çıktı, özellik başına bir bölüm olacak şekilde RFC822 biçimindedir. Örneğin:

Özellik: pasta
Etkin: hayır

Özellik: yığın koruyucu
Etkin: evet

--yardım et Kullanım mesajını göster ve çık.

--versiyon
Sürümü göster ve çık.

DESTEKLENEN BAYRAKLAR


FLAG'LAR C derleyicisi için seçenekler. Satıcı tarafından belirlenen varsayılan değer şunları içerir: -g ve
varsayılan optimizasyon seviyesi (-O2 genellikle veya -O0 eğer DEB_BUILD_OPTIONS
ortam değişkeni tanımlar hayır).

CPPFLAG'lar
C ön işlemcisi için seçenekler. Varsayılan değer: boş.

CXXFLAG'LAR
C++ derleyicisi için seçenekler. İle aynı FLAG'LAR.

OBJCFLAG'lar
Objective C derleyicisi için seçenekler. İle aynı FLAG'LAR.

OBJCXXFLAG'LAR
Objective C++ derleyicisi için seçenekler. İle aynı CXXFLAG'LAR.

GCJFLAG'lar
GNU Java derleyicisi (gcj) için seçenekler. Altkümesi FLAG'LAR.

BAYRAKLAR Fortran 77 derleyicisi için seçenekler. Altkümesi FLAG'LAR.

FCFLAG'lar
Fortran 9x derleyicisi için seçenekler. İle aynı BAYRAKLAR.

LDFLAG'lar
Yürütülebilir dosyaları veya paylaşılan nesneleri bağlarken derleyiciye iletilen seçenekler (eğer
bağlayıcı doğrudan çağrılır, ardından -WL ve , bu seçeneklerden çıkarılmalıdır).
Varsayılan değer: boş.

İhtiyaç duyulursa gelecekte yeni bayraklar eklenebilir (örneğin, diğerlerini desteklemek için).
Diller).

ÖZELLİK ALANLARI


Her alan özelliği şurada etkinleştirilebilir ve devre dışı bırakılabilir: DEB_BUILD_OPTIONS ve
DEB_BUILD_MAINT_OPTIONS ' ile ortam değişkeninin alan değeri+'Ve'-'değiştirici.
Örneğin, etkinleştirmek için sertleştirme “pasta” özelliğini açın ve “güçlendirin” özelliğini devre dışı bırakın.
bunu yapabilir debian/kurallar:

dışa aktarma DEB_BUILD_MAINT_OPTIONS=sertleştirme=+pasta,-güçlendirme

Özel özellik herşey (herhangi bir alanda geçerlidir) tüm alanları etkinleştirmek veya devre dışı bırakmak için kullanılabilir
özellikleri aynı anda. Böylece içindeki her şeyi devre dışı bırakmak sertleştirme alan ve etkinleştirme
yalnızca “biçim” ve “güçlendirme” şu yollarla elde edilebilir:

dışa aktarma DEB_BUILD_MAINT_OPTIONS=sertleştirme=-tümü,+biçim,+güçlendirme

qa
Çeşitli derleme zamanı seçenekleri (aşağıda ayrıntılı olarak verilmiştir) aşağıdaki durumlarda sorunları algılamaya yardımcı olmak için kullanılabilir.
kaynak kodu veya yapı sistemi.

böcek Bu ayar (varsayılan olarak devre dışıdır), güvenilir bir şekilde algılayan herhangi bir uyarı seçeneği ekler.
sorunlu kaynak kodu. Uyarılar ölümcül.

kanarya Bu ayar (varsayılan olarak devre dışıdır), oluşturma bayraklarına yapay kanarya seçenekleri ekler, bu nedenle
derleme günlüklerinin, derleme bayraklarının nasıl yayıldığı ve izin vermesi için kontrol edilebileceğini
normal inşa bayrağı ayarlarının herhangi bir ihmalini bulmak. Şu anda desteklenen tek
bayraklar CPPFLAG'lar, FLAG'LAR, OBJCFLAG'lar, CXXFLAG'LAR ve OBJCXXFLAG'LAR bayraklar ayarlanmış
-D__DEB_CANARY_bayrak_rastgele kimlik__, ve LDFLAG'lar ayarlandığında -Wl,-z,deb-kanarya-rastgele kimlik.

sterilize
Bir sonucun sterilize edilmesine yardımcı olmak için birkaç derleme zamanı seçeneği (aşağıda ayrıntılı olarak verilmiştir) kullanılabilir.
bellek bozulmalarına, bellek sızıntılarına, serbest kaldıktan sonra kullanıma, iş parçacığı veri yarışlarına ve
tanımsız davranış hataları.

adres
Bu ayar (varsayılan olarak devre dışıdır) -fsanitize=adres için LDFLAG'lar ve
-fsanitize=adres -fno-omit-frame-işaretçisi için FLAG'LAR ve CXXFLAG'LAR.

iplik Bu ayar (varsayılan olarak devre dışıdır) -fsanitize=iş parçacığı için FLAG'LAR, CXXFLAG'LAR ve
LDFLAG'lar.

sızıntı Bu ayar (varsayılan olarak devre dışıdır) -fsanitize=sızıntı için LDFLAG'lar. alır
otomatik olarak devre dışı bırakılırsa adres ya da iplik özellikler etkinleştirildi,
bunu ima ediyorlar.

tanımlanmamış
Bu ayar (varsayılan olarak devre dışıdır) -fsanitize=tanımsız için FLAG'LAR, CXXFLAG'LAR
ve LDFLAG'lar.

sertleştirme
Bir sonucun sertleştirilmesine yardımcı olmak için birkaç derleme zamanı seçeneği (aşağıda ayrıntılı olarak verilmiştir) kullanılabilir.
bellek bozulması saldırılarına karşı ikili veya sırasında ek uyarı mesajları sağlayın
derleme. Aşağıda belirtilenler dışında, bunlar varsayılan olarak şu mimariler için etkindir:
onları destekle.

biçim Bu ayar (varsayılan olarak etkindir) -W biçimi -Werror=format güvenliği için FLAG'LAR,
CXXFLAG'LAR, OBJCFLAG'lar ve OBJCXXFLAG'LAR. Bu, uygun olmayan biçim dizesi hakkında uyaracaktır
kullanır ve biçim işlevleri olası temsil eden bir şekilde kullanıldığında başarısız olur.
güvenlik sorunları. Şu anda, bu çağrılar hakkında uyarıyor printf ve scanf fonksiyonlar
biçim dizgisinin dizge değişmezi olmadığı ve biçim bağımsız değişkeni olmadığı durumlarda,
içinde olduğu gibi printf(foo); yerine printf("%s", foo); Bu bir güvenlik açığı olabilir, eğer
biçim dizesi güvenilmeyen girdiden geldi ve '%n' içeriyor.

güçlendirmek
Bu ayar (varsayılan olarak etkindir) -D_FORTIFY_SOURCE=2 için CPPFLAG'lar. kod sırasında
nesil derleyici, arabellek boyutları hakkında çok fazla bilgi bilir (burada
mümkün) ve güvenli olmayan sınırsız uzunluktaki arabellek işlevi çağrılarını değiştirmeye çalışır
uzunluk sınırlı olanlarla. Bu, özellikle eski, kaba kod için kullanışlıdır.
Ek olarak, yazılabilir bellekte '%n' içeren biçimlendirme dizeleri engellenir. Eğer
bir uygulama böyle bir biçim dizgisine bağlıdır, üzerinde çalışılması gerekecektir.

Bu seçeneğin herhangi bir etkiye sahip olması için kaynağın da derlenmesi gerektiğini unutmayın.
-O1 veya daha yüksek. ortam değişkeni ise DEB_BUILD_OPTIONS içeren hayır, Daha sonra
güçlendirmek glibc 2.16 tarafından yayınlanan yeni uyarılar nedeniyle destek devre dışı bırakılacak
ve sonra.

yığın koruyucu
Bu ayar (stackprotectorstrong kullanımda değilse varsayılan olarak etkindir)
-fstack-koruyucu --param=ssp-tampon boyutu=4 için FLAG'LAR, CXXFLAG'LAR, OBJCFLAG'lar,
OBJCXXFLAG'LAR, GCJFLAG'lar, BAYRAKLAR ve FCFLAG'lar. Bu, yığına karşı güvenlik kontrolleri ekler
üzerine yazar. Bu, birçok potansiyel kod enjeksiyon saldırısını iptal etmeye neden olur
durumlar. En iyi durumda bu, kod yerleştirme güvenlik açıklarını reddetmeye dönüştürür
hizmetin veya olmayan sorunların içine (uygulamaya bağlı olarak).

Bu özellik, glibc'ye (veya başka bir sağlayıcıya) bağlanmayı gerektirir.
__stack_chk_fail), bu nedenle inşa ederken devre dışı bırakılması gerekiyor -nstdlib or
-bağımsız veya benzeri.

yığın koruyucu
Bu ayar (varsayılan olarak etkindir) -fstack-koruyucu-güçlü için FLAG'LAR,
CXXFLAG'LAR, OBJCFLAG'lar, OBJCXXFLAG'LAR, GCJFLAG'lar, BAYRAKLAR ve FCFLAG'lar. Bu daha güçlü
varyantı yığın koruyucu, ancak önemli performans cezaları olmadan.

Devre Dışı Bırakma yığın koruyucu bu ayarı da devre dışı bırakır.

Bu özellik, aşağıdakilerle aynı gereksinimlere sahiptir: yığın koruyucuve ayrıca ayrıca
gcc 4.9 ve sonraki sürümleri gerektirir.

tekrar Bu ayar (varsayılan olarak etkindir) -Wl,-z, tekrar için LDFLAG'lar. Program sırasında
yüklendiğinde, bağlayıcı tarafından birkaç ELF bellek bölümünün yazılması gerekir. Bu bayraklar
yükleyici, kontrolü devre dışı bırakmadan önce bu bölümleri salt okunur olarak çevirmek için
program. En önemlisi bu, GOT üzerine yazma saldırılarını önler. Bu seçenek ise
engelli, bağlama da engelli olacak.

bağlama
Bu ayar (varsayılan olarak devre dışıdır) -Wl,-z,şimdi için LDFLAG'lar. Program yükleme sırasında,
tüm dinamik semboller çözümlenir ve tüm PLT'nin okunarak işaretlenmesine izin verir.
sadece (nedeniyle tekrar üstünde). Seçenek şu durumlarda etkinleştirilemez: tekrar değil
sağladı.

turta Bu ayar (varsayılan olarak devre dışıdır) -fPIE için FLAG'LAR, CXXFLAG'LAR, OBJCFLAG'lar,
OBJCXXFLAG'LAR, GCJFLAG'lar, BAYRAKLAR ve FCFLAG'lar, ve -fPIE -turta için LDFLAG'lar. Konum
Adres Alanı Düzeninden yararlanmak için Bağımsız Yürütülebilir Dosya gerekir
Bazı çekirdek sürümleri tarafından desteklenen rastgeleleştirme. ASLR zaten olabilirken
yığın ve yığındaki (brk ve mmap) veri alanları için zorunlu kılındığında, kod alanları
pozisyondan bağımsız olarak derlenebilir. Paylaşılan kitaplıklar bunu zaten yapıyor (-fPIC), yani
otomatik olarak ASLR kazanırlar, ancak kazanmak için ikili .text bölgelerinin PIE oluşturulması gerekir.
ASLR. Bu olduğunda, ROP (Dönüş Odaklı Programlama) saldırıları çok daha zordur.
bellek bozulması sırasında sıçrayacak statik konum olmadığından
gibi saldırılara dayanıklı olmalıdırlar.

Bu uyumlu değil -fPIC bu yüzden paylaşımlı bina yapılırken dikkatli olunmalıdır.
nesneler.

Ek olarak, PIE genel bir kayıt aracılığıyla uygulandığından, bazı mimariler
(en önemlisi i386), çok metin segmentinde %15'e varan performans kayıpları görebilir.
ağır uygulama iş yükleri; çoğu iş yükü %1'den az görür. ile mimariler
daha genel kayıtlar (örn. amd64) en kötü durum cezası olarak yüksek görmez.

tekrar üretilebilir
Aşağıda ayrıntıları verilen derleme zamanı seçenekleri, derlemenin yeniden üretilebilirliğini geliştirmeye yardımcı olmak için kullanılabilir
veya derleme sırasında ek uyarı mesajları sağlayın. Aşağıda belirtilenler dışında, bunlar
onları destekleyen mimariler için varsayılan olarak etkindir.

ebedi
Bu ayar (varsayılan olarak etkindir) -Wdate-zaman için CPPFLAG'lar. Bu neden olacak
olduğunda uyarılar __ZAMAN__, __TARİH__ ve __ZAMAN DAMGASI__ makrolar kullanılır.

ÇEVRE


Aynı işlemleri yapan 2 set ortam değişkeni vardır, ilki
(DEB_bayrak_op) içinde asla kullanılmamalıdır debian/kurallar. isteyen herhangi bir kullanıcı içindir.
kaynak paketi farklı yapı bayraklarıyla yeniden oluşturmak için. ikinci set
(DEB_bayrak_MAINT_op) sadece içinde kullanılmalıdır debian/kurallar değiştirmek için paket sahipleri tarafından
ortaya çıkan yapı bayrakları.

DEB_bayrak_AYARLAMAK
DEB_bayrak_MAINT_SET
Bu değişken, verilen değer için döndürülen değeri zorlamak için kullanılabilir. bayrak.

DEB_bayrak_STRIP
DEB_bayrak_MAINT_STRIP
Bu değişken, boşlukla ayrılmış bir seçenekler listesi sağlamak için kullanılabilir.
verilen için döndürülen bayrak kümesinden çıkarılır bayrak.

DEB_bayrak_UYGULAMAEND
DEB_bayrak_MAINT_APPEND
Bu değişken, döndürülen değere ek seçenekler eklemek için kullanılabilir.
verilen bayrak.

DEB_bayrak_PREPEND
DEB_bayrak_MAINT_PREPEND
Bu değişken, döndürülen değerin başına ek seçenekler eklemek için kullanılabilir.
verilen için bayrak.

DEB_BUILD_OPTIONS
DEB_BUILD_MAINT_OPTIONS
Bu değişkenler, çeşitli alanları devre dışı bırakmak/etkinleştirmek için bir kullanıcı veya bakımcı tarafından kullanılabilir.
yapı bayraklarını etkileyen özellikler. bu DEB_BUILD_MAINT_OPTIONS değişken geçersiz kılmalar
içindeki herhangi bir ayar DEB_BUILD_OPTIONS özellik alanları. Bkz. ÖZELLİK ALANLARI Bölüm
Ayrıntılar için.

onworks.net hizmetlerini kullanarak çevrimiçi dpkg-buildflags kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad