LinuxでSQLiteをインストールする方法:ディストリビューション別ガイド

Linux

「データベースを使ってみたいけど、設定がたいへんそう…」

そんな風に思ったことはありませんか?データベースといえば、サーバーを立てたり、ユーザー管理をしたりと、むずかしそうなイメージがあるかもしれません。

でも、SQLiteなら大丈夫です!
SQLiteは「ファイル一つがデータベース」という、とてもシンプルなデータベースです。

サーバーの設定も不要で、インストールもとても簡単。プログラミングの学習やちょっとしたツール作りに最適です。

この記事では、Linux環境でSQLiteをインストールする方法を、主要なディストリビューション別にわかりやすく説明します。


スポンサーリンク

SQLiteとは?

簡単に言うと

SQLiteは、とても軽くて使いやすいデータベースです。普通のデータベース(MySQLやPostgreSQLなど)とちがって、サーバーを立てる必要がありません。

データベースの内容は、ひとつのファイルにすべて保存されます。

SQLiteの特徴

軽量でシンプル

  • ファイルサイズは数MBと小さい
  • 設定ファイルがいらない
  • 管理者パスワードも不要

ファイルベース

  • データベース = 一つのファイル
  • ファイルをコピーするだけでバックアップ完了
  • USBメモリでデータベースを持ち運べる

標準SQL対応

  • 一般的なSQL文が使える
  • SELECT、INSERT、UPDATE、DELETEがすべて使用可能
  • JOINやサブクエリも対応

プログラミング言語からの利用

  • Python、JavaScript、PHP、Javaなど、ほとんどの言語から使える
  • 多くの言語で標準ライブラリとして提供

どんなときに使う?

こんな場面で活躍

  • プログラミングの学習
  • 個人的なデータ管理ツール
  • 小規模なWebアプリケーション
  • モバイルアプリのデータ保存
  • ログファイルの解析
  • 設定情報の保存

実際の使用例

# 簡単なTODOリストのデータベース
sqlite3 todo.db
sqlite> CREATE TABLE tasks (id INTEGER PRIMARY KEY, task TEXT, done BOOLEAN);
sqlite> INSERT INTO tasks (task, done) VALUES ('買い物', 0);
sqlite> SELECT * FROM tasks;

他のデータベースとの比較

特徴SQLiteMySQLPostgreSQL
サーバー設定不要必要必要
ファイルサイズ数MB数百MB数百MB
同時接続ユーザー制限あり多数対応多数対応
学習コスト低い中程度高い
用途個人・小規模中規模以上大規模・高機能要求

インストール前の準備

自分のLinuxディストリビューションを確認

インストール方法は、使っているLinuxの種類(ディストリビューション)によって変わります。

まず、どのディストリビューションを使っているか確認しましょう。

確認方法

# ディストリビューション名を確認
cat /etc/os-release

よく見る結果

# Ubuntu の場合
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"

# CentOS の場合  
NAME="CentOS Linux"
VERSION="8"

# Fedora の場合
NAME="Fedora Linux"
VERSION="38"

パッケージマネージャーの種類

ディストリビューションパッケージマネージャーインストールコマンド
Ubuntu, Debianaptsudo apt install
CentOS, RHELyum/dnfsudo yum install
Fedoradnfsudo dnf install
Arch Linuxpacmansudo pacman -S
openSUSEzyppersudo zypper in

インストール権限の確認

SQLiteをインストールするには、管理者権限(sudo)が必要です。

権限確認

sudo -l

パスワードを求められたら

  • 自分のユーザーパスワードを入力
  • rootパスワードではありません

Ubuntu / Debian系の場合

Ubuntu、Debian、Linux Mint、elementary OSなどで使える方法です。

基本的なインストール手順

ステップ1:パッケージリストを更新

sudo apt update

これにより、最新のパッケージ情報が取得されます。

ステップ2:SQLiteをインストール

sudo apt install sqlite3

ステップ3:開発ツールもインストール(推奨)

sudo apt install sqlite3-dev

sqlite3-devは、プログラムからSQLiteを使う場合に必要なヘッダーファイルが含まれています。

インストール内容の詳細

インストールされるもの

  • sqlite3:SQLiteコマンドラインツール
  • libsqlite3-0:SQLiteライブラリ(自動でインストール)

インストール先

  • 実行ファイル:/usr/bin/sqlite3
  • ライブラリ:/usr/lib/x86_64-linux-gnu/

バージョンとパッケージ情報の確認

インストールされたバージョンを確認

sqlite3 --version

実行結果例:

3.37.2 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5dalt1

パッケージの詳細情報を確認

apt show sqlite3

どのファイルがインストールされたか確認

dpkg -L sqlite3

Ubuntu 固有の注意点

