Skip to content

About

Automated initialization & modern CLI environment (fzf, ripgrep, bat, FDclone) setup scripts for Debian/Ubuntu (Proxmox LXC, VMs, Bare-metal).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

debian-init-scripts

Automated initialization & modern CLI environment (fzf, ripgrep, bat, fd-find, FDclone) setup scripts for Debian / Ubuntu environments (Bare-metal, VMs, Proxmox LXC containers).

🇬🇧 English | 🇯🇵 日本語 | 📝 Changelog

🤖 Note / 免責事項
This repository and scripts were generated and optimized in collaboration with AI (Google Gemini).
本リポジトリに含まれるシェルスクリプトおよび本READMEは、AI (Google Gemini) との対話・協働によって生成・最適化されたものです。


🇺🇸🇬🇧 English

📦 Included Scripts

1. init-setup.sh (OS Initialization)

An interactive script to streamline the initial setup of Debian / Ubuntu:

  • Package Update & Base Tools: Runs apt update/upgrade and installs curl, git, sudo, nano, bash-completion, etc.
  • Root & User Environment: Enables colored prompts (root@xxxx:~#) and bash-completion out of the box.
  • Locale & Timezone: Configures Asia/Tokyo timezone and generates ja_JP.UTF-8 (Auto-detects Debian vs Ubuntu package differences).
  • SSH Root Login (Enable / Disable): Safely enables or disables SSH root password login (/etc/ssh/sshd_config and sshd_config.d/).
  • User Creation: Interactively creates a new user with sudo privileges.

2. fzf_fdclone.sh (CLI Environment & System Update Script)

Installs fzf (latest Git build) and FDclone, automatically resolving command name conflicts on Ubuntu/Debian (fd vs fdfind, bat vs batcat).

  • Multi-User / sudo Support: When executed via sudo, automatically installs fzf and applies .bashrc configurations to both root and the invoking user ($SUDO_USER).
  • Protects FDclone Config: Preserves original /etc/fdclone/fd2rc.org safely.
  • Conflict Avoidance:
    • Sets Rust fd as fdfind in fzf backend to co-exist with FDclone (fd).
    • Sets alias bat='batcat'.
  • System Maintenance Script (upg):
    • Automatically creates /usr/local/bin/upg and creates a symlink to /usr/bin/upg (ensuring compatibility with Proxmox LXC containers and restricted PATH environments).
    • One-shot system update and cleanup: supports Debian / Ubuntu (apt-get), Alpine Linux (apk), as well as snap and flatpak.

🚀 Quick Start (One-Liner Execution)

1. OS Initial Setup

Recommended for fresh/minimal containers with wget:

bash -c "$(wget -qO- https://raw.githubusercontent.com/TouryuTamane/debian-init-scripts/main/init-setup.sh)"

(Or with curl: bash -c "$(curl -fsSL https://raw.githubusercontent.com/TouryuTamane/debian-init-scripts/main/init-setup.sh)")

2. fzf & FDclone Environment Setup

bash -c "$(wget -qO- https://raw.githubusercontent.com/TouryuTamane/debian-init-scripts/main/fzf_fdclone.sh)"
source ~/.bashrc

(Or with curl: bash -c "$(curl -fsSL https://raw.githubusercontent.com/TouryuTamane/debian-init-scripts/main/fzf_fdclone.sh)")

3. System-wide Upgrade & Cleanup Anytime

upg

Alternative: Manual Clone & Run

git clone https://github.com/TouryuTamane/debian-init-scripts.git
cd debian-init-scripts
chmod +x *.sh
sudo ./init-setup.sh
sudo ./fzf_fdclone.sh

🇯🇵 日本語

Debian / Ubuntu 環境(実機、VM、Proxmox LXCコンテナ等)の初期セットアップおよび、モダンCLI(fzf, ripgrep, bat, fd-find)と伝統のファイラー FDclone を最高に共存させる統合セットアップスクリプト群です。

📦 収録スクリプト

1. init-setup.sh (初期環境構築スクリプト)

Debian / Ubuntu の初期構築で必要な処理をまとめた対話型インタラクティブスクリプトです。

  • パッケージ更新 & 基本ツール導入: apt update/upgrade および curl, git, sudo, nano, bash-completion 等の導入
  • Root & ユーザー環境の最適化: root を含む環境で色付きプロンプト(root@xxxx:~#)および bash-completion(コマンド補完)を自動有効化
  • 日本語化 & タイムゾーン設定: Asia/Tokyo への変更と ja_JP.UTF-8 ロケール生成(Debian/Ubuntuの差分を自動判別)
  • SSH Root ログイン設定 (許可 / 禁止): /etc/ssh/sshd_config および sshd_config.d/ を安全に書き換え(許可・無効化に対応)
  • 一般ユーザー追加: sudo 権限を付与したユーザーの対話的作成

2. fzf_fdclone.sh (CLI環境構築 & パッケージ一括更新スクリプト)

fzf (Git最新版) と FDclone を導入し、Ubuntu/Debian特有のコマンド名衝突(fd と bat)を安全に回避しながら .bashrc へ最適なエイリアス・プレビュー設定を追記します。

  • マルチユーザー / sudo 実行対応: sudo 経由で実行された場合、root だけでなく実行元の一般ユーザー($SUDO_USER)の環境にも自動で fzf インストールおよび .bashrc 設定を適用

  • FDclone設定の保護: 既存の /etc/fdclone/fd2rc.org を自動退避してオリジナルの英語設定を安全に維持

  • 名前衝突対策:

  • Rust製 fd は fdfind として fzf の検索バックエンドに明示指定し、FDclone (fd) と共存

  • bat コマンドは batcat へ自動エイリアス設定

  • 一括メンテナンスツール upg の自動作成:

    • /usr/local/bin/upg を生成し、同時に /usr/bin/upg へのシンボリックリンクを自動作成(Proxmox LXC や最小環境での PATH 不足時でも確実に動作)
    • Debian / Ubuntu (apt-get) に加え、Alpine Linux (apk)、さらに snap / flatpak の一括アップデートと後片付け (autoremove, clean) に対応

🚀 使い方 (クイックスタート)

1. OS初期セットアップの実行

新規コンテナや最小環境(wget 標準搭載)向け推奨ワンライナー:

bash -c "$(wget -qO- https://raw.githubusercontent.com/TouryuTamane/debian-init-scripts/main/init-setup.sh)"

(curl がある場合: bash -c "$(curl -fsSL https://raw.githubusercontent.com/TouryuTamane/debian-init-scripts/main/init-setup.sh)")

2. fzf & FDclone 環境構築の実行

bash -c "$(wget -qO- https://raw.githubusercontent.com/TouryuTamane/debian-init-scripts/main/fzf_fdclone.sh)"
source ~/.bashrc

(curl がある場合: bash -c "$(curl -fsSL https://raw.githubusercontent.com/TouryuTamane/debian-init-scripts/main/fzf_fdclone.sh)")

3. システムの一括アップデート (upg)

セットアップ完了後、いつでも以下のコマンドでシステム全体の更新と掃除を行えます。

upg

手動クローン&実行する場合

git clone https://github.com/TouryuTamane/debian-init-scripts.git
cd debian-init-scripts
chmod +x *.sh
sudo ./init-setup.sh
sudo ./fzf_fdclone.sh

💡 特徴・こだわり

  • 高い冪等性 (Idempotency): 何度実行しても既存の設定を無駄に破壊しません。
  • 環境に配慮した設計: Proxmox LXC や Minimal インストール直後の環境でもストレスなく極上のCLI環境へ移行できます。

📜 ライセンス

MIT License

About

Automated initialization & modern CLI environment (fzf, ripgrep, bat, FDclone) setup scripts for Debian/Ubuntu (Proxmox LXC, VMs, Bare-metal).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages