Difference between revisions of "Main Page"

From TheBestLinux.com
Jump to navigation Jump to search
Line 214: Line 214:
 
     Model: 28809
 
     Model: 28809
 
<br /><br />
 
<br /><br />
As you can see, the monitor connected to "card0-DP-1" is a Samsung model 28809.
+
As you can see, the monitor connected to "card0-DP-1" is a Samsung model 28809. However, this model number is what is known as an "Internally Used Model Identifier".  To get the "Actual" model number, we need to filter our results to find the "Display Product Name" filed, which contains the "real" model, as seen here:
 +
<pre style="colore:blue">
 +
[jamie@server.dawgland.com:/sys/class/drm]$ edid-decode <./card0-DP-1/edid | grep -E 'Display Product Name'
 +
    Display Product Name: 'LC32G5xT'
 +
</pre>
 +
<br /><br />
 +
There is the "REAL" model number!  And here's the one for the Dell monitor:
 +
<pre style="colore:blue">
 +
[jamie@server.dawgland.com:/sys/class/drm]$ edid-decode <./card0-HDMI-A-2/edid | grep -E 'Display Product Name'
 +
    Display Product Name: 'DELL P2317H'
 +
</pre>
 +
 
 
<br /><br />
 
<br /><br />
 
There are many other ways to query your video devices, but for now, I will call it good on this topic.  There are millions of other sources online in you want to dig even deeper!
 
There are many other ways to query your video devices, but for now, I will call it good on this topic.  There are millions of other sources online in you want to dig even deeper!

Revision as of 02:45, 6 February 2023

Welcome to TheBestLinux.com Wiki!


TheBestLinux.com is now co-located in multiple data-centers globally!


New Servers Added in Amsterdam & Singapore!


The VM servers making up TheBestLinux.com and it's accompanying sites and services are physically located in data centers in Los Angeles, Amsterdam, Singapore & Western Oregon. If you are interested in any of these types of setups, let me know!

TheBestLinux.com is your source for Linux Operating System Solutions & Information,
and embraces "Open Source" sharing and collaborative development of useful solutions.

TheBestLinux.com not only specializes with Linux based systems, with over 30 years of specializing in Linux based solutions, but also has over 40 years of experience with all things related to computers and computing, both hardware and software, as well as IoT - "The Internet of Things", embracing Internet based technology!

Ansible Information & How-To's

Here is the Ansible info.

New Docker & Kubernetes Information Section Created!

Check out my new Container section with info on Docker & Kubernetes and more Right Here!!!

New Website Development & Programming Section Created

Learn HTML5, CSS & Javascript to create killer websites! - Check it out here!

New PHP Info Micro How-To Right Here!

PHP Info

Newest Linux Info, Tips & Tricks!



New Ubuntu Section - Hope this Section is of Help to Those Using Ubuntu!

Ubuntu_Info

Hardware Specific Information

This section is about computer hardware, both finding out what hardware is in a running Linux computer as well as getting specific types of hardware to work in a Linux environment.

Monitors

There are a number of ways to probe the system for connected monitors and other video devices, from searching thorough kernel messages with the "dmesg" command, to using GUI tools. I prefer using the command line whenever possible, as it's best to know in the event you are working on a "headless"system, and logging into it remotely using SSH(Secure Shell). Tbr />
The "/sys/class/drm" directory often contains files which can be queried and/or decoded to obtain detailed information on connected video devices, such as manufacturer and model number, both of which are extremely useful when trying to diagnose hardware issues, including video problems.
Here is an example of the contents of the /"sys/class/drm" on the computer I am currently logged into, which has only two monitors connected at this time, but has had up to 4 at a time on some occasions.

[jamie@server.dawgland.com:/sys/class/drm]$ ls
card0       card0-DP-2      card0-HDMI-A-2  renderD128
card0-DP-1  card0-HDMI-A-1  card0-VGA-1     version



These are actually whare are known as "symlinks", which are special files which point to other subdirectories within the Linux OS directory structure. Within each of these subdirectories are special files which relate to video devices connected to the system at the time.

For instance, within the directory pointed to by the "card0-DP-1" symlink, if I first change to this directory, and do a l"long" listing using the "-l" switch to the "ls" list command, "ls -l", you can see here that there are other symlinks as well as other subdirectories and files:

