e le'i maua le fa'aletonu pg_config executable

O loʻo maua le faʻaletonu: e leʻi maua le pg_config executable? Faʻaleleia lau Python Build the Safe Way

Aiseā e tāua ai le Sese: e le'i maua le pg_config executable?

O le lavea i se sese: e le'i maua le pg_config executable I le taimi o le fa'apipi'iina o le pip psycopg2 i le CI? O lenei fa'afitauli masani o lona uiga o le pg_config binary, e mana'omia e fa'apipi'i ai afifi Python e feso'ota'i ma le PostgreSQL, ua misi. I totonu o lenei ta'iala, o le ae a'oa'oina ai pe fa'apefea ona fa'aleleia le fa'aletonu o le pg_config executable not found ma le saogalemu i luga o le local dev, Docker, ma CI/CD siosiomaga.

O le ā le uiga o le Error: pg_config executable not found?

Le savali sese E le'i maua le pg_config executable o lona uiga o meafaigaluega fau fale a Python (e pei o pip, setuptools, po'o le fausiaina) e le mafai ona maua le pg_config aoga i lau polokalama. O lenei binary o se vaega o faletusi atina'e PostgreSQL ma e taua tele lona sao i le taimi o le tu'ufa'atasiga o afifi.

Aemaise lava, pg_config ta'u atu i le au fa'aputu le mea e maua ai ulutala o le PostgreSQL, faletusi, ma fu'a o le fausiaina, fa'amatalaga e mana'omia e afifi lauiloa a le Python ma fa'aopoopoga C e pei o psycopg2, pgvector, po'o le timescaledb-python. A misi, e le manuia fauga ma savali e pei o:

E lē gata i le tasi le OS po o le siosiomaga lenei faʻafitauli; e aliali mai i totonu o Docker containers, macOS, Linux, ma e oʻo lava i Windows setups e aunoa ma le faʻapipiʻiina o meafaigaluega atinaʻe a le PostgreSQL.

Aiseā e Tupu ai (I Siosiomaga Eseese)

le E le'i maua le pg_config executable E masani ona tupu le fa'aletonu pe a leai ni meafaigaluega fa'atupu PostgreSQL mai lau siosiomaga. E masani lava ona tupu lenei mea i fa'atulagaga fa'avae laiti lea e na'o mea taua e fa'apipi'iina—e le aofia ai fa'amaumauga, faletusi, ma binaries taimi-fausia.

siosiomaga Mafuaaga e Tupu Ai Fa'ata'ita'iga o le Fa'atulagaina o le Fa'avae aafiaga
Atina'e Fa'alotoifale E le'i fa'apipi'iina afifi atina'e PostgreSQL Fa'apipi'i la'ititi o le OS po'o le VM fou Ua lē manuia le fa'apipi'iina o afifi Python e feso'ota'i ma Postgres
CI/CD E leai ni meafaigaluega fa'aleleia a le sui fau fale Ata o le tagata tamoe masani e aunoa ma ni fa'aopoopoga Pipeline faaletonu a'o le'i afifiina
Docker E le aofia ai i ata manifinifi le fa'alagolago i le fausiaina python:X.Y-slim Fausia ni taofi i le taimi o le fatuina o se ata
Ao Fausia E tu'uina atu e le au tamo'e fa'afuase'i ni afifi fa'aopoopo Auaunaga fausiaina pulea Fa'aletonu fa'apipi'i faifai pea

Va'aiga a le tagata atia'e: O ata laiti ma CI fou e faʻaleleia atili ai le saogalemu ae e masani ona le aofia ai meafaigaluega fau fale e pei o pg_config. Lau pipeline e tatau ona amanaʻia lenei fesuiaiga i le va o le minimalism ma le faigofie ona faʻaaogaina.

Fa'amaoniga o le Sese: e le'i maua le pg_config executable ma le saogalemu

A'o le'i fa'apipi'iina se mea, siaki muamua pe pg_config ua uma ona maua ma aoga:

If pg_config e le maua pe ua le manuia le poloaiga o le version, o lona uiga ua faamaonia ai le faafitauli.

