Linux tutorials, system administration, web hosting, programming

How to upgrade our Debian 11 (Bullseye) based system to Debian 12 (Bookworm) major release

botond published 2025/12/12, p - 18:30 time
Upgrading from Debian 11 (Bullseye) to Debian 12 (Bookworm) is a crucial step in securing and modernizing your servers. This guide will walk you through the entire process using a complex hybrid system running both a desktop environment and ISPConfig server services, and will also cover specific pitfalls. On this page, we will cover the basic steps: assessing your system, securely managing external package repositories, and properly modifying your APT sources list (sources.list), including adding the new non-free-firmware repository. Finally, we will kick off the process by updating your package lists and performing a safe, minimal system upgrade, creating a solid foundation for the full version change.

CORS (Cross-Origin Resource Sharing)

botond published 2025/12/02, k - 17:57 time
This encyclopedia entry introduces the CORS (Cross-Origin Resource Sharing) standard, a key element of modern web security. The description clarifies the most common misunderstanding: the restriction is enforced not by the server, but by the browser to protect the Same-Origin Policy. We discuss the operating mechanism in detail, distinguishing simple requests from complex calls that require preflight. We introduce the HTTP headers required for regulation and discuss the security risks arising from incorrect configuration (for example, using the * wildcard together with authentication). The article provides a practical guide to correctly configure the most popular web servers (Apache, Nginx) and PHP applications. Finally, we provide troubleshooting tips, highlighting why API clients (e.g. Postman) and web browsers behave differently.

MCP (Model Context Protocol)

botond published 2025/11/29, Sat - 15:42 time
This encyclopedia entry introduces MCP (Model Context Protocol), a new open standard for communication between AI models and external data sources. The description explains how the protocol solves integration problems, acting as a kind of "USB-C port" for artificial intelligence. We discuss in detail the architecture (Host, Client, Server) and communication channels, with a special focus on the stdio solution that is advantageous on Linux. We introduce the building blocks of the protocol: passive resources (Resources), templates (Prompts) and tools that enable active action (Tools). We pay special attention to the "Human-in-the-loop" security model and practical application, not only in Linux servers and ISPConfig environments, but also in innovative areas such as smart homes (IoT), robotics and industrial automation. Finally, we review the ecosystem in 2025 and future trends such as multi-agent systems and Kubernetes operators.

Upgrading VirtualBox to 7.2.x and maintaining it after upgrading to a new Debian distribution

botond published March 2025, 11, Thu - 27:23 time
After a Debian distribution upgrade, we often find that our VirtualBox virtualization environment appears to be working, but important extra features, such as USB support or 3D acceleration, become unavailable. In this article, we will show you step-by-step how to fix this problem, which is usually due to a version mismatch between the main program and the extensions. We will guide you through the process of upgrading the main VirtualBox program to the latest version, 7.x, using the apt package manager. We will also cover the installation of the Extension Pack in detail, showing a command-line method that can automatically download the correct file despite Oracle's changed file naming scheme. The article also covers the last but critical element of the upgrade chain, updating the Guest Additions, showing you the new, integrated installation process for VirtualBox 7. By the end of this article, you will have a fully up-to-date and synchronized VirtualBox system, where the host and guest components work together in perfect harmony.

LLM (Large Language Model)

botond published 2025/11/15, Sat - 05:28 time
This encyclopedia entry provides a comprehensive overview of the world of LLMs (Large Language Models). The description takes the reader from the basics of the technology – such as tokenization and the Transformer architecture – to the latest developments in 2025. We discuss in detail the training phases of models, the importance of parameter counts and context windows, and the emergence of native multimodality (image and video processing). The article compares the ecosystem of market-leading closed (e.g. GPT-5, Gemini 3, Claude 4) and open (e.g. Llama 4, DeepSeek) models. A separate chapter deals with practical applications, including encoding, RAG systems, and the new, cost-effective Context Caching technology. In the spirit of a Linux-centric approach, we will introduce the tools for efficient local execution (llama.cpp, quantization), and finally we will discuss future-proof "reasoning" models and the current limitations of the technology.