[jamie@server.dawgland.com:/sys/class/drm/card0-DP-1]$ ls -al
total 0
drwxr-xr-x.  5 root root    0 Feb  4 08:40 .
drwxr-xr-x. 10 root root    0 Feb  4 08:40 ..
lrwxrwxrwx.  1 root root    0 Feb  5 17:46 device -> ../../card0
-r--r--r--.  1 root root 4096 Feb  5 17:46 dpms
drwxr-xr-x.  3 root root    0 Feb  5 17:46 drm_dp_aux0
-r--r--r--.  1 root root    0 Feb  5 17:46 edid
-r--r--r--.  1 root root 4096 Feb  5 17:46 enabled
drwxr-xr-x.  3 root root    0 Feb  4 08:40 i2c-9
-r--r--r--.  1 root root 4096 Feb  5 17:46 modes
drwxr-xr-x.  2 root root    0 Feb  5 17:46 power
-rw-r--r--.  1 root root 4096 Feb  5 17:46 status
lrwxrwxrwx.  1 root root    0 Feb  5 17:46 subsystem -> ../../../../../../class/drm
-rw-r--r--.  1 root root 4096 Feb  5 17:46 uevent



The ONE VERY important file that holds the secrets of what video device is connected to this video output port on the computer's video interface card is the "EDID" file.

This particular computer has 2 video cards for a total of 6 video output ports:
card0, card0-DP-2, card0-HDMI-A-2, card0-DP-1, card0-HDMI-A-1 and card0-VGA-1.

The special "EDID" file is encoded, so you can't simply view it's contents, as you will get "garbage", as seen here:

[jamie@server.dawgland.com:/sys/class/drm/card0-DP-1]$ cat edid
 �F(x:C��RD�&PT���������qOV^���)P0 5��!��2KY
      �LC32G5xT
    �HNTT301414
  "F�#	����:�q8-@X,E��!D[



In order to view the contents of the EDID file, you need to install a utility to decode it, namely, the "edid-decode" utility/tool. Using the package management tool of the Linux distribution you are using, install "edid-decode" and any dependencies of may have for your Linux distrubnution. Then, run the "edid-decode" tool against your existing edid files to find out what video device is connected to each video output on your computer. Here is an example of me running it now on the "card0-HDMI-A-2" output port:

[jamie@server.dawgland.com:/sys/class/drm]$ edid-decode <./card0-HDMI-A-2/edid
edid-decode (hex):

00 ff ff ff ff ff ff 00 10 ac f4 40 53 47 56 32
24 1b 01 03 80 33 1d 78 ea eb f5 a6 56 51 9c 26
10 50 54 a5 4b 00 71 4f 81 80 a9 c0 d1 c0 01 01
01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c
45 00 fd 1e 11 00 00 1e 00 00 00 ff 00 33 47 4a
32 31 37 39 35 32 56 47 53 0a 00 00 00 fc 00 44
45 4c 4c 20 50 32 33 31 37 48 0a 20 00 00 00 fd
00 38 4c 1e 53 11 00 0a 20 20 20 20 20 20 01 9b

02 03 17 b1 4c 90 05 04 03 02 07 16 01 14 1f 12
13 65 03 0c 00 10 00 02 3a 80 18 71 38 2d 40 58
2c 45 00 fd 1e 11 00 00 1e 01 1d 80 18 71 1c 16
20 58 2c 25 00 fd 1e 11 00 00 9e 01 1d 00 72 51
d0 1e 20 6e 28 55 00 fd 1e 11 00 00 1e 8c 0a d0
8a 20 e0 2d 10 10 3e 96 00 fd 1e 11 00 00 18 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ed

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.3
  Vendor & Product Identification:
    Manufacturer: DEL
    Model: 16628
    Serial Number: 844515155
    Made in: week 36 of 2017
  Basic Display Parameters & Features:
    Digital display
    Maximum image size: 51 cm x 29 cm
    Gamma: 2.20
    DPMS levels: Standby Suspend Off
    RGB color display
    First detailed timing is preferred timing
  Color Characteristics:
    Red  : 0.6513, 0.3378
    Green: 0.3183, 0.6123
    Blue : 0.1513, 0.0654
    White: 0.3134, 0.3291
  Established Timings I & II:
    IBM     :   720x400    70.082 Hz   9:5    31.467 kHz  28.320 MHz
    DMT 0x04:   640x480    59.940 Hz   4:3    31.469 kHz  25.175 MHz
    DMT 0x06:   640x480    75.000 Hz   4:3    37.500 kHz  31.500 MHz
    DMT 0x09:   800x600    60.317 Hz   4:3    37.879 kHz  40.000 MHz
    DMT 0x0b:   800x600    75.000 Hz   4:3    46.875 kHz  49.500 MHz
    DMT 0x10:  1024x768    60.004 Hz   4:3    48.363 kHz  65.000 MHz
    DMT 0x12:  1024x768    75.029 Hz   4:3    60.023 kHz  78.750 MHz
    DMT 0x24:  1280x1024   75.025 Hz   5:4    79.976 kHz 135.000 MHz
  Standard Timings:
    DMT 0x15:  1152x864    75.000 Hz   4:3    67.500 kHz 108.000 MHz
    DMT 0x23:  1280x1024   60.020 Hz   5:4    63.981 kHz 108.000 MHz
    DMT 0x53:  1600x900    60.000 Hz  16:9    60.000 kHz 108.000 MHz (RB)
    DMT 0x52:  1920x1080   60.000 Hz  16:9    67.500 kHz 148.500 MHz
  Detailed Timing Descriptors:
    DTD 1:  1920x1080   60.000 Hz  16:9    67.500 kHz 148.500 MHz (509 mm x 286 mm)
                 Hfront   88 Hsync  44 Hback 148 Hpol P
                 Vfront    4 Vsync   5 Vback  36 Vpol P
    Display Product Serial Number: '3GJ217952VGS'
    Display Product Name: 'DELL P2317H'
  Display Range Limits:
    Monitor ranges (GTF): 56-76 Hz V, 30-83 kHz H, max dotclock 170 MHz
  Extension blocks: 1
