WEBVTT

1
00:00:00.080 --> 00:00:03.160
<v Speaker 1>Welcome back to the deep dive. Today, we're jumping into

2
00:00:03.240 --> 00:00:07.480
<v Speaker 1>something really essential, getting a handle on red Hat Enterprise

3
00:00:07.559 --> 00:00:13.160
<v Speaker 1>Lenox nine rh A nine. We're basically mining the Enterprise

4
00:00:13.240 --> 00:00:16.839
<v Speaker 1>Lenox nine Certification Study Guide, the RHGSA one from twenty

5
00:00:16.879 --> 00:00:18.839
<v Speaker 1>twenty four for the absolute core stuff.

6
00:00:18.920 --> 00:00:21.199
<v Speaker 2>Exactly. The mission really is to pull out those key

7
00:00:21.280 --> 00:00:24.679
<v Speaker 2>ideas about RHGL nine administration, make it clear maybe even

8
00:00:24.760 --> 00:00:27.800
<v Speaker 2>you know, engaging, avoid just drowning you in information.

9
00:00:28.079 --> 00:00:30.440
<v Speaker 1>Yeah, think of it as a shortcut. We're not replacing

10
00:00:30.440 --> 00:00:32.399
<v Speaker 1>the guide obviously, No, no, definitely not.

11
00:00:32.679 --> 00:00:35.320
<v Speaker 2>But it's like a focused look at the must nose.

12
00:00:36.119 --> 00:00:39.359
<v Speaker 2>So whether you're just kind of RHL curious or you're

13
00:00:39.359 --> 00:00:41.000
<v Speaker 2>actually you know, needing to work with.

14
00:00:40.920 --> 00:00:42.960
<v Speaker 1>It, right, we hope this helps you nail down those

15
00:00:43.000 --> 00:00:46.320
<v Speaker 1>fundamentals and maybe you uncover a few surprising bits along

16
00:00:46.320 --> 00:00:48.840
<v Speaker 1>the way. So useful. Okay, let's kick off part one,

17
00:00:49.759 --> 00:00:52.479
<v Speaker 1>getting started setting things up, and then the command line itself.

18
00:00:53.039 --> 00:00:58.359
<v Speaker 1>So groundwork first, hardware. Now, the actual RHCSA exam. It

19
00:00:58.439 --> 00:00:59.880
<v Speaker 1>doesn't test hardware.

20
00:00:59.520 --> 00:01:02.000
<v Speaker 2>Knowledge, but you need something to run it on, obviously,

21
00:01:02.560 --> 00:01:03.479
<v Speaker 2>Exactly it.

22
00:01:03.399 --> 00:01:04.840
<v Speaker 1>Has to be a six to four bit system. That's

23
00:01:04.879 --> 00:01:09.200
<v Speaker 1>a must. And if you're using virtual machines for practice, which,

24
00:01:09.519 --> 00:01:11.760
<v Speaker 1>let's be honest, is probably how most people learn this stuff.

25
00:01:11.840 --> 00:01:13.159
<v Speaker 2>Yeah, highly recommended.

26
00:01:13.799 --> 00:01:17.920
<v Speaker 1>The guide suggests aiming for at least eight GB of RAM.

27
00:01:18.959 --> 00:01:21.680
<v Speaker 1>That's if you want to run a couple of vms comfortably, right, like.

28
00:01:21.640 --> 00:01:25.079
<v Speaker 2>A server and maybe a client, or just two practice machines.

29
00:01:25.239 --> 00:01:29.920
<v Speaker 1>It mentions VMware workstation players specifically, which is a solid choice.

30
00:01:29.959 --> 00:01:32.680
<v Speaker 2>Yeah, but KVM is another great one, especially if you're

31
00:01:32.680 --> 00:01:34.480
<v Speaker 2>already comfortable in a Linux environment.

32
00:01:34.879 --> 00:01:37.599
<v Speaker 1>They're just different ways to get that virtual sandbox set up,

33
00:01:37.719 --> 00:01:37.920
<v Speaker 1>you know.

34
00:01:38.079 --> 00:01:40.560
<v Speaker 2>Yeah, and having that good practice setup is key. It

35
00:01:40.640 --> 00:01:42.840
<v Speaker 2>just avoids a lot of frustration down the line if

36
00:01:42.879 --> 00:01:44.879
<v Speaker 2>your base system can actually handle it.

37
00:01:45.040 --> 00:01:49.159
<v Speaker 1>Okay, so installation itself. You've got your boot, media, DBD, maybe.

38
00:01:49.079 --> 00:01:51.000
<v Speaker 2>USB, uh huh, the usual suspects.

39
00:01:51.079 --> 00:01:54.640
<v Speaker 1>Then you hit partitioning. This is where you're dividing up

40
00:01:54.680 --> 00:01:55.319
<v Speaker 1>your disc.

41
00:01:55.319 --> 00:01:57.760
<v Speaker 2>Think of it like setting up drawers in a filing

42
00:01:57.799 --> 00:02:01.439
<v Speaker 2>cabinet before you put files in. Create the partitions, assign

43
00:02:01.599 --> 00:02:05.359
<v Speaker 2>mount points like the main slash for the root directory

44
00:02:05.599 --> 00:02:09.280
<v Speaker 2>or home for user files exactly, and the way richil

45
00:02:09.400 --> 00:02:14.159
<v Speaker 2>nine organizes files within those partitions. The default file system

46
00:02:14.560 --> 00:02:17.120
<v Speaker 2>is excess. That gets the main focus in.

47
00:02:17.080 --> 00:02:19.439
<v Speaker 1>The guide, right, So you set up your partitions, choose

48
00:02:19.439 --> 00:02:24.919
<v Speaker 1>your software, and for learning, the guide points towards server

49
00:02:25.120 --> 00:02:26.159
<v Speaker 1>with uy. Yeah.

50
00:02:26.199 --> 00:02:28.520
<v Speaker 2>That gives you both the command line and a graphical desktop,

51
00:02:28.520 --> 00:02:30.120
<v Speaker 2>which can be handy when you're starting.

52
00:02:30.199 --> 00:02:32.840
<v Speaker 1>You set the root passwords super important, that's the master key.

53
00:02:32.919 --> 00:02:34.400
<v Speaker 2>Don't lose that, huh.

54
00:02:34.520 --> 00:02:37.039
<v Speaker 1>Yeah, and then there's a little initial setup after the

55
00:02:37.039 --> 00:02:37.599
<v Speaker 1>first boot.

56
00:02:37.800 --> 00:02:38.919
<v Speaker 2>Pretty straightforward stuff.

57
00:02:38.919 --> 00:02:41.439
<v Speaker 1>Okay, So you're logged in now the command line that's

58
00:02:41.439 --> 00:02:42.120
<v Speaker 1>where the action.

59
00:02:42.039 --> 00:02:44.280
<v Speaker 2>Is pretty much, and the default language the shell you're

60
00:02:44.280 --> 00:02:45.080
<v Speaker 2>talking to is.

61
00:02:45.280 --> 00:02:47.280
<v Speaker 1>Bash, right BSh. Yeah.

62
00:02:47.319 --> 00:02:50.840
<v Speaker 2>There are others like KSh, tcs ZISH, yeah, you might

63
00:02:50.840 --> 00:02:53.800
<v Speaker 2>see them, but Bash is the default you'll find yourself in.

64
00:02:54.039 --> 00:02:57.800
<v Speaker 1>You can have multiple command lines open these virtual consoles.

65
00:02:57.360 --> 00:02:59.439
<v Speaker 2>Oh yeah, like having different text based screens. You can

66
00:02:59.479 --> 00:03:02.759
<v Speaker 2>flip between them seatrawl alt F three, seatrawl alt f four,

67
00:03:02.840 --> 00:03:04.680
<v Speaker 2>things like that. Each one can be a separate log

68
00:03:04.680 --> 00:03:05.120
<v Speaker 2>in session.

69
00:03:05.360 --> 00:03:09.479
<v Speaker 1>Handy. Okay, course skills finding your way around.

70
00:03:09.360 --> 00:03:14.039
<v Speaker 2>First up PWD print working directory tells you where you

71
00:03:14.039 --> 00:03:14.879
<v Speaker 2>are right now.

72
00:03:14.719 --> 00:03:17.759
<v Speaker 1>And CD to move change directory.

73
00:03:17.439 --> 00:03:21.000
<v Speaker 2>Exactly, and you need to get the difference between absolute paths.

74
00:03:21.039 --> 00:03:22.639
<v Speaker 2>Starting from the root like a full.

75
00:03:22.479 --> 00:03:23.879
<v Speaker 1>Address all major documents.

76
00:03:24.039 --> 00:03:27.120
<v Speaker 2>Yeah, and relative paths which are based on your current location,

77
00:03:27.280 --> 00:03:30.479
<v Speaker 2>like go up one level CD, or go into this

78
00:03:30.639 --> 00:03:32.520
<v Speaker 2>directory here's CD, durnet, we.

79
00:03:32.520 --> 00:03:36.039
<v Speaker 1>Got it, and this path variable ah path.

80
00:03:36.159 --> 00:03:38.680
<v Speaker 2>That's basically a list of directories the system checks whenever

81
00:03:38.719 --> 00:03:41.520
<v Speaker 2>you just type of command name like l's or p doud.

82
00:03:41.879 --> 00:03:42.960
<v Speaker 2>It's how it finds the program.

83
00:03:43.039 --> 00:03:44.800
<v Speaker 1>Okay, and the tilled.

84
00:03:44.879 --> 00:03:47.319
<v Speaker 2>Oh, the tildy that's just a shortcut always takes you