Apps vhost (ISPConfig)

botond published 2025/11/07, p - 14:37 time
This encyclopedia entry introduces a special component of the ISPConfig hosting management system, the “apps” virtual host. The description details how this vhost provides unified, centralized access to the server’s administrative web applications such as Roundcube or phpMyAdmin. We learn about the background of Apache configuration, including the location of files and the significance of the “000-” prefix that ensures the order in which they are loaded. The article compares centralized application serving to individual, client-level installations, highlighting the advantages of maintenance and PHP version independence. We discuss how ISPConfig handles the default vhost behavior for IP-based access. The impact of system updates is given special emphasis, as changing access paths when upgrading Linux distributions can affect the operation of the apps vhost. Finally, the post discusses the security aspects of the solution, showing how the system separates administrative interfaces from potentially vulnerable client-side websites.

Rsync

botond published 2025/11/07, p - 00:58 time
rsync is one of the most advanced file synchronization tools for Linux systems, and its main strength lies in its efficient delta synchronization algorithm. Instead of copying entire files, the program can detect changes in files and transfer only the modified data blocks, or "deltas", over the network. This article introduces the history of the tool, created by Andrew Tridgell in the 1990s, and the theory behind its operation. We discuss in detail the famous rsync algorithm, which compares source and destination files using checksums with minimal network traffic. We cover two main modes of operation: using it securely over an SSH tunnel, and running it in dedicated daemon mode, used on public mirror servers. The article also analyzes the importance of "archive" mode (-a switch), which ensures that permissions, timestamps, and other metadata are preserved intact. We examine the advantages of rsync, such as bandwidth efficiency, flexibility, and the ability to resume interrupted transfers. Finally, we summarize its disadvantages, such as higher resource requirements and the fact that its true effectiveness is revealed during repeated runs.

GParted

botond published 2025/11/04, k - 11:16 time
GParted (GNOME Partition Editor) is a free, open source, and user-friendly graphical partitioning tool that has become the standard partitioning program for Linux systems. This encyclopedia entry provides a detailed introduction to the software's history, purpose, and key milestones in its development, such as the introduction of NTFS and GPT support. The article guides the reader step-by-step, with numerous screenshots, through the most important disk management operations, from creating a partition table to creating, resizing, and moving new partitions, to safely finalizing the operations. A separate chapter covers the portable, bootable version of GParted Live, which also allows you to modify system partitions, and shows you how to start it. The article places special emphasis on security considerations, emphasizing the critical importance of backing up your data before partitioning.

JSON (JavaScript Object Notation)

botond published 2025. 07. 14., h - 20:18 time
This encyclopedia entry introduces the JSON (JavaScript Object Notation) format, the universal data exchange standard of modern computing. The description explains the history of the format and how it replaced earlier XML-based solutions with its simplicity and efficiency. We discuss in detail the strict yet understandable syntax of JSON and the supported data types. The article also covers important technological extensions based on JSON, such as JSON Schema for data validation, JSON-RPC for remote procedure calls, and JSON-LD, which forms the basis of the semantic web. A separate chapter deals with its role in the Linux environment, touching on configuration files, structured logging, and the jq command-line processing tool. Finally, we objectively consider the advantages of the format, such as language independence, and its disadvantages, such as the lack of comments.

GitHub

botond published 2025/06/21, Sat - 10:19 time
This encyclopedia entry provides a detailed overview of GitHub, the world's leading web-based software development platform, and explains its relationship to the Git version control system behind it. The description presents the history of the platform, which is based on the philosophy of "social coding", and its impact on community development. We discuss in detail the basic building blocks of GitHub, starting from the repository, through the use of branches that enable parallel development, to "Verified" commits authenticated with GPG keys. The article places great emphasis on the "Fork and Pull Request" model that revolutionized open source contribution, and the Issues and Milestones system that helps project planning. We also cover the role of SSH and GPG keys, which are essential for secure work, the operation of GitHub Actions that provide automation, and the Tags and Releases function that closes the software release cycle. Finally, the post analyzes the indispensable role of GitHub in the open source ecosystem.