Puipuiga Fa'amatalaga:

  • pea lava faʻapipiʻi pg_config e ala i pule aloaia o afifi polokalama: talafeagai (Debian/Ubuntu), dnf/yum (RHEL/Fedora), pe faʻailoga (macOS). O nei punaoa e faʻamaonia le faʻamaoni ma saini.
  • aua lava nei la'u mai ni binaries ua uma ona tu'ufa'atasia mai punaoa e le o iloa (e pei o ni GitHub repos fa'afuase'i po'o ni so'otaga pastebin). Atonu e fa'aleagaina nei mea pe aofia ai ni uta leaga.
  • 'Alo'ese mai tusitusiga fa'apipi'i "e na'o le tasi le laina" se'i vagana ua e siakiina a latou anotusi ma fa'amaonia lo latou amataga.

Lisi Siaki mo le Su'esu'ega Saogalemu:

  • Fa'amaonia le amataga ma le moni o le binary
  • Siaki le lomiga e fetaui ma manaʻoga o le poloketi
  • Fa'amaonia le PATH i totonu CI/CD e le fa'alavelaveina

ʻAloʻese mai le faʻaalia o auala maaleale i totonu o ogalaau.

Ata o le Tafe o le Fa'aleleia Saogalemu

O le ata o loʻo mulimuli mai o loʻo aoteleina ai le faiga saogalemu mo le foia o le sese: e le'i maua le pg_config executable, mai le uluaʻi iloa e oʻo atu i le puipuiga:

Ua le manuia le fausiaina i totonu CI/CD

"fa'aletonu: e le'i maua le pg_config executable"

Su'esu'e:
  • momoʻe which pg_config
  • momoʻe pg_config --version
  • Siaki le PATH i totonu CI/CD
Ua misi le pg_config?

Ioe → Fa'aauau | Leai → Alu Ese

Fa'apipi'i ma le saogalemu:
  • Faʻalotoifale: apt-get install libpq-dev
  • Docker: fa'aaoga le ata fa'avae aloaia + afifi
  • CI/CD: fa'aopoopo le la'asaga i le fa'apipi'iina o le afifi pipeline
Harden:
  • Fa'aliliuga o afifi o le Pin OS + Python
  • faʻaaogā --require-hashes
  • Siaki fa'alagolago i ai SCA meafaigaluega
  • Ata fa'avae ua fa'amaonia
Puipuia le toe tupu mai:
  • Fa'alagolago i le atina'eina o pepa
  • Siaki muamua fausia i le lotoifale
  • Fa'amalosia ni fausiaina e mafai ona toe gaosia
  • Tuufaatasia Xygeni mo pipeline security

Fa'asa'oga Saogalemu mo E le'i maua le pg_config executable

1. Atina'e Fa'alotoifale

⚠️ Lapataiga Saogalemu: Fa'apipi'i i taimi uma mai fale teuoloa aloaia (APT/YUM/Homebrew). 'Alo'ese mai le la'uina mai o faila .deb po'o .rpm mai le mirror e le aloaia.s, blog patino, po'o GitHub repos, aua e ono iai ni binaries leaga.

2. Fausiaina o le Docker

⚠️ Lapataiga Saogalemu: Ia faʻavae lau ata i taimi uma i ata aloaia a le Docker e pei o le python:XY-slim e faʻaitiitia ai le lamatiaga o faʻalagolago i mea ua faʻaleagaina. Faaaoga ni fausiaina e tele-laasaga: faapipii meafaigaluega fausiaina i le tasi laasaga, ona kopi lea na o faalagolago i le taimi e faatino ai galuega i le ata mulimuli. Aua lava ne'i fa'aaofia ni mea fa'aputu po'o ni meafaigaluega e le mana'omia i ata gaosiga e fa'aitiitia ai le lamatiaga o osofa'iga.

Motugaafa saogalemu:

  • Ia amata i taimi uma mai ata faavae aloaia e pei o python:XY-slim.
  • Faaaoga galuega faufale e tele vaega: faapipii meafaigaluega faufale i le tasi vaega, kopi na o mea e manaomia i le ata mulimuli.
  • Ia tu'u eseese siosiomaga faufale ma siosiomaga taimi e fa'agaoioia ai, 'aua ne'i lafoina ni fa'aputuga i totonu o koneteina gaosiga.

3. CI/CD Pipelines

⚠️ Lapataiga Saogalemu: Ia mautinoa o afifi e sau mai fale teu oloa aloaia. Aloese mai le fa'aaogaina o tusitusiga fa'a-curl | bash mai punaoa e le'i fa'amaonia. Fa'agaoioi ni fa'atulagaga fou i ni siosiomaga e le tumau ma fa'amau ni fa'asologa o le OS e puipuia ai le fa'aletonu faifai pea po'o le toe fo'i i tua.