LTSバージョンでの安定性

  • Ubuntu LTS(Long Term Support)版では、安定したバージョンのSQLiteが提供されます
  • 最新機能より安定性を重視

PPAを使った最新版の取得: 最新版が必要な場合は、PPA(Personal Package Archive)を使用:

sudo add-apt-repository ppa:sergey-dryabzhinsky/packages
sudo apt update
sudo apt install sqlite3

Red Hat / CentOS / Fedora系の場合

CentOS、RHEL、Fedora、Rocky Linux、AlmaLinuxなどで使える方法です。

Fedora / 新しいCentOS(CentOS 8以降)の場合

ステップ1:SQLiteをインストール

sudo dnf install sqlite

ステップ2:開発ツールもインストール(推奨)

sudo dnf install sqlite-devel

古いCentOS(CentOS 7以前)の場合

ステップ1:SQLiteをインストール

sudo yum install sqlite

ステップ2:開発ツールもインストール(推奨)

sudo yum install sqlite-devel

RHEL(Red Hat Enterprise Linux)の場合

サブスクリプション確認

sudo subscription-manager status

EPELリポジトリを有効化(推奨)

sudo dnf install epel-release
sudo dnf install sqlite

パッケージ情報の確認

インストールされたバージョンを確認

sqlite3 --version

パッケージの詳細情報を確認

# Fedora/新しいCentOS の場合
dnf info sqlite

# 古いCentOS の場合
yum info sqlite

どのファイルがインストールされたか確認

rpm -ql sqlite

Red Hat系固有の注意点

SELinuxの影響: Red Hat系ではSELinuxが有効な場合があります。SQLiteファイルの作成場所によっては、SELinuxの設定が必要:

# SELinuxの状態確認
sestatus

# 必要に応じてコンテキストを設定
chcon -t user_home_t ~/mydata.db

ファイアウォール: ローカル利用のみなら影響ありませんが、ネットワーク経由でアクセスする場合は設定が必要です。


Arch Linux系の場合

Arch Linux、Manjaro、EndeavourOSなどで使える方法です。

基本的なインストール手順

ステップ1:パッケージデータベースを更新

sudo pacman -Sy

ステップ2:SQLiteをインストール

sudo pacman -S sqlite

Arch Linuxの特徴

ローリングリリース

  • 常に最新版のSQLiteが提供される
  • 定期的なシステム更新で最新機能が使える

シンプルなパッケージ構成

  • 必要最小限のパッケージでインストール
  • 依存関係は自動で解決

バージョンと詳細情報の確認

インストールされたバージョンを確認

sqlite3 --version

パッケージ情報を確認

pacman -Qi sqlite

パッケージの内容を確認

pacman -Ql sqlite

Arch Linux固有の注意点

頻繁な更新

  • システム更新のたびにSQLiteも更新される可能性
  • 安定性より最新性を重視

AUR(Arch User Repository)の活用: 特別なビルドが必要な場合:

# AURヘルパー(yay)を使う場合
yay -S sqlite-git

その他のディストリビューション

openSUSE の場合

openSUSE Tumbleweed(ローリングリリース)

sudo zypper install sqlite3

openSUSE Leap(安定版)

sudo zypper install sqlite3 sqlite3-devel

Alpine Linux の場合

軽量でコンテナ向き

apk add sqlite

Gentoo の場合

ソースからコンパイル

emerge sqlite

USE フラグの設定

echo "dev-db/sqlite readline secure-delete" >> /etc/portage/package.use
emerge sqlite

ソースからビルドする場合

パッケージマネージャーで提供されるバージョンが古い場合や、最新機能を使いたい場合は、ソースからビルドできます。

事前準備

必要なツールをインストール

Ubuntu/Debian系

sudo apt install build-essential wget

Red Hat/CentOS/Fedora系

sudo dnf groupinstall "Development Tools"
sudo dnf install wget

Arch Linux系

sudo pacman -S base-devel wget

ソースからのビルド手順

ステップ1:最新版をダウンロード

# 作業用ディレクトリを作成
mkdir ~/sqlite-build
cd ~/sqlite-build

# SQLite公式サイトから最新版をダウンロード
wget https://www.sqlite.org/2023/sqlite-autoconf-3430200.tar.gz

ステップ2:解凍して移動

tar -xzf sqlite-autoconf-3430200.tar.gz
cd sqlite-autoconf-3430200

ステップ3:ビルド設定

./configure --prefix=/usr/local

ステップ4:コンパイル

make -j$(nproc)

$(nproc)は利用可能なCPUコア数を自動取得します。

ステップ5:インストール

sudo make install

ステップ6:動的リンクライブラリの更新

sudo ldconfig

ビルドオプションの説明

よく使われるオプション