85
00:03:47.360 --> 00:03:49.560
<v Speaker 2>back to your own home directory. Super useful.

86
00:03:49.680 --> 00:03:52.639
<v Speaker 1>Nice okay. Dealing with files and directories.

87
00:03:52.479 --> 00:03:56.199
<v Speaker 2>Listing them l's that's your basic listing command, but the

88
00:03:56.199 --> 00:03:57.919
<v Speaker 2>real power is in the options like.

89
00:03:57.919 --> 00:04:02.439
<v Speaker 1>Aero for the long listing, shows missions, size, date, right.

90
00:04:02.560 --> 00:04:05.479
<v Speaker 2>And a to see all files, including the hidden ones

91
00:04:05.520 --> 00:04:07.960
<v Speaker 2>that start with a dot. Then you've got at to

92
00:04:08.000 --> 00:04:10.080
<v Speaker 2>sort by time. It shows the inn number like a

93
00:04:10.159 --> 00:04:12.639
<v Speaker 2>unique id for the file on the disc. R R

94
00:04:12.759 --> 00:04:16.800
<v Speaker 2>reverses the sort order, and MSR capital r that lists

95
00:04:16.959 --> 00:04:20.000
<v Speaker 2>everything recursively like all the subdirectories too.

96
00:04:20.199 --> 00:04:20.519
<v Speaker 3>Wow.

97
00:04:20.680 --> 00:04:23.120
<v Speaker 1>Okay, so l's is pretty powerful.

98
00:04:23.319 --> 00:04:27.600
<v Speaker 2>Definitely worth learning those options. Creating directories mm deer make

99
00:04:27.639 --> 00:04:29.720
<v Speaker 2>directory and the optic option is great. It creates parent

100
00:04:29.720 --> 00:04:34.160
<v Speaker 2>directories if they don't already exist. So mm ear MmpD one,

101
00:04:34.360 --> 00:04:37.120
<v Speaker 2>deer two, deer three works even if deer one and

102
00:04:37.199 --> 00:04:38.319
<v Speaker 2>deer two aren't there yet.

103
00:04:38.360 --> 00:04:40.199
<v Speaker 1>Saves time and empty files.

104
00:04:40.360 --> 00:04:43.079
<v Speaker 2>Touch just touch file name, or you can update the

105
00:04:43.079 --> 00:04:44.639
<v Speaker 2>timestamp of an existing file.

106
00:04:44.439 --> 00:04:46.959
<v Speaker 1>With it too. Okay, Copying, moving, removing.

107
00:04:46.879 --> 00:04:50.480
<v Speaker 2>CP for copy, MV for move, which also renames files

108
00:04:50.480 --> 00:04:52.639
<v Speaker 2>by the way, and RM for remove.

109
00:04:52.959 --> 00:04:55.079
<v Speaker 1>And this is the one to be careful with, right, No.

110
00:04:55.120 --> 00:04:58.439
<v Speaker 2>Trash bin exactly. Once you arm something, it's generally gone.

111
00:04:58.480 --> 00:05:00.399
<v Speaker 2>So yeah, double check before you hit enter.

112
00:05:00.639 --> 00:05:03.480
<v Speaker 1>Good advice. What about links? Hard link soft links?

113
00:05:03.639 --> 00:05:06.800
<v Speaker 2>Right, So MMn file name link name creates a hard link.

114
00:05:07.199 --> 00:05:09.959
<v Speaker 2>Think of it as two directory entries pointing to the

115
00:05:10.000 --> 00:05:12.480
<v Speaker 2>exact same data block on the disc. If you delete

116
00:05:12.519 --> 00:05:14.759
<v Speaker 2>one name, the data is still there under the other name.

117
00:05:15.040 --> 00:05:19.319
<v Speaker 2>Soft links or symbolic links are made with LNNSS. That's

118
00:05:19.360 --> 00:05:21.360
<v Speaker 2>more like a shortcut. It just points to the name

119
00:05:21.360 --> 00:05:23.480
<v Speaker 2>of the original file. If the original file moves or

120
00:05:23.519 --> 00:05:25.040
<v Speaker 2>gets deleted, the soft link breaks.

121
00:05:25.399 --> 00:05:27.639
<v Speaker 1>Gotcha. So hard links point to the data. Soft links

122
00:05:27.639 --> 00:05:28.240
<v Speaker 1>point to the name.

123
00:05:28.319 --> 00:05:28.800
<v Speaker 2>Pretty much.

124
00:05:28.879 --> 00:05:30.959
<v Speaker 1>Yeah, all right, permissions, This looks important.

125
00:05:31.439 --> 00:05:36.079
<v Speaker 2>Chwud very important schmad changes the mode the permissions. You

126
00:05:36.079 --> 00:05:38.560
<v Speaker 2>can use numbers like schmod six forty file.

127
00:05:38.480 --> 00:05:40.279
<v Speaker 1>Six four zero. What does that mean?

128
00:05:40.360 --> 00:05:44.319
<v Speaker 2>It's octal. Each number represents permissions for user, group and others.

129
00:05:44.639 --> 00:05:47.160
<v Speaker 2>Six is read and write, four plus two four is

130
00:05:47.199 --> 00:05:49.199
<v Speaker 2>read only. Zero is no permissions.

131
00:05:49.279 --> 00:05:51.600
<v Speaker 1>Ah. Okay, r as four w is two.

132
00:05:51.639 --> 00:05:54.399
<v Speaker 2>X is one exactly. Or you can use the symbolic

133
00:05:54.480 --> 00:05:58.279
<v Speaker 2>mode you gore x like schmod g plus w file

134
00:05:58.399 --> 00:06:01.160
<v Speaker 2>adds right permission for the group g com for user

135
00:06:01.199 --> 00:06:02.160
<v Speaker 2>G group oh others.

136
00:06:02.240 --> 00:06:04.800
<v Speaker 1>Okay, that seems more intuitive, Maybe it can be.

137
00:06:04.879 --> 00:06:09.319
<v Speaker 2>The guide also mentions special dits sgid G plus s

138
00:06:09.399 --> 00:06:12.480
<v Speaker 2>on a director means new files created inside it get

139
00:06:12.519 --> 00:06:15.920
<v Speaker 2>the directory's group, not the user's primary group, and the

140
00:06:15.959 --> 00:06:20.079
<v Speaker 2>sticky bit O plus T on a shared directory like

141
00:06:20.160 --> 00:06:23.079
<v Speaker 2>tm tem it means only the owner of a file

142
00:06:23.120 --> 00:06:25.839
<v Speaker 2>can delete it, even if others have right permission to

143
00:06:25.839 --> 00:06:26.439
<v Speaker 2>the directory.

144
00:06:26.720 --> 00:06:28.600
<v Speaker 1>Ah. Useful for shared spaces.

145
00:06:28.680 --> 00:06:32.480
<v Speaker 2>Yeah. Then chound changes the owner th hg RP changes

146
00:06:32.519 --> 00:06:37.319
<v Speaker 2>the group pretty straightforward, and the ooh mask that sets

147
00:06:37.360 --> 00:06:40.879
<v Speaker 2>the default permissions. When you create a new file or directory,

148
00:06:41.199 --> 00:06:44.399
<v Speaker 2>the system starts with full permissions and then subtracts whatever

149
00:06:44.480 --> 00:06:47.959
<v Speaker 2>the mask specifies, so it controls how things are created initially.

150
00:06:48.040 --> 00:06:50.360
<v Speaker 1>Okay, kind of like a template for new file permissions

151
00:06:50.399 --> 00:06:50.720
<v Speaker 1>sort of.

152
00:06:50.800 --> 00:06:52.759
<v Speaker 2>Yeah, it masks off permissions.

153
00:06:52.759 --> 00:06:54.279
<v Speaker 1>Then chatter file attributes.

154
00:06:54.399 --> 00:06:57.040
<v Speaker 2>Yeah, that's another layer chatter. Let's you say, attributes like

155
00:06:57.079 --> 00:07:00.759
<v Speaker 2>immutable plus I. If a file is immutable, nobody can

156
00:07:00.839 --> 00:07:02.519
<v Speaker 2>change or delete it, not even root.

157
00:07:02.639 --> 00:07:03.839
<v Speaker 1>Seriously, not even root.

158
00:07:03.920 --> 00:07:06.480
<v Speaker 2>Nope, you have to remove the immutable flag first. With

159
00:07:06.600 --> 00:07:09.720
<v Speaker 2>chat r, there's also a pend only plus a where

160
00:07:09.720 --> 00:07:11.240
<v Speaker 2>you can add to the end of a file but

161
00:07:11.279 --> 00:07:13.240
<v Speaker 2>can't delete or change existing content.

162
00:07:13.439 --> 00:07:16.920
<v Speaker 1>Interesting, okay. Working with text dot redirection super useful.

163
00:07:17.360 --> 00:07:21.600
<v Speaker 2>The greater then sign redirects output to a file overwriting

164
00:07:21.639 --> 00:07:25.319
<v Speaker 2>it double greater than a pens to the file. Less

165
00:07:25.360 --> 00:07:28.079
<v Speaker 2>then feeds a file as input to a command, and

166
00:07:28.120 --> 00:07:30.959
<v Speaker 2>the pipe sends the output of one command directly as

167
00:07:31.040 --> 00:07:31.519
<v Speaker 2>input to.

168
00:07:31.439 --> 00:07:33.680
<v Speaker 1>The next, Say chaining commands together.

169
00:07:33.439 --> 00:07:35.839
<v Speaker 2>Exactly and two redirects error messages.

