You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Computer terminals** with **cathode-ray tube (CRT) displays** became popular, providing real-time interaction with computers.
59
59
60
-

61
-
**DEC VT-100**
60
+
-**Computer terminals** with **cathode-ray tube (CRT) displays** became popular, providing real-time interaction with computers.
61
+
62
+

63
+
**DEC VT-100**
62
64
63
65
6.**1980s** - **Early Terminal Emulators**:
64
-
- The development of **terminal emulators** like **Kermit** allowed personal computers to emulate the functionality of hardware terminals and interact with mainframes and minicomputers.
66
+
- The development of **terminal emulators** like **Kermit** allowed personal computers to emulate the functionality of hardware terminals and interact with mainframes and minicomputers.
1.**Graphical Interface**: Provides the window where the terminal session is displayed.
72
-
-**Input Handling**: Manages keyboard input and passes it to the [shell](../shell/introduction-to-shells.md).
73
-
-**Output Display**: Renders the output from the shell in the terminal window.
74
+
75
+
-**Input Handling**: Manages keyboard input and passes it to the [shell](../shell/introduction-to-shells.md).
76
+
-**Output Display**: Renders the output from the shell in the terminal window.
74
77
75
78
2.**Psuedoterminal (PTY)**: The name suggests it is a false terminal. This is a device that emulates/replicates the physical terminal.
76
-
-**Master Side**: Master side is controlled by the terminal emulator which interacts with the user and the shell.
77
-
-**Slave Side**: Slave side behaves like a traditional terminal, allowing the shell or application to communicate as if it were a physical terminal device.
79
+
80
+
-**Master Side**: Master side is controlled by the terminal emulator which interacts with the user and the shell.
81
+
-**Slave Side**: Slave side behaves like a traditional terminal, allowing the shell or application to communicate as if it were a physical terminal device.
78
82
79
83
3.**Shell Integration**: Integration of the terminal emulator with various shell environments (like Bash, Zsh) for command execution.
80
84
@@ -83,38 +87,37 @@ Here's a brief overview of their evolution:
@@ -33,35 +25,38 @@ There are various types of file systems ranging from:
33
25
-**NTFS** used in Microsoft Windows for your (C,D,E etc local drives).
34
26
-**AFS** used in Apple MAC for local drives.
35
27
- Similarly, there is no fixed filesystem for Linux, there are options.
36
-
Some popular ones are **Ext4**, **XFS**, **BTRFS**,**ZFS** and etc.
28
+
Some popular ones are **Ext4**, **XFS**, **BTRFS**,**ZFS** and etc.
37
29
38
30
## What is the need for XFS or Btrfs when other filesystems already exist ?
39
31
40
32
1.**XFS** (1994):
41
-
- High performance. The fastest file system which can be reliably used a computer.
42
-
- It is backed by the largest Linux Powered Company **RHEL (Red Hat Enterprise Linux)**.
43
-
RHEL uses XFS as it's default file system.
44
-
- **Features**:
45
-
- **Journaling**: XFS uses journal (specific file) to log metadata changes before they are committed.
46
-
This ensures consistency and quick recovery in the event of a crash or power failure.
47
-
- **CoW (Copy on Write)**: As the name suggests, copy on write is a feature that makes a copy of the file which is currently being written.
48
-
- **Online Defragmentation**: This refers to defragmentation of the partition on the fly (without stopping everything and staring at the screen until the process ends) without halting current processes.
49
-
- **Quota Support**: Provides support for user and group quotas to manage and limit disk usage.
33
+
34
+
- High performance. The fastest file system which can be reliably used a computer.
35
+
- It is backed by the largest Linux Powered Company **RHEL (Red Hat Enterprise Linux)**.
36
+
RHEL uses XFS as it's default file system.
37
+
-**Features**:
38
+
-**Journaling**: XFS uses journal (specific file) to log metadata changes before they are committed.
39
+
This ensures consistency and quick recovery in the event of a crash or power failure.
40
+
-**CoW (Copy on Write)**: As the name suggests, copy on write is a feature that makes a copy of the file which is currently being written.
41
+
-**Online Defragmentation**: This refers to defragmentation of the partition on the fly (without stopping everything and staring at the screen until the process ends) without halting current processes.
42
+
-**Quota Support**: Provides support for user and group quotas to manage and limit disk usage.
43
+
50
44
2.**BTRFS** (2009):
51
-
- High Stability and Scalablity.
52
-
- Developed by SUSE, Meta, Western Digital, Oracle Corporation, Intel, The Linux Foundation, Red Hat.
53
-
- SUSE uses it as it's default file system.
54
-
- **Features**:
55
-
- **CoW**
56
-
- **Snapshots**: These are pictures (not actual pictures but states) of the file system at a particular time for the means of backup.
57
-
These snapshots are used for restoring data.
58
-
- **Subvolumes**: This functions similar to **Linux's LVM (Logical Volume Manager)** and helps to manage the whole storage into chunks of virtual volumes (virtual storage spaces).
59
-
- **Data Deduplication**: Well, again the name defines itself.
60
-
This feature helps to remove duplicate data from the file system.
61
-
- **Data Scrubbing**: Not to be confused with "data cleaning", it
62
-
checks for errors in the form of a background task.
63
-
64
-
> [!NOTE] All the features given here are not everything, but the most important ones which make them easily distinguishable from other file systems.
45
+
46
+
- High Stability and Scalablity.
47
+
- Developed by SUSE, Meta, Western Digital, Oracle Corporation, Intel, The Linux Foundation, Red Hat.
48
+
- SUSE uses it as it's default file system.
49
+
-**Features**:
50
+
-**CoW**
51
+
-**Snapshots**: These are pictures (not actual pictures but states) of the file system at a particular time for the means of backup.
52
+
These snapshots are used for restoring data.
53
+
-**Subvolumes**: This functions similar to **Linux's LVM (Logical Volume Manager)** and helps to manage the whole storage into chunks of virtual volumes (virtual storage spaces).
54
+
-**Data Deduplication**: Well, again the name defines itself.
55
+
This feature helps to remove duplicate data from the file system.
56
+
-**Data Scrubbing**: Not to be confused with "data cleaning", it
57
+
checks for errors in the form of a background task.
58
+
59
+
> [!NOTE] All the features given here are not everything, but the most important ones which make them easily distinguishable from other file systems.
65
60
66
61
This should be enough for you understand what file systems are and what are the features provided by file systems to manage and protect, user and system data.
67
62
@@ -79,68 +74,82 @@ This should be enough for you understand what file systems are and what are the
79
74
**My thoughts**:
80
75
81
76
1. From data backup and recovery perspective:
82
-
- **BTRFS** by default supports extensively in this matter.
83
-
- **XFS** by default doesn't support data recovery options like snapshots, but due to its support for **CoW**, external snapshot tools can be used for data backups and restores.
77
+
78
+
-**BTRFS** by default supports extensively in this matter.
79
+
-**XFS** by default doesn't support data recovery options like snapshots, but due to its support for **CoW**, external snapshot tools can be used for data backups and restores.
84
80
85
81
2. From performance aspect:
86
-
- **XFS** is designed to be very fast and very scalable.
87
-
- **BTRFS** is not well designed for performance in mind.
88
-
Some might argue that Btrfs is one of the slowest file system to ever exist.
89
82
90
-
> *So, the challenge here feels like a toddler throwing a tantrum because their toy doesn’t come with a* 🪄 *magic button to operate all the fancy grown-up tools, as if the real problem is not having a flashy interface.* 😂 *Maybe next time they’ll want a touchscreen for their sandbox!* 😆
83
+
-**XFS** is designed to be very fast and very scalable.
84
+
-**BTRFS** is not well designed for performance in mind.
85
+
Some might argue that Btrfs is one of the slowest file system to ever exist.
86
+
87
+
> _So, the challenge here feels like a toddler throwing a tantrum because their toy doesn’t come with a_ 🪄 _magic button to operate all the fancy grown-up tools, as if the real problem is not having a flashy interface._ 😂 _Maybe next time they’ll want a touchscreen for their sandbox!_ 😆
91
88
92
89
### Addressing the "What's Needed" section
93
90
94
91
**What's needed**:
95
92
96
93
1. Recover Deleted Data Efficiently:
97
-
- Challenge: Extracting deleted files from XFS and Btrfs can be tricky due to their complex structures.
98
-
- Solution: Develop tools and techniques to locate and recover these files.
94
+
95
+
- Challenge: Extracting deleted files from XFS and Btrfs can be tricky due to their complex structures.
96
+
- Solution: Develop tools and techniques to locate and recover these files.
97
+
99
98
2. Support Various File Types:
100
-
- Range of Files: The recovery solution should handle different types of files, including:
101
-
- Documents: (e.g., .docx, .pdf, .txt)
102
-
- Archives: (e.g., .zip, .tar)
103
-
- Images: (e.g., .jpg, .png)
104
-
- Executable: (e.g., .exe, .dll)
105
-
- Scripts: (e.g., .sh, .py)
106
-
- Databases: (e.g., .db)
99
+
100
+
- Range of Files: The recovery solution should handle different types of files, including:
101
+
- Documents: (e.g., .docx, .pdf, .txt)
102
+
- Archives: (e.g., .zip, .tar)
103
+
- Images: (e.g., .jpg, .png)
104
+
- Executable: (e.g., .exe, .dll)
105
+
- Scripts: (e.g., .sh, .py)
106
+
- Databases: (e.g., .db)
107
+
107
108
3. Extract Complete Metadata:
108
-
- What Metadata Includes: Information like when a file was created, last accessed, last modified, and deleted. This helps establish context and relevance for the investigation.
109
+
110
+
- What Metadata Includes: Information like when a file was created, last accessed, last modified, and deleted. This helps establish context and relevance for the investigation.
111
+
109
112
4. User-Friendly Interface:
110
-
- Ease of Use: The solution should offer an easy-to-use interface (either graphical or command-line) for navigating recovered data and generating reports.
113
+
114
+
- Ease of Use: The solution should offer an easy-to-use interface (either graphical or command-line) for navigating recovered data and generating reports.
115
+
111
116
5. Ensure Data Integrity:
112
-
- Data Validation: Ensure that the recovered data is accurate and hasn't been corrupted during the recovery process.
117
+
118
+
- Data Validation: Ensure that the recovered data is accurate and hasn't been corrupted during the recovery process.
113
119
114
120
**My Thoughts**:
115
121
116
122
1. Recover Deleted Data Efficiently:
117
-
- `xfs_undelete`.
118
-
- `btrfs restore` using in conjunction with `btrfs-find-root`.
123
+
124
+
-`xfs_undelete`.
125
+
-`btrfs restore` using in conjunction with `btrfs-find-root`.
119
126
120
127
2. Handling different types of files:
121
-
- Recovering a volume or partition leads to the recovery of the volume or the partition.
- `btrfs inspect-internal` and `btrfs-debug-tree`.
130
136
131
-
4.> *Now, let’s dive into the part everyone’s secretly hoping I’ll rant about: “The G U I”.
132
-
Yes, that elusive “Graphical User Interface” that everyone seems to think is the Holy Grail of software.
133
-
It’s almost like folks believe a GUI will magically turn their problems into confetti!* 🎉
134
-
*Let’s get real—sometimes, a sleek interface is just window dressing for the underlying magic of command-line tools.
135
-
So, grab your popcorn and let’s see why sometimes, fancy buttons don’t solve everything!* 🍿😂
137
+
-`xfs_db` and `xfs_metadump`.
138
+
-`btrfs inspect-internal` and `btrfs-debug-tree`.
139
+
140
+
4.> _Now, let’s dive into the part everyone’s secretly hoping I’ll rant about: “The G U I”.
141
+
> Yes, that elusive “Graphical User Interface” that everyone seems to think is the Holy Grail of software.
142
+
> It’s almost like folks believe a GUI will magically turn their problems into confetti!_ 🎉
143
+
> _Let’s get real—sometimes, a sleek interface is just window dressing for the underlying magic of command-line tools.
144
+
> So, grab your popcorn and let’s see why sometimes, fancy buttons don’t solve everything!_ 🍿😂
136
145
137
146
**So here’s the scoop**: People often believe that a GUI is the golden ticket to ease and efficiency, as if slapping a few colorful icons on a screen will somehow simplify the complex task of data recovery.
138
147
Or Somehow a GUI can untangle the messy intricacies of **XFS** and **BTRFS** with a single, gleaming "Recovery All" Button! 😂
139
148
But let’s not kid ourselves.
140
149
A GUI is great for eye candy and accessibility, but it can’t perform miracles.
141
150
142
-
> *It’s like asking a toddler to drive a Ferrari.
143
-
Sure, they might look cute in the driver’s seat, but they won’t get you very far.*
151
+
> _It’s like asking a toddler to drive a Ferrari.
152
+
> Sure, they might look cute in the driver’s seat, but they won’t get you very far._
144
153
145
154
Behind those flashy buttons and intuitive menus, there’s a whole world of command-line magic happening.
146
155
The real heavy lifting in data recovery isn’t about dragging and dropping; it’s about running the right commands with precision.
@@ -152,22 +161,23 @@ And sometimes, those flashy GUIs are just a distraction from the real tools that
152
161
Next time, let’s not be fooled by the glitter; sometimes, the best solutions come with a black screen and a blinking cursor. 😎💻
153
162
154
163
5. Data Integrity:
155
-
- **XFS**
156
-
- **Journaling**
157
-
- **xfs_repair**
158
-
- **BTRFS**
159
-
- **CoW**
160
-
- **Checksumming**
161
-
- **Btrfs scrub**
162
-
Best thing is these are the features of the file systems and natively available for use.
164
+
165
+
-**XFS**
166
+
-**Journaling**
167
+
-**xfs_repair**
168
+
-**BTRFS**
169
+
-**CoW**
170
+
-**Checksumming**
171
+
-**Btrfs scrub**
172
+
Best thing is these are the features of the file systems and natively available for use.
163
173
164
174
It’s really frustrating when people complain about data recovery being harder without acknowledging the powerful CLI tools specifically designed for these tasks.
165
175
The tools that were literally built for the job!
166
176
Instead of dismissing them, maybe it’s worth learning how to use them properly before blaming the file systems.
167
177
168
178
> Ignoring these tools and then crying foul is like complaining about not knowing how to cook while refusing to use a recipe book.
169
-
Or like insisting your car doesn’t run well while stubbornly avoiding the owner's manual.
170
-
It’s like saying you can’t bake a cake because you don’t have an oven, while standing right in front of one and asking for a microwave version! 🍰🔧
179
+
> Or like insisting your car doesn’t run well while stubbornly avoiding the owner's manual.
180
+
> It’s like saying you can’t bake a cake because you don’t have an oven, while standing right in front of one and asking for a microwave version! 🍰🔧
171
181
172
182
Instead of blaming the file systems, maybe it’s time to get acquainted with these command-line tools. After all, just because a recipe book doesn’t have a flashy cover doesn’t mean it won’t make you the best cake in town! 🎂💻
0 commit comments