Cygwin / 技術情報 / Windows アプリケーションCygwinパッケージ管理

Cygwinパッケージ管理

コマンドラインからパッケージをインストールするには?

  • apt-cygを使う。
 - apt-cygはLinuxのaptやyumのようなもの。
  • Cygwin本体をChocolateyでインストールしたならcyg-getを使う。
 - cyg-getはCygwinのsetup.exeを呼び出すラッパー。
  • setup.exeをコマンドラインで使う。
 - オプション指定が面倒なのでbashのエイリアス機能を使うと便利。

参考

apt-cyg

cyg-get

cyg-getのインストール

choco install cyg-get

cyg-getを使ってパッケージのインストール

cyg-get diffutils perl

cyg-getのヘルプ

cyg-get /?

パッケージ検索

cygwin.com/cgi-bin2/package-grep.cgi

パッケージ一覧

ftp.jaist.ac.jp/pub/cygwin/x86_64/release/

Cygwin / 技術情報 / Windows アプリケーションインストール補足

インストール補足

本体インストール後に追加インストールしておくとよいパッケージ

  • perl
  • openssh
  • openssl
  • openssl-devel
  • rsync
  • wget
  • zip
  • unzip
  • bc
  • screen
  • patch
  • diffutils

python

  • python
  • python-setuptools
  • python-backportssl

コンパイル環境

Cygwin / 技術情報 / Windows アプリケーションCygwin インストール

Cygwin インストール

Chocolateyでインストール

choco install cygwin
  • 上のコマンドで、C:\tools\cygwin以下に全てインストールされる。

参考

chocolatey.org/packages/Cygwin

インストールオプション

Installation Directory

C:\cygwin
  • ルートディレクトリ。C:\cygwin\bin,C:\cygwin\home,C:\cygwin\etc等が出来る。

Local Package Directory

C:\cygwin\packages
  • ローカルパッケージ(bashやgrep等の圧縮ファイル)が保存される。
 - "C:\cygwin\packages\http%3a%2f%2fftp.jaist.ac.jp%2fpub%2fcygwin%2f\x86_64\release\bash\bash-4.3.39-2.tar.xz"
 - "C:\cygwin\packages\http%3a%2f%2fftp.jaist.ac.jp%2fpub%2fcygwin%2f\x86_64\release\grep\grep-2.21-2.tar.xz"等

Chocolateyでインストール先を指定してインストール

choco install cygwin -o -ia "-q -N -R C:\cygwin -l c:\cygwin\packages"
  • 上のコマンドでsetup.exeが起動し、オプションが指定された状態でインストール作業が促される。
  • このコマンドの場合、C:\cygwinがRoot install directoryになり、C:\cygwin\bin,C:\cygwin\home,C:\cygwin\etc等が出来る。
  • また、c:\cywgin\packagesにはLocal package(bashやgcc等の圧縮ファイル)が保存される。
  • setup.exeはC:\tools\cygwin以下に設置される。

参考

qiita.com/ko2ic/items/2574139dd095e5a31e76

setup.exeのコマンドラインオプション

Command Line Options:
-D --download                     Download from internet
-L --local-install                Install from local directory
-s --site                         Download site
-O --only-site                    Ignore all sites except for -s
-R --root                         Root installation directory
-x --remove-packages              Specify packages to uninstall
-c --remove-categories            Specify categories to uninstall
-P --packages                     Specify packages to install
-C --categories                   Specify entire categories to install
-p --proxy                        HTTP/FTP proxy (host:port)
-a --arch                         architecture to install (x86_64 or x86)
-q --quiet-mode                   Unattended setup mode
-M --package-manager              Semi-attended chooser-only mode
-B --no-admin                     Do not check for and enforce running as
                                  Administrator
-h --help                         print help
-l --local-package-dir            Local package directory
-r --no-replaceonreboot           Disable replacing in-use files on next
                                  reboot.
-X --no-verify                    Don't verify setup.ini signatures
-n --no-shortcuts                 Disable creation of desktop and start menu
                                  shortcuts
-N --no-startmenu                 Disable creation of start menu shortcut
-d --no-desktop                   Disable creation of desktop shortcut
-K --pubkey                       URL of extra public key file (gpg format)
-S --sexpr-pubkey                 Extra public key in s-expr format
-u --untrusted-keys               Use untrusted keys from last-extrakeys
-U --keep-untrusted-keys          Use untrusted keys and retain all
-g --upgrade-also                 also upgrade installed packages
-o --delete-orphans               remove orphaned packages
-A --disable-buggy-antivirus      Disable known or suspected buggy anti virus
                                  software packages during execution.

superuser.com/questions/214831/how-to-update-cygwin-from-cygwins-command-line

参考

cygwin.com/cygwin-ug-net/cygwin-ug-net.html

Cygwin / 技術情報 / Windows アプリケーションアンインストール

アンインストール

  • C:\Cygwin以下などの、インストールしたルートフォルダを削除する。
  • Windowsサービスを利用しているなら、サービスを削除する。(詳細は以下を参考にする)
  • cyglsa.dllを利用しているなら、レジストリを修正する。(詳細は以下を参考にする)
  • デスクトップのアイコン、スタートメニューのショートカットを削除する。
 - エクスプローラーで%programdata%を開き、"cygwin"で検索すれば見つかる。
  • 以下のレジストリのエントリーを削除する。
 - HKEY_CURRENT_USER\SOFTWARE\Cygwin
 - HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin

参考

cygwin.com/faq/faq.html#faq.setup.uninstall-all

Cygwin / 技術情報 / Windows アプリケーションminttyの全角記号が崩れる

minttyの全角記号が崩れる

※や▼のような全角記号が正常に表示されない場合、以下を行う。

1. minttyのロケールとキャラクターセットを設定する

  • minttyを起動して、メニューのOptions→Textを開く。
  • 例えば以下のように設定する。
  • [Locale] ja_JP [Character set] UTF-8

2. minttyのフォントを設定する

  • さらに、メニューのOptions→TextにあるFontの設定で、適切なフォントを指定する。
  • この時、英字フォントと日本語フォントをフォントリンクしたフォントを指定すると、表示が崩れる場合がある。
  • 恐らく、このフォントリンクの問題を完全に解決するには、PuTTYのように英字フォントと全角文字フォントを個別に指定する機能が必要なようだ。(多分)

3. アプリごとの設定

vim

  • vimを使っている場合、以下のようにambiwidthを設定する。これで全角記号が文字幅2倍で表示される。
  • この設定をしておくと、2.でフォントリンクしたフォントを使っていても、やや不自然な表示ながら、一応編集は可能になる。
set ambiwidth=double

screen

  • 以下のように設定する。もしくは、ロケールをja_JPにする。
cjkwidth on

tmux

  • tmux 2.1以前はパッチを当てる。
  • tmux 2.2以降はロケールを見るようになった。

参考