170
00:07:35.839 --> 00:07:39.560
<v Speaker 1>Specifically, good to know searching text dot rep rep.

171
00:07:39.360 --> 00:07:43.519
<v Speaker 2>Is your best friend for searching dot GP pattern file name,

172
00:07:43.920 --> 00:07:47.199
<v Speaker 2>and it gets really powerful with regular expressions. Those special

173
00:07:47.279 --> 00:07:51.240
<v Speaker 2>characters like dot for any character, square brackets for set

174
00:07:51.240 --> 00:07:56.079
<v Speaker 2>of characters, question mark plus plus star for matching repetitions.

175
00:07:56.240 --> 00:07:58.120
<v Speaker 1>Let's you do really complex pattern matching.

176
00:07:58.439 --> 00:08:00.680
<v Speaker 2>Absolutely, and if you just need to compare two files,

177
00:08:00.720 --> 00:08:02.639
<v Speaker 2>see what's different, use diff.

178
00:08:02.759 --> 00:08:06.240
<v Speaker 1>Defall one file two simple enough YEP editing files. Okay, VI,

179
00:08:06.720 --> 00:08:07.879
<v Speaker 1>this one has a reputation.

180
00:08:08.040 --> 00:08:10.160
<v Speaker 2>It does, it's powerful, it's everywhere. But yeah, it had

181
00:08:10.199 --> 00:08:13.000
<v Speaker 2>a learning curve. The key is understanding its modes, especially

182
00:08:13.040 --> 00:08:13.639
<v Speaker 2>command mode.

183
00:08:13.720 --> 00:08:16.120
<v Speaker 1>Right, we're not typing text directly exactly.

184
00:08:16.160 --> 00:08:19.360
<v Speaker 2>You use keys like to search forward, to search backward right,

185
00:08:19.480 --> 00:08:23.560
<v Speaker 2>followed by commands like W to wright, save, q to quit,

186
00:08:23.920 --> 00:08:25.600
<v Speaker 2>or to buq to save and quit.

187
00:08:25.800 --> 00:08:30.240
<v Speaker 1>Okay. And these special versions VBO, VG pseudo.

188
00:08:29.920 --> 00:08:34.440
<v Speaker 2>Ah, yeah, those are wrappers around V, specifically for editing

189
00:08:34.440 --> 00:08:37.320
<v Speaker 2>critical system files like et cetubas, food, et cetera, group

190
00:08:37.360 --> 00:08:40.879
<v Speaker 2>and etcetera. Pseudos they add safeguards like file locking to

191
00:08:40.919 --> 00:08:43.759
<v Speaker 2>prevent multiple people editing at once or messing things up

192
00:08:43.799 --> 00:08:47.480
<v Speaker 2>too badly. Definitely use those when editing those specific files.

193
00:08:47.559 --> 00:08:50.759
<v Speaker 2>But if V is just too much at first, well,

194
00:08:50.799 --> 00:08:53.000
<v Speaker 2>you can actually change your default editor. You set the

195
00:08:53.080 --> 00:08:56.480
<v Speaker 2>editor environment variable and the guide mentions NANO, which is

196
00:08:56.600 --> 00:08:59.559
<v Speaker 2>much simpler and more like a standard notepad style editor,

197
00:09:00.000 --> 00:09:02.200
<v Speaker 2>and you at the bottom pretty intuitive.

198
00:09:01.799 --> 00:09:04.519
<v Speaker 1>Good alternative to know about definitely. Lastly, for this section,

199
00:09:04.600 --> 00:09:07.279
<v Speaker 1>getting help documentation crucial.

200
00:09:07.480 --> 00:09:10.120
<v Speaker 2>Man pages are the first stop man command name read

201
00:09:10.159 --> 00:09:10.679
<v Speaker 2>the manual.

202
00:09:10.799 --> 00:09:11.840
<v Speaker 1>People always say that.

203
00:09:11.799 --> 00:09:14.679
<v Speaker 2>Because it's true, especially check the example section at the

204
00:09:14.720 --> 00:09:16.519
<v Speaker 2>end of many men pages. Super helpful.

205
00:09:16.559 --> 00:09:17.799
<v Speaker 1>Okay, what is an apropos?

206
00:09:18.080 --> 00:09:20.159
<v Speaker 2>What shared as gives you just a quick one line

207
00:09:20.159 --> 00:09:23.799
<v Speaker 2>summary of what a command does. Apropos keyword searches those summaries,

208
00:09:23.799 --> 00:09:25.519
<v Speaker 2>so if you can't remember the command name but know

209
00:09:25.600 --> 00:09:27.399
<v Speaker 2>what it does, apropos can help you find it.

210
00:09:27.639 --> 00:09:33.080
<v Speaker 3>Nice and infodocs oser doc Info is another documentation system,

211
00:09:33.320 --> 00:09:35.919
<v Speaker 3>sometimes more detailed than man pages, but maybe less used

212
00:09:35.960 --> 00:09:39.879
<v Speaker 3>now and yeah, asha doc often has rehabiens examples, extra

213
00:09:39.919 --> 00:09:42.919
<v Speaker 3>docs provided by the software package itself always worth a look.

214
00:09:42.919 --> 00:09:43.799
<v Speaker 2>If you're stuck.

215
00:09:44.039 --> 00:09:46.600
<v Speaker 1>Lots of places to find help, then for sure. Okay,

216
00:09:46.679 --> 00:09:51.600
<v Speaker 1>let's shift gears part two, Managing the system itself. Starting

217
00:09:51.600 --> 00:09:52.759
<v Speaker 1>with software right.

218
00:09:52.919 --> 00:09:56.679
<v Speaker 2>So RHL uses RPM packages. That's the underlying format, But

219
00:09:56.759 --> 00:10:00.240
<v Speaker 2>the main tool you'll use to install, update remove software

220
00:10:00.279 --> 00:10:00.919
<v Speaker 2>is DNF.

221
00:10:01.080 --> 00:10:03.200
<v Speaker 1>DNF okay you replace YM right.

222
00:10:03.279 --> 00:10:06.480
<v Speaker 2>Yeah. DNF is the modern version. It talks to repositories

223
00:10:06.519 --> 00:10:09.879
<v Speaker 2>basically online collections of software packages. These are configured in

224
00:10:09.919 --> 00:10:12.600
<v Speaker 2>files under ETCM, DOT Repo, dot D and.

225
00:10:12.679 --> 00:10:14.200
<v Speaker 1>Red Hat subscription management.

226
00:10:14.320 --> 00:10:16.679
<v Speaker 2>That's how your system proves it's allowed to access the

227
00:10:16.720 --> 00:10:20.000
<v Speaker 2>official red Hat repositories and get updates in software. And

228
00:10:20.120 --> 00:10:22.960
<v Speaker 2>DNF handles dependencies automatically.

229
00:10:22.559 --> 00:10:25.320
<v Speaker 1>Meaning if you install program A and needs library B

230
00:10:25.440 --> 00:10:28.200
<v Speaker 1>to work, DNF figures that out and installs library B

231
00:10:28.240 --> 00:10:29.080
<v Speaker 1>too exactly.

232
00:10:29.159 --> 00:10:29.879
<v Speaker 2>Saves a ton of.

233
00:10:29.840 --> 00:10:31.679
<v Speaker 1>Hassle so common DNF commands.

234
00:10:31.759 --> 00:10:36.200
<v Speaker 2>DNF List shows available or installed packages. DNF install package name,

235
00:10:36.440 --> 00:10:41.960
<v Speaker 2>DNF update updates everything or just one package. DNF remove package.

236
00:10:41.639 --> 00:10:43.960
<v Speaker 1>Name, okay, install update, remove what else.

237
00:10:44.039 --> 00:10:46.799
<v Speaker 2>DNF info package name gives you details about a package.

238
00:10:47.039 --> 00:10:51.279
<v Speaker 2>DNF repolist shows you which repositories your system is actually using,

239
00:10:51.679 --> 00:10:54.039
<v Speaker 2>and DNF provides file name as useful, it tells you

240
00:10:54.159 --> 00:10:57.159
<v Speaker 2>which package owns a specific file like a SERB and.

241
00:10:57.200 --> 00:10:59.240
<v Speaker 1>Mash ah handy for tracking things down.

242
00:10:59.519 --> 00:11:01.639
<v Speaker 2>And While DNF is the main tool, you can sometimes

243
00:11:01.679 --> 00:11:03.200
<v Speaker 2>interact with RPM files.

244
00:11:02.919 --> 00:11:05.000
<v Speaker 1>Directly using the RPM command.

245
00:11:04.759 --> 00:11:09.200
<v Speaker 2>Right rpmdshis package dot RPM installs a specific RPM file,

246
00:11:09.279 --> 00:11:12.679
<v Speaker 2>I install viver bose h hash marks for progress. RPM

247
00:11:12.759 --> 00:11:16.600
<v Speaker 2>dosh qa lists all installed packages, rpmdsh QL package name

248
00:11:16.639 --> 00:11:19.360
<v Speaker 2>lists all the files inside and installed package okay, and

249
00:11:19.519 --> 00:11:22.919
<v Speaker 2>RPM dash K package dot RPM verifies the package's digital

250
00:11:22.960 --> 00:11:27.159
<v Speaker 2>signature using gpgkeys usually stored in et cetera, KERPM, DOUSHDPG

251
00:11:27.440 --> 00:11:29.559
<v Speaker 2>to make sure it's legitimate and hasn't been tampered with.

252
00:11:29.840 --> 00:11:34.720
<v Speaker 1>Security check good. What about module streams ah modules?

