welche c-bibliotheksversion verwendet mein system?
<p>wie kann ich sicher feststellen, welche userland c-bibliothek mein system verwendet? mögliche gründe, diese informationen zu benötigen, sind:</p><ul> <li> <p>es gibt ein gigantisches quellpaket, das ich herunterladen möchte. ich bin sicher, dass es ordnungsgemäße überprüfungen durchführt und eine mininum-bibliotheksversion auflistet, aber ich würde mir lieber einen potenziellen ärger ersparen, indem ich zuerst überprüfe, ob es funktioniert.</p> </li> <li> <p>ich bin besorgt über <a href="http://en.wikipedia.org/wiki/binary\_code\_compatibility">abi-kompatibilität</a> mit einigen binärdateien von drittanbietern, die ich außerhalb des paketverwaltungssystems des systems installieren möchte.</p> </li> <li> <p>ich habe ein quellpaket, in dessen dokumentation die notwendigkeit einer mindestversion der bibliothek meines systems erwähnt wird, aber der erstellungsprozess führt keine überprüfungen durch.</p> </li> <li> <p>ich baue einen cross-compiler, der auf ein bestimmtes system abzielt, und möchte keine <a href="http://en.wikipedia.org/wiki/forward\_compatibility">vorwärtskompatibilität</a> probleme riskieren.</p> </li> </ul>
<p><strong> gnu/linux-systeme </strong> verwenden normalerweise entweder glibc (fedora/redhat-familie, arch) oder seinen engen cousin eglibc (debian/ubuntu-familie); da eglibc nun wieder in glibc zusammengeführt wird ( <a href="http://www.eglibc.org/home">siehe <em> eglibc 2.19 branch created</em> unter "news"</a> ), werden sie in naher zukunft alle wieder glibc sein.</p><p>der einfachste weg, die genaue version zu überprüfen, besteht darin, <code>ldd</code> zu fragen, das mit der c-bibliothek geliefert wird.</p><p>auf fedora 20:</p><pre><code>&gt; ldd --version ldd (gnu libc) 2.18 </code></pre><p>das ist glibc 2.18.</p><p>auf raspbian (debian 7-port für armv6 broadcom soc):</p><pre><code>&gt; ldd --version ldd (debian eglibc 2.13-38+rpi2) 2.13 </code></pre><p>das ist eglibc 2.13.</p><p>wenn sie aus irgendeinem grund einige teile gemischt und abgeglichen haben oder sich bei <code>ldd</code> nicht sicher sind, können sie die c-bibliothek direkt abfragen.</p><pre><code>&gt; whereis libc.so libc: /usr/lib64/libc.a /usr/lib64/libc.so /usr/share/man/man7/libc.7.gz </code></pre><p>keines davon ist ausführbar, aber sie geben einen hinweis darauf, wo man eines findet.</p><pre><code>&gt; $(find /usr/lib64/ -executable -name "*libc.so*") --version gnu c library (gnu libc) stable release version 2.18, by roland mcgrath et al. </code></pre><p>es ist jedoch nicht unbedingt so einfach, da sich die c-bibliothek nicht irgendwo befinden muss, wo <code>whereis</code> sie finden kann.</p><pre><code>&gt; whereis libc.so libc: /usr/share/man/man7/libc.7.gz </code></pre><p>leider enthält die manpage keine versionsnummer. <code>ldd</code> ist immer noch nützlich, da jede funktionierende, dynamisch verknüpfte ausführbare datei auf dem system (z. b. fast alles in <code>/usr/bin</code>) mit der c-bibliothek verknüpft wird.</p><pre><code>&gt; ldd /usr/bin/touch /usr/lib/arm-linux-gnueabihf/libcofi\_rpi.so (0xb6eed000) librt.so.1 =&gt; /lib/arm-linux-gnueabihf/librt.so.1 (0xb6ed0000) libc.so.6 =&gt; /lib/arm-linux-gnueabihf/libc.so.6 (0xb6da1000) /lib/ld-linux-armhf.so.3 (0xb6efb000) libpthread.so.0 =&gt; /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6d82000) </code></pre><p><code>libc.so.6</code> steht in der dritten zeile.</p><pre><code>&gt; /lib/arm-linux-gnueabihf/libc.so.6 --version gnu c library (debian eglibc 2.13-38+rpi2) stable release version 2.13, by roland mcgrath et al. </code></pre>
<p>c hat den vorteil, dass es eine relativ <strong> <em> kleine sprache</em> </strong> ist, was es <strong> macht ) <em> einfach einen c-compiler zu implementieren</em> </strong> (während ein c++ - compiler ein monster zum schreiben ist), und macht es <strong> = <em> leichter die sprache zu lernen</em> </strong>. siehe auch <a href="https://www.tiobe.com/tiobe-index/">tiobe-index</a> , wonach c etwas vor c++ liegt.</p><p>in (imo) abnehmender reihenfolge der rechtfertigung wird c immer noch häufig verwendet</p><ul> <li> <p>eingebettetes zeug<br> es ist viel einfacher, einen c-compiler auf eine kleine plattform zu portieren, als einen c++ - compiler zu portieren. außerdem behaupten c-befürworter, dass c++ "hinter ihrem rücken zu viel tut". allerdings imo das ist fud.</p> </li> <li> <p>systemprogrammierung<br> auch dies ist normalerweise auf die behauptung zurückzuführen, dass es einfacher ist, "zu wissen, was der compiler tut". viele eingebettete programme würden jedoch beispielsweise von vorlagen und anderen c++ - schlüsselfunktionen profitieren.</p> </li> <li> <p>quelloffene software<br> das ist jedoch meistens ein einstellungsproblem: oss hat c immer c++ vorgezogen (während es in großen teilen der branche das gegenteil ist). torvalds irrationaler hass könnte tatsächlich der wichtigste grund dafür sein <em> unter linux</em>.</p> </li> </ul> <p>der weg zu gehen ist das hochladen <strong>einmal für jede ubunt</strong> version.</p><p>launchpad erstellt keine pakete für ubuntu-versionen, die nicht mehr unterstützt werden, und erstellt nur ein paket für eine bestimmte ubuntu-version. die zielversion wird (wie sie bereits wissen) in der datei <code>changelog</code> durch den neuesten eintrag angegeben!</p><p>denken sie daran, dass die pakete, von denen ihr programm abhängt, möglicherweise nicht in allen ubuntu-versionen in derselben version verfügbar sind.</p><p>sie sprechen auch von "multi-architektur" (architektur = cup-typ, z. b. x86, lpia, amd64). dies macht keinen unterschied, da jedes hochgeladene paket für alle verfügbaren architekturen erstellt wird, solange sie <code>architecture: any</code> in der paketdefinition (<code>debian/control</code>) datei, dies ermöglicht ihnen auch, das paket von verschiedenen paketen für verschiedene architekturen abhängig zu machen (das paket muss mehrmals definiert werden)</p> Wenn Ihre Bibliothek Cross-Plattform und kann auch auf Windows kompiliert werden, dann scons verwendet, ist die richtige Wahl. hi @gulfo,die verärgerung kann ich verstehe, nur ist die antwort von @kenneth nicht automatisiert.sicher hast du schon davon gehört, dass wir als online mediathek unseren lizenzgebern gegenüber verpflichtet sind, die uns zur verfügung gestellten inhalte mit einem kopierschutz zu versehen. dieser kopierschutz wird stetig erweitert und den aktuellen gegebenheiten angepasst. durch die aktuellen anpassungen am kopierschutz kann es dazu kommen, dass der abruf mit einer älteren version deines browsers nicht mehr möglich ist. um dem vorzubeugen, müssen die von uns unterstützten browser (microsoft edge, google chrome, mozilla firefox und safari)auf der aktuellsten version laufen. darauf wollte kenneth nur hinaus.wenn alle aktualisierungen gemacht sind, fülle uns bitte die im nachfolgenden artikel stehende datenabfrage aus. mithilfe der dann erfolgenden daten können wir weiter nach der die fehlermeldungen auslösenden ursache suchen: Guten Tag Herr Knittel,  
  
