The Linux directory structure is organized with / as the root directory. Key directories include /bin and /sbin for essential system binaries, /boot for boot files, /dev for device files, /etc for configuration files, /home for user home directories, /lib for shared libraries, /media and /mnt for mounting removable media, /opt for optional application software, /proc for process information, /root for the root user's home, /tmp for temporary files, /usr for secondary hierarchy data and binaries, and /var for variable data.
Linux directory structure by jitu mistryJITU MISTRY
in this ppt there are talkin about the Linux directory structure. special focus on the why we have such type of directory and that is explain slide by slide
Linux directory structure by jitu mistryJITU MISTRY
in this ppt there are talkin about the Linux directory structure. special focus on the why we have such type of directory and that is explain slide by slide
Introduction to users and groups in Linux. We will explore how to set user expiry information and force user password change after certain period of time. We will be also providing different permission to users and groups and restricting users and groups operations using sudoers file
This lecture discusses the different techniques used to install, uninstall and upgrade software packages in Linux and the associated tools
Video for this lecture on youtube:
http://www.youtube.com/watch?v=pFqdupd9wKk
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
Ahmed ElArabawy
- https://www.linkedin.com/in/ahmedelarabawy
This lecture discusses the concept of Multi-User support in Linux. It discusses how Linux protects user files and resources from other user unauthorized access. It also shows how to share resources and files among users, how to add/del users and groups.
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
Introduction to users and groups in Linux. We will explore how to set user expiry information and force user password change after certain period of time. We will be also providing different permission to users and groups and restricting users and groups operations using sudoers file
This lecture discusses the different techniques used to install, uninstall and upgrade software packages in Linux and the associated tools
Video for this lecture on youtube:
http://www.youtube.com/watch?v=pFqdupd9wKk
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
Ahmed ElArabawy
- https://www.linkedin.com/in/ahmedelarabawy
This lecture discusses the concept of Multi-User support in Linux. It discusses how Linux protects user files and resources from other user unauthorized access. It also shows how to share resources and files among users, how to add/del users and groups.
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
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 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 is a review of the book American Icon, which discussed how Alan Mulally and Ford overcame challenges that could have sunk the company, and then avoided taking a Federal bailout.
This explains how Forward Secrecy works, using the Diffie-Hellman Key Exchange protocol, and some discussion of how secure it is and what the vulnerabilities are
This is a description of the Diffie-Hellman-Merkle Key Exchange process, with a presentation of the essential calculations and some discussion of vulnerabilities
Password best practices and the last pass hackKevin OBrien
This presentation looks at the best practices for password security, and shows why LastPass is still one of the best tools for keeping you safe on the Internet
How do you make secure connections to Web sites? Can you be safe making connections and purchases online? This presentation will cover how security is achieved and give you suggestions for protecting yourself.
Encryption is key to safety online, but also important offline. But how does it work? This presentation will cover the basics and help you to be safer.
The subject of passwords is important today since they protect all of your accounts, and are frequently attacked by crackers. In this presentation I examine the technology used to handle and protect passwords, and make recommendations for what the user can do to protect themselves online.
This is a presentation that looks ta some of the Linux commands you could use to identify the hardware on your system. This can be useful for troubleshooting, or just for figuring out which motherboard is in which box.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
2. General Notes
● Linux derives from Unix and is designed
to be multi-user
● This explains some otherwise puzzling
choices
● This may have something to do with
Fedora proposing to change this
Directory Structure
3. Drives 1
● Linux derives from Unix
● Different from Windows
● Windows starts with drives, which are
explicit
– C:
– D:
4. Drives 2
● Linux does not make drives explicit.
● You can have one physical drive, several
physical drives, partition the drives into multiple
partitions, and normally you won’t be aware of
it.
● In a file manager, you won’t see drives, just
directories
● But if you look in fstab, you will see things like
hda1, hda2, sda1, sda2. These are logical
drives (either physical or from partitioning)
5. Root
● In Windows, every drive has its own root
– C: is the root of the C drive
● In Linux, there is only one root, no matter
how many drives you may have
– In Linux, / is the root
● Root is ambiguous in one respect, since it
can refer to the top of the file structure,
and is also the name of the Administrator-
type account in Linux.
6. Root 2
● For our purposes, we will refer to root as
the top of the file structure in this
presentation.
7. Comparison
Linux Windows
/home C:
Disk
/home/data Partitions D:
/
root
/var E:
•/boot
•/bin F:
•etc.
8. Watch out for...
● Windows uses a backslash for
everything
● Linux uses a forward slash for
everything
● In Windows, the logical drive (e.g. C:) is
an important part of the directory
structure
● In Linux, logical drives don't mean
much. You can even mount a separate
physical drive under a directory that is
on another drive.
9. Watch out for 2
● In Windows, case does not matter. The
C:Windows directory is the same as
the
c:windows directory.
● In Linux, everything is case sensitive.
The convention in Linux is to use lower
case for most things, but the important
thing to remember is that /usr/bin is not
the same thing as /USR/BIN.
10. Drives vs. directories
● In Windows, drives are directories
● In Linux, you can have several drives all
under one overall directory, or nested
one in another in the directory structure.
● In Linux, you tell the file system where
you want a drive to appear by where it
is mounted. See fstab for more on this.
11. Where did this come from?
● This started with a Linux effort in August,
1993
● In 1996 some BSD folks decided it should
be expanded to all Unix-like systems
● This resulted in the Filesystem Hierarchy
Standard, which can be found at
http://www.pathname.com/fhs/pub/fhs-
2.3.html
12. Standard?
● Of course, many distros vary from this to
some degree, some (Gobo) reject it
entirely, and MacOS tends to substitute
more “readable” names, like Library in
place of lib, etc.
● Red Hat seems to be pretty faithful
http://www.redhat.com/docs/manuals/linux/
RHL-9-Manual/ref-guide/s1-filesystem-
fhs.html
13. Standard? 2
● Distros can vary, but so can programs
● When you install a program, it may not
follow the FHS in deciding where to
place its files
● So this presentation should be
considered a guide to how things more-
or-less ought to work, but YMMV
14. /
● This is the symbol for the root of the file
system in Linux
● Every directory is “under” root,
ultimately
● This is not the same as the user “root”,
which is the user with God-like powers
over the system
● The user “root” does have a directory,
called /root
15. /bin
● Contains many of the commands used on
the command line
● Examples include cat, chmod,dmesg, kill,
ls, mkdir more, ps, pwd, sed, su
● the above commands, and many others,
must be in /bin to meet the standard.
● Other commands can be optionally
included, such as tar. gzip, netstat, and
ping
16. /bin 2
● There are other commands that are not in
here
● They are part of the shell (e.g. cd)
● For most users, this will be bash, the
Bourne-Again Shell
● You can tell by looking at the man pages
● Commands in /bin will have their own man
page, commands in bash will have info in
the bash man page
17. /boot
● Contains files needed for boot
– kernel
– Grub menu (good to know if you are dual-
booting)
– Lilo boot sector backups
● Contains data that is used before the
kernel starts executing user-mode
programs
18. /dev
● Kinda-sorta an equivalent to a mashup
of the Device Manager and
C:WindowsSystem in Windows
● Contains a file describing every device,
and these files can send data to each
device
● In Linux, everything is a file or a
directory
● We mean it. We really mean it.
19. /dev 2
● hda1, hda2, etc. are partitions on the
first physical IDE drive
● sda1, sda2, etc. are partitions on the
first physical SATA drive
● /dev/cdrom is the optical drive
● /dev/fd0 is the floppy drive, if you have
one
● /dev/dsp is the speaker device
20. Fun with /dev
● Try this command out:
cat /etc/lilo.conf > /dev/dsp
● The sound you will hear is the sound of
your /etc/lilo.conf file
● If you don't have /etc/lilo.conf, substitute
any other file you do have
● So, /dev/dsp is the speaker, and the
speaker is the file /dev/dsp.
21. More /dev fun
● The most famous device in /dev is the
ubiquitous /dev/null
● Anything sent to this device disappears
into a black hole, and reappears in
another galaxy, much to the puzzlement
of the Lizard people of Zorg in the
CmfR!&v Galaxy.
22. /etc
● Perhaps the most important to understand
● No binaries can be here, per the standard
● This is just for configuration files
● Examples include /etc/inittab, /etc/fstab,
/etc/passwd, /etc/hosts, /etc/x11,and
/etc/opt
23. /etc 2
● These files are generally text files and
can be edited using any text editor:
emacs or vi on the command line, or
whatever graphical equivalent (e.g.
gedit, kate) your desktop offers
24. /etc/inittab
● Describes what takes place at bootup
● Includes the runlevel of the system, and
which processes should be run at each
runlevel
● Linux has seven runlevels, from 0-6
25. /etc/fstab
● Automatically mounts filesystems
across multiple drives or partitions, or
even from remote systems
● This is where you would place an entry
if you added a hard drive
● This file tells the system what drive to
access, and where to mount it in your
system
26. /etc/hosts
● This is the famous hosts file, which
matches up names with IP addresses
● This is like level 1 DNS. The system
looks here first.
● This can be used to block sites by
putting their URL in here and mapping it
to 127.0.0.1. Great way to get rid of
Double-Click.
27. /etc/passwd
● This is the password file, but it contains
more: user name, user password, user
ID, group ID, home directory, and shell.
It can optionally contain the user's “real
name”
● Each user is on its own line
● Each user can select the shell they
want to use (most use bash these days)
28. /etc/opt/
● This is a directory for the configuration files
for each system application you install.
Each application gets its own subdirectory
under /etc/opt/
● System applications are not just for one
user, but for anyone logged in to the
system
● This is not mandatory, so see the man
pages or help for your application
29. /etc/x11
● Configuration directory for x11, which is the
display system for graphical interfaces in
Linux
● This can vary with different distros, so
again you need to check
● /etc/x11/xorg.conf is the configuration file
that lets you specify the resolutions your
monitor and graphics card can display, for
instance
30. /home
● This is where the home directories for
all of the “ordinary” users are located.
● The exception is root, which has its own
home directory, /root/
● Each user gets a directory with their
user name: e.g. /home/baracko
● This can contain configuration files for
applications that are user-specific
31. User-specific Configurations
● These files should be in the /home
directory, and should begin with a “.”
character (i.e. “dot files”)
● If more than one, the files should go
into a directory with a name that begins
with the “.” character (i.e. “dot
directory), and then the files should not
begin with a “.”
32. /home Partition?
● Your home directory is where you
would place all of your documents,
videos, MP3s, etc.
● It can get fairly large
● It is also the stuff you want to back up,
and you don't want to lose
● Putting it on its own partition, or even its
own physical drive, is not a bad idea
33. Reinstalling
● If you have a separate /home partition,
you can reinstall (or do a clean
upgrade) and still keep not only your
data, but many of your file
configurations
● Examples are Firefox bookmarks,
Thunderbird or Evolution e-mail settings
and mail files, etc.
34. /lib
● This is the location for shared library
files that are used by system programs
● Shared library files are equivalent to
Windows' “*.dll” files
● The files here are intended to be
libraries for programs in /bin and /sbin,
i.e. needed to boot the system and run
the commands in the root file system
35. /lib 2
● Also in this directory are kernel modules
● Other library locations for other
programs include /usr/lib and
/usr/local/lib
● Generally these correspond to where
the binary is installed, i.e. a binary in
/usr/bin would put a library in /usr/lib,
and a binary in /usr/local/bin would put
a library in usr/local/lib
36. /media, /mnt
● This is one where there is no general
agreement
● Either directory can be a place to mount
removable media (e.g. CD, USB drive,
Floppy disk)
● /mnt is the older way, and is still used for
temporarily-mounted file systems
● At one time, these devices were often
mounted in the root directory, but that is
less common today
37. /media, /mnt 2
● Either directory is allowed by the standard
● Most current distro versions will mount
these devices automatically
● When they are mounted, an entry will go in
the directory
● For USB devices, you want to safely
unmount before removing. Current
graphical file managers let you do so in the
directory (right-click on the device).
38. /mnt vs. /etc/fstab
● The distinction is temporary vs.
permanent
● A file system that will be permanently
mounted should get an entry in fstab
● A file system mounted temporarily will
get an entry in /mnt when you mount it
● Again, everything in Linux is a file or a
directory. If you mount something on
the command line, a file is created in
/mnt.
39. /opt
● Intended as a place for “optional”
software, i.e. add-on packages that are
not part of the default installation
● Intended for use by sysadmins doing
something locally, not for software
developers creating packages
● Treat this as something deprecated, but
possibly still there.
40. /proc
● Have we mentioned that everything in
Linux is a file or a directory?
● Any time a process is created in Linux,
a corresponding file goes in here
● Most users have no need to go here,
but you're an adult, do what you want
● Gosh, what would happen if you
deleted a file here?
41. /root
● Home directory for the root account
● Normally, you don't want to be root, and
you don't want to go here
● Give yourself a user account, and use
that for day-to-day stuff. It is much safer
that way.
42. /sbin
● Place for System binaries
● One of three such directories
– /sbin
– /usr/sbin
– /usr/local/sbin
● All three hold utilities used for system
administration, and are intended for the
root user
43. /sbin 2
● /sbin should have those utilities
essential for booting, restoring,
recovering, and/or repairing the system
● Programs used after /usr is known to be
mounted (i.e. when there are no
problems) go into /usr/sbin
● Locally installed sysadmin programs go
in /usr/local/sbin
44. /tmp
● Guess what this one is?
● Yes, temporary files are placed here
● Assume that anything in this directory
will be deleted whenever the system is
booted
● If you want to have your own temporary
directory and not lose files at reboot,
create one in your home directory,
i.e. /home/username/temp
45. /usr
● Lots of stuff in here
● Back in the mists of prehistory, these
were the user directories, equivalent to
what are now /home directories
● Now /usr is for shareable data
● Not intended for software packages, in
general
46. /usr/bin
● Contains executable files for many
Linux commands
● These are commands that are not part
of the core Linux operating system
● They would go in /bin
● Examples of commands in here: perl,
python
47. /usr/include
● General use include files, including
header files, for C and C++
programming languages
48. /usr/lib
● Contains libraries for the C and C++
programming languages
● Object files, libraries, and internal files
not intended to be executed directly by
users or shell scripts
49. /usr/local
● For use by System Administrator when
installing software locally
● Must not be over-written when system
software is updated
● Generally has same subdirectories
as /usr
50. /usr/sbin
● Non-essential standard system
binaries, i.e. utilities
● Essential utilities go in /sbin
51. /usr/share
● For read-only architecture independent
data files
● Intended to be shared across platforms
(e.g. i386, Alpha, PPC)
● Must not change
● If the contents are variable, go to /var
e.g. a game file in /usr/share/games
must be static. Game play logs go in
/var/games.
53. /usr/src
● Source code is placed here, for
reference purposes only
● This includes the source code for the
Linux kernel
54. /var
● This is for files that are expected to be
updated and changed
● This includes:
– mail directories
– print spool
– logs
– web sites
55. /var 2
● Because these can be written to
constantly, they can grow over time
● On a server, you may want to put /var
on its own partition to limit the growth
● This can also prevent the /var directory
from bringing down the server by using
up all of the drive space.
56. /var/lock
● Contains lock files
● These files prevent two users (or two
programs) from trying to access the
same data at the same time
● You may need to delete a lock file from
time to time
57. /var/log
● Contains the log files generated by
programs
58. Fedora Proposal
● You may have noticed a lot of /bin
directories in this strcuture
● So did Fedora developers Harald Hoyer
and Kay Sievers
● Their proposal is called /usr merge
59. What is /usr merge?
● Move all executables into /usr/bin
● Move all related libraries into either
/usr/lib or /usr/lib64, as needed
60. Problems with /usr merge
● LSB adheres to FHS
● Would break most shell scripts that (for
example) start #!/bin/sh or #!/bin/bash
● Would other distros go along? Doe
Fedora care if they do?
61. Some benefits to /usr merge
● Matches what Solaris does already
● Simplifies
● Easier to run multiple instances of OS
on different machines in a network. This
is particularly true with btrfs.