253
00:11:35.240 --> 00:11:38.600
<v Speaker 2>There a way? Our HL offers different versions of software

254
00:11:38.639 --> 00:11:41.120
<v Speaker 2>like maybe Python three point nine and Python three point

255
00:11:41.200 --> 00:11:44.639
<v Speaker 2>one one on the same system without conflicts. You can

256
00:11:44.720 --> 00:11:48.840
<v Speaker 2>use DNF module list and DNF module infotasy what's available? Okay.

257
00:11:48.840 --> 00:11:53.240
<v Speaker 1>It provides flexibility exactly right. System startup the boot process.

258
00:11:53.279 --> 00:11:54.080
<v Speaker 1>How does that work?

259
00:11:54.399 --> 00:11:58.159
<v Speaker 2>It's a sequence. First, the bios or UA five firmware

260
00:11:58.279 --> 00:12:01.840
<v Speaker 2>initializes the hardware. Then and it hands off to the bootloader.

261
00:12:01.360 --> 00:12:04.200
<v Speaker 1>Which is GRB two and RHL nine correct.

262
00:12:04.519 --> 00:12:07.600
<v Speaker 2>GRB two then loads the Linux kernel into memory. The

263
00:12:07.679 --> 00:12:11.120
<v Speaker 2>kernel starts up, mounts a temporary initial filesystem called the

264
00:12:11.159 --> 00:12:14.480
<v Speaker 2>INNA tramps, and finally the kernel starts the very first

265
00:12:14.559 --> 00:12:18.480
<v Speaker 2>real process, which is systemed. System gets process ID one

266
00:12:18.600 --> 00:12:21.039
<v Speaker 2>and it takes over managing the rest of the system.

267
00:12:21.080 --> 00:12:22.720
<v Speaker 1>Startup system does the big boss.

268
00:12:22.759 --> 00:12:25.600
<v Speaker 2>Then pretty much the conductor, As the guide.

269
00:12:25.320 --> 00:12:27.919
<v Speaker 1>Says, what about GRB two itself? Anything we need to know?

270
00:12:28.159 --> 00:12:30.159
<v Speaker 2>You'll see its menu at boot. You can choose different

271
00:12:30.200 --> 00:12:33.279
<v Speaker 2>kernels if you have them. Pressing E lets you temporarily

272
00:12:33.480 --> 00:12:37.159
<v Speaker 2>edit the kernel boot parameters useful for troubleshooting. Sometimes its

273
00:12:37.200 --> 00:12:41.200
<v Speaker 2>main config file is etc default grub a key setting.

274
00:12:41.200 --> 00:12:43.679
<v Speaker 2>There is jur rub time out how long the menu

275
00:12:43.679 --> 00:12:45.720
<v Speaker 2>waits before booting the default entry?

276
00:12:45.879 --> 00:12:48.399
<v Speaker 1>Right. So, systemed you said it manages everything.

277
00:12:48.600 --> 00:12:53.440
<v Speaker 2>It manages services, devices, mount points, almost everything using units.

278
00:12:53.720 --> 00:12:56.200
<v Speaker 2>These are just configuration files telling a system to how

279
00:12:56.200 --> 00:12:56.960
<v Speaker 2>to manage something.

280
00:12:57.200 --> 00:12:58.360
<v Speaker 1>Where are these unit files?

281
00:12:58.440 --> 00:13:01.480
<v Speaker 2>System Wide defaults are in e U solob systemed system

282
00:13:01.679 --> 00:13:05.039
<v Speaker 2>and your customizations or locally installed ones go in its

283
00:13:05.039 --> 00:13:09.440
<v Speaker 2>systems system Targets. Targets are special units that group other units.

284
00:13:09.480 --> 00:13:11.279
<v Speaker 2>Think of them like run levels in the old days.

285
00:13:11.600 --> 00:13:15.000
<v Speaker 2>Multi user dot target is your typical command line server state.

286
00:13:15.360 --> 00:13:18.320
<v Speaker 2>Graphical dot target adds the graphical desktop on top of that.

287
00:13:18.759 --> 00:13:20.399
<v Speaker 1>How do you control these units and.

288
00:13:20.360 --> 00:13:22.840
<v Speaker 2>Targets with the system's statle command?

289
00:13:23.120 --> 00:13:24.679
<v Speaker 1>It's central, okay, What can I do?

290
00:13:24.960 --> 00:13:30.519
<v Speaker 2>System statle start service name stop, restart, reload to reread

291
00:13:30.519 --> 00:13:33.200
<v Speaker 2>config without a full restart status to see if it's

292
00:13:33.279 --> 00:13:34.639
<v Speaker 2>running and get recent logs.

293
00:13:34.679 --> 00:13:37.200
<v Speaker 1>Basic service control Yeah.

294
00:13:36.759 --> 00:13:39.879
<v Speaker 2>Then system tell'll enable service name makes it start automatically

295
00:13:39.919 --> 00:13:44.000
<v Speaker 2>at boot disabled, stops that is enabled, checks the current setting,

296
00:13:44.240 --> 00:13:48.159
<v Speaker 2>and list units shows everything system is currently managing.

297
00:13:48.519 --> 00:13:51.240
<v Speaker 1>Can you change the default state like boot to command

298
00:13:51.320 --> 00:13:52.799
<v Speaker 1>line instead of graphical Yep.

299
00:13:52.919 --> 00:13:56.120
<v Speaker 2>You can set the default target using system teleset default.

300
00:13:56.200 --> 00:13:59.399
<v Speaker 1>Okay, what if things go wrong during boot? How do

301
00:13:59.440 --> 00:14:01.200
<v Speaker 1>you see messages journal?

302
00:14:01.240 --> 00:14:04.480
<v Speaker 2>Telll that's the command to view the system journal, which

303
00:14:04.480 --> 00:14:06.559
<v Speaker 2>collects logs from pretty much everywhere.

304
00:14:06.720 --> 00:14:08.840
<v Speaker 1>So system lugs are centralized now largely.

305
00:14:08.919 --> 00:14:11.879
<v Speaker 2>Yes, And for troubleshooting, you can manually boot to a

306
00:14:11.919 --> 00:14:15.240
<v Speaker 2>specific target by adding like system d dot unit multi

307
00:14:15.320 --> 00:14:18.080
<v Speaker 2>user dot target to the kernel line in grub. Okay,

308
00:14:18.120 --> 00:14:20.000
<v Speaker 2>and there's dart dot break. You can add two, which

309
00:14:20.039 --> 00:14:22.919
<v Speaker 2>interrupts the boot process very early, drops you into a shell.

310
00:14:23.360 --> 00:14:26.799
<v Speaker 2>Useful for things like receiving a lost root password. Power

311
00:14:26.799 --> 00:14:30.080
<v Speaker 2>for stuff can be a lifesaver. Oh and interestingly, commands

312
00:14:30.080 --> 00:14:33.480
<v Speaker 2>like shut down, reboot, halt they're mostly just links pointing

313
00:14:33.519 --> 00:14:34.440
<v Speaker 2>back to system.

314
00:14:34.159 --> 00:14:36.000
<v Speaker 1>Techle Now, system really took over?

315
00:14:36.360 --> 00:14:39.879
<v Speaker 2>It really did. And for time management, time detectal shows

316
00:14:39.879 --> 00:14:42.759
<v Speaker 2>and sets the system time and time zone, and cronid

317
00:14:42.879 --> 00:14:45.240
<v Speaker 2>is the service that sinks your clock over the network

318
00:14:45.320 --> 00:14:46.000
<v Speaker 2>using NTP.

319
00:14:46.440 --> 00:14:48.200
<v Speaker 1>Got it? Okay? Users in groups.

320
00:14:48.000 --> 00:14:50.000
<v Speaker 2>Right, You generally don't want to be logged in as

321
00:14:50.080 --> 00:14:54.159
<v Speaker 2>route all the time, bad practice. So you create regular

322
00:14:54.279 --> 00:14:54.960
<v Speaker 2>user accounts.

323
00:14:55.120 --> 00:14:56.679
<v Speaker 1>Where is user info store?

324
00:14:56.759 --> 00:15:01.639
<v Speaker 2>It's mainly in Etcetera's user info etc. Shadow, Secure password info, etc.

325
00:15:01.919 --> 00:15:06.279
<v Speaker 2>Group info and etcetera Shadow secure group info. Defaults for

326
00:15:06.320 --> 00:15:08.840
<v Speaker 2>new users come from at clog in dot DEFs.

327
00:15:08.600 --> 00:15:10.039
<v Speaker 1>And the commands to manage them.

328
00:15:10.200 --> 00:15:13.799
<v Speaker 2>User AD creates a user, User MOD modifies an existing user.

329
00:15:14.200 --> 00:15:17.279
<v Speaker 2>You can use options like EDES to change their shell

330
00:15:17.440 --> 00:15:21.399
<v Speaker 2>AOD for home directory, DAD them to supplementary groups. User

331
00:15:21.440 --> 00:15:24.279
<v Speaker 2>at deletes a user. Use ther option with user del

332
00:15:24.320 --> 00:15:25.080
<v Speaker 2>to remove their.

333
00:15:24.919 --> 00:15:26.919
<v Speaker 1>Home directory too important detail.

334
00:15:27.039 --> 00:15:30.639
<v Speaker 2>Yeah, Password username changes the user's password. You can also

335
00:15:30.720 --> 00:15:33.240
<v Speaker 2>use password batstin to pipe a password in maybe from

336
00:15:33.240 --> 00:15:36.440
<v Speaker 2>a script. Password atch l username locks an account, you