es tut mir leid, wenn Sie aktuell Probleme mit dem HBCI Banking haben. Vor unserer IT-Umstellung haben wir alle Online-Banking Kunden angeschrieben und über die Änderungen und die neuen HBCI Zugangsdaten informiert.   
  
In folgender Anleitung erhalten Sie nochmal eine Übersicht der zu ändernden HBCI Zugansdaten und eine Beschreibung für viele Online-Banking Programme: **[Einrichtung HBCI Banking-Programme / Mobile-Banking Apps](https://meine.bw-bank.de/faqs/einrichtung-hbci-banking-programme-mobile-banking-apps "Einrichtung HBCI Online-Banking")**   
  
Bezüglich der eingesetzten Soft- und Hardware können wir natürlich keine pauschale Aussage treffen. Ihr Chipkartenleser muss die Sicherheitsklasse 3 erfüllen und Karten des Typs DDV CS2 SECCOS 6 Chip lesen können.

  
Für die verwendete Banking-Software emfpehlen wir aus Sicherheitsgründen immer eine möglichst aktuelle Version zu nutzen - unabhängig von welchem Anbieter Sie die Software nutzen.
Beste Grüße  
Oliver Klemm  
BW-Bank Service-Center Hallo zusammen! 
  
Das Problem habe ich alleine lösen können...Es hat sich herausgestellt , dass ich die falsche( alte) Version heruntergeladen haben.Jetzt habe ich auf diese Seite auf diese Homepage die kompatible Version downloadet. <p>starten sie von <a href="http://www.ubuntu.com/server">buntu server</a> und bauen sie auf. es verwendet die gleichen repos wie die desktop-distribution und sie können verschiedene desktop-konfigurationen installieren.</p><p>ich schlage nur vor, dass sie sich von den großen metapaketen wie ubuntu-desktop fernhalten, oder sie werden am ende die vollständige distribution sehen.</p><p>wenn sie nur den ubuntu-desktop reduzieren (anstatt ihn aufzubauen) möchten, müssen sie ihn entfernen (was von vielen dingen abhängt) und alle automatisch erfüllten abhängigkeiten in manuell installierte konvertieren. wenn sie nicht dazu in der lage sind, bereinigen sie sie automatisch, da sie (neben anderen tools) "veraltete" pakete bereinigen. dies sind pakete, die keine abhängigkeit oder benutzerauswahl erfüllen.</p> <blockquote> <p>kann ich yum benutzen?</p> </blockquote><p>ich würde es nicht empfehlen. sie könnten es wahrscheinlich kompilieren, hätten aber keine ubuntu-kompatiblen paket-repositorys, die es handhaben könnten.</p><p>sie können <em> einzelne rpm-dateien mit alien in debs konvertieren </em>:</p><pre><code>sudo apt-get install alien sudo alien my\_package.rpm sudo dpkg -i my\_package.deb </code></pre><p><strong>hinweis:</strong> es kann sein, dass sich der dateiname etwas mehr ändert als nur die erweiterung.</p><p>dies funktioniert nicht bei allen paketen, da pakete mit anderen paketen verknüpft werden, um abhängigkeiten zu erfüllen. offensichtlich verwenden red hat/fedora/centos andere paketnamen als ubuntu, sodass sie wahrscheinlich auf eine ganze menge schmerzen stoßen werden.</p><p>wenn es keine deb gibt, ist es wahrscheinlich besser, nur den quellcode zu beschaffen und zu kompilieren.</p> hallo zusammen,

[bild] tobias:

dann werde ich noch manuell einen config-backup-download machen und den gleich wieder einspielen.

das funktioniert, also zumindest werden die interfaces nicht mehr durcheinander gewürfelt oder gar nicht initialisiert.

eventuell hat die opnsense ein problem unt… wenn du die "ultimate edition" nutzt, kannst du per update dir aus den "ultimate extras" das tool "bitlocker" herunterladen.

ansonsten wäre "truecrypt" zu empfehlen (opensource), dort die version 4.3a: http://www.truecrypt.org/downloads.php