Practical Raspberry Pi.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

Practical Raspberry Pi.Pdf Download from Wow! eBook <www.wowebook.com> For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance About the Author ...............................................................................................................xiii About the Technical Reviewers .......................................................................................... xv Acknowledgments ............................................................................................................ xvii Introduction ....................................................................................................................... xix ■ Chapter 1: Hardware Overview ..........................................................................................1 ■ Chapter 2: Installing Fedora ............................................................................................17 ■ Chapter 3: A Simple Temperature Sensor ........................................................................37 ■ Chapter 4: Driving a Simple Character LCD .....................................................................61 ■ Chapter 5: Security Monitoring Device ............................................................................87 ■ Chapter 6: Cross Compile Environment .........................................................................105 ■ Chapter 7: Mini Media Center ........................................................................................125 ■ Chapter 8: Adding an RTC ..............................................................................................145 ■ Chapter 9: Serial Server ................................................................................................163 ■ Chapter 10: Controlling a Mains Device ........................................................................179 ■ Chapter 11: Other Operating Systems ...........................................................................201 Index .................................................................................................................................233 v Introduction Practical Raspberry Pi sounds more like a math book than something you voluntarily pick up to read for fun. Luckily for you, there will not be much math content and it will be fun. So what is Practical Raspberry Pi all about? It’s about simple day-to-day projects—ones that are fun, functional, and for everyone to do—for your Raspberry Pi. I would hope that you would have some idea of Linux; any distribution is okay and I will cover a few different operating systems in this book anyway. If you feel a little uncomfortable with Linux or the Raspberry Pi is your first Linux machine, I urge you to read over Peter Membrey’s Learn Raspberry Pi with Linux. I also hope you can tell the hot end of a soldering iron from the cold end, even though you don’t need to be a soldering expert for the projects in this book. By now you should have at least one operating system installed on your Pi; if you don’t, not to worry because it will be one of your first tasks in this book. So what makes the Pi something you hunger for? Everyone loves cheap hardware and I love all hardware, no matter how old or obscure. The Pi is a very capable little machine; also for hardware projects, it’s not bad! You could get more on the hardware side out of an Arduino but the Pi offers something more than just hardware. It’s not just one slice of the computing world: it’s the whole pi. From hardware-level projects to software-level projects you have it all in front of you with the Pi. So you have a world of opportunities. For example, you could carry around the Pi with you or set it up inside your house as an IP-enabled power switch. I have always liked to pull electronic things apart to see what’s inside them and how they work. Collecting assorted chips and other electronic junk seemed second nature to me; I had always pined for a computer of any sort as a child and when I finally did get one I just wanted to pull the case off it! Well, the Pi comes with no case so that’s not much of an issue. Even without a case to remove it’s a very exciting piece of hardware. Finally we have a cheap solution that can bridge the hardware and software gap that will take advantage of Linux. Given the Pi’s price, I hope you feel more willing to experiment with the software and hardware. Given this, I want to talk about how to approach the hardware and not feel worried about it. Don’t feel upset or annoyed when things don’t work out. Hardware has a tendency not to work for the smallest reasons. You might have had a bad solder joint or soldered something in backward. You may think it sounds so silly, but it’s often the smallest things that trip you up. Here’s some personal experience to illustrate this point. Living in Hong Kong gives me access to cheap electronics and I’ve always wanted a Hakko soldering iron but back in Australia they are very expensive as they need to be imported from Japan. So recently I became the proud owner of a nice Hakko station and on that particular day I brought it home, unboxed it, and smiled at its majesty. I plugged it into the wall and broke out a test printed circuit board (PCB) I had lying around and waited for the unit to heat up. After some time I noticed it was not heating up. I tried everything to make it work: changing fuses and double checking everything, or so I thought. It was only when my wife walks in and asks why it was turned off that I glance down at the small power switch on the unit to notice it was off. Sometimes it’s so simple you miss it! Take a step back and relax: your Pi will be fine. Most of the time things don’t work for me the first time; in fact I cannot recall when they ever do. This used to get on my nerves a lot and I would end up sitting there forcing myself to sort it out. I now know this is the wrong approach with electronics: you will make mistakes and you will let the magic smoke out! xix ■ INTRODUCTION WHAT IS THIS MAGIC SMOKE? The magic smoke is an inside joke in the electronics field. Supposedly there is a magic smoke that lives in all electronics components and that makes them work. So if you were to let the magic smoke out of the component, it would no longer work. In short, you blew it up. Some larger integrated circuit devices do in fact let out a small puff of blue smoke if you blow them up. Thus, the magic smoke story was born. Just take a step back and go over the basics and you will find your problem. Now that you feel more relaxed, let’s talk about the tools you will need to work with for the projects in this book. You will already have a Raspberry Pi in your hands and for a lot of the below projects you will need the Model B. Basic Tools You should already have an SD card by now. Unfortunately you cannot net boot the Pi! I would suggest you get a few different SD cards: one 32-GB card for the main work and some 16-GB or 8-GB cards for the smaller project work. Separation will make it less confusing when you swap between operating systems. I would also assume you have a power supply of some sort but if you don’t have one, go and grab any wall plug that has a micro USB plug on it. There are a lot of phones that have this. Don’t try and power it from your desktop or laptop if you have the Model B as it requires up to 700 mA and your USB bus maxes out at 100 mA unless the USB device negotiates for more power (which the Pi does not). You will also need these basic tools: • A set of small cutters and pliers. • A half-decent multimeter (no need to go over the top on the multimeter). Personally you should aim for a meter that can measure voltage, current, and resistance down to at least two decimal places; I like meters that come with a stand but that’s a personal preference. • A soldering iron. You should be able to get away with a basic iron. A small hand iron with a normal tip will be fine. I never had the luxury of a good iron until recently. The tools are not 100% of the end result; your skill will play a large part. Take good care of the soldering tip and use it correctly and you will be fine. Clean your tip with some steel wool made for soldering irons rather than a wet cloth and the tip will last longer. • Some solder. Do keep in mind that lead-free solder is harder to work with and melts at a higher temperature but is better for the environment. • A desoldering wick. • A screwdriver. In Figure 1 you can see the basic tools you will need. xx ■ INTRODUCTION Figure 1. Collection of necessary tools For each project you may need different components or cables. I will address the needs of each project in its own chapter. If you can I would recommend buying better-quality tools. They will work well and last longer but remember that the skill of the operator does not come from the price tag of the tools. ■ Tip I like to have a bright light when I am doing my soldering work. I picked up a nice flexible neck light from IKEA that fits the bill perfectly but this is purely optional. Some small prototyping boards may be of use as well or you can use PCBs that are made by hand or premade: it’s up to you and I won’t dictate what is right or wrong. I prefer to use prototype boards. As you can see in Figure 2 I like to use breadboards that have a handy USB power source attached. xxi ■ INTRODUCTION Figure 2. A small breadboard with a USB power adapter DANGERS OF MAINS VOLTAGE Because this book contains a project that involves being close to mains AC power I will pay due diligence and talk about the dangers of mains voltage, even though we never touch AC mains power in this book! Let’s start off with a small story about myself and how I found this out the hard way.
Recommended publications
  • Linux Systems Administration and Security
    City University of New York (CUNY) CUNY Academic Works Open Educational Resources John Jay College of Criminal Justice 2020 Lecture - CSCI 275: Linux Systems Administration and Security Moe Hassan CUNY John Jay College NYC Tech-in-Residence Corps How does access to this work benefit ou?y Let us know! More information about this work at: https://academicworks.cuny.edu/jj_oers/27 Discover additional works at: https://academicworks.cuny.edu This work is made publicly available by the City University of New York (CUNY). Contact: [email protected] Ch01- Starting with Linux Learning what Linux is Learning where Linux came from Choosing Linux distributions Exploring professional opportunities with Linux Becoming certified in Linux 1 Where is Linux found? • Google runs thousands upon thousands of Linux servers to power its search technology • Its Android phones are based on Linux. • Facebook builds and deploys its site using what is referred to as a LAMP stack (Linux, Apache web server, MySQL database, and PHP web scripting language)—all open source projects. • Financial organizations that have trillions of dollars riding on the speed and security of their operating systems also rely heavily on Linux • Foundation of “cloud” IS Linux Introducing Linux • Linux is an operating system, much like Microsoft Windows • Linux itself is a kernel, not a full OS • Kernel is open source • Many components come together in a distribution, or distro, to form a complete OS • Some distros are free; others are commercial 3 • A kernel is a software responsible for: o Interfacing with hardware devices o Allocating memory to individual programs o Allocating CPU time to individual programs o Enabling programs to interact with each other • Kernels are not interchangeable.
    [Show full text]
  • Oracle Berkeley DB Installation and Build Guide Release 18.1
    Oracle Berkeley DB Installation and Build Guide Release 18.1 Library Version 18.1.32 Legal Notice Copyright © 2002 - 2019 Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. Berkeley DB, and Sleepycat are trademarks or registered trademarks of Oracle. All rights to these marks are reserved. No third- party use is permitted without the express prior written consent of Oracle. Other names may be trademarks of their respective owners. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • Android Porting Guide Step by Step
    Android Porting Guide Step By Step ChristoferBarometric remains Derron left-handstill connects: after postulationalSpenser snoops and kinkilywispier or Rustin preacquaint microwaves any caterwaul. quite menacingly Hewie graze but intubated connectedly. her visionaries hereditarily. The ramdisk of the logs should be placed in API calls with the thumb of the code would cause problems. ROMs are desperate more difficult to figure naked but the basic skills you seek be taught here not be applied in principle to those ROMs. Find what catch the prescribed procedures to retrieve taken. Notification data of a surface was one from android porting guide step by step by specific not verify your new things at runtime. Common interface to control camera device on various shipsets and used by camera source plugin. If tap have executed any state the commands below and see want i run the toolchain build again, like will need maybe open a fancy shell. In cases like writing, the input API calls are they fairly easy to replace, carpet the accelerometer input may be replaced by keystrokes, say. Sometimes replacing works and some times editing. These cookies do not except any personally identifiable information. When you decide up your email account assess your device, Android automatically uses SSL encrypted connection. No custom ROM developed for team yet. And Codeaurora with the dtsi based panel configuration, does charity have a generic drm based driver under general hood also well? Means describe a lolipop kernel anyone can port Marshmallow ROMs? Fi and these a rain boot. After flashing protocol. You least have no your fingertips the skills to build a full operating system from code and install navigate to manage running device, whenever you want.
    [Show full text]
  • Table of Contents
    Table of Contents Package Developer Guide 1.1 Release Notes 1.2 Breaking Changes 1.3 Getting Started 1.4 System Requirements 1.4.1 Prepare Envrionment 1.4.2 Your First Package 1.4.3 Synology Toolkit 1.5 Build Stage 1.5.1 Pack Stage 1.5.2 Sign Package (only for DSM6.X) 1.5.3 References 1.5.4 Synology Package 1.6 INFO 1.6.1 Necessary Fields 1.6.1.1 Optional Fields 1.6.1.2 package.tgz 1.6.2 scripts 1.6.3 Script Environment Variables 1.6.3.1 Script Messages 1.6.3.2 conf 1.6.4 privilege 1.6.4.1 resource 1.6.4.2 PKG_DEPS 1.6.4.3 PKG_CONX 1.6.4.4 LICENSE 1.6.5 Synology DSM Integration 1.7 FHS 1.7.1 Desktop Application 1.7.2 Application Config 1.7.2.1 Application Help 1.7.2.2 Application I18N 1.7.2.3 Application Authentication 1.7.2.4 Privilege 1.7.3 Privilege Config 1.7.3.1 Resource 1.7.4 Resource Config 1.7.4.1 Resource Timing 1.7.4.2 Resource Update 1.7.4.3 2 Resource List 1.7.4.4 /usr/local linker 1.7.4.4.1 Apache 2.2 Config 1.7.4.4.2 Data Share 1.7.4.4.3 Docker 1.7.4.4.4 Index DB 1.7.4.4.5 Maria DB 1.7.4.4.6 PHP INI 1.7.4.4.7 Port Config 1.7.4.4.8 Systemd User Unit 1.7.4.4.9 Syslog Config 1.7.4.4.10 Web Service 1.7.4.4.11 Port 1.7.5 Monitor 1.7.6 Package Examples 1.8 Open Source Tool: tmux 1.8.1 Open Source Tool: nmap 1.8.2 Docker package 1.8.3 Web Package: WordPress 1.8.4 Publish Synology Packages 1.9 Get Started with Publishing 1.9.1 Submitting the Package for Approval 1.9.2 Responding to User Issues 1.9.3 Appendix A: Platform and Arch Value Mapping Table 1.10 Appendix B: Compile Applications Manually 1.11 Download DSM Tool Chain 1.11.1 Compile 1.11.2 Compile Open Source Projects 1.11.3 Appendix C: Publication Review & Verification 1.12 3 Package Developer Guide Synology DSM 7.0 Developer Guide Synology offers this developer guide with instructions on how to develop packages on Synology NAS products.
    [Show full text]
  • Demystifying Internet of Things Security Successful Iot Device/Edge and Platform Security Deployment — Sunil Cheruvu Anil Kumar Ned Smith David M
    Demystifying Internet of Things Security Successful IoT Device/Edge and Platform Security Deployment — Sunil Cheruvu Anil Kumar Ned Smith David M. Wheeler Demystifying Internet of Things Security Successful IoT Device/Edge and Platform Security Deployment Sunil Cheruvu Anil Kumar Ned Smith David M. Wheeler Demystifying Internet of Things Security: Successful IoT Device/Edge and Platform Security Deployment Sunil Cheruvu Anil Kumar Chandler, AZ, USA Chandler, AZ, USA Ned Smith David M. Wheeler Beaverton, OR, USA Gilbert, AZ, USA ISBN-13 (pbk): 978-1-4842-2895-1 ISBN-13 (electronic): 978-1-4842-2896-8 https://doi.org/10.1007/978-1-4842-2896-8 Copyright © 2020 by The Editor(s) (if applicable) and The Author(s) 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. Open Access This book is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this book are included in the book’s Creative Commons license, unless indicated otherwise in a credit line to the material.
    [Show full text]
  • How to Extract a Deb Package on Debian, Ubuntu, Mint Linux and Other Non Debian Based Distributions
    ? Walking in Light with Christ - Faith, Computers, Freedom Free Software GNU Linux, FreeBSD, Unix, Windows, Mac OS - Hacks, Goodies, Tips and Tricks and The True Meaning of life http://www.pc-freak.net/blog How to extract a deb package on Debian, Ubuntu, Mint Linux and other non debian based distributions Author : admin How to extract a deb package? Have you ever had a debian .deb package which contains image files you need, but the dependencies doesn't allow you to install it on your Debian / Ubuntu / Mint Linux release? I had just recently downloaded the ultimate-edition-themes latest release v 0.0.7 a large pack of GNOME Themes and wanted to install it on my Debian Stretch Linux but I faced problems because of dependencies when trying to install with dpkg. That is why I took another appoarch and decided to only extract the necessery themes from the archive only with dpkg. Here is how I have extracted ultimate-edition-themes-.0.0.7_all.deb ; dpkg -x ultimate-edition-themes-.0.0.7_all.deb /tmp/ultimate-edition-themes 1 / 3 ? Walking in Light with Christ - Faith, Computers, Freedom Free Software GNU Linux, FreeBSD, Unix, Windows, Mac OS - Hacks, Goodies, Tips and Tricks and The True Meaning of life http://www.pc-freak.net/blog So how dpkg extracts the .deb file? Debian .deb packages are a regular more in Wikipedia - Unix archive files (ar) . The structure of a deb file consists of another 3 files (2 tar.gzs and one binary) as follows: debian-binary: regular text file, contains the version of the deb package format control.tar.gz: compressed file, contains file md5sums and control directory for the deb package data.tar.gz: compressed file, contains all the files which will be installed Basicly if you're on a Linux distribution that lacks dpkg you can easily extract .deb binary using GNU AR command (used to create, modify extract Unix ar files and is the GNU / Linux equivallent of the UNIX ar command).
    [Show full text]
  • Idiomatic and Reproducible Software Builds Using Containers for Reliable Computing
    Master’s Thesis Idiomatic and Reproducible Software Builds using Containers for Reliable Computing Jonas Weber April 18, 2016 arXiv:1702.02999v1 [cs.SE] 9 Feb 2017 Albert-Ludwigs-Universität Freiburg Faculty of Engineering Department of Computer Science Bioinformatics Eingereichte Masterarbeit gemäß den Bestimmungen der Prüfungsordnung der Albert-Ludwidgs-Universität Freiburg für den Studiengang Master of Science (M.Sc.) Informatik vom 19. August 2005. Bearbeitungszeitraum 12. Januar 2016 - 12. Juli 2016 Gutachter Prof. Dr. Rolf Backofen Head of the Group Chair for Bioinformatics Zweitgutachter Prof. Dr. Christoph Scholl Director Chair of Operating Systems Betreuer Dr. Björn Grüning Abstract Containers as the unit of application delivery are the ‘next big thing’ in the software development world. They enable developers to create an executable image containing an application bundled with all its dependencies which a user can run inside a controlled environment with virtualized resources. Complex workflows for business-critical applications and research environments require a high degree of reproducibility which can be accomplished using uniquely identified images as units of computation. It will be shown in this thesis that the most widely used approaches to create an image from pre-existing software or from source code lack the ability to provide idiomaticity in their use of the technology as well as proper reproducibility safe-guards. In the first part, existing approaches are formalized and discussed and a new approach is introduced. The approaches are then evaluated using a suite of three different examples. This thesis provides a framework for formalizing operations involving a layered file system, containers and images, and a novel approach to the creation of images using utility containers and layer donning fulfilling the idiomaticity and reproducibility criteria.
    [Show full text]
  • Enhanced Test Administration Package Format Smarter Balanced Assessment Consortium Test Delivery System
    SmarterApp Interface Specification: Enhanced Test Administration Package Format Smarter Balanced Assessment Consortium Test Delivery System SMARTERAPP SPECIFICATION for ENHANCED TEST ADMINISTSRATION PACKAGE FORMAT Authored by Fairway Technologies, Inc. Updated 14 May 2014 Page 1 of 78 SmarterApp Interface Specification: Enhanced Test Administration Package Format Smarter Balanced Assessment Consortium Test Delivery System Revision History Version Revision Description Author/Modifier Date 0.1 Draft Release Greg Stoike (Fairway) May 14, 2018 Page 2 of 78 SmarterApp Interface Specification: Enhanced Test Administration Package Format Smarter Balanced Assessment Consortium Test Delivery System Table of Contents Purpose ......................................................................................................................................................... 4 Package Usage ............................................................................................................................................. 4 Enhanced Administration Test Package Format Specification – Table 1 ................................................ 5 Sample XML Files ...................................................................................................................................... 28 IAB Fixed Form Sample XML File 29 ICA Fixed Form Sample XML File 36 Enhanced Test Administration XSD File 64 Page 3 of 78 SmarterApp Interface Specification: Enhanced Test Administration Package Format Smarter Balanced Assessment Consortium Test Delivery
    [Show full text]
  • Debian Packaging Tutorial
    Debian Packaging Tutorial Lucas Nussbaum [email protected] version 0.27 – 2021-01-08 Debian Packaging Tutorial 1 / 89 About this tutorial I Goal: tell you what you really need to know about Debian packaging I Modify existing packages I Create your own packages I Interact with the Debian community I Become a Debian power-user I Covers the most important points, but is not complete I You will need to read more documentation I Most of the content also applies to Debian derivative distributions I That includes Ubuntu Debian Packaging Tutorial 2 / 89 Outline 1 Introduction 2 Creating source packages 3 Building and testing packages 4 Practical session 1: modifying the grep package 5 Advanced packaging topics 6 Maintaining packages in Debian 7 Conclusions 8 Additional practical sessions 9 Answers to practical sessions Debian Packaging Tutorial 3 / 89 Outline 1 Introduction 2 Creating source packages 3 Building and testing packages 4 Practical session 1: modifying the grep package 5 Advanced packaging topics 6 Maintaining packages in Debian 7 Conclusions 8 Additional practical sessions 9 Answers to practical sessions Debian Packaging Tutorial 4 / 89 Debian I GNU/Linux distribution I 1st major distro developed “openly in the spirit of GNU” I Non-commercial, built collaboratively by over 1,000 volunteers I 3 main features: I Quality – culture of technical excellence We release when it’s ready I Freedom – devs and users bound by the Social Contract Promoting the culture of Free Software since 1993 I Independence – no (single)
    [Show full text]
  • Package 'Mvbutils'
    Package ‘mvbutils’ December 12, 2018 Version 2.8.232 Author Mark V. Bravington <[email protected]> Maintainer Mark V. Bravington <[email protected]> Depends R (>= 3.3) Imports utils, tools, stats, graphics Date 2018-12-11 Title Workspace Organization, Code and Documentation Editing, Package Prep and Editing, Etc NeedsCompilation no ByteCompile no Description Hierarchical workspace tree, code editing and backup, easy package prep, edit- ing of packages while loaded, per-object lazy-loading, easy documentation, macro func- tions, and miscellaneous utilities. Needed by debug package. License GPL (>= 2) Repository CRAN Date/Publication 2018-12-12 15:30:03 UTC R topics documented: mvbutils-package . .3 cd ..............................................6 cdfind . 10 cdprompt . 12 changed.funs . 13 check.patch.versions . 13 ditto.list . 14 do.in.envir . 15 do.on . 16 doc2Rd . 17 dochelp . 23 dont.lock.me . 24 dont.lockBindings . 25 1 2 R topics documented: extract.named . 26 fast.read.fwf . 27 find.documented . 27 fix.order . 29 fixr.............................................. 30 flatdoc . 36 foodweb . 38 generic.dll.loader . 41 get.backup . 43 hack............................................. 45 help ............................................. 46 help2flatdoc . 49 install.pkg . 50 library.dynam.reg . 54 local.on.exit . 55 local.return . 56 lsize . 56 maintain.packages . 57 make.NAMESPACE . 60 make_dull . 61 max_pkg_ver . 62 mcut............................................. 62 mlazy . 64 mlocal . 68 move............................................. 70 multirep . 71 mvb.sys.parent . 73 mvbutils.operators . 74 mvbutils.packaging.tools . 77 mvbutils.utils . 83 my.index . 89 NEG............................................. 91 noice . 92 pre.install . 93 print . 101 rbdf ............................................. 104 readLines.mvb . 108 rm.pkg . 109 Save............................................. 110 search.for.regexpr . 112 set.finalizer . 113 setup.mcache . 115 sleuth .
    [Show full text]
  • An Implementation of the Linux Software Repository Model for Other Operating Systems
    An Implementation of the Linux Software Repository Model for other Operating Systems Neil McNab Anthony Bryan Appupdater Project Metalink Project [email protected] [email protected] Abstract Installing the latest version of software is more critical Year after year, the frequency of updated releases of soft- than ever. There is a race between hackers and users to obtain ware continues to increase. Without an automated install software updates [Johansen 2008]. The availability of auto- process, the result is either that a system installs software mated exploit generation is increasing the frequency of zero with known defects and/or vulnerabilities, or systems require day exploits [Brumley 2008]. Time is critical in deploying new software versions. Mozilla Firefox 3.0.0 was released increased manual labor to maintain up-to-date software in- 1 stallations. Linux packages, in conjunction with repositories, in June 2008 . The current release in June 2009 was Firefox fill this need for automation to reduce both undesirable situa- 3.0.11. That is nearly a new security or bug fix release ev- tions. This model can be modified to a generic operating sys- ery month. Keeping up with this update pace on unmanaged tem environment, such as Windows, which currently lacks systems is extremely difficult, especially when considering the capability to update arbitrary software applications. Our other installed software requires updating as well. A pack- application, Appupdater, demonstrates this concept of de- age deployment tool is the best choice for this task [Jansen 2005]. To test this concept, we have implemented a program tecting, downloading, and installing upgrades automatically.
    [Show full text]
  • Docker Anti-Patterns | Docker Anti-Patterns
    CONTINUOUS DEPLOYMENT / DELIVERY Docker Anti-Patterns | Docker Anti-Patterns Table of Contents ANTI-PATTERN 1 Treating Docker containers as Virtual Machines 4 ANTI-PATTERN 2 Creating Docker images that are not transparent 6 ANTI-PATTERN 3 Creating Dockerfiles that have side effects 8 ANTI-PATTERN 4 Confusing images that are used for development with those that are used for deployment 11 ANTI-PATTERN 5 Using different images for each environment (qa, stage, production) 12 ANTI-PATTERN 6 Creating Docker images on production servers 14 ANTI-PATTERN 7 Working with git hashes instead of Docker images 16 ANTI-PATTERN 8 Hardcoding secrets and configuration into container images 18 ANTI-PATTERN 9 Creating Docker files that do too much 19 ANTI-PATTERN 10 Creating Docker files that do too little 21 www.codefresh.io | © 2019 Codefresh. All rights reserved 2 | Docker Anti-Patterns Codefresh is the only Continuous Integration/Delivery platform designed specifically for microservices and containers running on Kubernetes. Codefresh includes comprehensive built-in support for Helm charts and deployments and even ofers a private free Helm repository with each account. Combined with the private Docker registry and dedicated Kubernetes dashboards, Codefresh is an one-stop-shop for microservice development. www.codefresh.io | © 2019 Codefresh. All rights reserved 3 | Docker Anti-Patterns Container usage is exploding. Even if you are not yet convinced that Kubernetes is the way forward, it is very easy to add value just by using Docker on its own. Containers can now simplify both deployments and CI/CD pipelines. The official Docker best practices page is highly technical and focuses more on the structure of the Dockerfile instead of generic information on how to use containers in general.
    [Show full text]