337
00:15:36.679 --> 00:15:38.679
<v Speaker 2>unlocks it ato E sets and expiration date.

338
00:15:38.840 --> 00:15:40.519
<v Speaker 1>Lots of control their end groups plant.

339
00:15:40.320 --> 00:15:44.120
<v Speaker 2>Group, AD, group, mod, group del. Simple enough. Users have

340
00:15:44.159 --> 00:15:47.559
<v Speaker 2>one primary group but can be members of many supplementary groups.

341
00:15:47.840 --> 00:15:49.000
<v Speaker 2>That's all defined in et cetera.

342
00:15:49.039 --> 00:15:52.200
<v Speaker 1>Group. Okay, what about getting root privileges when you need them.

343
00:15:52.360 --> 00:15:54.679
<v Speaker 2>Well, they're sue switch user. You can sue to become

344
00:15:54.799 --> 00:15:57.200
<v Speaker 2>root if you know the root password. But the more

345
00:15:57.240 --> 00:15:59.360
<v Speaker 2>common and generally better way.

346
00:15:59.240 --> 00:16:02.039
<v Speaker 1>Is pseudo right super rousers do Yeah.

347
00:16:02.080 --> 00:16:05.360
<v Speaker 2>It lets specific users run specific commands as route without

348
00:16:05.440 --> 00:16:08.799
<v Speaker 2>needing the root password. It's configured in et ceter Suitors

349
00:16:08.879 --> 00:16:11.919
<v Speaker 2>use the pseudo command to edit this safely, or by

350
00:16:11.960 --> 00:16:14.240
<v Speaker 2>adding files in et cetera suters dot and.

351
00:16:14.200 --> 00:16:17.120
<v Speaker 1>You can grant permissions to groups like the Wheel group exactly.

352
00:16:17.320 --> 00:16:19.440
<v Speaker 2>Often admins are just added to the Wheel group and

353
00:16:19.480 --> 00:16:22.320
<v Speaker 2>that group is given pseudo access in the configuration. You

354
00:16:22.360 --> 00:16:25.279
<v Speaker 2>can also allow passwordless pseudo for certain commands with the

355
00:16:25.519 --> 00:16:27.600
<v Speaker 2>no pay SSWD tag okay.

356
00:16:27.639 --> 00:16:31.080
<v Speaker 1>Flexible user environment files like Bash RCI.

357
00:16:31.080 --> 00:16:33.720
<v Speaker 2>Yeah, those control your shell environment, et Cetera profile and

358
00:16:33.799 --> 00:16:37.120
<v Speaker 2>etceterashard are system wide. Then each user has their own

359
00:16:37.200 --> 00:16:40.879
<v Speaker 2>Bash profile for login shells and augershar for interactive shells.

360
00:16:41.399 --> 00:16:44.480
<v Speaker 2>There's also etceeter profile dot d, which contains scripts run

361
00:16:44.480 --> 00:16:48.039
<v Speaker 2>at log in good place for system wide customizations.

362
00:16:47.519 --> 00:16:50.840
<v Speaker 1>Setting aliases, environment variables, that kind of thing exactly, okay,

363
00:16:50.879 --> 00:16:53.039
<v Speaker 1>storty deep dive partitions again.

364
00:16:53.240 --> 00:16:56.360
<v Speaker 2>Tools you've got f disc, which is older works well

365
00:16:56.360 --> 00:16:59.200
<v Speaker 2>for MBR discs. Then gie disc is for modern GPT

366
00:16:59.440 --> 00:17:03.000
<v Speaker 2>partition discs, and parted is another powerful tool works with

367
00:17:03.080 --> 00:17:05.880
<v Speaker 2>Both can be used interactively or scripted.

368
00:17:06.039 --> 00:17:06.960
<v Speaker 1>What can you do with them?

369
00:17:07.200 --> 00:17:11.200
<v Speaker 2>The basics Print the partition table, P create new partitions

370
00:17:11.240 --> 00:17:14.839
<v Speaker 2>and delete them D change the partition type to use

371
00:17:14.960 --> 00:17:17.240
<v Speaker 2>LDC the type codes like a E for Linux, LBM

372
00:17:17.599 --> 00:17:21.279
<v Speaker 2>eighty two for swap, write changes to disc w or

373
00:17:21.400 --> 00:17:22.319
<v Speaker 2>quit without saving Q.

374
00:17:22.839 --> 00:17:25.000
<v Speaker 1>And you mentioned needing to tell the kernel about changes.

375
00:17:25.200 --> 00:17:28.799
<v Speaker 2>Yes, crucial step after using f disc or g disc

376
00:17:28.960 --> 00:17:31.640
<v Speaker 2>or parted to change partitions on a disc that's in use,

377
00:17:31.839 --> 00:17:34.599
<v Speaker 2>the kunnel might not see the changes. Immediately, run part

378
00:17:34.640 --> 00:17:37.079
<v Speaker 2>probe to ask the kernel to reread the partition table

379
00:17:37.319 --> 00:17:38.000
<v Speaker 2>or just reboot.

380
00:17:38.039 --> 00:17:40.039
<v Speaker 1>Okay, reboot, got it. Formatting.

381
00:17:40.160 --> 00:17:44.039
<v Speaker 2>Once you have a partition, you need a filesystem. Use mkfs,

382
00:17:44.200 --> 00:17:47.119
<v Speaker 2>mkfs dot, XFS dev's day one formats that partition with

383
00:17:47.279 --> 00:17:50.720
<v Speaker 2>XFS or mkfs dot, ext fours dB two for.

384
00:17:50.839 --> 00:17:53.160
<v Speaker 1>EXT four and mounting making it usable.

385
00:17:53.480 --> 00:17:56.960
<v Speaker 2>Right, you mount the filesystem onto a directory a mount point.

386
00:17:57.160 --> 00:17:59.400
<v Speaker 2>For permanent mounts that happen at boot, you can figure

387
00:17:59.440 --> 00:18:00.480
<v Speaker 2>them in etcetera.

388
00:18:00.559 --> 00:18:01.480
<v Speaker 1>Snet what's in there?

389
00:18:01.519 --> 00:18:04.680
<v Speaker 2>Each line defines a mount the device, often by UUID,

390
00:18:05.079 --> 00:18:08.319
<v Speaker 2>the mount point directory, the filesystem type like x SpaceX

391
00:18:08.319 --> 00:18:11.079
<v Speaker 2>to four, NFS mount options, and then two numbers for

392
00:18:11.119 --> 00:18:13.319
<v Speaker 2>backup dump and filesystem check.

393
00:18:13.240 --> 00:18:16.720
<v Speaker 1>Order pass okay, and you find the UIDs with ball kid.

394
00:18:17.119 --> 00:18:20.480
<v Speaker 2>Great command shows uoids and filesystem types for all your

395
00:18:20.519 --> 00:18:23.839
<v Speaker 2>block devices. Using UIDs and haf STAB is better than

396
00:18:23.839 --> 00:18:26.160
<v Speaker 2>device names like devs to one because the device names

397
00:18:26.160 --> 00:18:28.119
<v Speaker 2>can sometimes change, but uaeds don't.

398
00:18:28.400 --> 00:18:30.799
<v Speaker 1>Good. Tip and manual mounting.

399
00:18:30.599 --> 00:18:35.119
<v Speaker 2>Mount device, mount point and mount mountpoint or device simple okay.

400
00:18:35.160 --> 00:18:38.799
<v Speaker 1>Now, LVM Logical Volume Manager sounds complicated.

401
00:18:38.920 --> 00:18:41.599
<v Speaker 2>It adds a layer, but it's incredibly flexible. The ideas

402
00:18:41.640 --> 00:18:44.160
<v Speaker 2>you take your physical desks or petitions and designate them

403
00:18:44.200 --> 00:18:47.640
<v Speaker 2>as physical volumes or pvs using PV create IPS. Then

404
00:18:47.680 --> 00:18:50.319
<v Speaker 2>you group one or more pvs together into a volume

405
00:18:50.359 --> 00:18:53.880
<v Speaker 2>group or VG using VG create. Think of the VG

406
00:18:53.960 --> 00:18:55.599
<v Speaker 2>as a pool of storage.

407
00:18:55.200 --> 00:18:56.559
<v Speaker 1>Space coolest space. Got it.

408
00:18:56.680 --> 00:18:59.680
<v Speaker 2>Finally, you carve out logical volumes or lvs from that

409
00:18:59.759 --> 00:19:03.400
<v Speaker 2>v G pool using lv create. These lvs are what

410
00:19:03.440 --> 00:19:07.119
<v Speaker 2>you actually format with a filesystem MKFS, dot XSS, div,

411
00:19:07.160 --> 00:19:08.440
<v Speaker 2>MYVGMLLV and.

412
00:19:08.480 --> 00:19:12.519
<v Speaker 1>Mount O so PV MIDG MELV miile V filesystem exactly.

413
00:19:12.640 --> 00:19:16.599
<v Speaker 2>You've got commands to display and manage each layer PB display, VV,

414
00:19:16.720 --> 00:19:20.839
<v Speaker 2>display V display VJE extend at PV to VG, lvextend

415
00:19:21.200 --> 00:19:24.519
<v Speaker 2>grow in LV, and the big benefit is resizing. You

416
00:19:24.559 --> 00:19:26.519
<v Speaker 2>can add another desk, make it a PV, add it

417
00:19:26.559 --> 00:19:28.599
<v Speaker 2>to the VG with VEG extend, and then grow an

418
00:19:28.599 --> 00:19:32.799
<v Speaker 2>existing LV within that VG using lvextend. After extending the LV,

