gnupack Users Guide

OSDN

はじめに

gnupackとは

gnupackは手軽にcygwinとemacsを導入できるパッケージソフトウェアです。

アーカイブファイルを展開するだけでgnupackはすぐに利用できます。

特徴

gnupackの特徴は以下のとおりです。

インストール フリー
startupプログラムstartup_*.exeを実行するだけで、cygwin、emacs、gvimがすぐに利用可能。
バンドル ソフトウェア
cygwinやemacsを便利に使うための各種ソフトウェアを標準でバンドル。
32bit/64bit対応
32bit環境、64bit環境のどちらでも動作可能。
プライベート フォント
システムにインストールすることなく任意のフォントが利用可能。
プロセス環境変数
システムのプロパティで設定されている環境変数に影響しない独自の環境変数が定義可能。

バンドル ソフトウェア

gnupackには、以下のソフトウェアがバンドルされています。バンドルされているソフトウェアはすべて32bitバイナリです。

各ソフトウェアのバージョンは、リリースノートを参照してください。

ソフトウェア名 ソフトウェア概要 Webサイト
cygwin WindowsにLinuxディストリビューション同等の機能を提供する各種ツール群。公式バイナリをバンドル。 https://www.cygwin.com/
emacs カスタマイズかつ拡張可能なテキストエディタ。IMEパッチ適用、独自ビルドしたcygwinバイナリをバンドル。 http://www.gnu.org/software/emacs/ https://gist.github.com/rzl24ozi/
gvim 効率的なテキスト編集のためのテキストエディタ。右記Webサイトで提供されているバイナリをバンドル。 http://www.kaoriya.net/software/vim/
nkf 文字列の文字コード変換プログラム。独自ビルドしたcygwinバイナリをバンドル。 http://osdn.jp/projects/nkf/
global ソースコードのタグ生成、タグ検索プログラム。独自ビルドしたcygwinバイナリをバンドル。 http://www.gnu.org/software/global/
cocot コマンド・端末間の文字コード自動変換プログラム。独自ビルドしたcygwinバイナリをバンドル。 https://github.com/vmi/cocot/
sshpass コマンドライン上でパスワード指定可能なsshラッパープログラム。独自ビルドしたcygwinバイナリをバンドル。 http://sourceforge.net/projects/sshpass/
cmigemo ローマ字入力の日本語インクリメンタル検索プログラム。独自ビルドしたcygwinバイナリをバンドル。 https://github.com/koron/cmigemo/
ttyrec 端末画面表示の録画・再生プログラム。独自ビルドしたcygwinバイナリをバンドル。 http://0xcc.net/ttyrec/
sary Suffix Arrayを用いた高速なファイルの全文検索プログラム。独自ビルドしたcygwinバイナリをバンドル。 http://sary.sourceforge.net/
silver searcher ファイル内文字列の高速検索プログラム。独自ビルドしたcygwinバイナリをバンドル。 https://github.com/ggreer/the_silver_searcher/
man-pages-ja Linux関連コマンドの日本語版マニュアルページ。右記Webサイトの提供ファイルをバンドル。 http://linuxjm.osdn.jp/
Migu 1M M+フォントとIPAゴシックの合成フォント。右記Webサイトの提供フォントをバンドル。 http://osdn.jp/projects/mix-mplus-ipa/
apt-cyg CUIベースのcygwinパッケージ管理プログラム。右記Webサイトの提供スクリプトをバンドル。 https://github.com/kou1okada/apt-cyg/

開発スタンス

gnupackの開発(バグ改修や機能追加など含む)は、開発者の対応可能な範囲内で行わせていただきます。

パッケージ概要

パッケージ種別

gnupackでは用途に応じた2種類のパッケージを提供します。

gnupack basic
cygwin、emacs、gvimを使用するための基本構成のパッケージ群。
gnupack devel
gnupack basicの構成に対し、いくつかのcygwinパッケージを追加バンドルしたパッケージ群。

パッケージごとのバンドル ソフトウェアは以下のとおりです。

(凡例 ○:バンドル ×:非バンドル)

