jak mohu zkontrolovat seznam závislostí balíčku deb
<p>jak mohu zkontrolovat seznam závislostí balíčku deb. používám ubuntu 11.10 a zálohoval jsem všechny deb balíčky z <code>var/cache/apt/archives</code>. chci naformátovat svůj počítač a přeinstalovat pouze vybrané aplikace. jak mohu získat seznam nainstalovaných balíčků a závislostí.</p>
<p>kromě metody <code>dpkg</code> můžete zkontrolovat závislosti balíčků v úložišti:</p><pre><code>apt-cache depends package-name </code></pre><p><strong> editovat </strong> aktualizováno s doporučením @ tino. @ tigranův komentář již neplatí.</p>
<h1>ubuntu 14.04 a vyšší</h1><p>nástroj <code>apt</code> na ubuntu 14.04 a výše je velmi snadný.</p><pre><code>apt list --installed </code></pre><hr><h1>starší verze</h1><p>chcete-li získat seznam lokálně nainstalovaných balíčků, udělejte to ve svém terminálu:</p><pre class="lang-bash prettyprint-override"><code>dpkg --get-selections | grep -v deinstall </code></pre><p><sup>(<code>-v</code> tag „invertuje“ grep pro vrácení neodpovídajících řádků)</sup></p><p>postup instalace seznamu konkrétního balíčku:</p><pre class="lang-bash prettyprint-override"><code>dpkg --get-selections | grep postgres </code></pre><p>chcete-li tento seznam uložit do textového souboru s názvem <code>packages</code> na ploše, udělejte to ve svém terminálu:</p><pre class="lang-bash prettyprint-override"><code>dpkg --get-selections | grep -v deinstall &gt; ~/desktop/packages </code></pre><p>nebo jednoduše použijte</p><pre class="lang-bash prettyprint-override"><code>dpkg -l </code></pre><p><em>(nemusíte spouštět žádný z těchto příkazů jako superuživatel, takže zde nejsou žádné <code>sudo</code> ani žádné další varianty)</em></p> Závisí na závislost, není generický řešení.