419
00:19:33.039 --> 00:19:35.319
<v Speaker 2>you just need to resize the filesystem inside it.

420
00:19:35.400 --> 00:19:36.000
<v Speaker 1>How do you do that?

421
00:19:36.039 --> 00:19:39.559
<v Speaker 2>For XFS, it's XFS growths mount point. For x four

422
00:19:39.599 --> 00:19:42.880
<v Speaker 2>it's re sized two SVGLV. You can often do this

423
00:19:42.960 --> 00:19:45.839
<v Speaker 2>online without unmounting. That's huge flexibility.

424
00:19:45.920 --> 00:19:48.160
<v Speaker 1>Yeah, that sounds real useful. What's the autom mount ad off.

425
00:19:48.240 --> 00:19:51.519
<v Speaker 2>It's a service that automatically mounts filesystems, often network shares

426
00:19:51.559 --> 00:19:53.839
<v Speaker 2>like NFS, only when someone tries to access them and

427
00:19:53.920 --> 00:19:56.440
<v Speaker 2>unmounts them after a period of inactivity. Configured it in

428
00:19:56.599 --> 00:19:58.480
<v Speaker 2>at COUTO, dot master and related files.

429
00:19:58.519 --> 00:20:01.799
<v Speaker 1>Okay, handy for on demand access YEP networking time basics.

430
00:20:01.799 --> 00:20:07.160
<v Speaker 2>First, it addresses your systems address subnetmasks, defining the network size,

431
00:20:07.160 --> 00:20:10.480
<v Speaker 2>often in CIDR like twenty four and the default gateway

432
00:20:10.599 --> 00:20:13.240
<v Speaker 2>the router to reach other networks standard.

433
00:20:12.880 --> 00:20:14.799
<v Speaker 1>Stuff, and the main command now is IP.

434
00:20:14.960 --> 00:20:17.599
<v Speaker 2>Yes, the IP command is the modern tool. IP address

435
00:20:17.599 --> 00:20:20.720
<v Speaker 2>show replaces if configure that IP route show replaces Route I,

436
00:20:20.839 --> 00:20:24.319
<v Speaker 2>neighbor replaces ARP. It does a lot, so learn IP definitely.

437
00:20:24.519 --> 00:20:27.200
<v Speaker 2>You'll still use ping to test connectivity, trace route to

438
00:20:27.200 --> 00:20:30.440
<v Speaker 2>see the path packets take, and hostnamechial to view or

439
00:20:30.440 --> 00:20:31.640
<v Speaker 2>set the system's host name.

440
00:20:31.880 --> 00:20:33.480
<v Speaker 1>Where network settings stored.

441
00:20:33.839 --> 00:20:37.759
<v Speaker 2>RHBL nine uses Network Manager heavily. Connection profiles are stored

442
00:20:37.759 --> 00:20:40.759
<v Speaker 2>as files in Acceta Network Manager System connections.

443
00:20:40.920 --> 00:20:43.720
<v Speaker 1>How do you configure Network Manager several ways?

444
00:20:43.960 --> 00:20:46.960
<v Speaker 2>NMTI is the command line tool very powerful. Nmto me

445
00:20:47.000 --> 00:20:49.880
<v Speaker 2>gives you a text based menu interface simpler for some tasks,

446
00:20:49.880 --> 00:20:52.680
<v Speaker 2>and if you have a GUI, there's NM connection editor.

447
00:20:52.759 --> 00:20:53.359
<v Speaker 1>Choose your weapon.

448
00:20:53.480 --> 00:20:56.079
<v Speaker 2>DNS configued usually handled by Network Manager too, but the

449
00:20:56.160 --> 00:20:59.799
<v Speaker 2>resulting DNS server list ends up in ecresol dot com.

450
00:21:00.200 --> 00:21:03.559
<v Speaker 2>You can test DNS lookups with tools like dig or hosts.

451
00:21:03.200 --> 00:21:07.079
<v Speaker 1>Okay, secure remote access, SSH.

452
00:21:06.319 --> 00:21:09.799
<v Speaker 2>Absolutely essential s s username at host name, connects you securely,

453
00:21:09.960 --> 00:21:13.480
<v Speaker 2>SEP securely copies files, sepfil user at host dot path

454
00:21:13.960 --> 00:21:18.119
<v Speaker 2>and SFTP gives you an interactive secure FTP like session.

455
00:21:18.000 --> 00:21:21.640
<v Speaker 1>Secure alternatives to older tools like telnet and FTP exactly.

456
00:21:21.680 --> 00:21:23.920
<v Speaker 2>Don't use those anymore if you can avoid it. Firewall

457
00:21:24.039 --> 00:21:27.279
<v Speaker 2>RHTL uses Fireworld by default. It uses zones like public,

458
00:21:27.359 --> 00:21:30.359
<v Speaker 2>internal DMZ to apply different levels of trust and rules,

459
00:21:30.519 --> 00:21:33.920
<v Speaker 2>and it manages access using pre defined services like HTTP,

460
00:21:34.039 --> 00:21:35.640
<v Speaker 2>SEEPR specific port numbers.

461
00:21:35.680 --> 00:21:36.400
<v Speaker 1>How do you troll it?

462
00:21:36.599 --> 00:21:40.279
<v Speaker 2>Check status with system s system status Fireworld check if

463
00:21:40.400 --> 00:21:43.720
<v Speaker 2>enabled with system is enabled fireworld. The main command is

464
00:21:43.759 --> 00:21:44.799
<v Speaker 2>firewall cmd.

465
00:21:45.119 --> 00:21:46.559
<v Speaker 1>What can firewall cmd do?

466
00:21:46.839 --> 00:21:52.119
<v Speaker 2>Lots AD service remove servicesh AD port ADYADATCP remove port ADADTCP.

467
00:21:52.799 --> 00:21:55.440
<v Speaker 2>Use permanent to make changes stick after a reboot, but

468
00:21:55.480 --> 00:21:57.400
<v Speaker 2>then you need reload to apply them to the running

469
00:21:57.400 --> 00:21:59.799
<v Speaker 2>canfig list all shows the current rules.

470
00:21:59.559 --> 00:22:02.079
<v Speaker 1>For his zone. There's a guy too, yeah, firewall can

471
00:22:02.079 --> 00:22:04.680
<v Speaker 1>fig okay and making assets even more secure with.

472
00:22:04.680 --> 00:22:08.400
<v Speaker 2>Keys highly recommended. Generate a keypair on your client machine

473
00:22:08.440 --> 00:22:12.319
<v Speaker 2>with shosh keygen, then copy the public key IDRSA dot

474
00:22:12.359 --> 00:22:14.839
<v Speaker 2>pub or similar to the server using a shock of

475
00:22:14.839 --> 00:22:15.960
<v Speaker 2>eyed user at host.

476
00:22:16.319 --> 00:22:17.440
<v Speaker 1>What does spage copid do?

477
00:22:17.640 --> 00:22:20.319
<v Speaker 2>It automatically appends your public key to the sumprovised keys

478
00:22:20.319 --> 00:22:23.240
<v Speaker 2>file in the user's home directory on the server. Once

479
00:22:23.279 --> 00:22:25.799
<v Speaker 2>that's done, you can staution from your client without needing

480
00:22:25.839 --> 00:22:28.839
<v Speaker 2>a password because it verifies using your private key much

481
00:22:28.880 --> 00:22:29.440
<v Speaker 2>more secure.

482
00:22:29.640 --> 00:22:32.200
<v Speaker 1>Definitely sounds better than passwords. It is all right, broader

483
00:22:32.240 --> 00:22:33.319
<v Speaker 1>security topic.

484
00:22:33.359 --> 00:22:37.440
<v Speaker 2>Sell Linux Security Enhanced Linux. It's a mandatory access control

485
00:22:37.640 --> 00:22:41.480
<v Speaker 2>MAC system standard Linux permissions should I or not are

486
00:22:41.599 --> 00:22:45.319
<v Speaker 2>discretionary access control DAC. The user owns the file, they

487
00:22:45.359 --> 00:22:49.480
<v Speaker 2>decide permissions. SELinux adds another layer where policy decides what's allowed,

488
00:22:49.519 --> 00:22:50.559
<v Speaker 2>regardless of ownership.

489
00:22:50.599 --> 00:22:51.799
<v Speaker 1>How does it work modes?

490
00:22:51.960 --> 00:22:56.119
<v Speaker 2>It runs in one of three modes. Enforcing actively blocks violations,

491
00:22:56.519 --> 00:23:01.279
<v Speaker 2>permissive logs violations, but doesn't block or disabled off completely.

492
00:23:01.519 --> 00:23:04.119
<v Speaker 2>You check with get and force change temporarily with set

493
00:23:04.240 --> 00:23:07.079
<v Speaker 2>and force zero, permissive or set and force one. Enforcing

494
00:23:07.440 --> 00:23:10.200
<v Speaker 2>permanent change is in ETCeteras configure.

495
00:23:10.279 --> 00:23:12.880
<v Speaker 1>Okay, what does it actually control? Contexts?

496
00:23:13.119 --> 00:23:17.599
<v Speaker 2>Yeah? Everything, files, processes, ports, gets, and SELinux security context

497
00:23:17.720 --> 00:23:19.920
<v Speaker 2>It's like a labeled user, dot role, dot type That

498
00:23:20.039 --> 00:23:23.000
<v Speaker 2>level policy rules say things like a process with the

499
00:23:23.160 --> 00:23:26.759
<v Speaker 2>HTPDT type context can only write to files with the