ソフトウェア名 gnupack
basic
gnupack
devel
cygwin (core)
cygwin (gcc) ×
cygwin (python, ruby) ×
cygwin (cvs, git, subversion) ×
emacs
gvim
nkf
global
cocot
sshpass
cmigemo
ttyrec
sary
silver searcher
man-pages-ja
Migu 1M
apt-cyg

動作環境

gnupackの動作する環境と、開発者による動作テストの実施有無は以下のとおりです。

(凡例 ○:動作可 △:動作可(未確認) ×:動作不可)

OS名 バージョン番号 動作環境 動作テスト
Windows 8.1 NT 6.3No
Windows 8 NT 6.2No
Windows 7 NT 6.1Yes
Windows VistaNT 6.0No
Windows XP NT 5.1×No
Windows 2000 NT 5.0×No
Windows Me 4.9 ×No
Windows 98 SE4.1 ×No
Windows 98 4.1 ×No
Windows 95 4.0 ×No

gnupack本体の展開に必要なディスク容量の目安は以下のとおりです。

パッケージ種別 必要ディスク容量
gnupack basic約600 MB
gnupack devel約1.0 GB

バージョンアップ方針

バージョンアップの方針は以下のとおりです。

メジャーバージョンアップ
Cygwin POSIX Emulation DLL cygwin1.dllのアップデートで大幅な変更があった場合に実施。
emacsのアップデートで大幅な変更があった場合に実施。
startupプログラムstartup_*.exeにおいて上位互換のない改修があった場合に実施。
リリース ファイル名は、メジャーバージョン、マイナーバージョン、リリース日をすべて更新。
マイナーバージョンアップ
バンドル ソフトウェアの構成に変更があった場合に実施。
バンドル ソフトウェアの各種設定ファイルに変更があった場合に実施。
startupプログラムstartup_*.exeにおいて上位互換のある改修があった場合に実施。
リリース ファイル名は、マイナーバージョンとリリース日を更新。
メンテナンス バージョンアップ
バンドル済みの各種ソフトウェアでアップデートがあった場合に実施。
メジャー/マイナーバージョンアップの必要ない範囲の変更があった場合に実施。
リリース ファイル名は、メジャーバージョン、マイナーバージョンは変えず、リリース日のみ更新。

リリース ファイルの命名規則は以下のとおりです。

gnupack_Type_MajorVer.MinorVer_Date

  Type     : パッケージ種別(basic or devel)
  MajorVer : メジャーバージョン(1 to 99)
  MinorVer : マイナーバージョン(00 to 99)
  Date     : リリース日(yyyy-mm-dd)

使い方

ダウンロード

gnupackのダウンロード手順は以下のとおりです。

  1. 配布ページにアクセスします。
    http://osdn.jp/projects/gnupack/releases/p10360
  2. 最新バージョンのパッケージをクリックします(下記では gnupack_devel-13.03を選択)
  3. ダウンロードが開始されない場合、リンクをクリックします。

インストール

gnupackのインストール手順は以下のとおりです。

  1. 自己解凍形式のアーカイブファイルを実行します。
  2. 解凍先に任意フォルダを指定し、解凍ボタンを押下します。
  3. 解凍先フォルダに移動します。
  4. startup_cygwin.exestartup_emacs.exestartup_gvim.exeへのショートカットを作成します。

ソフトウェア起動

各ソフトウェアの起動方法は以下のとおりです。

cygwin
インストール ディレクトリ直下のcygwin startupプログラムstartup_cygwin.exeを実行します。
emacs
インストール ディレクトリ直下のemacs startupプログラムstartup_emacs.exeを実行します。
emacsclientを利用する場合、emacsclient startupプログラムstartup_emacsclient.exeを実行します。
gvim
インストール ディレクトリ直下のgvim startupプログラムstartup_gvim.exeを実行します。

アンインストール

gnupackのアンインストール手順は、以下のとおりです。

  1. startupプログラムから起動したプログラム、プロセスをすべて終了します。
  2. gnupackインストール ディレクトリを削除します。
  3. システムのプロパティに設定されている環境変数TEMP配下のgnupackディレクトリを削除します。

 

cygwinのレジストリ情報を削除する場合、以下の項目を削除します。レジストリ変更は自己の責任において実施してください。

 

cygwinアンインストールの詳細な手順は公式サイトのFAQ(How do I uninstall all of Cygwin?)を参照ください。

バージョンアップ

gnupackのバージョンアップには、以下の2種類の方式があります。

gnupackバージョンアップ
gnupack全体をバージョンアップする方式。
cygwin、emacsなどの各バンドル ソフトウェアをバージョンアップ。
cygwinバージョンアップ
apt-cygによりcygwinパッケージをバージョンアップする方式。
新規パッケージの追加、既存パッケージの削除も可能。

gnupackバージョンアップ

gnupackのバージョンアップ手順は、以下のとおりです。

  1. startupプログラムから起動したプログラム、プロセスをすべて終了します。
  2. gnupackインストール ディレクトリを削除します。
  3. バージョンアップ対象のアーカイブファイルをダウンロードします。
  4. ダウンロードしたアーカイブファイルを解凍します。

上記はgnupackをデフォルトの状態で利用している場合の手順です。

設定ファイルやバンドル ソフトウェアの構成などを変更した場合、バージョンアップ後に個別変更した内容を反映してください。

 

cygwinバージョンアップ

cygwinのバージョンアップは、apt-cygにより行います。apt-cygの詳細な使い方は配布サイトのREADMEを参照ください。

一例として、新規パッケージの追加結果を以下に示します。

# apt-cyg install bash-completion
Working directory is /setup
Mirror is ftp://mirror.mcs.anl.gov/pub/cygwin

   <省略>

Unpacking...
Package bash-completion requires the following packages, installing:
bash
Package bash is already installed, skipping
Running postinstall scripts
Package bash-completion installed

# cygcheck -c bash-completion
Cygwin Package Information
Package              Version        Status
bash-completion      1.3-1          OK

cygwinパッケージの詳細な情報は公式サイトのSearch Packagesを参照ください。

詳細情報

ディレクトリ構成

gnupackのディレクトリ構成の全体概要は以下のとおりです。

gnupack/
gnupackのインストール ディレクトリ。デフォルトのディレクトリ名はアーカイブファイルの名称と同一。
本ディレクトリ配下にstartupプログラムとユーティリティツールを格納。
本ディレクトリは、プログラム中から環境変数ROOT_DIRとして参照可能。
gnupack/app/
バンドル ソフトウェアを格納するディレクトリ群のトップ ディレクトリ。
gnupack/app/cygwin
cygwinバイナリを格納するディレクトリ群のトップ ディレクトリ。
公式バイナリと独自ビルドしたバイナリの格納先をサブディレクトリで分類。
gnupack/app/cygwin/cygwin
公式バイナリのインストール ディレクトリ。
公式インストーラのsetup.exeあるいはapt-cygによる追加パッケージも本ディレクトリにインストール。
gnupack/app/cygwin/emacs
独自ビルドしたemacsのインストール ディレクトリ。
gnupack/app/cygwin/local
独自ビルドしたバイナリのインストール ディレクトリ
ユーザが個別にmake install PREFIX=/usr/localしたパッケージも本ディレクトリにインストール。
gnupack/app/font
プライベート フォントのインストール ディレクトリ。
デフォルトではMigu 1Mのみを格納。
gnupack/app/script
個別に追加したスクリプトのインストール ディレクトリ。
デフォルトではapt-cygのみを格納。
gnupack/app/vim
Windows版vim/gvimのインストール ディレクトリ。
gnupack/docs
本ユーザガイドおよびリリースノート、ライセンス文書の格納ディレクトリ。
gnupack/home
gnupackにおけるホームディレクトリ。
startup設定ファイルの設定変更によりホームディレクトリは変更可能。

cygwinマウントポイント

cygwinのディレクトリとWindowsのディレクトリとの対応関係は以下のとおりです。

