In this lesson, we're going to talk
about Linux devices.
Now, at some point,
you're going to need physical hardware to interface
with the Linux operating system,
even if you're not co-located with the system itself.
Therefore, you need to ensure that any hardware devices
that are connected to the system
are going to be recognizable to that system,
and they're properly configured.
So, in this lesson, you're going to learn how
to manage several different kinds of devices.
Now, before you begin using Linux commands
to manage these devices or apply your skills and knowledge
in a Linux environment, though, you need to become familiar
with the different types of devices that Linux supports.
I'm going to help you build a solid understanding
of what common devices are,
and how they connect to your different computers.
As you know, device drivers act as an interface
between the operating system and the hardware devices.
Drivers are crucial for devices to function properly,
or even to function at all within your Linux environment.
Now, there are different types of client devices.
If you have a thin client, for instance,
this is any lightweight computing device
that connects to a more powerful server
for doing all of the heavy work.
That server is going to do all the heavy lifting for you,
including processing and storing the data,
while the thin client acts as little more
than a user interface for you.
This type of computing architecture
is going to centralize your operations,
making it easier for administrators to manage groups
of backend servers, instead of all
the individual workstations
that are dispersed throughout the organization.
Now, as you've seen,
Linux has a robust remote connection support capability.
Whether that's through a GUI with remote desktop apps,
or through a terminal using Secure Shell.
Now, a thin client will typically have basic devices
like a keyboard, a mouse, and a monitor connected to it,
and it could be running Linux
or it could be running something else like Windows.
If it is running Linux, it's typically
going to be a lightweight distribution
with very few features available,
or anything really permissible to the user.
Instead, that thin client is just used to connect
to the remote Linux server,
where you're going to do all your work.
Now, universal serial bus, or USB,
is a peripheral interface technology
that has become the defacto standard
for connecting all your different input devices,
your external storage devices, your mobile devices,
and many other things to your computers and thin clients.
Now, USB also incorporates something known
as plug and play technologies.
This enables devices to self-configure themself
as soon as you plug them into the system.
Now, there are a wide range of USB device types out there,
and a lot of these are supported in Linux.
This includes things like thumb drives, external hard drives
and solid state devices, digital cameras, webcams,
smartphones, tablets, printers, scanners, keyboards, mice,
microphones, game controllers, and many others.
When you plug in that USB device, Linux is going to register
these USB storage devices that are attached
to the system in the same format as /dev/sd with a number,
just like as if you were connecting it
through an ATA interface or a SCSI interface.
The next thing we want to talk about is wireless devices.
Now, wireless devices are used to transmit
and receive signals over the air,
instead of sending those signals
over physical cables that are connected directly to a port.
There are many different wireless networking
protocols out there, and each of these are used
for specific things or specific applications.
For example, there are lots of different
common wireless networking protocols
that are supported by Linux, including wifi, Bluetooth,
and NFC or near field communication.
Now, wifi is a technology used primarily
for establishing a wireless local area network connection,
or a WLAN connection, inside your home
or office environments.
Common devices that you're going to use with wifi
are things like wireless routers and access points
for the networking infrastructure.
You also have mobile devices, desktop computers,
and "internet of things" devices
that are going to act as wifi clients.
If you're using Bluetooth,
this is a technology that's primarily used
for establishing a personal area network, or PAN,
in which your devices can communicate wirelessly
within a few feet of each other.
The most common application for this
is to be able to connect wireless headphones
or headsets, or a keyboard or mouse
to a smartphone or other computing device.
This will allow you to do this
without having any kind of cabling attached.
On the other hand, we might also use things like NFC,
which is near field communication.
Now, near field communication
is a specialized communications protocol
that's really used mostly by mobile devices and peripherals.
And these are going to be things that are going to send data
when they're only within a couple of inches of each other.
NFC, for example, is used heavily
inside the payment industry, where you can tap a credit card
on top of a reader, or tap a smartphone on top of a reader
to collect payment from an individual.
Now, another thing we want to talk about
is video and audio devices.
Now, video and audio devices are input or output peripherals
that are usually going to be attached
to a client system like a desktop
or a laptop, or even a thin client.
Now, there are a lot of different audio
and video peripherals out there.
When we think about video input peripherals,
this can include things like a webcam,
a surveillance camera, or a digital camera.
When you're thinking about an output peripheral,
this would be something like a monitor,
a television, or a projector.
When we talk about audio,
the most common input is going to be a microphone,
and the most common output
is going to be a speaker or headphones.
When you connect a video or audio peripheral
to a system running Linux or any other OS, for that matter,
you need to make sure you understand the different types
of connections that it uses,
and what types are available on that system.
For example, if you go and buy a microphone,
its input into your system
could either be over a USB or a 1/8 inch input jack
that's going to be used only for audio.
Depending on which one your system has,
it's going to make a difference
on which type of microphone you actually buy.
Now, monitors, for example, are going to be used
as an output device, and you can use things like HDMI,
display port, DVI, or VGA.
All of these are different types
that can be used for video output.
So, it's important to know which one is on your computer
when you're buying a monitor,
so you have one that will work for you.
Now, like most other operating systems,
Linux will also provide you with support for printers.
Now, support for a specific type of printer
is going to be dependent on whether or not
there's an available driver for Linux to be able to use
for that printer, and how robust those drivers are.
So, before you buy a printer,
you need to make sure it's going to be supported by Linux.
Now, most modern printers will offer
local connection support through a USB interface,
or if you're in an office environment,
you may be able to connect to it over the network.
In that case, the printer may include a wifi adapter
built in, or an ethernet adapter,
so it can be connected to the local area network.
Now, another thing we need to talk about
is network adapters.
Network adapters are going to be mandatory
for any computing device that wants to be able
to access a network, whether that's your local office
network, or a wider network, like the internet.
Now, a network interface card
is a specialized peripheral device that can provide you
with an interface with a host
where that computer can exchange data over the network.
In most cases, network adapters
are already built into your computer's motherboard.
However, some adapters can be added to the system
on an expansion bus, or by using something
like a USB device.
Another thing we want to talk about is GPIO,
which refers to the general purpose input output.
And this refers to the pins on a circuit board
that have no designated purpose,
but they're controllable by the user at runtime.
These pins can send and receive digital signals,
and they can be either in on-state or in off-state.
For example, you might have one of these pins
that's designated as an output,
and therefore, it can turn an LED light
on or off, based on the signal received.
Or you can have a pin designated as input,
and it can be used to turn on or off a device,
something like a light switch
or a reset button on the computer.
In most cases, GPIO functionality is going to be controlled
programmatically through software.
On your motherboard, for instance, any GPIO ports
you have will usually be indicated and controlled
by your BIOS or your UFI.
Another thing we want to talk about is serial AT attachment,
or serial ATA.
Now, ATA is a computer bus interface
that's a standard for attaching storage devices
to traditional computers.
In modern computers, SATA has largely replaced
the earlier standard known as parallel ATA,
or PATA, and integrated drive electronics or IDE.
For this reason, most people are going to use SATA
for your internal hard drives.
Now, the most current revision at the time of this recording
is SATA revision 3.2, and this combines SATA
with another bus technology known as PCI Express.
This allows us to support really fast data transfer rates;
up to 16 gigabits per second.
And this means it is a very fast way to send data
to and from a hard drive, and to or from your CPU.
Now, SATA is primarily used for attaching storage devices,
like internal hard drives.
But we have another thing out there known as SCSI,
and SCSI is the small computer system interface.
It's a computer bus interface
for connecting peripheral devices to traditional computers.
Now, SCSI can be used to attach other types of devices too,
in addition to hard drives.
It can be used for DVD ROMs, printers, scanners,
and other things like that.
But most commonly, we use it for storage.
Now, SCSI is an older technology,
but if you're using Linux servers, you may come across it.
Another thing we want to talk about
is serial attached SCSI, which is SAS.
And this is a standard that was developed
to apply a serial interface to SCSI technology.
This allows us to have faster speeds
and a more modern version of SCSI.
In fact, when you're using SAS, or Serial Attached SCSI,
you can reach speeds of up to 24 gigabits per second
in your most modern versions, which is SAS4.
This also supports higher capacity drives.
Another thing we want to talk about is HBA,
or the host bus adapter.
The host bus adapter is a hardware component
that connects a host system to a storage device,
like a storage area network or SAN.
This allows us to facilitate the input and outputted data
to the storage area network.
Now, host bus adapters are commonly used
with the interface technologies like SATA and SCSI,
and the host bus adapter
might be built into your motherboard directly,
or it could be a separate expansion card
that's going to attach to the motherboard
using an expansion slot.
Either way though, you can connect a storage device
to an HBA with the requisite interface
in order for the system to work with that storage device,
and that's going to allow you
to start transferring data the way you want to.
Another type of bus we have
is known as PCI or peripheral component interconnect.
PCI is a connection interface standard
that's primarily used for expansion buses
inside of your motherboard,
like you learned about back in your A+ studies.
Now, the initial PCI specification has largely been replaced
by the more recent PCI express, or PCIe as it's written.
PCIe supports greater transfer speeds,
more reliable error detection, and it's physically smaller
than a traditional PCI slot.
In modern computers, PCIe is going to be the dominant
expansion bus technology that you're going to come across.
When it comes to non-storage devices,
many of these things are going to be using PCIe.
For example, if you want to put an extra modem in,
or a serial card, or a network adapter,
those will all go in through a PCIe expansion bus.
It's also common for video cards
to connect using PCIE x16 interfaces,
to be able to give you a very robust graphics
card that's dedicated to that system.