500
00:23:26.880 --> 00:23:29.240
<v Speaker 2>HTPPD size content type context.

501
00:23:29.279 --> 00:23:32.079
<v Speaker 1>So it restricts what processes can do even if running

502
00:23:32.119 --> 00:23:32.440
<v Speaker 1>is root.

503
00:23:32.720 --> 00:23:35.680
<v Speaker 2>Especially if running is root or if a service gets compromised.

504
00:23:36.039 --> 00:23:38.880
<v Speaker 2>You manage file contexts with some manage f context to

505
00:23:38.920 --> 00:23:42.799
<v Speaker 2>set defaults and restore senecon to apply those defaults. J

506
00:23:43.000 --> 00:23:45.559
<v Speaker 2>con changes a context manually for a specific file, but

507
00:23:45.599 --> 00:23:46.799
<v Speaker 2>that might not survive.

508
00:23:46.440 --> 00:23:49.039
<v Speaker 1>A relabel okay and boollians.

509
00:23:48.599 --> 00:23:52.200
<v Speaker 2>Celinicx buollions are like on off switches for specific policies

510
00:23:52.279 --> 00:23:55.720
<v Speaker 2>like allow hggpd to connect to the network. Use getspool

511
00:23:55.720 --> 00:23:58.079
<v Speaker 2>a to list them and sets the boolean name on

512
00:23:58.160 --> 00:24:00.240
<v Speaker 2>or sets po bully name off to change them. Use

513
00:24:00.319 --> 00:24:03.400
<v Speaker 2>jash p with setspool to make the change persistent across reboots.

514
00:24:03.559 --> 00:24:05.240
<v Speaker 1>How do you troubleshoot Selenix issues?

515
00:24:05.359 --> 00:24:08.440
<v Speaker 2>Check the audit log usually var logatitatt it dot log.

516
00:24:08.680 --> 00:24:11.559
<v Speaker 2>The audit service lawns denials. The sealer tool part of

517
00:24:11.599 --> 00:24:14.359
<v Speaker 2>set tools can analyze these logs and often suggest restore

518
00:24:14.400 --> 00:24:16.480
<v Speaker 2>con or sets bool commands to fix the issue.

519
00:24:16.519 --> 00:24:18.920
<v Speaker 1>So first claub odd, then Selenics on top.

520
00:24:19.000 --> 00:24:21.960
<v Speaker 2>That's the idea. Layers of security.

521
00:24:21.519 --> 00:24:23.079
<v Speaker 1>Managing resources processes.

522
00:24:23.279 --> 00:24:27.000
<v Speaker 2>This is the classic command. Pso shows all processes in detail.

523
00:24:27.359 --> 00:24:30.640
<v Speaker 2>Ps axle shows even more. P s e Z is

524
00:24:30.720 --> 00:24:34.039
<v Speaker 2>useful to see the Sylenux context of processes, and TOP

525
00:24:34.119 --> 00:24:38.960
<v Speaker 2>gives you that. Real time interactive view shows cpu usage, memory,

526
00:24:39.079 --> 00:24:42.160
<v Speaker 2>running processes. Let's you sort kill processes.

527
00:24:41.680 --> 00:24:43.640
<v Speaker 1>Right there, very hand delid processes.

528
00:24:43.759 --> 00:24:47.359
<v Speaker 2>Kill pid sends a signal, usually sigterm terminate politely by

529
00:24:47.400 --> 00:24:52.400
<v Speaker 2>default kill naff nine pid sends sigkill force kill uses

530
00:24:52.480 --> 00:24:56.240
<v Speaker 2>last resort, kill process name kills all processes with that name.

531
00:24:56.359 --> 00:24:58.279
<v Speaker 1>Signal SIGTERMI yeah.

532
00:24:58.319 --> 00:25:00.839
<v Speaker 2>Sig up often tells a demon to reload its configuration.

533
00:25:00.960 --> 00:25:04.279
<v Speaker 2>Sigin is what cool plus c sends. Sigteruramasks nicely sick

534
00:25:04.319 --> 00:25:05.000
<v Speaker 2>kill forces it.

535
00:25:05.000 --> 00:25:07.079
<v Speaker 1>Controlling priority nice re nice.

536
00:25:06.920 --> 00:25:09.759
<v Speaker 2>Nice starts to command with a specific scheduling priority. Higher

537
00:25:09.799 --> 00:25:12.680
<v Speaker 2>number means lower priority, more nice to others. Re nice

538
00:25:12.759 --> 00:25:14.960
<v Speaker 2>changes the priority of an already running process. Okay.

539
00:25:15.160 --> 00:25:16.240
<v Speaker 1>Monitoring over time.

540
00:25:16.400 --> 00:25:20.680
<v Speaker 2>The system package provides SAR, System Activity Reporter and IOSTAT.

541
00:25:21.039 --> 00:25:25.119
<v Speaker 2>SAR collects historical data on CPU memory, IO, network, et cetera.

542
00:25:25.640 --> 00:25:29.960
<v Speaker 2>IOSTAT focuses on disc iostats great for tracking performance.

543
00:25:29.519 --> 00:25:33.039
<v Speaker 1>Trends, scheduling future tasks. Contron yep chron.

544
00:25:32.960 --> 00:25:36.839
<v Speaker 2>Is for recurring tasks users edit their own schedules with crontab.

545
00:25:37.200 --> 00:25:40.480
<v Speaker 2>The format specifies minute, our day of month, month, day

546
00:25:40.480 --> 00:25:41.200
<v Speaker 2>of week, and then.

547
00:25:41.119 --> 00:25:42.920
<v Speaker 1>The command system wide chron jobs.

548
00:25:42.960 --> 00:25:45.279
<v Speaker 2>Those go in at cedacron or as separate files and

549
00:25:45.359 --> 00:25:49.079
<v Speaker 2>etceteracron dot D. There are also directories like etcetercron dot hourly,

550
00:25:49.119 --> 00:25:51.799
<v Speaker 2>etceteracron dot daily, et cetera, where you just drop scripts

551
00:25:51.880 --> 00:25:53.440
<v Speaker 2>you want run at those intervals.

552
00:25:53.640 --> 00:25:56.079
<v Speaker 1>Simple enough. What about one off tasks.

553
00:25:56.160 --> 00:25:58.839
<v Speaker 2>At schedules A command to run once at a specific time,

554
00:25:59.000 --> 00:26:01.519
<v Speaker 2>like at ten thirty pm tomorrow. You type the commands

555
00:26:01.559 --> 00:26:04.400
<v Speaker 2>press crash all plus d at Q list pending jobs

556
00:26:04.680 --> 00:26:06.079
<v Speaker 2>at scheckblurm removes them.

557
00:26:06.160 --> 00:26:09.839
<v Speaker 1>Handy for delayed tasks. Yeah. Basic scripting BASH scripts.

558
00:26:09.519 --> 00:26:12.319
<v Speaker 2>Super common for automation. Starts with the shebang line hashtag

559
00:26:12.319 --> 00:26:15.920
<v Speaker 2>dot bin. Bash use variables, command, substitution, command, or backticks

560
00:26:15.960 --> 00:26:19.039
<v Speaker 2>to capture output control structures like if conditioned then and

561
00:26:19.119 --> 00:26:21.480
<v Speaker 2>down fire or four I in list at ton testing

562
00:26:21.480 --> 00:26:24.559
<v Speaker 2>conditions with test or ton right, and scripts can take

563
00:26:24.720 --> 00:26:28.119
<v Speaker 2>arguments one two dollars, et cetera. The exit command sets

564
00:26:28.160 --> 00:26:30.880
<v Speaker 2>the exit status zero usually means success.

565
00:26:31.039 --> 00:26:32.400
<v Speaker 1>Logging where do messages go?

566
00:26:32.960 --> 00:26:36.480
<v Speaker 2>Traditionally cislog handles it config and as she can. Ra

567
00:26:36.599 --> 00:26:40.920
<v Speaker 2>sizelog dot com defines rules based on facility like kernel mail,

568
00:26:41.119 --> 00:26:45.359
<v Speaker 2>user and priority info warning error to send messages to files,

569
00:26:45.559 --> 00:26:49.000
<v Speaker 2>usually under varlog like varlog messages varlog secure.

570
00:26:48.720 --> 00:26:50.680
<v Speaker 1>But systems has its own journal yes.

571
00:26:50.799 --> 00:26:53.359
<v Speaker 2>And journal lichells the tool to read it. It captures

572
00:26:53.400 --> 00:26:57.599
<v Speaker 2>syslog messages plus output from services managed by system. By default,

573
00:26:57.599 --> 00:26:59.599
<v Speaker 2>it might only store logs in memory, but you can

574
00:26:59.599 --> 00:27:02.240
<v Speaker 2>configure you're persistent logging to varlog journal.

575
00:27:02.119 --> 00:27:05.759
<v Speaker 1>So check both varlog files and journal ductel good idea. Yeah. Finally,

576
00:27:05.799 --> 00:27:08.240
<v Speaker 1>containers big topic now huge.

577
00:27:08.359 --> 00:27:11.519
<v Speaker 2>The guide gives an intro. Containers are like lightweight isolated

578
00:27:11.640 --> 00:27:15.400
<v Speaker 2>environments for apps. They share the host OS kernel, unlike vms,

579
00:27:15.400 --> 00:27:17.640
<v Speaker 2>which emulate whole hardware stacks.

580
00:27:17.240 --> 00:27:19.279
<v Speaker 1>So they're faster, use fewer resources.

581
00:27:19.359 --> 00:27:23.079
<v Speaker 2>Generally yes, much faster startup, lower overhead. Great for developers