Existují [`AC_CHECK_LIB`i `AC_SEARCH_LIBS`makra](http://www.gnu.org/software/hello/manual/autoconf/Libraries.html) , které mohou pracovat pro vás, pokud knihovny a hlavičkové soubory jsou instalovány ve standardních umístěních.


Mnoho balíčků v současné době podporuje [`pkg-config`](http://pkg-config.freedesktop.org/wiki/), nebo něco podobného, který vám umožní kontrolovat existenci knihoven, a také můžeme dodat vám překladač a linker vlajky potřebné.


S balíčky, které nepracují s AC makra a nepodporují `pkg-config`nebo podobně, pravděpodobně budete muset psát tuny skriptů sami zjistit, zda je k dispozici závislost a jaké kompilátor a možnosti spojovací to vyžaduje. A dokonce i pak je to těžké, aby to přenosné. <p> <a href="http://ubuntuforums.org/showthread.php?t=910717">toto</a> je dobrý způsob vytváření základních <code>.deb</code> soubor. je vhodný pro vytvoření <code>.deb</code> soubory pro osobní použití, ale nejsou dostatečně přísné, pokud chcete, aby byl balíček zahrnut do debian/ubuntu - za to byste si měli přečíst <a href="http://www.debian.org/doc/maint-guide/">debian new maintainer's guide</a> a/nebo <a href="http://packaging.ubuntu.com/html/">buntu průvodce balením</a> (což se domnívám, že jste již vyzkoušeli).</p><p>dobrý nástroj pro kontrolu vašeho <code>.deb</code> soulad s předpisy je <code>lintian</code> (instalovatelný z úložišť).</p><p>v chatovacích místnostech ask ubuntu se zde konaly dvě sezení.</p><p> <a href="http://chat.stackexchange.com/rooms/663/conversation/the-basics-of-packaging-on-ubuntu-packaging-part-1">základy balení na ubuntu (balení: část 1)</a> </p><p> <a href="http://chat.stackexchange.com/rooms/663/conversation/ubuntu-packaging-for-launchpad-ppas-packaging-part-2">buntu balíčky pro ppa launchpadu (balení: část 2)</a> </p> <h2>vytváření zdrojového balíčku</h2><p>mým doporučením je vytvořit zdrojový balíček. nainstalujte <a href="http://packages.debian.org/build-essential">build-essential</a> , <a href="http://packages.debian.org/debhelper">debhelper</a> , <a href="http://packages.debian.org/dh-make">dh-make</a> . přejděte do adresáře, ve kterém jsou soubory, které chcete nainstalovat (název adresáře musí mít tvar <code>$package-$version</code>, např. <code>myapp-4.2-1</code> pro váš první pokus zabalit myapp v4.2) a spustit <code>dh\_make --createorig</code>. odpověz na otázky. debhelper vytvoří základní infrastrukturu potřebnou k sestavení balíčku generováním souborů v podadresáři s názvem <code>debian</code>, což jsou některé povinné soubory i šablony pro volitelné soubory. možná budete muset upravit některé z těchto souborů:</p><ul> <li>upravit <a href="https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#rules"><code>debian/rules</code></a> k sestavení toho, co je potřeba vytvořit a nainstalovat soubory na správném místě. pokud potřebujete pouze zkopírovat některé soubory a ne kompilovat věci, upravte soubor <a href="https://www.debian.org/doc/manuals/maint-guide/dother.en.html#install"><code>debian/install</code></a> určete, které soubory je třeba nainstalovat.</li> <li>upravit <a href="https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#copyright"><code>debian/copyright</code></a> přidejte licenční informace o vašem balíčku a informace o tom, kde získat nejnovější verzi (pokud je to relevantní).</li> <li>upravit <a href="https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#changelog"><code>debian/changelog</code></a> odstranit odkaz na itp (to je relevantní pouze v případě, že pracujete pro projekt debian). přejmenovat <code>debian/postinst.ex</code> až <a href="https://www.debian.org/doc/manuals/maint-guide/dother.en.html#maintscripts"><code>debian/postinst</code></a> a přidejte tam post-instalační příkazy. pokud balíček aktualizujete později, spusťte <code>debchange -i</code> pro přidání záznamu changelogu nebo editaci souboru v emacsu (s nainstalovaným <a href="http://packages.debian.org/dpkg-dev-el">dpkg-dev-el</a> )).</li> </ul><p>spustit <code>dpkg-buildpackage -rfakeroot -us -uc</code> postavit <code>.deb</code> package (odebrat <code>-us -uc</code> pokud chcete balíček podepsat klíčem pgp).</p><h2>přímé vytvoření binárního balíčku</h2><p>pokud se rozhodnete vytvořit binární balíček přímo, aniž byste jej vytvořili ze zdrojového balíčku, což není opravdu snazší, protože není tolik nástrojů, které by tento proces usnadnily, budete potřebovat základní znalost formátu deb balíčků. je popsán v <a href="http://www.debian.org/doc/debian-policy/">debian policy manual</a> , zejména <a href="http://www.debian.org/doc/debian-policy/ch-binary.html">kap. 3 (formát binárních balíčků)</a> , <a href="http://www.debian.org/doc/debian-policy/ch-controlfields.html">kap. 5 (kontrolní soubory)</a> , <a href="http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html">kap. 6 (instalační skripty)</a> a <a href="http://www.debian.org/doc/debian-policy/ap-pkg-binarypkg.html">dodatek b (manipulace s binárními balíčky)</a> .</p><p>zajistíte, aby váš balíček nainstaloval očekávané soubory <code>/usr/share/doc/copyright</code> (obsahující licenci na obsah balíčku a také kde najít nejnovější verzi balíčku) a <code>/usr/share/doc/changelog.debian.gz</code> (obsahující changelog deb balíčku). nepotřebujete je, pokud budete balíček používat pouze interně, ale je lepší je mít.</p><h3>na debianu a derivátech</h3><p>pokud máte k dispozici nástroje debian, použijte <code>dpkg-deb</code> k vytvoření balíčku. do adresáře obsahujícího data k instalaci přidejte adresář s názvem <code>debian</code> na nejvyšší úrovni, obsahující kontrolní soubory a skripty správce.</p><pre><code>$ ls mypackage-42 debian etc usr var $ dpkg-deb -b mypackage-42 </code></pre><h3>těžká cesta</h3><p>pokud nemáte nástroje debianu, vytvořte archiv souborů, které chcete zabalit, s názvem <code>data.tar.gz</code>, samostatný archiv řídících souborů s názvem <code>control.tar.gz</code> (bez podadresářů) a textový soubor s názvem <code>debian-binary</code> a obsahující text <code>2.0</code>.</p><pre><code>cd mypackage-42 tar czf ../data.tar.gz [a-z]* cd debian tar czf ../../control.tar.gz * cd ../.. echo 2.0 &gt; debian-binary ar r mypackage-42.deb debian-binary control.tar.gz data.tar.gz </code></pre><p>potřebujete alespoň <a href="http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-binarycontrolfiles">kontrolní soubor</a> s poli <code>package</code>, <code>maintainer</code>, <code>priority</code>, <code>architecture</code>, <code>installed-size</code>, <code>version</code> a veškerá nezbytná prohlášení o závislosti.</p><p>skript, který má být proveden po instalaci, se nazývá <code>postinst</code>. ujistěte se, že je spustitelný. spolu s <code>control</code>.</p><h3>převod binárního balíčku z jiného formátu</h3><p>pokud již máte binární balíček z jiné distribuce, můžete jej převést pomocí <a href="http://packages.debian.org/alien">alien</a> .</p> <p>chcete-li zobrazit všechny balíčky a jejich data instalace, nejdříve první:</p><pre><code>rpm -qa --last </code></pre> > Recovery oddíl a vyloučit OS.> Servis pokud nevíš jak na kontrolu HW, ostatně u NB nemáš ani náhradní komponenty. K dispozici je celá řada možností pro kontrolu této.


-MD zobrazí seznam souborů, -MMD vypíše non-systémové soubory jako vedlejší účinky kompilace


-M, -mm bude generovat seznamy namísto kompilace.


-MQ, -MG, -MP a -MT generování makefile cílových fragmentů. -mf umožňuje zadat jméno výstupního souboru. Kliknou pravím na myši na požadovaný soubor - zvol otevřít - vybrat program ze seznamu nainstalovaných - vyber požadovaný program :) <p><strong> [~ # ~] aktualizováno [~ # ~] </strong></p><p>zkontroloval bych následující:</p><ol> <li> <p>protokoly. pokud máte root přístup, měli byste zkontrolovat věci jako <code>history</code>, které vám poskytnou historii příkazů a protokolované soubory v <code>/var/logs</code>.</p> </li> <li> <p>základní hodnota. pokud máte základní linii jako hash souborů pro práci s aplikačními a systémovými soubory, pomůže vám to hodně. zálohy můžete také použít k porovnání předchozího stavu. pokud používáte zálohu k porovnání souborů, použijte, pokud je to možné, o něco starší. stránka mohla být před nějakou dobou ohrožena a teprve nyní je přesměrování aktivováno.</p> </li> <li> <p>zkontrolujte jakékoli položky. soubory nemusí být na vašem serveru. mohou to být skripty, jako jsou značky typu <code>&lt;script src=”http://baddomain.com/s.js” /&gt;</code> nebo <code>iframe</code>. nevylučujte také obrázky, soubory pdf flash (swf), video soubory. je docela běžným trikem vkládání odkazů do souborů jiného typu obsahu. navrhuji, abyste je zkontrolovali ručně, zejména na začátku a na konci souboru. soubor může být kompletně odkazem/html/javascript nebo se může jednat o legitimní obrazový soubor s koncem odkazu na konci souboru.</p> </li> <li> <p>zkontrolujte neobvyklá data souborů, velikosti a oprávnění, např. 777.</p> </li> <li> <p>zkontrolujte neobvyklé úlohy u cron. někdo ohrožující systém často opustí zadní dveře, aby se sem dostal znovu a znovu. cron je velmi populární způsob, jak toho dosáhnout, pokud se jim podaří dostat se tak daleko.</p> </li> <li> <p>zkontrolujte, zda neexistují soubory. pravděpodobně nebudete mít přístup k protokolům, ale jejich absence je stejně známkou, že někdo po sobě vyčistil.</p> </li> <li> <p>použijte vyhledávače. není divu, že vyhledávače dokáží najít vše. použijte direktivy jako <code>site:</code> <code>site:yoursitehere.com baddomain.com</code> zjistěte, zda se vám nepodaří získat nějaké zásahy.</p> </li> <li> <p>často bude odkaz nebo přesměrování zamlženo, takže by měl být pečlivě analyzován dlouhý javascriptový kód s proměnnými s jedním písmenem.</p> </li> <li> <p>zachyťte pakety pomocí nástroje jako wireshark nebo tcpdump ze zabezpečené pracovní stanice na web. uložte jej do souboru a vyhledejte v něm části adresy url.</p> </li> <li> <p>zkontrolujte záznamy databáze, které mohou být dotazovány nebo aktualizovány. odkaz mohl být vložen do databáze, nikoli do php.</p> </li> <li> <p>nevylučujte pracovní stanici klienta. v případě potřeby použijte bezplatný online antivirový program. zkontrolujte také <code>nslookup</code> a podívejte se, k čemu se to vyřeší. zkontrolujte rozšíření prohlížeče, vymažte mezipaměť a zkontrolujte soubory <code>hosts</code>.</p> </li> </ol><p>chcete-li to vyčistit (pokud jste ohroženi), musíte se vrátit zpět na holý kov a znovu jej nainstalovat. je to bolestivé, ale je to jediný způsob, jak se ujistit, že máte všechno.</p><p>chcete-li tomu zabránit v budoucnu, měli byste dělat následující (i když již možná některé z nich děláte):</p><ol> <li> <p>vytvářejte servery, včetně používání doporučení výrobce o bezpečných konfiguracích, pomocí aktuálního softwaru. používejte přísnou kontrolu zabezpečení, jako jsou oprávnění, zásady týkající se hesel. viz také <a href="https://security.stackexchange.com/questions/7141/folder-and-file-permission-shared-host-advice/7171#7171">sdílená oprávnění ke složkám a souborům doporučení hostitele</a> .</p> </li> <li> <p>implementujte postupy kontroly kvality, jako je testování v prostředí s nízkým zabezpečením, kontrola kódu a testování.</p> </li> <li> <p>nechte zranitelnost své webové aplikace/webu ověřit alespoň jednou profesionálním certifikovaným testerem. podívejte se na testery certifikované evropskou radou, iso 27001 a pci. <a href="http://www.eccouncil.org/certification/licensed\_penetration\_tester.aspx">http://www.eccouncil.org/certification/licensed\_penetration\_tester.aspx</a> </p> </li> <li> <p>podívejte se na stránky owasp www.owasp.org a <a href="http://phpsec.org/projects/guide/2.html">http://phpsec.org/projects/guide/2.html</a> , kde najdete zdroje zabezpečení webových aplikací.</p> </li> <li> <p>použijte nástroje systému prevence narušení (ips). v závislosti na poskytovateli hostingu však můžete mít omezení ohledně toho, co můžete použít. host založené ips nástroje by měly být v pořádku, pokud máte vyhrazený virtuální počítač.</p> </li> </ol><p>doufám, že to pomůže. jinak byste mohli poskytnout více informací o systémech, které používáte?</p> Nejsem si zcela jist názvem, ale myslím že to uměl Total Uninstaller nebo tak nějak. Monitoroval kompletně instalaci, tedy kam se co poznamenává, ale stejně jsem ho "vyhnal", protože jsem to potřebovat "absolutně" přesně a on to nedokázal. Tvrdím, že to nedokáže žádný SW, protože jde jistým způsobem o death lock, protože i ten monitorovací systém pracuje zároveň na PC. Navíc nemůže dost dobře monitorovat situace, kdy si jisté stavy poznamnává do svých dat například FW a hafo jiných SW. Skoro ti radím - vycouvej.