This document provides an overview of Linux backup and restore methods. It discusses the importance of regular backups to prevent data loss from hardware failures, crashes, or other issues. Common backup methods include full, partial, and incremental backups. Tools like tar and dump/restore can be used to archive and backup files and file systems to tape or other storage. The restore process mounts the file system and uses the restore command to recover files and directories from backups. Maintaining regular backups and being able to restore data is a crucial system administration task.
This Slide was presented as an introduction to Linux . Students with little experience in free operating systems were encouraged to take up Linux based operating systems.
Linux fundamental - Chap 12 Hardware ManagementKenny (netman)
This document summarizes Linux device management and hardware management in Linux. It discusses how Linux devices are represented by files with major and minor numbers, and classified as block or character devices. It describes how device files are created and stored in the /dev directory. It also summarizes the roles of the kernel, udev, and sysfs in managing devices and loading drivers.
This document provides an introduction to Linux, including its history and architecture. It describes Linux's origins from Unix in the 1960s and the development of the Linux kernel by Linus Torvalds in 1991. It outlines the key components of a Linux system, including the kernel, shell, file system, processes, networking, and desktop environments. It also discusses booting a Linux system and provides resources for learning more about Linux distributions and building your own operating system.
Strategies for developing and deploying your embedded applications and imagesMender.io
We will delve into multiple strategies you can use for developing and deploying code to embedded devices. We will compare and contrast the following:
– Lightweight package managers: ipkg/opkg
– Desktop package managers: rpm/deb
– Configuration Management Tools
– Smart Package Manager
– Yocto Runtime Package Management
– PXE boot
– OTA updaters: Mender
As with any decision, it is rarely black-and-white and we will cover some of the benefits and the limitations of all the different methods mentioned, to make sure you have the most critical information needed to decide for yourself whether a given strategy would be a good fit for your embedded application development.
This talk will cover how different mechanisms are implemented in the real world and how choosing the right strategy, understanding its benefits and drawbacks, can speed up and improve the whole development process.
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Valeriy Kravchuk
Bpftrace is a relatively new eBPF-based open source tracer for modern Linux versions (kernels 5.x.y) that is useful for analyzing production performance problems and troubleshooting software. Basic usage of the tool, as well as bpftrace one liners and advanced scripts useful for MariaDB DBAs are presented. Problems of MariaDB Server dynamic tracing with bpftrace and some possible solutions and alternative tracing tools are discussed.
Designate Install and Operate WorkshopGraham Hayes
This document provides instructions for a Designate workshop including requirements and agenda. The requirements include bringing a USB drive with VirtualBox, Vagrant and a 30GB VM disk image. The agenda covers installing Designate, operations like creating and deleting domains and records, configuring Designate with Nova and Neutron for automatic DNS record updates, and how to contribute to Designate.
Linux has become integral part of Embedded systems. This three part presentation gives deeper perspective of Linux from system programming perspective. Stating with basics of Linux it goes on till advanced aspects like thread and IPC programming.
This Slide was presented as an introduction to Linux . Students with little experience in free operating systems were encouraged to take up Linux based operating systems.
Linux fundamental - Chap 12 Hardware ManagementKenny (netman)
This document summarizes Linux device management and hardware management in Linux. It discusses how Linux devices are represented by files with major and minor numbers, and classified as block or character devices. It describes how device files are created and stored in the /dev directory. It also summarizes the roles of the kernel, udev, and sysfs in managing devices and loading drivers.
This document provides an introduction to Linux, including its history and architecture. It describes Linux's origins from Unix in the 1960s and the development of the Linux kernel by Linus Torvalds in 1991. It outlines the key components of a Linux system, including the kernel, shell, file system, processes, networking, and desktop environments. It also discusses booting a Linux system and provides resources for learning more about Linux distributions and building your own operating system.
Strategies for developing and deploying your embedded applications and imagesMender.io
We will delve into multiple strategies you can use for developing and deploying code to embedded devices. We will compare and contrast the following:
– Lightweight package managers: ipkg/opkg
– Desktop package managers: rpm/deb
– Configuration Management Tools
– Smart Package Manager
– Yocto Runtime Package Management
– PXE boot
– OTA updaters: Mender
As with any decision, it is rarely black-and-white and we will cover some of the benefits and the limitations of all the different methods mentioned, to make sure you have the most critical information needed to decide for yourself whether a given strategy would be a good fit for your embedded application development.
This talk will cover how different mechanisms are implemented in the real world and how choosing the right strategy, understanding its benefits and drawbacks, can speed up and improve the whole development process.
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Valeriy Kravchuk
Bpftrace is a relatively new eBPF-based open source tracer for modern Linux versions (kernels 5.x.y) that is useful for analyzing production performance problems and troubleshooting software. Basic usage of the tool, as well as bpftrace one liners and advanced scripts useful for MariaDB DBAs are presented. Problems of MariaDB Server dynamic tracing with bpftrace and some possible solutions and alternative tracing tools are discussed.
Designate Install and Operate WorkshopGraham Hayes
This document provides instructions for a Designate workshop including requirements and agenda. The requirements include bringing a USB drive with VirtualBox, Vagrant and a 30GB VM disk image. The agenda covers installing Designate, operations like creating and deleting domains and records, configuring Designate with Nova and Neutron for automatic DNS record updates, and how to contribute to Designate.
Linux has become integral part of Embedded systems. This three part presentation gives deeper perspective of Linux from system programming perspective. Stating with basics of Linux it goes on till advanced aspects like thread and IPC programming.
Systemd: the modern Linux init system you will learn to loveAlison Chaiken
The talk combines a design overview of systemd with some tutorial incofrmation about how to configure it. Systemd's features and pitfalls are illustrated by short demos and real-life examples. Files used in the demos are listed under "Presentations" at http://she-devel.com/
Video of the live presentation will appear here:
http://www.meetup.com/Silicon-Valley-Linux-Technology/events/208133972/
The document discusses file systems in Linux. It describes block devices, partitioning, filesystem types like Ext2/3/4, and tools for creating, mounting, checking, and monitoring filesystems. It also covers swap space, the /etc/fstab file, mounting options, and implementing disk quotas.
This document provides an overview of Android internals through a series of topics:
1. It describes key Android concepts like components, intents, and the manifest file.
2. It outlines the overall Android architecture including system startup processes like the bootloader, kernel, init, zygote and system server.
3. It covers various aspects of the Android system like the Linux kernel customizations, native user-space environment, Dalvik VM, and Java Native Interface.
4. It also profiles important system-level components like the system server, activity manager, and Binder IPC mechanism.
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...Valeriy Kravchuk
Linux with kernels 2.6+. provides different ways to add user probes to almost every other line of code dynamically, and collect the resulting trace and profiling data in a safe and efficient way. This session discusses basic use of ftrace, perf, bcc tools and bpftrace utility, highlights typical problems MariaDB DBAs and developers may hit while trying to apply them, as well as solutions to some of them.
This document discusses RAID (Redundant Array of Independent Disks) storage systems and LVM (Logical Volume Management). It describes various RAID types including RAID 0, 1, 3 and 5 and how they provide features like performance, fault tolerance and redundancy. It also explains how LVM allows combining multiple physical disks into larger logical volumes for flexibility in resizing file systems with reduced downtime. Key components of LVM like physical volumes, volume groups and logical volumes are defined.
This workshop was given at Crikeycon 2019 in Brisbane. It introduces Velociraptor and explains some of the design goals and implementation.
Note - this slide deck is outdated but might still be useful. The tool has evolved significantly since Crikeycon.
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsXiaozhe Wang
This document provides an overview and comparison of various tools for debugging, profiling, and tracing C/C++ programs on Linux. It discusses concepts and implementations of debugging tools like gdb and Valgrind, profiling tools like gprof and perf, and tracing tools like strace, SystemTap, and LTTng. For each tool, it provides examples of common use cases and highlights strengths and limitations. The document aims to help developers select the appropriate tool based on their specific needs such as debugging memory errors, profiling performance bottlenecks, or tracing system calls.
This document discusses using SaltStack to manage Alienvault infrastructure. SaltStack is an open source tool for configuration management and remote execution that can control and deploy configurations to all servers. It has a simple architecture with a master server and minion clients. Custom modules, states, grains and templates can extend SaltStack's capabilities. Targeting allows applying configurations selectively based on server attributes. This enables centralized yet flexible management of an entire Alienvault deployment.
This document discusses access control lists (ACLs) and how they are implemented across different platforms and file systems. It provides a history of ACL implementations including POSIX ACLs, NTFS ACLs, and NFSv4 ACLs. It also discusses specifics of how ACLs are supported and some issues that can arise with ACLs on the author's NetApp and FreeBSD environments. Overall, the document aims to educate about ACL standards and interoperability challenges across platforms.
This document provides an overview of Linux security and auditing. It discusses the history and architecture of Linux, important security concepts like physical security, operating system security, network security, file system security and user/group security. It also describes various Linux security tools that can be used for tasks like vulnerability scanning, auditing, intrusion detection and password cracking.
Terraforming your Infrastructure on GCPSamuel Chow
A talk I gave at the Google Cloud Platform LA Meetup event at Google Playa Vista on Nov 6, 2019. This is a 1+ hour-long, tutorial-oriented talk on Infrastructure as Code (IaC), Terraform (as a toolset for IaC and modern devops), and leverage the practice and tools in defining, deploying, and managing your infrastructure in GCP.
A guest lecture at National University of Defense Technology (NUDT) in 2016 to postgraduate students in China about emerging technologies in the Linux operating system.
Thinking DevOps in the Era of the Cloud - Demi Ben-AriDemi Ben-Ari
The lines between Development and Operations people have gotten blurry and lots of skills needs to be held by both sides. In the talk we'll talk about all of the considerations that are needed to be taken when creating a development and production environment, mentioning Continuous Integration, Continuous Deployment and the Buzzword "DevOps", also talking about some real implementations in the industry. Of course how can we leave out the real enabler of the whole deal, "The Cloud", Giving us a tool set that makes life much easier when implementing all of these practices.
Linux Server Deep Dives (DrupalCon Amsterdam)Amin Astaneh
Over the past few years the Linux kernel has gained features that allow us to learn more about what's really happening on our servers and the applications that run on them.
This talk will explore how these new features, particularly perf_events and ebpf, enable us to answer questions about what a Drupal site is doing in real time beyond what the standard logs, server performance tools, and even strace will reveal. Attendees will be provided a brief introduction to example uses of these tools to diagnose performance problems.
This talk is intended for attendees that are familiar with Linux, the command line, and have used host observability tools in the past (top, netstat, etc).
AIDE is an open source file integrity checker and intrusion detection program that is included in most Linux distributions like Redhat. It scans files and compares attributes to detect changes, similarly to the old Tripwire program. The AIDE configuration file specifies which files and attributes to monitor. When initially set up, AIDE generates a database that is backed up and compared against during checks to detect any unauthorized changes or intrusions.
Devops with Python by Yaniv Cohen DevopShiftYaniv cohen
This document discusses implementing DevOps with Python using Ansible. It provides an agenda for the presentation including discussing DevOps hotspots, infrastructure as code with Ansible, continuous integration/continuous delivery (CI/CD) using TravisCI and CircleCI, and an open discussion on monitoring and automated tests. It then covers problems commonly faced, how DevOps solves these problems, and the expected benefits of adopting a DevOps culture including standardized environments, infrastructure as code, automated delivery, monitoring, and improved collaboration. It provides an overview of Ansible concepts like inventories, ad-hoc commands, modules, playbooks, roles, and templates. It also demonstrates writing a custom Python module for Ansible and using it in a playbook. Finally, it
This course gets you started with writing device drivers in Linux by providing real time hardware exposure. Equip you with real-time tools, debugging techniques and industry usage in a hands-on manner. Dedicated hardware by Emertxe's device driver learning kit. Special focus on character and USB device drivers.
Systemd: the modern Linux init system you will learn to loveAlison Chaiken
The talk combines a design overview of systemd with some tutorial incofrmation about how to configure it. Systemd's features and pitfalls are illustrated by short demos and real-life examples. Files used in the demos are listed under "Presentations" at http://she-devel.com/
Video of the live presentation will appear here:
http://www.meetup.com/Silicon-Valley-Linux-Technology/events/208133972/
The document discusses file systems in Linux. It describes block devices, partitioning, filesystem types like Ext2/3/4, and tools for creating, mounting, checking, and monitoring filesystems. It also covers swap space, the /etc/fstab file, mounting options, and implementing disk quotas.
This document provides an overview of Android internals through a series of topics:
1. It describes key Android concepts like components, intents, and the manifest file.
2. It outlines the overall Android architecture including system startup processes like the bootloader, kernel, init, zygote and system server.
3. It covers various aspects of the Android system like the Linux kernel customizations, native user-space environment, Dalvik VM, and Java Native Interface.
4. It also profiles important system-level components like the system server, activity manager, and Binder IPC mechanism.
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...Valeriy Kravchuk
Linux with kernels 2.6+. provides different ways to add user probes to almost every other line of code dynamically, and collect the resulting trace and profiling data in a safe and efficient way. This session discusses basic use of ftrace, perf, bcc tools and bpftrace utility, highlights typical problems MariaDB DBAs and developers may hit while trying to apply them, as well as solutions to some of them.
This document discusses RAID (Redundant Array of Independent Disks) storage systems and LVM (Logical Volume Management). It describes various RAID types including RAID 0, 1, 3 and 5 and how they provide features like performance, fault tolerance and redundancy. It also explains how LVM allows combining multiple physical disks into larger logical volumes for flexibility in resizing file systems with reduced downtime. Key components of LVM like physical volumes, volume groups and logical volumes are defined.
This workshop was given at Crikeycon 2019 in Brisbane. It introduces Velociraptor and explains some of the design goals and implementation.
Note - this slide deck is outdated but might still be useful. The tool has evolved significantly since Crikeycon.
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsXiaozhe Wang
This document provides an overview and comparison of various tools for debugging, profiling, and tracing C/C++ programs on Linux. It discusses concepts and implementations of debugging tools like gdb and Valgrind, profiling tools like gprof and perf, and tracing tools like strace, SystemTap, and LTTng. For each tool, it provides examples of common use cases and highlights strengths and limitations. The document aims to help developers select the appropriate tool based on their specific needs such as debugging memory errors, profiling performance bottlenecks, or tracing system calls.
This document discusses using SaltStack to manage Alienvault infrastructure. SaltStack is an open source tool for configuration management and remote execution that can control and deploy configurations to all servers. It has a simple architecture with a master server and minion clients. Custom modules, states, grains and templates can extend SaltStack's capabilities. Targeting allows applying configurations selectively based on server attributes. This enables centralized yet flexible management of an entire Alienvault deployment.
This document discusses access control lists (ACLs) and how they are implemented across different platforms and file systems. It provides a history of ACL implementations including POSIX ACLs, NTFS ACLs, and NFSv4 ACLs. It also discusses specifics of how ACLs are supported and some issues that can arise with ACLs on the author's NetApp and FreeBSD environments. Overall, the document aims to educate about ACL standards and interoperability challenges across platforms.
This document provides an overview of Linux security and auditing. It discusses the history and architecture of Linux, important security concepts like physical security, operating system security, network security, file system security and user/group security. It also describes various Linux security tools that can be used for tasks like vulnerability scanning, auditing, intrusion detection and password cracking.
Terraforming your Infrastructure on GCPSamuel Chow
A talk I gave at the Google Cloud Platform LA Meetup event at Google Playa Vista on Nov 6, 2019. This is a 1+ hour-long, tutorial-oriented talk on Infrastructure as Code (IaC), Terraform (as a toolset for IaC and modern devops), and leverage the practice and tools in defining, deploying, and managing your infrastructure in GCP.
A guest lecture at National University of Defense Technology (NUDT) in 2016 to postgraduate students in China about emerging technologies in the Linux operating system.
Thinking DevOps in the Era of the Cloud - Demi Ben-AriDemi Ben-Ari
The lines between Development and Operations people have gotten blurry and lots of skills needs to be held by both sides. In the talk we'll talk about all of the considerations that are needed to be taken when creating a development and production environment, mentioning Continuous Integration, Continuous Deployment and the Buzzword "DevOps", also talking about some real implementations in the industry. Of course how can we leave out the real enabler of the whole deal, "The Cloud", Giving us a tool set that makes life much easier when implementing all of these practices.
Linux Server Deep Dives (DrupalCon Amsterdam)Amin Astaneh
Over the past few years the Linux kernel has gained features that allow us to learn more about what's really happening on our servers and the applications that run on them.
This talk will explore how these new features, particularly perf_events and ebpf, enable us to answer questions about what a Drupal site is doing in real time beyond what the standard logs, server performance tools, and even strace will reveal. Attendees will be provided a brief introduction to example uses of these tools to diagnose performance problems.
This talk is intended for attendees that are familiar with Linux, the command line, and have used host observability tools in the past (top, netstat, etc).
AIDE is an open source file integrity checker and intrusion detection program that is included in most Linux distributions like Redhat. It scans files and compares attributes to detect changes, similarly to the old Tripwire program. The AIDE configuration file specifies which files and attributes to monitor. When initially set up, AIDE generates a database that is backed up and compared against during checks to detect any unauthorized changes or intrusions.
Devops with Python by Yaniv Cohen DevopShiftYaniv cohen
This document discusses implementing DevOps with Python using Ansible. It provides an agenda for the presentation including discussing DevOps hotspots, infrastructure as code with Ansible, continuous integration/continuous delivery (CI/CD) using TravisCI and CircleCI, and an open discussion on monitoring and automated tests. It then covers problems commonly faced, how DevOps solves these problems, and the expected benefits of adopting a DevOps culture including standardized environments, infrastructure as code, automated delivery, monitoring, and improved collaboration. It provides an overview of Ansible concepts like inventories, ad-hoc commands, modules, playbooks, roles, and templates. It also demonstrates writing a custom Python module for Ansible and using it in a playbook. Finally, it
This course gets you started with writing device drivers in Linux by providing real time hardware exposure. Equip you with real-time tools, debugging techniques and industry usage in a hands-on manner. Dedicated hardware by Emertxe's device driver learning kit. Special focus on character and USB device drivers.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
Discover the latest insights on Data Driven Maintenance with our comprehensive webinar presentation. Learn about traditional maintenance challenges, the right approach to utilizing data, and the benefits of adopting a Data Driven Maintenance strategy. Explore real-world examples, industry best practices, and innovative solutions like FMECA and the D3M model. This presentation, led by expert Jules Oudmans, is essential for asset owners looking to optimize their maintenance processes and leverage digital technologies for improved efficiency and performance. Download now to stay ahead in the evolving maintenance landscape.
Batteries -Introduction – Types of Batteries – discharging and charging of battery - characteristics of battery –battery rating- various tests on battery- – Primary battery: silver button cell- Secondary battery :Ni-Cd battery-modern battery: lithium ion battery-maintenance of batteries-choices of batteries for electric vehicle applications.
Fuel Cells: Introduction- importance and classification of fuel cells - description, principle, components, applications of fuel cells: H2-O2 fuel cell, alkaline fuel cell, molten carbonate fuel cell and direct methanol fuel cells.
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...shadow0702a
This document serves as a comprehensive step-by-step guide on how to effectively use PyCharm for remote debugging of the Windows Subsystem for Linux (WSL) on a local Windows machine. It meticulously outlines several critical steps in the process, starting with the crucial task of enabling permissions, followed by the installation and configuration of WSL.
The guide then proceeds to explain how to set up the SSH service within the WSL environment, an integral part of the process. Alongside this, it also provides detailed instructions on how to modify the inbound rules of the Windows firewall to facilitate the process, ensuring that there are no connectivity issues that could potentially hinder the debugging process.
The document further emphasizes on the importance of checking the connection between the Windows and WSL environments, providing instructions on how to ensure that the connection is optimal and ready for remote debugging.
It also offers an in-depth guide on how to configure the WSL interpreter and files within the PyCharm environment. This is essential for ensuring that the debugging process is set up correctly and that the program can be run effectively within the WSL terminal.
Additionally, the document provides guidance on how to set up breakpoints for debugging, a fundamental aspect of the debugging process which allows the developer to stop the execution of their code at certain points and inspect their program at those stages.
Finally, the document concludes by providing a link to a reference blog. This blog offers additional information and guidance on configuring the remote Python interpreter in PyCharm, providing the reader with a well-rounded understanding of the process.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
The CBC machine is a common diagnostic tool used by doctors to measure a patient's red blood cell count, white blood cell count and platelet count. The machine uses a small sample of the patient's blood, which is then placed into special tubes and analyzed. The results of the analysis are then displayed on a screen for the doctor to review. The CBC machine is an important tool for diagnosing various conditions, such as anemia, infection and leukemia. It can also help to monitor a patient's response to treatment.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
2. 1
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
What is Linux?
A fully-networked 32/64-Bit Unix-like Operating System
Unix Tools Like sed, awk , find, and grep (explained later)
Compilers Like C, C++, Fortran, …etc.
Network Tools Like telnet, ftp, ping, traceroute
Multi-user, Multitasking, Multiprocessor
Has the X Windows GUI
Coexists with other Operating Systems
Runs on multiple hardware platforms
Includes the Source Code
3. 2
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
How do you get it?
Download it from the Internet
From a “Distribution” (e.g. Red Hat)
Linux kernel
X Windows system and GUI
Web, e-mail, FTP servers
Installation & configuration support
3rd party apps
Hardware support
4. 3
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Popular Linux Distributions
5. 4
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Why is it significant?
Growing popularity
Powerful
Runs on multiple hardware platforms
Users like its speed and stability
No requirement for latest hardware
It’s “free”
Licensed under GPL
Vendors are distributors who package Linux
6. 5
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Linux’s place in the market
Impacts:
Applications:
Web servers (65%)
Web Infrastructure (mail, DNS) (15%)
File/Print (15%)
DB & DB Applications (2%)
Observations
Linux/Apache share of Web serving high
Many SMB and small ISP
Strong mindshare among developers
8. N T I
Linux Fundamentals
Linux Command Basics
Working with files and directories
9. 8
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Syntax Of Basic Commands
<command name> [<options>] [<arg1> <arg2> ... <arg n>]
Expressions between brackets [ ] are optional.
<options>: sequence of letters preceded by ‘-’ character.
each letter represents one option.
the order of the options has no importance.
<arg i>: string of characters
its meaning depends on the current command
(usually, they are file pathnames)
<command name>: command name
usually an executable filename.
Different command elements are delimited by at least one space
character.
Linux/Unix is case-sensitive.
10. 9
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Execute a command line
To execute a command, type its name and arguments at the command line
ls -l /etc
Command name
Options
(flags)
Arguments
12. 11
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Finding and Processing Files
● Use locate
● Use find
13. 12
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
locate
● Queries a pre-built database of paths to files on the system
Database must be updated by administrator
Full path is searched, not just filename
● May only search directories where the user has read and execute
permission
14. 13
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
locate Examples
● locate file1
Search for files with “file1" in the name or path
● Useful options
-i performs a case-insensitive search
-n X lists only the first X matches
15. 14
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
find
● find [directory...] [criteria...]
● Searches directory trees in real-time
Slower but more accurate than locate
CWD is used if no starting directory given
All files are matched if no criteria given
● May only search directories where the user has read and execute
permission
16. 15
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Basic find Examples
● find -name snow.png
Search for files named snow.png
● find -iname snow.png
Case-insensitive search for files named snow.png,Snow.png, SNOW.PNG, etc
● find -user joe -group joe
Search for files owned by the user joe and the group joe
17. 16
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
find and Logical Operators
● Criteria are ANDed together by default.
● Can be OR'd or negated with -o and -not
● Parentheses can be used to determine logic order, but must be escaped
in bash.
find -user joe -not -group joe
find -user joe -o -user jane
find -not ( -user joe -o -user jane )
18. 17
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
find and Numeric Criteria
● Many find criteria take numeric values
● find -size 1024k
Files with a size of exactly 1 megabyte
● find -size +1024k
Files with a size over 1 megabyte
● find -size -1024k
Files with a size less than 1 megabyte
19. 18
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
find and Access Times
● find can match by inode timestamps
-atime when file was last read
-mtime when file data last changed
-ctime when file data or metadata last changed
● Value given is in days
find -ctime -10
Files modified less than 10 days ago
● Value given is in minutes
find -cmin -60
Files modified less than 1 hour ago
21. 20
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
What is Software RAID?
● Multiple disks grouped together into "arrays” to provide better
performance, redundancy or both.
● mdadm - provides the administration interface to software RAID.
● Many "RAID Levels" supported, including RAID O, 1 and 5.
● Spare disks add extra redundancy
● RAID devices are named, /dev/md0, /dev/md1, /dev/md2, /dev/md3 and
so on.
22. 21
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Software RAID Configuration
● Create and define RAID devices using mdadm
mdadm -C /dev/md0 -l 1 -n 2 -x 1 /dev/sda1 /dev/sdb1 /dev/sdc1
● Format each RAID device with a filesystem
mke2fs -j /dev/md0
● Test the RAID devices
● mdadm allows you to check the status of your RAID devices
mdadm --detail /dev/md0
23. 22
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Software RAID Testing and Recovery
● Simulating disk failures
mdadm /dev/md0 -f /dev/sda1
● Recovering from a software RAID disk failure
replace the failed hard drive and power on
reconstruct partitions on the replacement drive
mdadm /dev/md0 -a /dev/sda1
● mdadm, /proc/mdstat, and syslog messages
24. 23
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
What is Logical Volume Manager (LVM)?
● A layer of abstraction that allows easy manipulation of
volumes. Including resizing of filesystems
● Allows reorganization of filesystems across multiple
physical devices
25. 24
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
LVM
26. 25
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Creating Logical Volumes
● Create physical volumes
pvcreate /dev/hda3
● Assign physical volumes to volume groups
vgcreate vg0 /dev/hda3
● Create logical volumes from volume groups
lvcreate -L 256M -n data vg0
mke2fs -j /dev/vg0/data
27. 26
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Resizing Logical Volumes
Growing Volumes
lvextend can grow logical volumes
vgextend adds new physical volumes to an existing volume group.
● Shrinking volumes
lvreduce can then reduce the volume.
Volume Groups can be reduced with:
pvmove /dev/hda3
vgreduce vg0 /dev/hda3
28. 27
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Logical Volume Manager Snapshots
● Snapshots are special Logical Volumes that are an exact copy of an
existing Logical Volume at the time the snapshot is created
● Snapshots are perfect for backups and other operations
where a temporary copy of an existing dataset is needed
● Snapshots only consume space where they are
different from the original Logical Volume
29. 28
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Using LVM Snapshots
● Create Snapshot of existing Logical Volume
# lvcreate -l 64 -s -n databackup /dev/vg0/data
● Mount Snapshot
# mkdir -p /mnt/databackup
# mount -o ro /dev/vg0/databackup /mnt/databackup
● Remove Snapshot
# umount /mnt/databackup
# lvremove /dev/vg0/databackup
31. 30
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Importance of Regular File System Backups
Backing up file systems is one of the most crucial system
administration functions.
Backups should be performed on a regularly scheduled basis to
prevent loss of data due to:
• Accidental deletion of files
• Hardware failures
• Problems when reinstalling or upgrading a system
• System crashes
• System break-in by an unauthorized user compromising data integrity
• Natural disasters
32. 31
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Overview of Backup Methods
The backup process involves copying data from one
computer to some other reliable storage medium for
safekeeping.
Once the data has been archived, the system administrator
can then restore data to the system from any previously
recorded backup.
Considerations that are relevant for storage devices:
Cost
Size
Manageability
Reliability
33. 32
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Overview of Backup Methods
There are many types of backup procedures that define how the
backup will take place:
Full - will backup everything on the hard drive at the scheduled point in
the day
Partial - backs up selected files
Incremental - only the files that have changed since the last backup
34. 33
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Archiving Tools: tar
● tar can backup to a file or tape device
● supports GZIP and BZIP2 compression
● can preserve file permissions, ownership and timestamps
● supports extended attributes
● uses rmt to write to a remote tape device
35. 34
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Archiving Tools: dump/restore
● Back up and restore ext2/3/4 filesystems
Does not work with other filesystems
dump should only be used on unmounted filesystems or filesystems
that are read-only.
● Can do full or incremental backups
● Examples:
dump -0uf /dev/nst0 /dev/hda2
restore -rf /dev/nst0
36. 35
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
The /etc/dumpdates File
Each line in /etc/dumpdates file shows the file system backed up, the level
of the last backup, and the day, date, and time of the backup.
The following is an example of a typical /etc/dumpdates file:
# cat /etc/dumpdates
/dev/sda3 0 Fri Jun 2 19:12:27 2000
/dev/sda1 0 Fri Jun 2 20:44:02 2000
/dev/sda3 5 Thu Jun 8 19:42:21 2000
37. 36
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Backing Up to Tape
1. Become root to bring the system to single-user mode and unmount the file
systems.
# shutdown -v -g30 “System is being shutdown for backup”
Shutdown started. Mon Jun 5 14:05:46 MdT 2000
Broadcast Message from root (pts/1) on host1 Mon Jun 5 14:05:46...
The system host1 will be shut down in 30 minutes
System is being shutdown for backup
2. Unmount all file systems (except / and /usr)
# umount /home
3. Check the integrity of the file system data with the fsck
command, but only if the file system has been unmounted.
# fsck /home
4. Perform a full level 0 backup of the /home file system.
# dump -0uf /dev/rmt/0 /home
DUMP: Writing 32 Kilobyte records
DUMP: Date of this level 0 dump: Mon Jun 5 2000 14:10:15 PM MDT
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping / dev/sda3 (host1:/home) to /dev/rmt/0.
….
DUMP: DUMP IS DONE
DUMP: Level 0 dump on Mon Jun 5 2000 14:10:15 PM MDT
#
38. 37
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Restoring File Systems
Command Format
restore options [ arguments ] [ filesystem ]
restore options [ arguments ] [ filenames . . . ]
Common Options
The following describes the some options for the restore command:
• t – Lists the table of contents of the backup media.
• r – Restores the entire file system from the backup media.
• x – Restores only the files named on the command line.
• i – Invokes an interactive restore.
• v – Specifies Verbose mode. Displays pathnames to the terminal
screen as each file is being restored.
• f – Specifies the tape device name.
39. 38
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Restoring Regular File Systems
To restore a regular file system, (for example, /home, or /opt) back to
disk.
Example
# mkfs /dev/sda#
# mount /dev/sda# /mnt
# cd /mnt
# restore -rf /dev/rmt/#
# rm restoresymtable
# cd /
# umount /mnt
# fsck /dev/sda#
# dump -0uf /dev/rmt/# /dev/sda#
# mount /dev/sda# /home
40. 39
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Command: at
at -f script [m] <arg_hour> [<arg_date>] [+arg_increment>]
Executes a command file at a given date
<arg_temps> : hh:mm | now | noon | midnight
<arg_date> : <month> <day> or today | tomorrow
<arg_increment> : <number> minutes | hours | days | weeks | months
$ at -f myscript.sh 17:30 mar 22 2014 +2 hours
job 24 at 2014-03-22 19:30
at –l / atq : list the number of registered commands
at -d / atrm : cancels a registered command
Authorized users (respectively non-authorized users ) to use
this command are declared in a system file at.allow
(respectively at.deny).
42. 41
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Configuring the Quota System
● Overview
Implemented within the kernel
Enabled on a per-filesystem basis
Individual policies for groups or users
■ Limit by the number of blocks or inodes
■ Implement both soft and hard limits
● Initialization
Partition mount options: usrquota, grpquota
Initialize database: quotacheck
Create these files
#touch aquota.group
#touch aquota.user
43. 42
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Setting Quotas for Users
● Implementation
Start or stop quotas: quotaon, quotaoff
Edit quotas directly: edquota username
From a shell:
setquota username 4096 5120 40 50 /Data
Define prototypical users:
edquota -p user1 user2
44. 43
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Reporting Quota Status
● Reporting
User inspection: quota
Quota overviews: repquota
45. N T I
Linux Fundamentals
Network File Sharing Services
46. 45
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
File Transfer Protocol(FTP)
● vsftpd - the default Red Hat Enterprise Linux ftp server
● No longer managed by xinetd
● Allows system, anonymous or virtual (FTPonly)user access
● The anonymous directory hierarchy is provided by the
vsftpd RPM
● /etc/vsftpd/vsftpd.conf is the main configuration file
47. 46
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Service Profile: FTP
● Type: SystemV-managed service
● Package: vsftpd
● Daemon: /usr/sbin/vsftpd
● Script: /etc/init.d/vsftpd
● Ports: 21 (ftp), 20 (ftp-data)
● Configuration: /etc/vsftpd/vsftpd.conf /etc/vsftpd/ftpusers
/etc/vsftpd/user_list /etc/pam.d/vsftpd
● Log: /var/log/xferlog
48. 47
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Network File Service (NFS)
● The Red Hat Enterprise Linux NFS service is similar to
other BSD and UNIX variants
Exports are listed in /etc/exports
Server notified of changes to exports list with
exportfs -r or service nfs restart
Shared directories are accessed through the mount command
49. 48
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
Service Profile: NFS
● Type: System V-managed service
● Package: nfs-utils
● Daemons: rpc.nfsd, rpc.lockd, rpciod, rpc.
mountd, rpc.rquotad, rpc.statd
● Scripts: /etc/init.d/nfs, /etc/init.d/nfslock
● Ports: 2049(nfsd), Others assigned by portmap (111)
● Configuration: /etc/sysconfig/nfs , /etc/exports ,
/var/lib/nfs/rmtab
50. 49
N T I
Prepared by: Eng. Anwar Fouad
Prepared by: Eng. Anwar Fouad
NFS Server
● Exported directories are defined in /etc/exports
NFS utilities
● exportfs –v from server-side
● showmount -e hostname from client-side