582
00:27:23.079 --> 00:27:26.559
<v Speaker 2>packaging apps and dependencies, and for operations deploying them consistently

583
00:27:26.680 --> 00:27:27.759
<v Speaker 2>drives DevOps well.

584
00:27:27.759 --> 00:27:29.880
<v Speaker 1>What makes them work? Names basis true groups.

585
00:27:30.119 --> 00:27:34.440
<v Speaker 2>Those are key Linux kernel features. Name spaces isolate things

586
00:27:34.480 --> 00:27:39.839
<v Speaker 2>like process IDs, network stacks, user IDs, C groups limit

587
00:27:39.880 --> 00:27:44.079
<v Speaker 2>and manage resource usage, CPU memory and c Linux helps

588
00:27:44.119 --> 00:27:46.920
<v Speaker 2>provide security separation between containers.

589
00:27:46.400 --> 00:27:49.400
<v Speaker 1>And the hosts, and the tool in RHL nine is Podman.

590
00:27:49.839 --> 00:27:52.799
<v Speaker 2>Yes, Podman is the main command line tool for working

591
00:27:52.839 --> 00:27:56.519
<v Speaker 2>with containers and container images. It's designed to be compatible

592
00:27:56.519 --> 00:27:58.359
<v Speaker 2>with Docker commands, which helps.

593
00:27:58.240 --> 00:28:01.799
<v Speaker 1>So containers aren't just lighter vms about packaging and portability too.

594
00:28:01.920 --> 00:28:06.079
<v Speaker 2>Absolutely package your app and all its libraries, dependencies, everything

595
00:28:06.240 --> 00:28:08.960
<v Speaker 2>into an image. That image runs the same way on

596
00:28:09.000 --> 00:28:11.480
<v Speaker 2>your laptop on a test server in the cloud. That

597
00:28:11.559 --> 00:28:13.359
<v Speaker 2>consistency is a massive.

598
00:28:13.000 --> 00:28:16.640
<v Speaker 1>Benefit, game changer. As the guide says, Okay, Podman commands.

599
00:28:16.359 --> 00:28:18.519
<v Speaker 2>A lot overlap with Docker. If you know that. Podman

600
00:28:18.599 --> 00:28:21.720
<v Speaker 2>run imagine name creates and starts a container. Podman tuss

601
00:28:21.720 --> 00:28:24.440
<v Speaker 2>list running containers a forall, pod Men Stop Container aid,

602
00:28:24.519 --> 00:28:26.240
<v Speaker 2>Podman start Container aide, podmn.

603
00:28:25.960 --> 00:28:28.400
<v Speaker 1>Restart Managing container life cycle.

604
00:28:28.200 --> 00:28:31.480
<v Speaker 2>Right, Podman pom and canterrad removes a stop container. Podman

605
00:28:31.559 --> 00:28:35.279
<v Speaker 2>Images lists images you have locally. Podman vian image.

606
00:28:35.119 --> 00:28:36.559
<v Speaker 1>Removes an image getting images.

607
00:28:36.640 --> 00:28:40.759
<v Speaker 2>Podman pull imagine name downloads from a registry. Podman push

608
00:28:40.880 --> 00:28:44.839
<v Speaker 2>uploads your own images. Podman's search term looks for images

609
00:28:44.880 --> 00:28:45.519
<v Speaker 2>in registries.

610
00:28:45.599 --> 00:28:48.359
<v Speaker 1>What about running commands inside or copying files?

611
00:28:48.480 --> 00:28:52.440
<v Speaker 2>Podman exec it containered command runs a command inside a

612
00:28:52.519 --> 00:28:55.799
<v Speaker 2>running container like Bash to get a shell. Podman sipe

613
00:28:55.960 --> 00:28:59.680
<v Speaker 2>copies files between the host and container. Podman logs shows

614
00:28:59.720 --> 00:29:04.200
<v Speaker 2>contains output inspecting things, Podman inspect container it or image

615
00:29:04.200 --> 00:29:08.039
<v Speaker 2>eyed gives you tons of detailed Jason info. Podman tag

616
00:29:08.200 --> 00:29:10.599
<v Speaker 2>lets you give an image an alias or new name,

617
00:29:11.160 --> 00:29:13.279
<v Speaker 2>and Podman version shows versions.

618
00:29:13.440 --> 00:29:15.920
<v Speaker 1>Can you run containers like system services? Yes.

619
00:29:16.119 --> 00:29:19.359
<v Speaker 2>Podman can generate system unit files for containers using Podman

620
00:29:19.440 --> 00:29:22.319
<v Speaker 2>generate system then you can manage them with system sucleshall

621
00:29:22.440 --> 00:29:24.720
<v Speaker 2>user often run as non root user services.

622
00:29:24.720 --> 00:29:27.119
<v Speaker 1>Persistent data containers are ephemeral by default.

623
00:29:27.240 --> 00:29:29.759
<v Speaker 2>Right. If you want data to survive container restarts, you

624
00:29:29.799 --> 00:29:32.279
<v Speaker 2>need to mount host directories into the container using the

625
00:29:32.279 --> 00:29:35.960
<v Speaker 2>ACV option with Podman run like defvpathon hoost dot pathing

626
00:29:36.039 --> 00:29:36.880
<v Speaker 2>container Okay.

627
00:29:37.119 --> 00:29:39.119
<v Speaker 1>And registries where do images come from?

628
00:29:39.160 --> 00:29:43.000
<v Speaker 2>They're like app stores for container images. Docker hub is

629
00:29:43.039 --> 00:29:46.519
<v Speaker 2>the big public one. Red Hat has its own registry

630
00:29:46.920 --> 00:29:50.279
<v Speaker 2>registrate dot red hat dot Io. Companies often run private

631
00:29:50.319 --> 00:29:50.759
<v Speaker 2>ones too.

632
00:29:51.200 --> 00:29:54.599
<v Speaker 1>Phew, Okay, that was a lot.

633
00:29:54.799 --> 00:29:58.359
<v Speaker 2>It really is a broad landscape, isn't it. RHL nine

634
00:29:58.400 --> 00:30:03.160
<v Speaker 2>administration covers so much from the absolute basics right up

635
00:30:03.200 --> 00:30:03.880
<v Speaker 2>to containers.

636
00:30:03.920 --> 00:30:06.240
<v Speaker 1>But you start to see how it connects. Right. Yeah,

637
00:30:06.240 --> 00:30:08.839
<v Speaker 1>command line skills are fundamental for almost everything.

638
00:30:08.559 --> 00:30:13.000
<v Speaker 2>Absolutely, managing files, users, services, even containers often comes back

639
00:30:13.000 --> 00:30:14.119
<v Speaker 2>to the command line.

640
00:30:13.920 --> 00:30:16.519
<v Speaker 1>And maybe things clicked a bit more like how trim

641
00:30:16.559 --> 00:30:20.880
<v Speaker 1>new permissions and Cylenix contexts work together for security, or how.

642
00:30:20.759 --> 00:30:24.039
<v Speaker 2>System changed the whole boot and service management game compared

643
00:30:24.039 --> 00:30:24.839
<v Speaker 2>to older systems.

644
00:30:24.920 --> 00:30:27.640
<v Speaker 1>Yeah, or the flexibility LVM gives you for storage.

645
00:30:27.720 --> 00:30:30.039
<v Speaker 2>Hopefully some of those aha moments happened.

646
00:30:30.079 --> 00:30:32.680
<v Speaker 1>But this deep dive, it's really just scratching the surface.

647
00:30:32.799 --> 00:30:34.759
<v Speaker 2>Oh for sure, the guide lays it all out, but

648
00:30:34.759 --> 00:30:37.200
<v Speaker 2>you really learn by doing getting those vms set up,

649
00:30:37.279 --> 00:30:41.400
<v Speaker 2>trying the commands, breaking things, fixing things. That's where mastery

650
00:30:41.400 --> 00:30:41.759
<v Speaker 2>comes from.

651
00:30:42.039 --> 00:30:46.839
<v Speaker 1>So definitely encourage you, the listener, to get hands on experiment.

652
00:30:47.240 --> 00:30:50.039
<v Speaker 1>Focus on the areas you need most, maybe storage, maybe networking,

653
00:30:50.079 --> 00:30:51.480
<v Speaker 1>maybe containers.

654
00:30:51.000 --> 00:30:52.039
<v Speaker 2>Whatever fits your goals.

655
00:30:52.160 --> 00:30:55.359
<v Speaker 1>So here's a final thought, today's one. With containers becoming

656
00:30:55.400 --> 00:30:58.960
<v Speaker 1>so dominant, how do you see these fundamental OS admin

657
00:30:59.039 --> 00:31:02.599
<v Speaker 1>skills evolving? Hmmm, will mastery of the command line and

658
00:31:02.640 --> 00:31:06.039
<v Speaker 1>deep system knowledge still be as crucial, or will higher

659
00:31:06.119 --> 00:31:09.759
<v Speaker 1>level tools and automation, abstract, more of it away. Where's

660
00:31:09.759 --> 00:31:10.599
<v Speaker 1>that balance heading.

661
00:31:10.839 --> 00:31:14.319
<v Speaker 2>That's a really interesting question. The tools change, but understanding

662
00:31:14.319 --> 00:31:17.440
<v Speaker 2>what's happening underneath that seems like it will always be valuable.

663
00:31:17.519 --> 00:31:19.920
<v Speaker 2>Definitely something to think about as you keep learning. RGL

664
00:31:20.039 --> 00:31:20.240
<v Speaker 2>nine
