RAID Systems Explained in Detail

RAID (Redundant Array of Independent Disks) is a technology that uses multiple physical disks as a single logical disk. Its main purpose is to improve data reliability and disk access speed. It has become an almost essential component in modern server systems. Basic Principles of RAID RAIDs are broadly classified into hardware RAID and software RAID. Hardware RAID is implemented using a dedicated controller. The operating system recognizes the RAID configuration as a single disk, and the RAID controller handles all operations. It offers high reliability and performance but comes at a higher cost. ...

February 18, 2025 · 4 min · 646 words · In-Jun Hwang

Managing File Ownership with chown

Understanding Users and Groups A user is an individual entity that uses the system. Each user is assigned a unique User ID (UID), where UID 0 generally represents the root user, while normal users are assigned UIDs greater than 1000. Each user has a home directory where they can store personal files and configurations, and they can set their preferred shell, environment variables, and access permissions individually. In contrast, a group is a collection of users that can be managed as a unit, allowing permissions to be assigned to files or directories at the group level. Users can belong to multiple groups simultaneously, typically having a primary group assigned during account creation and additional supplementary groups added as needed. Groups also have a unique Group ID (GID) like users. ...

February 18, 2025 · 3 min · 536 words · In-Jun Hwang

Linux chmod Demystified

Understanding Linux Permissions Linux, adhering to UNIX heritage, possesses a robust file permission system. Every file and directory can have specific read, write, and execute permissions for its owner, group, and other users. This mechanism facilitates security and resource sharing in multi-user systems. Composition of Basic Permissions Linux permissions consist of three basic elements: read (r), write (w), and execute (x). These permissions can be set independently for the owner, group, and others. Notations like -rwxr-xr– seen while listing files represent combinations of such permissions. ...

February 17, 2025 · 3 min · 567 words · In-Jun Hwang

How to Set Up Cron Jobs on Linux - Automating System Tasks

Cron Manually taking care of repetitive tasks is a waste of time. Tasks like backing up system, cleaning logs, checking disk space, and many more, need to be automated. Cron is the most basic tool in Linux that lets you automate such tasks. Understanding Cron Cron executes scheduled tasks at specified times. You define the time and the command to be executed in a configuration file called crontab. Each line in the crontab consists of a time and a command. ...

February 17, 2025 · 1 min · 192 words · In-Jun Hwang

Streamlining Development Environment Setup with Docker Compose

The Challenge of Development Environment Setup Building web applications requires various infrastructure components like databases, cache servers, and message queues. Setting up and configuring each of these components can be time-consuming and tedious. This process becomes particularly challenging when onboarding new team members, as they need to replicate the entire setup process. Why Docker Compose? Docker Compose addresses these challenges by providing a powerful orchestration tool. With a single YAML file, you can define and manage multiple containers, launching your entire development environment with just one command. By including this configuration in your version control system, you ensure that every team member can reproduce the exact same environment effortlessly. ...

February 17, 2025 · 4 min · 709 words · In-Jun Hwang