cygwinパッケージ

gnupackにバンドルされているcygwinの主要なパッケージは以下のとおりです。

各パッケージのバージョンは、リリースノートを参照ください。

(凡例 ○:バンドル ×:非バンドル)

パッケージ名 パッケージ概要 gnupack
basic
gnupack
devel
_autorebaseRun rebaseall automatically
_update-info-dirGenerate info/dir file automatically
alternativesA tool for managing package conflicts
asciiASCII character tables
attrUtilities for managing filesystem extended attributes
base-cygwinInitial base installation helper script.
base-filesA set of important system configuration and setup files
bashThe GNU Bourne Again SHell
bcArbitrary precision calculator language
bzip2A high-quality block-sorting file compressor (utilities)
ca-certificatesCA root certificates
coreutilsGNU core utilities (includes fileutils, sh-utils and textutils)
ctagsA C programming language indexing and/or cross-reference tool
cvsConcurrent Version System×
cygutilsA collection of simple utilities (core collection)
cygutils-extraA collection of simple utilities (other tools)
cygwinThe UNIX emulation engine
dashDash shell
diffutilsA GNU collection of diff utilities
dos2unixLine Break Conversion
editrightsAlter Windows user rights and privileges from command line
expectTool for automating interactive applications
fileA utility for determining file types
findutilsUtilities for finding files--find, xargs, locate, updatedb
gawkGNU awk, a pattern scanning and processing language
gcc-coreGNU Compiler Collection (C, OpenMP)×
gcc-g++GNU Compiler Collection (C++)×
getentGet entries from Name Service Switch libraries
gitDistributed version control system×
gnupgGNU\'s tool for secure communication and data storage.
grepSearch for regular expression matches in text files
groffGNU roff formatter
gzipThe GNU compression utility
hostnameShow host name, domain name or network addresses
inetutilsCommon networking clients and servers (clients)
lessA file pager program, similar to more(1)
libXpm-noXX.Org X Pixmap library -- no X required (utilities)
libcroco0.6_3GNOME CSS parser library (runtime)
libdatrie1Double-array digital search tree library
libdbus1_3Freedesktop message bus system
libgif4GIF file manipulation library (runtime)
libgnutls28Library implementing TLS 1.0 and SSL 3.0 protocols (runtime)
libgraphite2_3Graphite smart font parser
libharfbuzz0OpenType text shaping engine
libjpeg8JPEG library with SIMD acceleration
libpng15PNG library
librsvg2_2GNOME Scalable Vector Graphics library (runtime)
libtiff6TIFF image library
libxml2GNOME XML library (runtime)
makeThe GNU version of the 'make' utility
man-dbMan page viewer
minttyTerminal emulator with native Windows look and feel
ncursesTerminal display utilities
opensshThe OpenSSH server and client programs
patchApplies diff files
perlLarry Wall's Practical Extracting and Report Language
perl_manpagesPerl programming language interpreter
perl_podsPerl programming language interpreter
perl_vendorAdditional vendor modules previously packaged in perl-5.10
pingA basic network tool to test IP network conectivity
poptLibrary for parsing cmdline parameters
procpsSystem and process monitoring utilities
pythonPython language interpreter×
python-setuptoolsPython package management tool×
rebaseUtilities for rebasing DLLs to load at alternate addresses
rubyInterpreted object-oriented scripting language×
sedThe GNU sed stream editor
source-highlightSyntax highlighting utilities
subversionA version control system×
tarA GNU file archiving program
termcapOld-style database for terminal handling
terminfo-extraTerminal capability database (additional entries)
timeThe GNU time command
treeDisplay graphical directory tree
tzcodeTime Zone Database
unzipInfo-ZIP decompression utility
util-linuxCollection of basic system utilities
vimVi IMproved - enhanced vi editor
vim-minimalMinimal Vi text editor
wgetUtility to retrieve files from the WWW via HTTP and FTP
whichPrints out full path of executables
xzLZMA de/compressor
zipInfo-ZIP compression utility
gnupack is package that quickly start cygwin and emacs.