InglesPransesEspanyol

Ad


OnWorks favicon

dpkg-buildflags - Online sa Cloud

Magpatakbo ng dpkg-buildflags sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command na dpkg-buildflags na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


dpkg-buildflags - nagbabalik ng mga flag ng build na gagamitin sa pagbuo ng package

SINOPSIS


dpkg-buildflags [opsyon...] [utos]

DESCRIPTION


dpkg-buildflags ay isang tool upang mabawi ang mga flag ng compilation na gagamitin sa pagbuo ng Debian
mga pakete. Ang mga default na flag ay tinukoy ng vendor ngunit maaari silang palawigin/i-override
sa maraming paraan:

1. buong sistema na may /etc/dpkg/buildflags.conf;

2. para sa kasalukuyang gumagamit na may $XDG_CONFIG_HOME/dpkg/buildflags.conf saan
$XDG_CONFIG_HOME default sa $HOME/.config;

3. pansamantala ng user na may mga variable ng kapaligiran (tingnan ang seksyon Kapaligiran);

4. pabago-bago ng package maintainer na may mga variable na kapaligiran na itinakda sa pamamagitan ng
debian/mga panuntunan (tingnan ang seksyon Kapaligiran).

Ang mga configuration file ay maaaring maglaman ng dalawang uri ng mga direktiba:

Itakda bandila halaga
I-override ang flag na pinangalanan bandila upang magkaroon ng halaga halaga.

I-STRIP bandila halaga
Strip mula sa bandila na pinangalanan bandila lahat ng build flag na nakalista sa halaga.

APENDEN bandila halaga
I-extend ang flag na pinangalanan bandila sa pamamagitan ng pagdaragdag ng mga opsyon na ibinigay sa halaga. Ang isang espasyo ay
prepended sa nakadugtong na halaga kung ang kasalukuyang halaga ng flag ay hindi walang laman.

MAGHANDA bandila halaga
I-extend ang flag na pinangalanan bandila sa pamamagitan ng prepending ng mga opsyon na ibinigay sa halaga. Ang isang espasyo ay
idinagdag sa paunang halaga kung ang kasalukuyang halaga ng flag ay hindi walang laman.