Checksum: 0x9b

----------------

Block 1, CTA-861 Extension Block:
  Revision: 3
  Underscans PC formats by default
  Supports YCbCr 4:4:4
  Supports YCbCr 4:2:2
  Native detailed modes: 1
  Video Data Block:
    VIC  16:  1920x1080   60.000 Hz  16:9    67.500 kHz 148.500 MHz (native)
    VIC   5:  1920x1080i  60.000 Hz  16:9    33.750 kHz  74.250 MHz
    VIC   4:  1280x720    60.000 Hz  16:9    45.000 kHz  74.250 MHz
    VIC   3:   720x480    59.940 Hz  16:9    31.469 kHz  27.000 MHz
    VIC   2:   720x480    59.940 Hz   4:3    31.469 kHz  27.000 MHz
    VIC   7:  1440x480i   59.940 Hz  16:9    15.734 kHz  27.000 MHz
    VIC  22:  1440x576i   50.000 Hz  16:9    15.625 kHz  27.000 MHz
    VIC   1:   640x480    59.940 Hz   4:3    31.469 kHz  25.175 MHz
    VIC  20:  1920x1080i  50.000 Hz  16:9    28.125 kHz  74.250 MHz
    VIC  31:  1920x1080   50.000 Hz  16:9    56.250 kHz 148.500 MHz
    VIC  18:   720x576    50.000 Hz  16:9    31.250 kHz  27.000 MHz
    VIC  19:  1280x720    50.000 Hz  16:9    37.500 kHz  74.250 MHz
  Vendor-Specific Data Block (HDMI), OUI 00-0C-03:
    Source physical address: 1.0.0.0
  Detailed Timing Descriptors:
    DTD 2:  1920x1080   60.000 Hz  16:9    67.500 kHz 148.500 MHz (509 mm x 286 mm)
                 Hfront   88 Hsync  44 Hback 148 Hpol P
                 Vfront    4 Vsync   5 Vback  36 Vpol P
    DTD 3:  1920x1080i  60.000 Hz  16:9    33.750 kHz  74.250 MHz (509 mm x 286 mm)
                 Hfront   88 Hsync  44 Hback 148 Hpol P
                 Vfront    2 Vsync   5 Vback  15 Vpol P Vfront +0.5 Odd Field
                 Vfront    2 Vsync   5 Vback  15 Vpol P Vback  +0.5 Even Field
    DTD 4:  1280x720    60.000 Hz  16:9    45.000 kHz  74.250 MHz (509 mm x 286 mm)
                 Hfront  110 Hsync  40 Hback 220 Hpol P
                 Vfront    5 Vsync   5 Vback  20 Vpol P
    DTD 5:   720x480    59.940 Hz   3:2    31.469 kHz  27.000 MHz (509 mm x 286 mm)
                 Hfront   16 Hsync  62 Hback  60 Hpol N
                 Vfront    9 Vsync   6 Vback  30 Vpol N
Checksum: 0xed



As you can see, there is a LOT of information it spits out, so you will probably want to filter out the results using the additional command line tool "grep", (GetRegularExPression). Her is an example to filter out just the manufacturer and model:

[root@server.dawgland.com:/sys/class/drm]# edid-decode <./card0-HDMI-A-2/edid | grep -E 'Man|Mod'
    Manufacturer: DEL
    Model: 1662



That's much better! Just the info we want! You can use these same principles to "grep" other useful information from your system. Play around with it, as you can't really break anything as long as you are not the "root", aka, superuser, or using sudo!
So, with that output, we can deduce there is a Dell model 1662 connected to the HDMI a-2 port on my video card0.

