Take a look at our Linux books. Shulph carries a great selection of Linux books, and we are always adding more.
Android Things is the new Android based Operating System for the Internet of Things. With this book you will learn the core concepts by running code examples on different peripherals. Key Features No previous knowledge of IoT or microcontrollers required. Hands-On with simple code and plenty of examples. Use Kotlin to write simpler and more readable code Book Description Android Things is the IoT platform made by Google, based on Android. It allows us to build smart devices in a simple and convenient way, leveraging on the Android ecosystem tools and libraries, while letting Google take care of security updates. This book takes you through the basics of IoT and smart devices. It will help you to interact with common IoT device components and learn the underlying protocols. For a simple setup, we will be using Rainbow HAT so that we don't need to do any wiring. In the first chapter, you will learn about the Android Things platform, the design concepts behind it, and how it relates to other IoT frameworks. We will look at the Developer Kits and learn how to install Android Things on them by creating a simple project. Later, we will explore the real power of Android Things, learning how to make a UI, designing and communicating with companion apps in different ways, showcasing a few libraries. We will demonstrate libraries and you will see how powerful the Android Things operating system is. What you will learn Understand key design concepts of Android Things and its advantages Set up an Android Things Developer Kit Interact with all the components of Rainbow HAT Understand how peripheral protocols work (GPIO, PWM, I2C, and SPI) Implement best practices of how to handle IoT peripherals with in terms Android Things Develop techniques for building companion apps for your devices Who this book is for This book is for developers who have a basic knowledge of Android and want to start using the Android Things developer kit.
Master the concepts and techniques that will help you gain the LX0-103 and LX0-104 certifications on your first attempt Key Features Get a clear understanding of how to achieve the Linux+ certification Explore system architecture, shell scripts, data management, and Linux security Work through practice and mock tests to pass both LX0-103 and LX0-104 exams Book Description Linux+ certification demonstrates technical competency and provides a broad awareness of Linux operating systems. Professionals who have achieved the Linux+ certification exhibit all-important knowledge of installation, operation, administration, and troubleshooting services. The CompTIA Linux+ Certification Guide is an overview of the certification that gives you insights into the system architecture. You'll understand how to install and uninstall Linux distributions, followed by working with various package managers. Once you've grasped all this, you'll move on to manipulating files and processes at command-line interface (CLI) and creating, monitoring, killing, restarting, and modifying processes. As you progress, you'll be equipped to work with display managers and learn how to create, modify, and remove user accounts and groups, as well as understand how to automate tasks. The last set of chapters helps you configure dates and set up local and remote system logging. In addition to this, you'll explore different internet protocols, along with discovering network configuration, security administration, Shell scripting, and SQL management. By the end of this book, you'll not only have got to grips with all the modules using practice questions and mock exams, but you'll also be well prepared to pass the LX0-103 and LX0-104 certification exams. What you will learn Understand the Linux system architecture Install, upgrade, and manage Linux system packages Configure devices and maintain the Linux filesystem Manage the Shell environment, write scripts, and manage data Set user interfaces and desktops in the Linux operating system Automate system admin tasks and manage essential system services Manage SQL server on Linux and log locally and remotely with rsyslogd Administer network and local security Who this book is for The CompTIA Linux+ Certification Guide is for you if you want to gain the CompTIA Linux+ certificate. This guide is also for system administrators and rookie Linux professionals interested in enhancing their Linux and Shell scripting skills. No prior knowledge of Linux is needed, although some understanding of Shell scripting would be helpful.
Deploy functions efficiently using different cloud-based serverless offerings Key Features Understand the concept of Function-as-a-Service Implement Serverless solutions using AWS Lambda, Azure Functions and Google Cloud Functions Practical approach towards choosing the best tool for your serverless environment Book Description Serverless applications and architectures are gaining momentum and are increasingly being used by companies of all sizes. Serverless software takes care of many problems that developers face when running systems and servers, such as fault tolerance, centralized logging, horizontal scalability, and deployments. You will learn how to harness serverless technology to rapidly reduce production time and minimize your costs, while still having the freedom to customize your code, without hindering functionality. Upon finishing the book, you will have the knowledge and resources to build your own serverless application hosted in AWS, Microsoft Azure, or Google Cloud Platform, and will have experienced the benefits of event-driven technology for yourself. This hands-on guide dives into the basis of serverless architectures and how to build them using Node.js as a programming language, Visual Studio Code for code editing, and Postman for quickly and securely developing applications without the hassle of configuring and maintaining infrastructure on three public cloud platforms. What you will learn Understand the benefts of serverless computing and know when to use it Develop serverless applications on AWS, Azure, and Google Cloud Get to grips with Function as a Service (FaaS) Apply triggers to serverless functions Build event-driven apps using serverless frameworks Use the Node.js programming language to build serverless apps Use code editors, such as Visual Studio Code, as development environments Master the best development practices for creating scalable and practical solutions Who this book is for This book is targeted towards developers, system administrators or any stakeholder working in the Serverless environment and want to understand how functions work. Basic idea of serverless architecture can be an added advantage
A hands-on guide to making system programming with C++ easy Key Features Write system-level code leveraging C++17 Learn the internals of the Linux Application Binary Interface (ABI) and apply it to system programming Explore C++ concurrency to take advantage of server-level constructs Book Description C++ is a general-purpose programming language with a bias toward system programming as it provides ready access to hardware-level resources, efficient compilation, and a versatile approach to higher-level abstractions. This book will help you understand the benefits of system programming with C++17. You will gain a firm understanding of various C, C++, and POSIX standards, as well as their respective system types for both C++ and POSIX. After a brief refresher on C++, Resource Acquisition Is Initialization (RAII), and the new C++ Guideline Support Library (GSL), you will learn to program Linux and Unix systems along with process management. As you progress through the chapters, you will become acquainted with C++'s support for IO. You will then study various memory management methods, including a chapter on allocators and how they benefit system programming. You will also explore how to program file input and output and learn about POSIX sockets. This book will help you get to grips with safely setting up a UDP and TCP server/client. Finally, you will be guided through Unix time interfaces, multithreading, and error handling with C++ exceptions. By the end of this book, you will be comfortable with using C++ to program high-quality systems. What you will learn Understand the benefits of using C++ for system programming Program Linux/Unix systems using C++ Discover the advantages of Resource Acquisition Is Initialization (RAII) Program both console and file input and output Uncover the POSIX socket APIs and understand how to program them Explore advanced system programming topics, such as C++ allocators Use POSIX and C++ threads to program concurrent systems Grasp how C++ can be used to create performant system applications Who this book is for If you are a fresh developer with intermediate knowledge of C++ but little or no knowledge of Unix and Linux system programming, this book will help you learn system programming with C++ in a practical way.
Discover end-to-end penetration testing solutions to enhance your ethical hacking skills. Key Features - Practical recipes to conduct effective penetration testing using the latest version of Kali Linux. - Leverage tools like Metasploit, Wireshark, Nmap, and more to detect vulnerabilities with ease. - Confidently perform networking and application attacks using task-oriented recipes. Book Description Many organizations have been affected by recent cyber events. At the current rate of hacking, it has become more important than ever to pentest your environment in order to ensure advanced-level security. This book is packed with practical recipes that will quickly get you started with Kali Linux (version 2018.4 / 2019), in addition to covering the core functionalities. The book will get you off to a strong start by introducing you to the installation and configuration of Kali Linux, which will help you to perform your tests. You will also learn how to plan attack strategies and perform web application exploitation using tools such as Burp and JexBoss. As you progress, you will get to grips with performing network exploitation using Metasploit, Sparta, and Wireshark. The book will also help you delve into the technique of carrying out wireless and password attacks using tools such as Patator, John the Ripper, and airoscript-ng. Later chapters will draw focus to the wide range of tools that help in forensics investigations and incident response mechanisms. As you wrap up the concluding chapters, you will learn to create an optimum quality pentest report. By the end of this book, you will be equipped with the knowledge you need to conduct advanced penetration testing, thanks to the book's crisp and task-oriented recipes. What you will learn - Learn how to install, set up and customize Kali for pentesting on multiple platforms. - Pentest routers and embedded devices. - Get insights into fiddling around with software-defined radio. - Pwn and escalate through a corporate network. - Write good quality security reports. - Explore digital forensics and memory analysis with Kali Linux. Who this book is for If you are an IT security professional, pentester, or security analyst who wants to conduct advanced penetration testing techniques, then this book is for you. Basic knowledge of Kali Linux is assumed.
Explore the latest ethical hacking tools and techniques in Kali Linux 2019 to perform penetration testing from scratch Key Features Get up and running with Kali Linux 2019.2 Gain comprehensive insights into security concepts such as social engineering, wireless network exploitation, and web application attacks Learn to use Linux commands in the way ethical hackers do to gain control of your environment Book Description The current rise in hacking and security breaches makes it more important than ever to effectively pentest your environment, ensuring endpoint protection. This book will take you through the latest version of Kali Linux and help you use various tools and techniques to efficiently deal with crucial security aspects. Through real-world examples, you'll understand how to set up a lab and later explore core penetration testing concepts. Throughout the course of this book, you'll get up to speed with gathering sensitive information and even discover different vulnerability assessment tools bundled in Kali Linux 2019. In later chapters, you'll gain insights into concepts such as social engineering, attacking wireless networks, exploitation of web applications and remote access connections to further build on your pentesting skills. You'll also focus on techniques such as bypassing controls, attacking the end user and maintaining persistence access through social media. Finally, this pentesting book covers best practices for performing complex penetration testing techniques in a highly secured environment. By the end of this book, you'll be able to use Kali Linux to detect vulnerabilities and secure your system by applying penetration testing techniques of varying complexity. What you will learn Explore the fundamentals of ethical hacking Learn how to install and configure Kali Linux Get up to speed with performing wireless network pentesting Gain insights into passive and active information gathering Understand web application pentesting Decode WEP, WPA, and WPA2 encryptions using a variety of methods, such as the fake authentication attack, the ARP request replay attack, and the dictionary attack Who this book is for If you are an IT security professional or a security consultant who wants to get started with penetration testing using Kali Linux 2019.2, then this book is for you. The book will also help if you're simply looking to learn more about ethical hacking and various security breaches. Although prior knowledge of Kali Linux is not necessary, some understanding of cybersecurity will be useful.
Over 30 recipes to develop custom drivers for your embedded Linux applications. Key Features Use Kernel facilities to develop powerful drivers Via a practical approach, learn core concepts of developing device drivers Program a custom character device to get access to kernel internals Book Description Linux is a unified kernel that is widely used to develop embedded systems. As Linux has turned out to be one of the most popular operating systems used, the interest in developing proprietary device drivers has also increased. Device drivers play a critical role in how the system performs and ensures that the device works in the manner intended. By offering several examples on the development of character devices and how to use other kernel internals, such as interrupts, kernel timers, and wait queue, as well as how to manage a device tree, you will be able to add proper management for custom peripherals to your embedded system. You will begin by installing the Linux kernel and then configuring it. Once you have installed the system, you will learn to use the different kernel features and the character drivers. You will also cover interrupts in-depth and how you can manage them. Later, you will get into the kernel internals required for developing applications. Next, you will implement advanced character drivers and also become an expert in writing important Linux device drivers. By the end of the book, you will be able to easily write a custom character driver and kernel code as per your requirements. What you will learn Become familiar with the latest kernel releases (4.19+/5.x) running on the ESPRESSObin devkit, an ARM 64-bit machine Download, configure, modify, and build kernel sources Add and remove a device driver or a module from the kernel Master kernel programming Understand how to implement character drivers to manage different kinds of computer peripherals Become well versed with kernel helper functions and objects that can be used to build kernel applications Acquire a knowledge of in-depth concepts to manage custom hardware with Linux from both the kernel and user space Who this book is for This book will help anyone who wants to develop their own Linux device drivers for embedded systems. Having basic hand-on with Linux operating system and embedded concepts is necessary.
Discover advanced virtualization techniques and strategies to deliver centralized desktop and application services Key Features Leverage advanced desktop virtualization techniques and strategies to transform your organization Build better virtualized services for your users with VMware Horizon 7.8 Develop and deploy end-to-end virtualized solutions Book Description Desktop virtualization can be tough, but VMware Horizon 7.8 changes all that. With a rich and adaptive UX, improved security,and a range of useful features for storage and networking optimization, there's plenty to love. But to properly fall in love with it, you need to know how to use it, and that means venturing deeper into the software and taking advantage of its extensive range of features, many of which are underused and underpromoted. This guide will take you through everything you need to know to not only successfully virtualize your desktop infrastructure, but also to maintain and optimize it to keep all your users happy. We'll show you how to assess and analyze your infrastructure, and how to use that analysis to design a solution that meets your organizational and user needs. Once you've done that, you'll find out how to build your virtualized environment, before deploying your virtualized solution. But more than that,we'll also make sure you know everything you need to know about the full range of features on offer, including the mobile cloud, so that you can use them to take full control of your virtualized infrastructure. What you will learn Successfully configure Horizon 7.8 for the needs of your users Deliver virtual desktops, session-based desktops, and hosted applications Become familiar with how to develop, and deploy, a complete, end-to-end solution Discover how to optimize desktop OS images for virtual desktops Build, optimize, and tune desktop operating systems to deliver a superior end user experience Explore the Horizon 7.8 infrastructure so that you can take full advantage of it Who this book is for This book is ideal for system admins, and solution architects interested in gaining hands-on experience with virtualization. It will take you to an advanced level, but at a pace that ensures you are always solving real-world problems. Some experience in desktop management using Windows and Microsoft Office (and familiarity with Active Directory, SQL, Windows Remote Desktop Session Hosting, and VMware vSphere technology) is necessary.
Enhance file system security and learn about network attack, security tools and different versions of Linux build. Key Features Hands-on recipes to create and administer a secure Linux system Enhance file system security and local and remote user authentication Use various security tools and different versions of Linux for different tasks Book Description Over the last few years, system security has gained a lot of momentum and software professionals are focusing heavily on it. Linux is often treated as a highly secure operating system. However, the reality is that Linux has its share of security ?aws, and these security ?aws allow attackers to get into your system and modify or even destroy your important data. But there's no need to panic, since there are various mechanisms by which these ?aws can be removed, and this book will help you learn about different types of Linux security to create a more secure Linux system. With a step-by-step recipe approach, the book starts by introducing you to various threats to Linux systems. Then, this book will walk you through customizing the Linux kernel and securing local files. Next, you will move on to managing user authentication both locally and remotely and mitigating network attacks. Later, you will learn about application security and kernel vulnerabilities. You will also learn about patching Bash vulnerability, packet filtering, handling incidents, and monitoring system logs. Finally, you will learn about auditing using system services and performing vulnerability scanning on Linux. By the end of this book, you will be able to secure your Linux systems and create a robust environment. What you will learn Learn about vulnerabilities and exploits in relation to Linux systems Configure and build a secure kernel and test it Learn about file permissions and how to securely modify files Authenticate users remotely and securely copy files on remote systems Review different network security methods and tools Perform vulnerability scanning on Linux machines using tools Learn about malware scanning and read through logs Who this book is for This book is intended for all those Linux users who already have knowledge of Linux file systems and administration. You should be familiar with basic Linux commands. Understanding information security and its risks to a Linux system is also helpful in understanding the recipes more easily.