./configure \
  --prefix=/usr/local \
  --enable-fts5 \
  --enable-json1 \
  --enable-rtree \
  --enable-session \
  --enable-shared \
  --enable-static

オプションの意味

  • --enable-fts5:全文検索機能を有効
  • --enable-json1:JSON関数を有効
  • --enable-rtree:R-Tree インデックスを有効
  • --enable-session:セッション機能を有効

ソースビルドの注意点

バージョン管理

  • パッケージマネージャーとは別管理になる
  • 手動でアップデートが必要

依存関係

  • 他のソフトウェアとの互換性に注意
  • システム標準のライブラリと競合する可能性

インストール後の確認と基本操作

正常にインストールされたかの確認

SQLiteコマンドの実行

sqlite3

成功すると、以下のような画面が表示されます:

SQLite version 3.37.2 2022-01-06 13:25:41
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> 

プロンプトの見方

  • sqlite>:SQLiteのコマンド待ち状態
  • .help:ヘルプコマンド
  • .quit:SQLiteを終了

基本的な動作テスト

簡単なデータベース操作を試してみる

ステップ1:データベースファイルを作成

sqlite3 test.db

ステップ2:テーブルを作成

sqlite> CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);

ステップ3:データを挿入

sqlite> INSERT INTO users (name, age) VALUES ('太郎', 25);
sqlite> INSERT INTO users (name, age) VALUES ('花子', 30);

ステップ4:データを確認

sqlite> SELECT * FROM users;
1|太郎|25
2|花子|30

ステップ5:SQLiteを終了

sqlite> .quit

ファイルの確認

データベースファイルの確認

ls -la test.db
file test.db

結果例:

-rw-r--r-- 1 user user 8192 Oct 15 10:30 test.db
test.db: SQLite 3.x database

コマンドラインオプション

便利なオプション

# ヘッダー付きで表示
sqlite3 -header test.db "SELECT * FROM users;"

# CSVモードで出力
sqlite3 -csv test.db "SELECT * FROM users;"

# HTML形式で出力
sqlite3 -html test.db "SELECT * FROM users;"

# SQLスクリプトを実行
sqlite3 test.db < script.sql

SQLiteの内部コマンド

データベース構造の確認

-- テーブル一覧を表示
.tables

-- スキーマを表示
.schema

-- データベース情報を表示  
.dbinfo

-- インデックス一覧を表示
.indexes

トラブルシューティング

よくある問題と解決方法

「sqlite3: command not found」エラー

原因:SQLiteがインストールされていないか、PATHが通っていない

解決方法

# インストール状況の確認
which sqlite3

# パッケージの確認(Ubuntu/Debian)
dpkg -l | grep sqlite

# パッケージの確認(Red Hat系)
rpm -qa | grep sqlite

# 再インストール
sudo apt install sqlite3  # Ubuntu/Debian
sudo dnf install sqlite   # Fedora/CentOS

権限エラーでデータベースファイルが作成できない

エラー例

Error: unable to open database "test.db": unable to open database file

解決方法

# 現在のディレクトリの権限確認
ls -la .

# 書き込み権限のあるディレクトリで実行
cd ~/
sqlite3 test.db

# または権限のあるディレクトリを指定
sqlite3 /tmp/test.db

古いバージョンのSQLiteがインストールされる

確認方法

sqlite3 --version

解決方法

# パッケージリポジトリの更新
sudo apt update          # Ubuntu/Debian
sudo dnf update          # Fedora/CentOS

# 必要に応じてソースからビルド
# (前述のソースビルド手順を参照)

SELinux関連のエラー(Red Hat系)

エラー例

sqlite3: Permission denied

解決方法

# SELinuxの状態確認
sestatus

# 一時的に無効化(テスト用)
sudo setenforce 0

# ファイルコンテキストの確認
ls -Z test.db

# 適切なコンテキストを設定
chcon -t user_home_t test.db

パフォーマンスの確認

SQLiteの設定確認

-- コンパイル時のオプション確認
sqlite> PRAGMA compile_options;

-- ページサイズの確認
sqlite> PRAGMA page_size;

-- キャッシュサイズの確認
sqlite> PRAGMA cache_size;

まとめ

SQLiteは、Linuxでデータベースを始めるのに最適なツールです。

インストールも簡単で、すぐに使い始められるのが大きな魅力です。

ディストリビューション別まとめ

ディストリビューションインストールコマンド特徴
Ubuntu/Debiansudo apt install sqlite3安定版、豊富なパッケージ
Fedora/CentOSsudo dnf install sqlite企業向け、セキュリティ重視
Arch Linuxsudo pacman -S sqlite最新版、シンプル構成
openSUSEsudo zypper install sqlite3堅実、企業向け

コメント

タイトルとURLをコピーしました