You can use this same process to query the other video output ports on your computer to see what monitor is connect to them. Currently, I only have one other monitor connected to this computer, on "card0-DP-1". Here's the same "edid-decode" command run on that port:

[jamie@server.dawgland.com:/sys/class/drm]$ edid-decode <./card0-DP-1/edid | grep -E 'Man|Mod'
    Manufacturer: SAM
    Model: 28809
<br /><br />
As you can see, the monitor connected to "card0-DP-1" is a Samsung model 28809.  However, this model number is what is known as an "Internally Used Model Identifier".  To get the "Actual" model number, we need to filter our results to find the "Display Product Name" filed, which contains the "real" model, as seen here:
<pre style="colore:blue">
[jamie@server.dawgland.com:/sys/class/drm]$ edid-decode <./card0-DP-1/edid | grep -E 'Display Product Name'
    Display Product Name: 'LC32G5xT'



There is the "REAL" model number! And here's the one for the Dell monitor:

[jamie@server.dawgland.com:/sys/class/drm]$ edid-decode <./card0-HDMI-A-2/edid | grep -E 'Display Product Name'
    Display Product Name: 'DELL P2317H'



There are many other ways to query your video devices, but for now, I will call it good on this topic. There are millions of other sources online in you want to dig even deeper!


One of my favorite commands for finding out exactly what hardware devices are part of a running Linux computer is "dmesg"! I have used this command for over 30 years now, and find it's really useful regardless of the actual Linux distribution a system is running. The "dmesg" command(without the quotes) shows the kernel messages as they relate to the hardware the Linux kernel finds when booting up. You can go through the output of the command one page at a time by piping it into the "more" command.

Here's an example of running the "dmesg" command and piping it into the "more" command. Note that the "pipe" is the straight vertical line, usually above the ENTER key on your keyboard, as a shifted backslash(\). The pipe looks like this: | Here's the example:

[jamie@server.dawgland.com:~]$ dmesg | more



To exit viewing the "dmesg" output while piping it's output into the "more" command, use the "Q" key to Quit the "more" utility.

You can also narrow down the output of the "dmesg" command to search for specific items in the "dmesg" output, by piping the "dmesg" output into the "grep" command(grep stands for "Get Regular ExPression") and using a keyword to search for something specific. I like to give the "grep" command the -i switch, to allow it to find both upper and lower case results.

Here's an example of piping the output of the "dmesg" command into the "grep" command using the -i switch:

[jamie@server.dawgland.com:~]$ dmesg | grep -i bios
[10785680.025014] Hardware name: LENOVO ThinkServer TS140/ThinkServer TS140, BIOS FBKT48AUS 08/26/2013



Here's another example, this time from one of my virtual DNS servers running on my personal VM server:

[jamie@ns1.dawgland.com:~]$ dmesg | grep -i bios
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001ffeffff] usable
[    0.000000] BIOS-e820: [mem 0x000000001fff0000-0x000000001fffffff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] SMBIOS 2.5 present.
[    0.000000] DMI: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[    0.000000] ACPI: DSDT 0x000000001FFF0470 002325 (v02 VBOX   VBOXBIOS 00000002 INTL 20190509)
[2883115.739886] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006



As you can see from the above command output, it shows that machine is actually a "VM", a "Virtual Machine". I run a bunch of "virtual machines" on my big main servers, allowing me to have servers that perform specific tasks in my network.

Here's the same command, run on an old 32-bit Dell machine:

root@oldslack:~# dmesg | grep -i bios
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000027f76fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000027f77000-0x0000000027f78fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x0000000027f79000-0x0000000027ffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee0ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved
[    0.000000] SMBIOS 2.3 present.
[    0.000000] DMI: Dell Computer Corporation OptiPlex GX240               /OptiPlex GX240               , BIOS A05 07/19/2002
[    0.154804] PCI: PCI BIOS revision 2.10 entry at 0xfbe2e, last bus=2



One of the great things about using this command is it usually shows you the actual brand name and model number of the computer it's being run on!

Another handy command I use often to find out if a running Linux computer has a 32 bit architecture/CPU or a 64-bit one is the "getconf" command and specifying the system variable "LONG_BIT". Here's an example:

[jamie@server.dawgland.com:~]$ getconf LONG_BIT
64



The "uname" command is also a very handy tool, as one of it's switches, the -m switch, also will show you if a running system is a 32-bit or 64-bit architecture. If a system is 32-bit, the output of the "uname -m" command will show either "i386" or "i686". With a 64-bit system, the output will be "x86_64".

Here's an example of the output of the "uname -m" command on a 32-bit system:

jamie@oldslack:~$ uname -m
i686



And here's the same command, running on a 64-bit system:

[jamie@server.dawgland.com:~]$ uname -m
x86_64



CentOS Specific Info