Motugaafa saogalemu:

  • Fa'atino ni fa'atulagaga i totonu o koneteina e le tumau e 'alofia ai le fa'aletonu faifai pea.
  • Fa'apipi'i fa'aliliuga o le afifi OS i fa'alauiloaga ua iloa lelei.
  • Aloese mai le foai pipelines avanoa fa'avae e le mana'omia.

4. Mea masani e Aloese mai

  • La'uina mai ua uma ona tu'ufa'atasia pg_config binaries mai le fa'afuase'i Nofoaga e teu ai oloa i le GitHub.
  • tamoe milo | bash mai puna'oa e le'i fa'amaonia.
  • O le fa'afefiloi o fa'alagolago i le PostgreSQL ua fa'apipi'i i le system ma le pip, e mafua ai fete'ena'iga o lomiga.
  • Fa'aaogaina o ata Docker ua tuai pe le'i tausia mai i latou e le o iloa le tausiga.

O le AppSec Angle: Lamatiaga Moni

le E le'i maua le pg_config executable E foliga mai e la'ititi le mea sese, ae o le auala e te fa'aleleia ai e mafai ona i ai ni a'afiaga matuia i le saogalemu. O se fa'apipi'iga fa'avavevave e fa'aaoga ai tusitusiga e le'i fa'amaoniaina po'o ni binary e le'i aloaia e mafai ona tatala ai le faitoto'a i osofa'iga a le sapalai oloa.

Mo se faʻataʻitaʻiga, o se tusitusiga "faʻaleleia vave" o loʻo maua i luga o se fonotaga atonu e faʻapipiʻi pg_config, ae e mafai fo'i ona fa'aofi faalilolilo se uta leaga po'o se faitoto'a i tua i totonu o lau siosiomaga fausia. E masani ona fa'aaogaina e le au osofa'i le faanatinati o le tagata atia'e ma le leai o se fa'amaoniga e fa'aofi ai vaega ua fa'aleagaina.

Tulaga lamatia autu e mata'ituina:

Fa'ama'a'aina o Lau Faiga Fausiaina

Ia mautinoa ua fa'aleleia pg_config e le'i maua le polokalama e mafai ona fa'atinoina e le faʻaosofia ai ni tulaga lamatia fou, e tatau i lau faiga fausiaina ona mulimulitaʻi i faiga faʻainisinia saogalemu. O fetuʻunaʻiga laiti e pei o le faʻapipiʻiina o faʻamaumauga ma le faʻamaonia o punaoa e mafai ona faia ai se eseesega tele i le puipuiga mai faʻamataʻu o le sapalai.