Ang mga configuration file ay maaaring maglaman ng mga komento sa mga linya na nagsisimula sa isang hash (#). Walang laman
hindi rin pinapansin ang mga linya.

UTOS


--tambakan I-print sa karaniwang output ang lahat ng mga flag ng compilation at ang kanilang mga halaga. Nag-print ito ng isang bandila
bawat linya na pinaghihiwalay mula sa halaga nito sa pamamagitan ng pantay na tanda (“bandila=halaga”). Ito ang
default na pagkilos.

--listahan I-print ang listahan ng mga flag na sinusuportahan ng kasalukuyang vendor (isa sa bawat linya). Tingnan ang
Sinusuportahan MGA WAtawat seksyon para sa higit pang impormasyon tungkol sa kanila.

--katayuan
Ipakita ang anumang impormasyon na maaaring maging kapaki-pakinabang upang ipaliwanag ang pag-uugali ng
dpkg-buildflags (mula noong dpkg 1.16.5): may-katuturang mga variable ng kapaligiran, kasalukuyan
vendor, estado ng lahat ng feature na flag. I-print din ang nagresultang mga flag ng compiler gamit ang
kanilang pinanggalingan.

Ito ay inilaan upang tumakbo mula sa debian/mga panuntunan, upang mapanatiling malinaw ang build log
bakas ng mga build flag na ginamit. Maaari itong maging kapaki-pakinabang upang masuri ang mga problemang nauugnay sa
Kanila.

--export=format
Mag-print sa mga karaniwang output command na maaaring magamit upang i-export ang lahat ng compilation
mga flag para sa ilang partikular na tool. Kung ang format hindi binigay ang halaga, sh ay ipinapalagay.
Ang mga compilation flag lang na nagsisimula sa isang upper case na character ang kasama, iba pa
ay ipinapalagay na hindi angkop para sa kapaligiran. Mga sinusuportahang format:

sh Nag-uutos ang Shell na i-set at i-export ang lahat ng mga flag ng compilation sa
kapaligiran. Ang mga halaga ng flag ay sinipi upang ang output ay handa na para sa
pagsusuri sa pamamagitan ng isang shell.

cmdline
Mga argumentong ipapasa sa command line ng isang build program upang magamit ang lahat ng
mga flag ng compilation (mula noong dpkg 1.17.0). Ang mga halaga ng bandila ay sinipi sa shell
Syntax.

i-configure ang
Isa itong legacy alias para sa cmdline.

gumawa Gumawa ng mga direktiba upang itakda at i-export ang lahat ng mga flag ng compilation sa
kapaligiran. Maaaring isulat ang output sa isang makefile fragment at masuri
gamit ang isang isama Directive.

--kunin bandila
I-print ang halaga ng bandila sa karaniwang output. Lalabas na may 0 kung kilala ang bandila
kung hindi ay lalabas na may 1.

--pinanggalingan bandila
I-print ang pinagmulan ng halaga na ibinalik ni --kunin. Lumabas na may 0 kung ang bandila
ay kilala kung hindi man ay paglabas na may 1. Ang pinagmulan ay maaaring isa sa mga sumusunod na halaga:

tindero ibinalik ang orihinal na watawat na itinakda ng nagtitinda;

sistema ang watawat ay itinakda/binago ng isang configuration sa buong sistema;

gumagamit ang bandila ay itinakda/binago ng isang configuration na partikular sa user;

env ang bandila ay itinakda/binago ng isang configuration na partikular sa kapaligiran.

--query-features lugar
I-print ang mga feature na pinagana para sa isang partikular na lugar (mula noong dpkg 1.16.2). Ang nag-iisang
kasalukuyang kinikilalang mga lugar sa Debian at mga derivatives ay qa, maaaring mabuhay, maglinis
at tigas na tigas, tingnan ang FEATURE LUGAR seksyon para sa higit pang mga detalye. Lumabas na may 0 kung ang
ang lugar ay kilala kung hindi man ay mga labasan na may 1.

Ang output ay nasa format na RFC822, na may isang seksyon bawat tampok. Halimbawa:

Tampok: pie
Pinagana: hindi

Tampok: stackprotector
Pinagana: oo

- Tumulong Ipakita ang mensahe ng paggamit at lumabas.

--bersyon
Ipakita ang bersyon at lumabas.

Sinusuportahan MGA WAtawat


CFLAGS Mga opsyon para sa C compiler. Kasama sa default na halaga na itinakda ng vendor -g at ang
default na antas ng pag-optimize (-O2 kadalasan, o -O0 kung ang DEB_BUILD_OPTIONS
ang variable ng kapaligiran ay tumutukoy noopt).

CPPFLAGS
Mga opsyon para sa C preprocessor. Default na halaga: walang laman.

CXXFLAGS
Mga opsyon para sa C++ compiler. Katulad ng CFLAGS.

OBJCFLAGS
Mga opsyon para sa Objective C compiler. Katulad ng CFLAGS.

OBJCXXFLAGS
Mga opsyon para sa Objective C++ compiler. Katulad ng CXXFLAGS.

GCJFLAGS
Mga opsyon para sa GNU Java compiler (gcj). Isang subset ng CFLAGS.

FFLAGS Mga opsyon para sa Fortran 77 compiler. Isang subset ng CFLAGS.

FCFLAGS
Mga opsyon para sa Fortran 9x compiler. Katulad ng FFLAGS.

LDFLAGS
Ipinasa ang mga opsyon sa compiler kapag nagli-link ng mga executable o shared object (kung ang
linker ay tinatawag na direkta, pagkatapos -Wl at , kailangang alisin sa mga opsyong ito).
Default na halaga: walang laman.

Maaaring magdagdag ng mga bagong flag sa hinaharap kung kinakailangan (halimbawa upang suportahan ang iba
mga wika).

FEATURE LUGAR


Ang bawat feature ng lugar ay maaaring paganahin at hindi paganahin sa DEB_BUILD_OPTIONS at
DEB_BUILD_MAINT_OPTIONS value ng area ng environment variable na may '+'At'-' modifier.
Halimbawa, upang paganahin ang tigas na tigas feature na "pie" at huwag paganahin ang feature na "fortify" sa iyo
magagawa ito sa debian/mga panuntunan:

i-export ang DEB_BUILD_MAINT_OPTIONS=hardening=+pie,-fortify

Ang espesyal na tampok lahat (wasto sa anumang lugar) ay maaaring gamitin upang paganahin o huwag paganahin ang lahat ng lugar
mga tampok sa parehong oras. Kaya hindi pinapagana ang lahat sa tigas na tigas lugar at pagpapagana
"format" at "fortify" lamang ang makakamit gamit ang:

i-export ang DEB_BUILD_MAINT_OPTIONS=hardening=-all,+format,+fortify

qa
Maraming mga pagpipilian sa oras ng pag-compile (detalyadong sa ibaba) ay maaaring magamit upang makatulong na matukoy ang mga problema sa
source code o build system.

kulisap Ang setting na ito (naka-disable bilang default) ay nagdaragdag ng anumang opsyon sa babala na mapagkakatiwalaang nakakakita
may problemang source code. Ang mga babala ay nakamamatay.

kanaryo Ang setting na ito (naka-disable bilang default) ay nagdaragdag ng mga dummy canary na opsyon sa mga build flag, kaya
na ang mga build log ay maaaring masuri kung paano lumaganap ang mga flag ng build at pinapayagan
paghahanap ng anumang pagkukulang ng mga normal na setting ng flag ng build. Ang tanging kasalukuyang sinusuportahan
ang mga flag ay CPPFLAGS, CFLAGS, OBJCFLAGS, CXXFLAGS at OBJCXXFLAGS na may mga flag na nakatakda sa
-D__DEB_CANARY_bandila_random-id__, at LDFLAGS itakda sa -Wl,-z,deb-canary-random-id.

maglinis
Maraming mga pagpipilian sa oras ng pag-compile (detalyadong nasa ibaba) ang maaaring gamitin upang makatulong na i-sanitize ang isang resulta
binary laban sa mga katiwalian sa memorya, mga pagtagas ng memorya, paggamit pagkatapos ng libre, threading data races at
hindi natukoy na mga bug sa pag-uugali.

tirahan
Nagdaragdag ang setting na ito (naka-disable bilang default). -fsanitize=address sa LDFLAGS at
-fsanitize=address -fno-omit-frame-pointer sa CFLAGS at CXXFLAGS.

sinulid Nagdaragdag ang setting na ito (naka-disable bilang default). -fsanitize=thread sa CFLAGS, CXXFLAGS at
LDFLAGS.

mahayag Nagdaragdag ang setting na ito (naka-disable bilang default). -fsanitize=leak sa LDFLAGS. Nakukuha nito
awtomatikong hindi pinagana kung alinman sa tirahan o ang sinulid ang mga tampok ay pinagana, bilang
ipinahihiwatig nila ito.

hindi naipalilawanag
Nagdaragdag ang setting na ito (naka-disable bilang default). -fsanitize=undefined sa CFLAGS, CXXFLAGS
at LDFLAGS.

tigas na tigas
Maraming mga pagpipilian sa compile-time (detalyadong sa ibaba) ay maaaring gamitin upang makatulong na patigasin ang isang resulta
binary laban sa mga pag-atake ng katiwalian sa memorya, o magbigay ng karagdagang mga mensahe ng babala habang
compilation. Maliban sa nabanggit sa ibaba, ang mga ito ay pinagana bilang default para sa mga arkitektura na
suportahan sila.

format Nagdaragdag ang setting na ito (pinagana bilang default). -Wformat -Werror=format-security sa CFLAGS,
CXXFLAGS, OBJCFLAGS at OBJCXXFLAGS. Magbabala ito tungkol sa hindi tamang format ng string
ginagamit, at mabibigo kapag ginamit ang mga function ng format sa paraang kumakatawan sa posible
mga problema sa seguridad. Sa kasalukuyan, nagbabala ito tungkol sa mga tawag sa printf at scanf function
kung saan ang format na string ay hindi literal na string at walang format na argumento,
tulad ng sa printf(foo); sa halip ng printf("%s", foo); Ito ay maaaring isang butas sa seguridad kung ang
format string ay nagmula sa hindi pinagkakatiwalaang input at naglalaman ng '%n'.

magpatibay
Nagdaragdag ang setting na ito (pinagana bilang default). -D_FORTIFY_SOURCE=2 sa CPPFLAGS. Sa panahon ng code
henerasyon ang compiler ay alam ng maraming impormasyon tungkol sa mga laki ng buffer (kung saan
posible), at sinusubukang palitan ang mga hindi secure na unlimited na haba ng buffer function na mga tawag
na may mga limitadong haba. Ito ay lalong kapaki-pakinabang para sa luma, malutong na code.
Bukod pa rito, naka-block ang mga format ng string sa writable memory na naglalaman ng '%n'. Kung
nakadepende ang isang application sa naturang format na string, kakailanganin itong ayusin.

Tandaan na para magkaroon ng anumang epekto ang opsyong ito, dapat ding isama ang pinagmulan
-O1 o mas mataas. Kung ang variable ng kapaligiran DEB_BUILD_OPTIONS naglalaman ng noopt, Pagkatapos
magpatibay hindi papaganahin ang suporta, dahil sa mga bagong babala na inilabas ng glibc 2.16
at mamaya.

stackprotector
Ang setting na ito (naka-enable bilang default kung hindi ginagamit ang stackprotectorstrong) ay nagdaragdag
-fstack-tagapagtanggol --param=ssp-buffer-size=4 sa CFLAGS, CXXFLAGS, OBJCFLAGS,
OBJCXXFLAGS, GCJFLAGS, FFLAGS at FCFLAGS. Nagdaragdag ito ng mga pagsusuri sa kaligtasan laban sa stack
pinatungan. Nagre-render ito ng maraming potensyal na pag-atake ng code injection sa pagpapalaglag
mga sitwasyon. Sa pinakamagandang kaso, ginagawa nitong pagtanggi ang mga kahinaan sa pag-iniksyon ng code
ng serbisyo o sa mga hindi isyu (depende sa aplikasyon).

Ang tampok na ito ay nangangailangan ng pag-link laban sa glibc (o isa pang provider ng
__stack_chk_fail), kaya kailangang i-disable kapag nagtatayo gamit ang -nostdlib or
-pagkakasundo o katulad.

stackprotectorstrong
Nagdaragdag ang setting na ito (pinagana bilang default). -fstack-protector-strong sa CFLAGS,
CXXFLAGS, OBJCFLAGS, OBJCXXFLAGS, GCJFLAGS, FFLAGS at FCFLAGS. Ito ay isang mas malakas
iba-iba ng stackprotector, ngunit walang makabuluhang parusa sa pagganap.

Hindi pinapagana stackprotector idi-disable din ang setting na ito.

Ang tampok na ito ay may parehong mga kinakailangan bilang stackprotector, at bilang karagdagan din
nangangailangan ng gcc 4.9 at mas bago.

relro Nagdaragdag ang setting na ito (pinagana bilang default). -Wl,-z,relro sa LDFLAGS. Sa panahon ng programa
load, maraming ELF memory section ang kailangang sulatan ng linker. Nagba-flag ito
ang loader upang iikot ang mga seksyong ito na read-only bago i-over ang kontrol sa
programa. Ang pinaka-kapansin-pansin na ito ay pumipigil sa GOT overwrite na mga pag-atake. Kung ang pagpipiliang ito ay
may kapansanan, bindnow magiging may kapansanan din.

bindnow
Nagdaragdag ang setting na ito (naka-disable bilang default). -Wl,-z, ngayon sa LDFLAGS. Sa panahon ng pag-load ng programa,
lahat ng mga dynamic na simbolo ay nalutas, na nagbibigay-daan para sa buong PLT na mamarkahan na read-
lamang (dahil sa relro sa itaas). Ang opsyon ay hindi maaaring paganahin kung relro Hindi
pinagana.

pie Nagdaragdag ang setting na ito (naka-disable bilang default). -fPIE sa CFLAGS, CXXFLAGS, OBJCFLAGS,
OBJCXXFLAGS, GCJFLAGS, FFLAGS at FCFLAGS, at -fPIE -pie sa LDFLAGS. Posisyon
Kailangan ang Independent Executable para samantalahin ang Address Space Layout
Randomization, suportado ng ilang bersyon ng kernel. Habang ang ASLR ay maaari na
ipinapatupad para sa mga lugar ng data sa stack at heap (brk at mmap), ang mga lugar ng code ay dapat
i-compile bilang independyente sa posisyon. Ginagawa na ito ng mga shared library (-fPIC), kaya
awtomatiko silang nakakakuha ng ASLR, ngunit ang binary .text na mga rehiyon ay kailangang bumuo ng PIE upang makakuha
ASLR. Kapag nangyari ito, ang pag-atake ng ROP (Return Oriented Programming) ay mas mahirap
dahil walang mga static na lokasyon na talbog sa panahon ng katiwalian ng memorya
atake.

Hindi ito tugma sa -fPIC kaya dapat mag-ingat kapag binabahagi ang gusali
mga bagay.

Bilang karagdagan, dahil ipinatupad ang PIE sa pamamagitan ng isang pangkalahatang rehistro, ang ilang mga arkitektura
(pinaka-kapansin-pansing i386) ay maaaring makakita ng pagkalugi sa pagganap ng hanggang 15% sa napaka-text-segment-
mabigat na workload ng aplikasyon; karamihan sa mga workload ay nakakakita ng mas mababa sa 1%. Mga arkitektura na may
higit pang mga pangkalahatang rehistro (hal. amd64) ay hindi nakikitang kasing taas ng isang pinakamasamang kaso ng parusa.

maaaring mabuhay
Ang mga opsyon sa oras ng pag-compile na nakadetalye sa ibaba ay maaaring gamitin upang makatulong na mapabuti ang pagbuo ng muling paggawa
o magbigay ng karagdagang mga mensahe ng babala sa panahon ng compilation. Maliban sa nabanggit sa ibaba, ang mga ito
ay pinagana bilang default para sa mga arkitektura na sumusuporta sa kanila.

walang tiyak na oras
Nagdaragdag ang setting na ito (pinagana bilang default). -Wdate-oras sa CPPFLAGS. Magdudulot ito ng
mga babala kapag ang __TIME__, __DATE__ at __TIMESTAMP__ macros ang ginagamit.

Kapaligiran


Mayroong 2 set ng mga variable ng kapaligiran na gumagawa ng parehong mga operasyon, ang una
(DEB_bandila_op) ay hindi dapat gamitin sa loob debian/mga panuntunan. Ito ay para sa sinumang gumagamit na nais
upang muling itayo ang source package na may iba't ibang build flag. Ang pangalawang set
(DEB_bandila_MAINT_op) ay dapat lamang gamitin sa debian/mga panuntunan sa pamamagitan ng mga tagapanatili ng pakete upang baguhin
ang nagresultang build flag.

DEB_bandila_ITAKDA
DEB_bandila_MAINT_SET
Maaaring gamitin ang variable na ito upang pilitin ang ibinalik na halaga para sa ibinigay bandila.

DEB_bandila_STRIP
DEB_bandila_MAINT_STRIP
Maaaring gamitin ang variable na ito upang magbigay ng isang listahan ng mga opsyon na pinaghihiwalay ng espasyo
hinubad mula sa hanay ng mga watawat na ibinalik para sa ibinigay bandila.

DEB_bandila_APPEND
DEB_bandila_MAINT_APPEND
Maaaring gamitin ang variable na ito upang magdagdag ng mga karagdagang opsyon sa halagang ibinalik para sa
ang binigay bandila.

DEB_bandila_PREPEND
DEB_bandila_MAINT_PREPEND
Maaaring gamitin ang variable na ito upang ihanda ang mga karagdagang opsyon sa ibinalik na halaga
para sa ibinigay bandila.

DEB_BUILD_OPTIONS
DEB_BUILD_MAINT_OPTIONS
Ang mga variable na ito ay maaaring gamitin ng isang user o maintainer upang hindi paganahin/paganahin ang iba't ibang lugar
mga tampok na nakakaapekto sa pagbuo ng mga flag. Ang DEB_BUILD_MAINT_OPTIONS variable na override
anumang setting sa DEB_BUILD_OPTIONS tampok na mga lugar. Tingnan ang FEATURE LUGAR seksyon
para sa mga detalye.

Gumamit ng dpkg-buildflags online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

Linux command

Ad