CentOS_8

Amazon Linux

Amazon_Linux

Grub - GRand Unified Bootloader

Grub has been around for a long time, taking over the bootup role on most Linux installations from the "OLD" Lilo tool. Lilo stands for "LInux Loader", in case anyone is interested.

The configuration files for Grub are usually in /boot/grub2/grub.cfg, /etc/grub2.cfg with additional configuration settings in /etc/grub.d/. After a change has been made to any of the grub configuration files, you must re-apply those changes using the grub2-mkconfig command as the root superuser. Here is an example of the usage of grub2-mkconfig:

[root@cos8vm54.dawgland.com:/boot/grub2]# grub2-mkconfig -o /boot/grub2/grub.cfg
 
Generating grub configuration file ...
done
[root@cos8vm54.dawgland.com:/boot/grub2]#



Scripts & Other Automation Tools

Shell/Bash Scripts



Display IP version 4 address of first network interface on a Linux machine one-liner:

ip -4 addr show `ip -4 addr | grep -m 1 '2:' | awk '{ print $2; }' | sed 's/\:.*$//'` | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'



Conditional Statements

Conditional statements are the basic building blocks of creating scripts that test for certain conditions, and then do something or don't do something, depending on what you want to end results to be.

One of the most common and most useful statements are the "if ... else", to test for a condition to be true or false, or equal to something else, and so on.

Here's a basic example of how "if... else" works. Note that the "if" statements always end with "fi", as seen in this example which tests to see if the MySQL database server is running. This is just the basic begging of the script I am creating, so doesn't do anything other than print statements to the screen as to the results of the test within the "if... else" statement:

#!/usr/bin/bash

chksql=`ps ax | grep -v grep | grep mysqld_safe`
if [[ -z $chksql ]]
then
        echo "The Database Server is NOT RUNNING!!!"
        echo "MUST FIX NOW!!!"
else
        echo "All Good!"
fi

I will then add code to send an email to me if the DB server is down. Or I can just have the script start the database server back up, or do both! The choice is up to you!

Now, we need to have the script actually fix the issue, if it finds the issue is occuring, as this particular issue is intermittant, so I never know when it will occur, causing one of my websites to break. Here is the final version of the script where we remove the "echo" informational statements and have it fix the MariaDB database server is it happens to be down when the script is run. Here is the final version of the script using the standard systemctl tool:

!/usr/bin/bash

chksql=`ps ax | grep -v grep | grep mysqld_safe`

if [[ -z $chksql ]]
then
        /usr/bin/systemctl start mariadb &
fi

The last step is to automate the running of the script. Since this issue is critical, causing the entire website to be down, I want to run this script at intervals that are not too far apart. I chose to have it run every 5 minutes, and I use the standard Linux/UNIX scheduling tool "CRON".

Cron has a ton of options and will already be configured to your particular Linux distribution to run many maintenance tools, so I will not get into the detail of how Cron works, and what each cron "job", as they are referred to, are actually doing. This is how I created the new cron job. The first step is to edit the crontab as the root superuser:

[root@mail:~]# crontab -e

Then, I add the following line:

*/5 * * * *	/usr/local/sbin/ChkMySQL

Use the Vi commands :x to exit saving the file.

You can confirm it created the new cron job by typing "crontab -l", without the quotes. That's an L, for list in this command.

Hard Drives & Other Storage Devices

Hard drives have come a VERY LONG WAY, and are still, in my opinion, the most common and most certain common point of most computer hardware failures. It's not about if a hard drive will die, but WHEN it WILL DIE, because ALL hard drives eventually DIE!!!

That being said, there are many things you can do to help alleviate the horrors of losing a hard drive or other type of storage devices. Some are as simple as following simple basic backup procedures regularly, but that is easier said than done, especially if it needs to be done manually. Automating backups is something EVERYONE should do!!!

Other things you can do is use redundancy, either manually saving copies of important or critical files in more than one location, on more than one device, preferably in different physical locations, so that even disaster recovery is possible! I once read a book titled that about 30-some years ago!

One of the things I really also like to do, on top of backups, is using RAID arrays, such as simple I mirroring, so that every bit of every byte of data is redundantly stored on two mirrored identical hard drives, which is exactly what I do on my main production servers! I use both hardware and software based RAID, and both are rock-hard solid stable and reliable within the Linux operating system! If one hard drive dies, which one always will, the other takes over and when the failed drive is replaced, a mirror image of the other drive is automatically created and synchronized into the mirror RAID array! Suffice it to say, I LOVE RAID!!!

On to actually useful information, instead of my personal long-time experience with thousands upon thousand of hard drives in my lifetime! Here are some very useful hard drive and other storage devices useful commands, in no particular order.

