Skip to content

Instantly share code, notes, and snippets.


Akash Rajvanshi AkashRajvanshi

Block or report user

Report or block AkashRajvanshi

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile

Calibre Server on Linux


Calibre is a powerful cross-platform, open source, ebook manager and editing platform. Its calibre-server component can be used to publish an e-book library on a local network. While you can launch calibre-server as a desktop application, it can also be run as a daemon on a headless Linux server.

This tutorial on setting up calibre-server using Ubuntu 14.04 is very good, but dated.

AkashRajvanshi /
Created Mar 25, 2020 — forked from vitorbritto/
Regex Cheat Sheet

Regular Expressions

Basic Syntax

  • /.../: Start and end regex delimiters
  • |: Alternation
  • (): Grouping

Typing vagrant from the command line will display a list of all available commands.

Be sure that you are in the same directory as the Vagrantfile when running these commands!

Creating a VM

  • vagrant init -- Initialize Vagrant with a Vagrantfile and ./.vagrant directory, using no specified base image. Before you can do vagrant up, you'll need to specify a base image in the Vagrantfile.
  • vagrant init <boxpath> -- Initialize Vagrant with a specific box. To find a box, go to the public Vagrant box catalog. When you find one you like, just replace it's name with boxpath. For example, vagrant init ubuntu/trusty64.

Starting a VM

  • vagrant up -- starts vagrant environment (also provisions only on the FIRST vagrant up)

Phase 10 - The END Game



Phase 9 - Virtualization & Other Advanced Services


Linux as a virtualization guest

Description: Candidates should understand the implications of virtualization and cloud computing on a Linux guest system.

Key Knowledge Areas:

Understand the general concept of virtual machines and containers.

Phase 8 - Software Development with Linux

Software Engineering

Modern Software Development

Description: Candidates should be able to design software solutions suitable for modern runtime environments. Candidates should understand how services handle data persistence, sessions, status information, transactions, concurrency, security, performance, availability, scaling, load balancing, messaging, monitoring and APIs. Furthermore, candidates should understand the implications of agile and DevOps on software development.

Key Knowledge Areas:

Understand and design service based applications
Understand common API concepts and standards

Phase 7 - Extra Services

Domain Name Server

Basic DNS server configuration

Description: Candidates should be able to configure BIND to function as a caching-only DNS server. This objective includes the ability to manage a running server and configuring logging.

Key Knowledge Areas:

BIND 9.x configuration files, terms and utilities
Defining the location of the BIND zone files in BIND configuration files

Phase 6 - Advanced


Perform security administration tasks

Description: Candidates should know how to review system configuration to ensure host security in accordance with local security policies.

Key Knowledge Areas:

Audit a system to find files with the suid/sgid bit set.
Set or change user passwords and password aging information.

Phase 5 : The Networking

Networking Fundamentals

Fundamentals of Internet Protocols

Description: Candidates should demonstrate a proper understanding of TCP/IP network fundamentals.

Key Knowledge Areas:

Demonstrate an understanding of network masks and CIDR notation.
Knowledge of the differences between private and public "dotted quad" IP addresses.

Phase 4 : The Basics : Hard Parts

File Permissions

Managing File Permissions and Ownership

Description: Understanding and manipulating file permissions and ownership settings.

Key Knowledge Areas:

File and directory permissions and ownership
You can’t perform that action at this time.