Lisi Siaki Puipui Laiti

  •  Fa'aliliuga o afifi o le Pin OS ma le Python ina ia ʻalofia ai faʻafouga e leʻi faʻamoemoeina.
  • faʻaaogā lokaina o le hash i fa'apipi'i le pip -require-hashes ia mautinoa le saogalemu o le afifi.
  •  momoʻe SCA (Su'esu'ega o le Fa'atulagaga o Polokalama) su'esu'ega in CI/CD e iloa ai vaivaiga ua iloa.
  • Faʻaaoga ata fa'avae ua fa'amaonia (e pei o le aloaia python: XY-slim) e faʻaitiitia ai le aʻafia i koneteina ua faʻaleagaina.

O nei laasaga e fesoasoani e faʻamautinoa ai o loʻo tumau le saogalemu ma le mafai ona vavaloina lou siosiomaga, aemaise lava pe a faʻatupulaʻia mea e faʻalagolago i ai.

Puipuia o le Lumanai pg_config Mea sese

E lē lava le faaleleia o le faafitauli i le taimi e tasi; e te manaʻo ia mautinoa e lē toe foʻi mai i le isi taimi e faʻatino ai e se tasi o aumea le fausiaina pe e te faʻaleleia lau CI image.

Fautuaga e Puipuia ai le Toe Tupu Mai

  • Fa'atino siaki muamua i le lotoifale i totonu o se koneteina e atagia ai lau CI/CD siosiomaga. E fesoasoani lea e pu'e ai mea e le o maua e pei o pg_config a'o le'i fa'aleagaina lau pipeline.
  • Fa'amaumau uma fa'alagolago i atina'e in README.md, pyproject.toml, pe fa'atulaga ni tusitusiga. O pepa manino e puipuia ai mea sese e toe tutupu, aemaise lava mo tagata fou o le 'au o lo'o fa'atinoina le galuega.
  • Fa'amalosia ni fausiaina e mafai ona toe gaosia fa'aaogaina o Dockerfiles, lockfiles, ma le Infrastructure-as-Code. O le toe gaosia e fa'aitiitia ai mea e ofo ai ma fa'afaigofie ai le fa'asa'oina o fa'aletonu.
  • Fa'ata'ita'i i taimi uma fale mama ia mautinoa e leai ni faʻalagolago natia o loʻo i ai i luga o le masini a le tagata atiaʻe.

O se fa'atulagaga fausia e tumau, fa'amaumauina, ma mafai ona fa'ata'ita'iina o le auala sili lea ona fa'atuatuaina e taofia ai fa'afitauli e pei o pg_config e le'i maua le polokalama e mafai ona fa'atinoina mai le fa'alavelaveina o fa'asalalauga o le lumana'i.

Tuufaatasia o Xygeni mo Upega Saogalemu a le DevSecOps

Faʻapipiʻi pg_config e le'i maua le polokalama e mafai ona fa'atinoina e mafai ona fa'aalia ai vaivaiga i ou pipeline. Xygeni fesoasoani e faʻailoa ma puipuia faiga le saogalemu aʻo leʻi oʻo i le gaosiga e ala i le faʻaopoopoina o siaki otometi i laʻasaga taua o le faagasologa o le fausiaina.

 Iloa Laasaga Fausiaina e Lē Saogalemu

E iloilo e Xygeni suiga i Dockerfiles, CI scripts, ma faila seti, ma iloa ai:

  • Faaaogāina o punaoa fa'apipi'i e le'i fa'amaonia (e pei o le la'uina mai o faila binary mai URL e le o iloa).
  • Fa'aaofiaina o ata fa'avae e le fa'atuatuaina e ono iai ni vaega ua tuai pe ua fa'aleagaina.
  • E fa'aaogaina fa'atagaga maualuluga e le mana'omia i taimi o fausiaina.

Fa'alagolago i le Mata'ituina

O faʻalagolago e aʻafia i le faʻaleleia, e pei o libpq-dev po'o le psycopg2, o loʻo mataʻituina pea mo:

  • Vaivaiga ua iloa (CVEs) i le OS po'o Afifi Python.
  • O suiga e le'i fa'amoemoeina i hash fa'alagolago e ono fa'aalia ai le fa'alavelave.
  • Fa'ailoga o le sese o le fa'aogaina o le komepiuta po'o le fenumiai o le fa'alagolago i totonu o le resitala o afifi.

Poloka ni Fausiaga Lamatia

E mafai e Xygeni ona faʻamalosia tulafono faʻavae e taofia ai le fausiaina pe a:

  • Fa'apipi'i tusitusiga (scripts) ma alo'ese mai pule aloaia o afifi.
  • milo | bash e faʻaaogaina poloaiga e aunoa ma le faʻamaoniaina o le punaoa.
  • O ata o le Docker e faʻaaogaina mai punaoa e leʻi faʻamaoniaina.

I le fa'aogaina otometi o nei pulega, e fa'amautinoa ai e Xygeni e le o fa'atupuina fa'alilolilo e fa'aleleia i le taimi e fausia ai ni tulaga lamatia fou, e lagolagoina ai le saogalemu, mafai ona su'eina, ma tausisia tulafono fa'avae. pipelines.

Mafaufauga mulimuli

le sese: e le'i maua le pg_config executable E masani ona iai le feʻau, ae e tāua le auala e te taulimaina ai. Faʻapipiʻi saogalemu, punaoa ua faʻamaonia, fausiaina e mafai ona toe gaosia, ma pipeline security E liua e pulega se faaletonu fa'alavelave i se avanoa e fa'amalosia ai lou tulaga DevSecOps.

meafaigaluega-sca-polokalame-su'esu'ega-tu'ufa'atasiga
Fa'amuamua, toe fa'aleleia, ma puipui au tulaga lamatia o polokalama faakomepiuta
Maua lau Teugatupe e leai se totogi.
Leai se credit card e manaʻomia.

Puipui lau Atina'eina ma le Tu'uina Atu o Polokalama Faakomepiuta

fa'atasi ai ma le Xygeni Product Suite