There are many more and I will add them as they come to mind, but off the top of my head, these are the most useful on a day-to-day basis. Each of these command has multitudes of options, arguments, and the like, so I will detail them as I have time. Most require elevated root superuser privileges, so be VERY VERY CAREFUL, and DO NOT HIT the ENTER key until you are certain you have typed the command exactly as you intended and then double and triple check again before you hit the ENTER key!!! There is no going back if you make a mistake as the root superuser, most often, so again, I can't stress enough the important of double and triple checking your commands before committing them!!! Commands run as the root superuser will NOT warn you, or say "Are you sure...", so you MUST BE SURE! Enough on that. You have been warned!



Accessing Data on Windows and Other File Systems on Other Partitions

Coming soon - Detailed step-by-step instructions with screenshots detailing how to access your data on other partitions, such as Windows partitions on dual-boot/multi-boot machines.

XFS Recommended FSTAB settings

Here is an example of my recommended "/etc/fstab" mount option settings for XFS filesystems:

/dev/sda5 /mnt/data xfs rw,seclabel,noatime,attr2,discard,inode64,logbufs=8,logbsize=32k,noquota 0 0



Add Windows Partitions to FSTAB with Correct Read/Write Permissions Using FMASK & DMASK

Although it's easy enough to simply add the partition and mount point of your Windows installation to your /etc/fstab file, so as to allow it to be auto-mounted when the machine is booted up, having the "CORRECT" permissions is another major concern!

In the "old" days, we used to use "UMASK" with a value of 022 as the "standard" way of setting up Windows partitions to be mounted with correct read/write permissions. These days, the "preferred" method is using FMASK and DMASK.

When I first purchased the laptop I am typing on right now, it only had Windows 10 on it, so I used the Linux "parted" tool to shrink down the Windows partition, allowing me to then create Linux partitions on which I then installed my favorite desktop Linux distro, Fedora Linux. My example below assumes your UID & GID are 1000. Adjust as appropriate. If you don't know what a UID is, use Google to look it up. Basically, as it's name implies, UID(User ID), this is the unique number assigned to your user account. UID number 1000 is usually the first normal user created on a Linux system. GID is basically the same thing, but on a group level. On most Linux systems, your main group and group ID is the same as your username and user ID. For instance, in my case on this laptop I am currently using, my username is "jamie", case sensitive without the quotes, and my main group membership is also "jamie". My UID is 1000 and the GID of the "jamie" group is also 1000.

Here is the /etc/fstab contents of this laptop:

# /etc/fstab
# Created by anaconda on Tue Mar  9 00:57:29 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=dca7d381-2784-4839-8c55-141702999d41 /                       xfs     defaults        0 0
UUID=68e3c043-0b5d-40a6-af84-a39527756962 /boot                   ext4    defaults        1 2
UUID=c9db933c-2101-4032-ae0d-b359c523c3be /home                   xfs     defaults        0 0
UUID=ec82d8bd-8bcd-4c8e-9a95-217baeb8b004 none                    swap    defaults        0 0

# Added 04-05-2021 by Jamie to correctly auto-mount the Windows partition:
UUID=5C2C252E2C25049C /windows ntfs rw,auto,user,fmask=133,dmask=022,uid=1000,gid=1000 0 0



GNOME Desktop Sharing Not Accessable from Windows --> Finally Fixed!!!

After many years of not being able to log into my Linux desktops from work laptops that of course have Windows installed on them, even within my own home network, gsettings comes to the rescure to resolve this long standing issue that's been a major inconveneice for me being a Linux guy working in the corporate world! The solution fixing the terminal menu below got me thinking that gsettings must be able to re-configure the default behavior of modern GNOME desktop's desktop shareing feature, which uses VNC, Virtual Network Computing, and specificially "x11vnc", it's default configuration is a security model not supported by most WIndows VNC clients. Therefore, the easy fix for me is to disable the security when using VNC on my local network(LAN). I actually do use VNC on through the internet as well, but always through an SSH tunnel, so it's highly encrypted!

Anyways, on to the fix. Within a terminal, as your normal user, type this gsettings command and hit the ENTER key:

[jamie@server.dawgland.com:~]$ gsettings set org.gnome.desktop.remote-desktop.vnc encryption "['none']"


If your system uses Vino, as many do, you may also have to type this command and hit ENTER:

[jamie@server.dawgland.com:~]$ gsettings set org.gnome.Vino require-encryption false


You can verify the above command worked and made the desired change by typing this command and hitting the ENTER key:

[jamie@server.dawgland.com:~]$ gsettings list-recursively org.gnome.Vino


You will have to scroll back up through all the data that the above command will provide to find the section you are looking for, or you can grep for it! For instance, modifying the above command to grep for the remote-desktop setting, type this command in a terminal and hit the ENTER key:

