PDF User Guide

Total Page:16

File Type:pdf, Size:1020Kb

PDF User Guide SimXMD User Guide (c)2013 Ruediger Willenberg, University of Toronto Last updated: September 4, 2013 Support and prerequisites This software is developed and tested on the following system: Processor: x86 64 OS: 64-bit-Linux Kernel: 3.4.33.-2.24-desktop Distribution: OpenSUSE 12.2 Desktop: KDE 4.8.5r2 Qt framework 4.8.1 (minimum: 4.7) Xilinx EDK 14.2 (minimum: 13.1) MentorGraphics ModelSim SE 10.1c (minimum: 6.6) EDK simulation libraries compiled with compedklib for the installed ModelSim version I expect this to work on a lot of other constellations (e.g. other Linux systems, other Qt versions, Xilinx and ModelSim tool versions), but there has been no extensive testing. If you can report success, consider emailing me at [email protected] (please put [SimXMD] into the subject line). You should have the Qt cross-platform application framework (version 4.7 or newer) installed (SimXMD has not been tested with versions 5.x). It can be downloaded at http://qt-project.org/downloads Installation To install SimXMD follows these steps: • Open a terminal • Set the environment variable MODELSIM PATH to ModelSim's installation path example for bash: > export MODELSIM PATH=/opt/Modelsim/10.1c/ • Enter the unzipped SimXMD source directory • On the command-line, enter: > qmake > make > sudo make install SimXMD is installed into /usr/local/bin/simxmd by default. To change the installation path, set the environment variable SIMXMD PATH before calling qmake. If you install SimXMD to a location in your home directory, you don't need to use sudo for make install. NOTE: SimXMD needs the PATH variable to point towards various EDK commandline tools. Since the simplest way to start SimXMD will often be directly out of an EDK project, I suggest to add a path to SimXMD into the script(s) you use to setup a working environment for your Xilinx and ModelSim tools anyway. As an example, a bash script could be easily extended this way: export PATH=/usr/local/bin/simxmd/:$fPATHg 1 SimXMD User Guide (c)2013 Ruediger Willenberg, University of Toronto A Quick Start Debugging with SimXMD can always be started in four quick steps: • Generate a simulation model with XPS • Let SimXMD modify the simulation model • Initiate the simulation • Connect to the simulated MicroBlaze processor with a debugger of your choice The SimXMD sources include an example project for EDK versions 14.x, with all the project settings ready to jump right in. The later chapters will explain the limited number of steps necessary to make your own projects work with SimXMD. This example assumes that you start Xilinx Platform Studio with the path settings recommended above. 1. Extract the demo project in $SIMXMD SOURCE/xps demo project/SimXMD Demo v14.tar.gz 2. Start XPS and open the project. Depending on your EDK version, XPS will suggest to update certain pcores to newer versions, or in some rare cases even tell you it can't auto-update because newer versions are not downwards compati- ble. In the latter case, try to edit the version in the system.mhs file by hand to an available one; there are rarely real compatibility issues. Select Project ! Export Hardware Design to SDK to launch the Xilinx SDK; make sure that Include Bitstream and BMM file is unchecked so that XPS does not implement the hardware. When prompted, enter the workspace path ./SDK. Make sure to re-build everything by selecting Project ! Clean.... Close the SDK. This is a simple project with a MicroBlaze, on-chip BlockRAM for code and data and two periph- erals connected through Fast Simplex Links (FIFOs). The first peripheral is a network component that will receive encrypted packets of 32-bit words. The second component is a co-processor that can decrypt the packets. 3. Export the simulation model by selecting Simulation ! Generate Simulation HDL files. 4. Start SimXMD by pushing the left X-shaped custom command button. SimXMD will start in GUI mode with three text fields logging debugger communication, processor- specific data and simulator communication. The GUI is purely optional for those logging purposes and for interactive changes of project options. Alternatively, you can start the console version of SimXMD by pushing the right X-shaped custom command button. In the background, SimXMD automatically parsed the project data and modified the simulation model when it was started. The only indication of this is that the central logging window in the GUI shows some information about the selected processor and its assigned binary. 5. Go back to XPS. Start the simulator by selecting Simulation ! Launch HDL Simulator 6. In the ModelSim console, type > do sx start.do ModelSim now compiles the simulation model, starts the simulation and populates the wave win- dow, all of it using the scripts generated for these purposes by XPS and SimXMD . 2 SimXMD User Guide (c)2013 Ruediger Willenberg, University of Toronto Additionally, SimXMD modifications add a few waveforms that illustrate the processor's execution state. The added scripts also start a TCP server that can automatically receive ModelSim commands from SimXMD and run the binary execution to the beginning of main(). Finally, an extra SimXMD menu is added to ModelSim so that any control of SimXMD can be exerted through the ModelSim GUI. SimXMD itself, with or without GUI, can always stay in the background. After the startup, SimXMD should automatically connect to ModelSim's TCP port. This is visible in Modelsim's wave window through a thin white cursor that marks the upcoming processor instruction (the first instruction of main()). The white cursor is also designated RUN MODE in the bottom of the wave window (more about modes later). We can now connect a debugger! 7. Select the ModelSim menu entry SimXMD ! Start command-line GDB. A terminal window with the command-line version of the GNU debugger should open and indicate it is connected to the processor with the binary execution at the start of main(). You can now freely debug the program running on the simulated MicroBlaze. As an example, display the current program counter at main() with (gdb) display $pc Now use the program counter value (e.g. 0x24c)) to read the first instruction word in main() (gdb) x /1xw 0x24c or disassemble that instruction with (gdb) disas 0x24c,+4 You can cross-check all three results in the top of the wave window at the white Run mode cur- sor. 8. Close GDB and select the ModelSim menu entry SimXMD ! Start Xilinx SDK debugger. Xilinx SDK starts in the workspace managing the Microblaze software project network rx test, which has also been assigned to the processor for simulation in XPS. A specific debug configuration for the project named SimXMD microblaze 0 has been added to the workspace. You can activate it by press- ing F11 or clicking on the bug icon. SDK will connect to the simulator through SimXMD, the same way that the command-line GDB did. It will display all the typical trappings of a graphical debugger, a source code window indicating the code position, variable and register displays etc. Use the keys or buttons for step, step over, finish and continue (with breakpoints) to move code execution forward. In the simulator's wave window, you can see how the simulation moves forward in the same steps. At any time, the debugger will display accurate register, variable and memory state of the moment that is marked by the white cursor in the waveform window. 3 SimXMD User Guide (c)2013 Ruediger Willenberg, University of Toronto Run Replay Run x2 0x3 0x4 0x5 x2 0x3 0x4 0x5 x2 0x3 0x4 0x5 x2 0x3 0x4 0x5 0x6 (A) PC = 5 (B) PC = 5 (C) PC = 3 (D) PC = 6 int main() int main() int main() int main() { { { { a = functionA(); a = functionA(); a = functionA(); a = functionA(); b = functionB(a); b = functionB(a); b = functionB(a); b = functionB(a); c = b + 5 * d; c = b + 5 * d; c = b + 5 * d; c = b + 5 * d; return c; return c; return c; return c; } } } } Debugging in Run and Replay modes SimXMD can run in two different modes, the previously mentioned Run mode and Replay mode: • Run mode, which SimXMD starts in when connecting to the simulator, always transmits the most recently simulated processor state to the debugger. Any Step or Continue command from the debugger results in running the simulation up to the next break condition. • Replay mode parses earlier processor and memory state information and therefore allows \re-executing" earlier code in the debugger. This is useful because it allows to home in on earlier time stretches in simulation where problems have been identified in the hardware signals. These critical areas can be re-executed and debugged unlimited times. The figure above illustrates how to use modes and switch between them: A. Debugging starts in Run mode as described. The ModelSim wave window will show a white locked cursor at the most recent instruction. The cursor name RUN MODE appears at the bottom of the window. B. To switch to Replay mode, mark the moment in simulation that you would start debugging from with an active cursor. Choose the menu entry SimXMD ! Debug from Cursor (Replay Mode) in ModelSim. SimXMD marks the time with a locked white cursor named GO TO CURSOR and pops up a dialog informing you to press Step or Continue in the debugger to complete the transition. At this point, the debugger is unaware of the change and still shows the most recent Run mode code position. C. As soon as the user selects Step or Continue, SimXMD finds the next break time, positions the white locked cursor there and names it REPLAY MODE.
Recommended publications
  • KDE 2.0 Development, Which Is Directly Supported
    23 8911 CH18 10/16/00 1:44 PM Page 401 The KDevelop IDE: The CHAPTER Integrated Development Environment for KDE by Ralf Nolden 18 IN THIS CHAPTER • General Issues 402 • Creating KDE 2.0 Applications 409 • Getting Started with the KDE 2.0 API 413 • The Classbrowser and Your Project 416 • The File Viewers—The Windows to Your Project Files 419 • The KDevelop Debugger 421 • KDevelop 2.0—A Preview 425 23 8911 CH18 10/16/00 1:44 PM Page 402 Developer Tools and Support 402 PART IV Although developing applications under UNIX systems can be a lot of fun, until now the pro- grammer was lacking a comfortable environment that takes away the usual standard activities that have to be done over and over in the process of programming. The KDevelop IDE closes this gap and makes it a joy to work within a complete, integrated development environment, combining the use of the GNU standard development tools such as the g++ compiler and the gdb debugger with the advantages of a GUI-based environment that automates all standard actions and allows the developer to concentrate on the work of writing software instead of managing command-line tools. It also offers direct and quick access to source files and docu- mentation. KDevelop primarily aims to provide the best means to rapidly set up and write KDE software; it also supports extended features such as GUI designing and translation in con- junction with other tools available especially for KDE development. The KDevelop IDE itself is published under the GNU Public License (GPL), like KDE, and is therefore publicly avail- able at no cost—including its source code—and it may be used both for free and for commer- cial development.
    [Show full text]
  • 实战kdevelop进行linux软件开发 2009-02 V0.1
    实战KDevelop进行Linux软件开发 2009-02 V0.1 实战KDevelop进行Linux软件开发 陈 浩 2009-02 (Ver. 0.1) MSN: [email protected] Linux开发并不高深,我们需要一个新的角度进行近距离接触! 欢迎指正! Horky ([email protected]) 1. 实战KDevelop进行Linux软件开发 2009-02 V0.1 目录 开始之前.................................................................................................................................................................3 第1章 认识KDevelop.............................................................................................................................................4 1.1简单起步 ........................................................................................................................................................4 1.1.1 一个实例 – Hello, Kdevelop! ..............................................................................................................4 1.1.2 KDevelop的项目组织 ............................................................................................................................6 1.1.3 KDevelop的布局 ....................................................................................................................................8 1.1.4 集成调试环境......................................................................................................................................10 1.2配置KDevelop ..............................................................................................................................................11 第2章 应用程序开发 ...........................................................................................................................................14
    [Show full text]
  • Kde-Guide-De-Developpement.Web.Pdf
    KDE Published : 2017-06-26 License : GPLv2+ 1 KDE DU POINT DE VUE D'UN DÉVELOPPEUR 1. AVEZ-VOUS BESOIN DE CE LIVRE ? 2. LA PHILOSOPHIE DE KDE 3. COMMENT OBTENIR DE L'AIDE 2 1. AVEZ-VOUS BESOIN DE CE LIVRE ? Vous devriez lire ce livre si vous voulez développer pour KDE. Nous utilisons le terme développement très largement pour couvrir tout ce qui peut conduire à un changement dans le code source, ce qui inclut : Soumettre une correction de bogue Écrire une nouvelle application optimisée par la technologie KDE Contribuer à un projet existant Ajouter de la fonctionnalité aux bibliothèques de développement de KDE Dans ce livre, nous vous livrerons les bases dont vous avez besoin pour être un développeur productif. Nous décrirons les outils que vous devrez installer, montrer comment lire la documentation (et écrire la vôtre propre, une fois que vous aurez créé la nouvelle fonctionnalité !) et comment obtenir de l'aide par d'autres moyens. Nous vous présenterons la communauté KDE, qui est essentielle pour comprendre KDE parce que nous sommes un projet « open source », libre (gratuit). Les utilisateurs finaux du logiciel n'ont PAS besoin de ce livre ! Cependant, ils pourraient le trouver intéressant pour les aider à comprendre comment les logiciels complexes et riches en fonctionnalités qu'ils utilisent ont vu le jour. 3 2. LA PHILOSOPHIE DE KDE Le succès de KDE repose sur une vue globale, que nous avons trouvée à la fois pratique et motivante. Les éléments de cette philosophie de développement comprennent : L'utilisation des outils disponibles plutôt que de ré-inventer ceux existants : beaucoup des bases dont vous avez besoin pour travailler font déjà partie de KDE, comme les bibliothèques principales ou les « Kparts », et sont tout à fait au point.
    [Show full text]
  • Smart Home Automation with Linux Smart
    CYAN YELLOW MAGENTA BLACK PANTONE 123 C BOOKS FOR PROFESSIONALS BY PROFESSIONALS® THE EXPERT’S VOICE® IN LINUX Companion eBook Available Smart Home Automation with Linux Smart Dear Reader, With this book you will turn your house into a smart and automated home. You will learn how to put together all the hardware and software needed for Automation Home home automation, to control appliances such as your teakettle, CCTV, light switches, and TV. You’ll be taught about the devices you can build, adapt, or Steven Goodwin, Author of hack yourself from existing technology to accomplish these goals. Cross-Platform Game In Smart Home Automation with Linux, you’ll discover the scope and possi- Programming bilities involved in creating a practical digital lifestyle. In the realm of media and Game Developer’s Open media control, for instance, you’ll learn how you can read TV schedules digitally Source Handbook and use them to program video remotely through e-mail, SMS, or a web page. You’ll also learn the techniques for streaming music and video from one machine to another, how to give your home its own Twitter and e-mail accounts for sending automatic status reports, and the ability to remotely control the home Smart Home lights or heating system. Also, Smart Home Automation with Linux describes how you can use speech synthesis and voice recognition systems as a means to converse with your household devices in new, futuristic, ways. Additionally, I’ll also show you how to implement computer-controlled alarm clocks that can speak your daily calendar, news reports, train delays, and local with weather forecasts.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • KDE 2.0 Development
    00 8911 FM 10/16/00 2:09 PM Page i KDE 2.0 Development David Sweet, et al. 201 West 103rd St., Indianapolis, Indiana, 46290 USA 00 8911 FM 10/16/00 2:09 PM Page ii KDE 2.0 Development ASSOCIATE PUBLISHER Michael Stephens Copyright © 2001 by Sams Publishing This material may be distributed only subject to the terms and conditions set ACQUISITIONS EDITOR forth in the Open Publication License, v1.0 or later (the latest version is Shelley Johnston presently available at http://www.opencontent.org/openpub/). DEVELOPMENT EDITOR Distribution of the work or derivative of the work in any standard (paper) book Heather Goodell form is prohibited unless prior permission is obtained from the copyright holder. MANAGING EDITOR No patent liability is assumed with respect to the use of the information con- Matt Purcell tained herein. Although every precaution has been taken in the preparation of PROJECT EDITOR this book, the publisher and author assume no responsibility for errors or omis- Christina Smith sions. Neither is any liability assumed for damages resulting from the use of the information contained herein. COPY EDITOR International Standard Book Number: 0-672-31891-1 Barbara Hacha Kim Cofer Library of Congress Catalog Card Number: 99-067972 Printed in the United States of America INDEXER Erika Millen First Printing: October 2000 PROOFREADER 03 02 01 00 4 3 2 1 Candice Hightower Trademarks TECHNICAL EDITOR Kurt Granroth All terms mentioned in this book that are known to be trademarks or service Matthias Ettrich marks have been appropriately capitalized. Sams Publishing cannot attest to Kurt Wall the accuracy of this information.
    [Show full text]
  • Upgrade Issues
    Upgrade issues Graph of new conflicts libsiloh5-0 libhdf5-lam-1.8.4 (x 3) xul-ext-dispmua (x 2) liboss4-salsa-asound2 (x 2) why sysklogd console-cyrillic (x 9) libxqilla-dev libxerces-c2-dev iceape xul-ext-adblock-plus gnat-4.4 pcscada-dbg Explanations of conflicts pcscada-dbg libpcscada2-dev gnat-4.6 gnat-4.4 Similar to gnat-4.4: libpolyorb1-dev libapq-postgresql1-dev adacontrol libxmlada3.2-dev libapq1-dev libaws-bin libtexttools2-dev libpolyorb-dbg libnarval1-dev libgnat-4.4-dbg libapq-dbg libncursesada1-dev libtemplates-parser11.5-dev asis-programs libgnadeodbc1-dev libalog-base-dbg liblog4ada1-dev libgnomeada2.14.2-dbg libgnomeada2.14.2-dev adabrowse libgnadecommon1-dev libgnatvsn4.4-dbg libgnatvsn4.4-dev libflorist2009-dev libopentoken2-dev libgnadesqlite3-1-dev libnarval-dbg libalog1-full-dev adacgi0 libalog0.3-base libasis2008-dbg libxmlezout1-dev libasis2008-dev libgnatvsn-dev libalog0.3-full libaws2.7-dev libgmpada2-dev libgtkada2.14.2-dbg libgtkada2.14.2-dev libasis2008 ghdl libgnatprj-dev gnat libgnatprj4.4-dbg libgnatprj4.4-dev libaunit1-dev libadasockets3-dev libalog1-base-dev libapq-postgresql-dbg libalog-full-dbg Weight: 5 Problematic packages: pcscada-dbg hostapd initscripts sysklogd Weight: 993 Problematic packages: hostapd | initscripts initscripts sysklogd Similar to initscripts: conglomerate libnet-akamai-perl erlang-base screenlets xlbiff plasma-widget-yawp-dbg fso-config- general gforge-mta-courier libnet-jifty-perl bind9 libplack-middleware-session-perl libmail-listdetector-perl masqmail libcomedi0 taxbird ukopp
    [Show full text]
  • Upgrade Issues
    Upgrade issues Graph of new conflicts libboost1.46-dev libboost-random-dev (x 18) libboost-mpi-python1.46.1 libboost-mpi-python-dev libwoodstox-java (x 7) liboss4-salsa-asound2 (x 2) libboost1.46-doc libboost-doc libgnutls28-dev libepc-dev libabiword-2.9-dev libcurl4-openssl-dev (x 5) python-cjson (x 2) nova-compute-kvm (x 4) printer-driver-all-enforce lprng (x 2) mdbtools-dev libiodbc2 tesseract-ocr-deu (x 8) tesseract-ocr libjpeg62-dev libcvaux-dev (x 2) ldtp python-pyatspi Explanations of conflicts ldtp python-pyatspi2 python-pyatspi Similar to ldtp: python-ldtp Weight: 29 Problematic packages: ldtp libboost-mpi-python-dev libboost-mpi-python1.48-dev libboost-mpi-python1.48.0 libboost-mpi-python1.46.1 Similar to libboost-mpi-python1.46.1: libboost1.46-all-dev libboost-mpi-python1.46-dev Similar to libboost-mpi-python-dev: libboost-all-dev Weight: 149 Problematic packages: libboost-mpi-python-dev tesseract-ocr-vie tesseract-ocr Similar to tesseract-ocr: slimrat tesseract-ocr-dev slimrat-nox Weight: 61 Problematic packages: tesseract-ocr-vie tesseract-ocr-spa tesseract-ocr Similar to tesseract-ocr: slimrat tesseract-ocr-dev slimrat-nox Weight: 295 Problematic packages: tesseract-ocr-spa tesseract-ocr-por tesseract-ocr Similar to tesseract-ocr: slimrat tesseract-ocr-dev slimrat-nox Weight: 133 Problematic packages: tesseract-ocr-por tesseract-ocr-nld tesseract-ocr Similar to tesseract-ocr: slimrat tesseract-ocr-dev slimrat-nox Weight: 112 Problematic packages: tesseract-ocr-nld tesseract-ocr-ita tesseract-ocr Similar to tesseract-ocr:
    [Show full text]
  • Working with GNU Debugger
    CH05.fm Page 135 Monday, October 7, 2002 9:00 PM C HAPTER 5 Working with GNU Debugger he debugger is one of the most important components of any devel- T opment system. No programmer writes a code that works on the first attempt or that does not have any bugs in it. Most of the time you have to go through debugging processes of your programs time and again. There- fore no development system is complete without a debugger. The GNU compiler, Emacs editor and other utilities work very closely with GNU debugger, also known as gdb, which is the debugger of choice of all open source developers community as well as for many commercial products. Many commercial debuggers are also built on top of GNU debugger. In addition to command line debugging features, you can find many GUI front ends to the GNU debugger. These front ends include the famous xxgdb. There are many other debuggers available in the open source community. Some of these debuggers are also introduced at the end of this chapter. This chapter provides a comprehensive working knowledge of gdb and how to use it. The text is accompanied by many examples to elaborate concepts presented here. After going through this chapter you should be able to debug many types of programs. 135 CH05.fm Page 136 Monday, October 7, 2002 9:00 PM 136 Chapter 5 • Working with GNU Debugger 5.1 Introduction to GDB GNU debugger or more commonly known as GDB is the most commonly used debugger in open source as well as commercial development on UNIX type platforms.
    [Show full text]
  • Anubis-Linux (V.2)
    Welcome to Anubis-Linux (v.2) – a programming/networking/security -oriented remastered version of SimplyMEPIS – A gentle introduction to Linux for (ex-)Windows® users. DISCLAIMER/LICENSE Anubis-Linux is a distribution based on SimplyMEPIS. Being a remaster means that MEPIS LLC doesn't support it and its development in any way. The original MEPIS License and documentation are preserved in docs.MEPIS.zip and info.MEPIS.zip for informational purposes. Anubis-Linux contains cryptographic software that is forbidden under U.S. law to be exported to and used in certain countries. Please inform yourself on the matters particular to the region where you live in. Anubis-Linux is provided AS-IS. No guarantees, and no warranties whatsoever (expressed or implied) are given regarding Anubis-Linux's correct functioning or fitness for a particular purpose. The authors of Anubis-Linux shall not be held liable in case of any kind of damage whatsoever (i.e. data loss) induced or caused by the use of Anubis-Linux. This is experimental software. You use Anubis- Linux at your own risk. By installing, running or otherwise using Anubis-Linux, you must understand, agree to and comply with the above terms. Otherwise do not use Anubis-Linux. The documentation and software in Anubis-Linux are freely redistributable but licensed varyingly. Please check their individual licenses for more information. All trademark/copyright rights are property of their respective owners. Linux is a registered trademark of Linus Torvalds. Debian is a registered trademark of Software in the Public Interest Inc. MEPIS and the MEPIS Logo are registered trademarks of MEPIS LLC.
    [Show full text]
  • Practical Linux Topics
    Binnie BOOKS FOR PROFESSIONALS BY PROFESSIONALS® THE EXPERT’S VOICE® IN LINUX Practical Linux Topics Practical Practical Linux Topics This book teaches you how to improve your hands-on knowledge of Linux using challenging, real-world scenarios. Each chapter explores a topic that has been chosen specifically to demonstrate how to enhance your base Linux system, and resolve important issues. This book enables sysadmins, DevOps engineers, developers, and other technical professionals to make full use of Linux’s rocksteady foundation. Practical Linux Explore specific topics in networking, e-mail, filesystems, encryption, system monitoring, security, servers, and more—including systemd and GPG. Understand salient security concerns and how to mitigate them. Applicable to almost all Linux flavors—Debian, Red Hat, Ubuntu, Linux Mint, CentOS—Power Linux Topics can be used to reference other Unix-type systems Topics with little modification. Improve your practical know-how and background knowledge on servers and workstations alike, increase your ability to troubleshoot and ultimately solve the daily challenges encountered — by all professional Linux users. Empower your Linux skills by adding Power Linux Topics to your library today. Chris Binnie US . ISBN 978-1-4842-1771-9 Shelve in: 54999 Linux/General User level: Intermediate–Advanced 9781484 217719 SOURCE CODE ONLINE www.apress.com Practical Linux Topics Chris Binnie Practical Linux Topics Copyright © 2016 by Chris Binnie This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
    [Show full text]
  • The Beauty and the Beast: Vulnerabilities in Red Hat's Packages
    The Beauty and the Beast: Vulnerabilities in Red Hat’s Packages Stephan Neuhaus Thomas Zimmermann Dipartimento di Informatica e Telecomunicazioni Microsoft Research Universita` degli Studi di Trento One Microsoft Way I-38100 Trento, Italy Redmond, Washington, USA [email protected] [email protected] Abstract In this paper, we show that vulnerabilities correlate In an empirical study of 3241 Red Hat packages, we with dependencies between software packages. For ex- show that software vulnerabilities correlate with depen- ample, when depending on Python the risk of an applica- dencies between packages. With formal concept analy- tion being vulnerable decreases, while the risk increases sis and statistical hypothesis testing, we identify depen- when depending on PHP or Perl. In addition, we demon- dencies that decrease the risk of vulnerabilities (“beau- strate how to use dependencies to build prediction mod- ties”) or increase the risk (“beasts”). Using support vec- els for vulnerabilities. More specifically, our contribu- tor machines on dependency data, our prediction models tions are as follows: successfully and consistently catch about two thirds of vulnerable packages (median recall of 0.65). When our 1. Empirical evidence that vulnerabilities correlate models predict a package as vulnerable, it is correct more with dependencies. Our study of 3241 Red Hat than eight times out of ten (median precision of 0.83). packages is the largest study of vulnerabilities ever Our findings help developers to choose new dependen- conducted in terms of number of investigated appli- cies wisely and make them aware of risky dependencies. cations. 2. Identification of dependencies with positive or neg- 1 Introduction ative impact on vulnerabilities.
    [Show full text]