[jamie@server.dawgland.com:~]$ gsettings list-recursively org.gnome.desktop.remote-desktop.vnc | grep encryption


Restart your window manger or your entire computer, your choice, but logging out and back in should suffice. You should then be able to use VNC from any operating system, including Windows and MAC, along with Linux which has always worked regardless of the security modes and settings!

Fedora Terminal Missing Menu Fix

gsettings set org.gnome.Terminal.Legacy.Settings headerbar false

USB Flash Drive Info

Controlling USB Devices from the Linux Command Line

There are many tools available for use in controlling and managing USB devices connected to a Linux machine from the command line, giving you the most powerful means of managing USB devices!

Here are some of my favorites, in no particular order:


Have a USB flash drive floating around, and not sure of it's capabilites? I just ran into that same exact issue, though with a brand new USB flash drive that's a really kewl 500GiB double-ended thumb-type drive, one end the standard USB-A connector, and the other end, an iPhone "Lightning" connector! Perfect for me with all my iPhones, iPads, and over 74 computers just in my house!

So, here's a simple one-liner to find out how fast it will run at, which is all I really wanted to kmnow at this immediate moment in time! Here it is:

[jamie@fc33hw01.dawgland.com:~]$ sudo lsusb -vvv | grep operate


And here is the output of the above command, showing the speeds the device is capable of operating at:

can't get debug descriptor: Resource temporarily unavailable
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
[jamie@fc33hw01.dawgland.com:~]$


You can totally ignore the lines starting with the word "cant", as they are meaningless. As you can see from the above output, the device can operate at "Full", "High", and "SuperSpeed"! Wonderful, I now know what I wanted. I hope you find that little tidbit useful. Of course, you do have to be a member of the "sudoers" group. So, on that note, why not create another little snippet on how to add a normal, already existing user account to the sudoers group, allowing them to "safely" run apps with eleveate administrator/root user privileges. I'll put it here: SUDO - Running commands and apps with elevated superuser/root/administrator privileges safely!

News

The LinuxJamie.com, TheBestLinux.com & Dawgland.com web and email servers have been moved over to a new box that should provide much faster performance and more stability. Previously, the servers had been running on a very old VMWare server on my Fedora desktop.

I have also maxed out the RAM memory that my new Xeon based server motherboard is able to use, doubling it from 16GB to 32GB!

Please let me know if you experience any performance or other issues with any of my websites.

The best way to let me know is by email, @ Jamie at Dawgland.com.

New Pages Created!


I've created LOTS of new Windows related pages with all sorts of Windows tips, tricks,and How-To's. They can all be accessed directly at Windows so be sure to check them out, as I am currently added many new tips almost daily as I remember how to do things as I need to recall for both work and personal purposes.

Previous "New Wiki Pages":
New VMWare page created including two new custom how-to solution pages! Check it out here: VMWare Page

Special Interest

Linux

Linux - THE BEST OS(Operating System) EVER!

Linux Acronyms - What do they all mean?!?!

Linux Distributions, aka "Distros" - Bundles of software that makes up an entire usable operating system, including apps, utilities, etc.

Brand New Linux Server Administration Info, Tips & Guides

Brand New Linux Server Info, Configuration Guides & Very Useful Info on The Newest Distro Versions, Including Systemctl, the Replacement for Init.d Scripts and DNF, the new and modern Yum replacement! There's also lots of other new more modern Linux information added to this section all the time, so be sure to check it out often! For example, just today I added a really cool and handy Red Hat Enterprise 5,6 & 7 cheat sheet for common administrative commands in PDF format suitable for printout as "Hang-on-the-Wall" posters!!!

Apple iOS

Apple iOS Info

Linux Gaming

SteamOS: Linux based gaming operating system

MS Windows

Operating Systems

Windows Desktop/End-User Operating Systems (OS)

Microsoft Windows Desktop/End-User Operating System Info - The Desktop operating system most people use at home and at work.

Windows 10 Information, Tips, Tricks, & Very Useful Stuff! - Includes Business Related Must Have Info and How-To's!

Windows 11 Info, Upgrading, Configuring, Tweaking & Other Hopefully Useful Stuff Going Forward

Windows Server Information

Windows Server - General Information Common to All Versions for the Most Part

Windows Server 2022 Info - The Latest Greatest!

Windows Server 2019 Info

MS Virtualization

MS Windows computers, both End-User desktops like Windows 10, 11, etc and Windows Server versions come with Microsoft's own virtualization environment called Hyper-V. If you have not tried Hyper-V recently, you should if you are working in a mostly-windows environment, as it's really come a very long way in just the past couple of years with tons of new features that make using virtualization on top of Windows a breeze! It's what Azure machines run on for the most part, and can be administered using a GUI such Hyper-V on single Windows desktop machines, as well as on clusters made up of Windows Server machines. On a cluster, you should use "Failover Cluster Manager" to create, administer, modify and configure. Using PowerShell, you can get even more fine-tuned control over VM's, allowing you to do anything and a LOT more compared to using the GUI interface. And for the ultimate in Hyper-V management, using WAC, "Windows Admin Center". One of the very cool things about using WAC to create and manage Hyper-V VM's is it actually shows you the PowerShell commands to perform what you are doing within the WAC GUI!


PowerShell

Windows PowerShell Information and Examples Here you will find information on using PowerShell basic commands as well as more complex scripting.

VirtualBox by Oracle

VirtualBox provided for free by Oracle!!! Great VM solution which is totally free, unlike how VMWare has gone commercial, and is supposed to remain free forever. Better than VMWare in my tests and opinion, and is now being used to host all of my VM's, including this one running my Apache web server!

DNS Info

DNS, Bind, Named and other DNS related information

BIND Named DNS Server on Fedora Google Search

Bind on Fedora YouTube Video How-To



More info on the BIND DNS server to come as I find the time to create more documentation...



VMware

VMware - Run virtual machines(computer running on top of your computer - let's you run Linux on Windows, Windows on Linux, other versions of Windows on Windows, etc.) on your existing computer and it's free & easy!

Remote Desktop & VNC Info For Linux & Windows!

RDP - Remote Desktop Protocol for Windows - Now Safe Using SSH Tunneling!

VNC - Virtual Network Computing

VNC - Remote Virtual Network Computing for All Operating Systems!

VPN Server & Client Setup Using Linux

VPN - Setup a Virtual Private Network Easily Using a Linux Server!

MySQL & MariaDB

MySQL & MariaDB, the FREE MySQL Clone! - My Favorite SQL Database Servers

Vi/Vim

Vi/Vim Information, Tips & Tricks

PERL

Perl Scripting Information

PHP

PHP Scripting Information

DOS & Windows

DOS & Windows - Still gotta use it for some work, unfortunately...
iTunes Information for Windows

WMIC Info & Tips - wmic diskdrive list brief

Hardware

Raspberry Pi

  • Versions
  • Types
  • Upgrades
    • Cameras
    • Other

Cisco Information

Cisco IOS Command Line Information

Cisco 1000 Series Enterprise Routers

Some of My Old floppy Disk Utilities

Here is a link to the link to the ISO of Jamie's Floppy Disk Utilities

Network Utilities

Dropbox info for All Platforms & Operating Sytems - Great for synchronizing, backing up, restoring and archiving all of your important files over the local network and Internet to all of your computers and mobile devices! Keeps all of your files the same on all of your computers, iPhones, iPads, and other networked devices at all times!!!

UPnP & DNLA Info

Differences and similarities between the two media sharing protocols can be found here UPnP & DNLA Comparison

Web Utilities

Sitebar Bookmarks/Favorites utility which stores and organizes all your bookmarks/favorites in an online database accessible from any web browser and any computer anywhere. Plugs available for your favorite web browsers are also available. Run your own Sitebar on your own Linux server, or use mine! Just email jamie@dawgland.com to request your own free Sitebar database!

CA Certificate Info

Free CA Certificate Information

Other Operating Systems

ReactOS

Drupal Info

Drupal_Information

Online Shopping & Related Info

Internet Based Shopping Including Online Store Info & Personal Experiences

Online Banking, Payment Options & Other Monetary Information

Download Safe Software!

Tested Safe Software Downloads

Some Useful Links

Here are some lists of useful URL's and other links on all sorts of topics yet to be categorized!

Reference & Miscellaneous Information

Miscellaneous Conversion and Other Reference Information - Including Metric Conversions

Coming Soon

I just bought the new iPad 3rd generation, so will be adding a new section dedicated to tips and tricks I learn on the way!

I've already learned a lot of cool things that are not normally available without jail breaking the thing,
so check back every so often for new iPad content!

Thanks for visiting My Wiki!

Wiki Abuse

The ability to create your own account has been seriously abused for personal and commercial gain, so I have disabled this feature.

If you wish to contribute content here, please email Jamie at jamie@dawgland.com, and I will create an account for you.

This policy is subject to change.

Copyright Statement

All content and information on this website is the sole property of Jamie D. Rubinstein.
Any type of duplication is strictly prohibited by United States copyright law unless otherwise granted by Jamie D. Rubinstein.
© 1992 - 2021 Jamie D. Rubinstein - LinuxJamie.com - Dawgland.com - TheBestLinux.com - J.R. Computers. All rights reserved.