|
|||||||||
cygwin の変更点
#author("2022-10-27T23:49:55+00:00","default:pentacle","pentacle")
* install [#j150561a]
http://cygwin.com/setup-x86_64.exe
一時保存先を desktop などに聞かれるが
c:/cygwin64/setup
などにしておいたほうがよいかも
admin/cron
admin/shutdown
archive/zip
archive/unzip
devel/gcc-core
devel/gcc-g++
devel/make
devel/patch
devel/gettext-devel
devel/git
editor/vim
editor/emacs
libs/libreadline-devel
libs/libncurses-devel
libs/zlib
libs/zlib-devel
net/curl
net/inetutils
net/ncftp
net/openssh
perl
system/ping
system/procps-ng
system/psmisc
text/jq
web/wget
*** install [#m68ba3a6]
#pre{{
setup-x86_64.exe ^
--root c:\cygwin64 ^
--site http://ftp.iij.ad.jp/pub/cygwin/ ^
--local-package-dir c:\cygwin64\download ^
--packages cron,shutdown,zip,unzip,gcc-core,gcc-g++,make,patch,gettext-devel,git,vim,emacs,libreadline-devel,libncurses-devel,zlib,zlib-devel,curl,inetutils,ncftp,openssh,ping,procps-ng,psmisc,jq,wget ^
--quiet-mode
}}
* bash [#ca257a86]
''.bashrc''
#pre{{
export PS1="\n<\u@\h>\n[\w]: "
export PATH=/usr/bin:/usr/local/bin:/sbin:/usr/sbin:$PATH:$HOME/bin
# primitive command
alias ls='ls -F'
alias .='cd `/bin/pwd`'
alias ..='cd `/bin/pwd`; cd ..'
alias rm='rm -f'
alias mv='mv -i'
alias pwd='/bin/pwd'
alias less='lv'
alias c:='cd /cygdrive/c'
alias open=cygstart
alias pwd=/bin/pwd
alias ifconfig='ipconfig /all | nkf -w'
complete -d cd
function emacs(){
/cygdrive/c/Program\ Files/xyzzy/xyzzy.exe $1 &
}
#alias ls='ls -F --show-control-chars'
# java
export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"
# postgres
export PGHOST='localhost'
export PATH=/usr/local/pgsql/bin:$PATH
# mvn
export PATH=/usr/apache-maven-3.3.3/bin:$PATH
# play2.4
function activator(){
/usr/local/play24/activator $@
stty sane
}
function activatordebug(){
/usr/local/play24/activator -jvm-debug 9999 run
stty sane
}
function playkill(){
ps aux |grep java |uniq | head -1 |awk '{print $1;}' |xargs kill
}
}}
** nkf [#k5e74cc6]
cd /usr/src
wget "http://sourceforge.jp/frs/redir.php?m=iij&f=%2Fnkf%2F59912%2Fnkf-2.1.3.tar.gz" -O nkf-2.1.3.tar.gz
tar xzfp nk*.tar.gz
cd nkf-2.1.3
make
make install
** psql[#c5496f24]
cd /usr/src
wget https://ftp.postgresql.org/pub/source/v12.3/postgresql-12.3.tar.gz
tar xzfp postgres*.tar.gz
cd postgresql-*
./configure
make
make install
文字化ける時は psql 実行後に下記コマンドを入力する
set lc_messages='ja_JP.UTF-8';
あるいは conf に書いても良い
----
* 設定 [#n0837a44]
*** 環境変数 [#a8fe1b40]
マイコンピュータ右クリック -> プロパティ -> 詳細設定 -> 環境変数
path に c:\cygwin64\bin\ を加える
*** bash [#r51d60eb]
とりあえず起動するとそのユーザでディレクトリが作成されるので~
下記をコピー
- .bashrc
- .bash_profile
alias ls='ls -F --show-control-chars'
alias open=cygstart
alias pwd=/bin/pwd
alias ps=/usr/bin/procps
- .inputrc
set input-meta on
set convert-meta off
set meta-flag on
set output-meta on
*** maven [#r109cb59]
http://maven.apache.org/download.cgi
cd /usr
wget http://ftp.riken.jp/net/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz
tar xzfp apache-maven*.tar.gz
* teraterm/cygwin 連携 [#ld7aa086]
cygterm+-x86_64 の cygterm.exe を teraterm ディレクトリのものに上書きコピー
cygterm.exe へのショートカットをコピーし、プロパティで作業ディレクトリを~
c:\cygwin64\home\【username】\ に変更
~
cygterm.cfg
TERM = c:\program files\teraterm\ttermpro.exe %s %d /KR=SJIS /KT=SJIS /nossh
TERM_TYPE = vt100
PORT_START = 20000
PORT_RANGE = 40
SHELL = /bin/bash -rcfile /home/【ユーザ名】/.bash_profile
ENV_1 = MAKE_MODE=unix
ENV_2 = HOME=/home/【ユーザ名】
ENV_3 = LANG=ja_JP.SJIS
ENV_4 = CYGWIN=codepage:932
ENV_5 = TERM=cygwin
cygterm の64bit版
tar xzfp cygterm+.tar.gz
make
出来上がったもので teraterm 内のものを上書き
teraterm.ini
KanjiReceive=SJIS
KanjiSend=SJIS
http://weierstrass.is.tokushima-u.ac.jp/ir/cygwin/
*** shutdown [#bbff9750]
shutdown --force -h now
-----
* cron をいれたい [#i1e89cd1]
$ cygrunsrv -I cron -p /usr/sbin/cron -a -n
$ cygrunsrv -Q cron
$ cygrunsrv -S cron
$ passwd
$ cron-config
crontab -e
* * * * * date >> /tmp/hoge.txt [#d7010cf8]
&color(white,RED){ssh などが動いている場合は事前に停止しておくこと};
cygrunsrv -E sshd
setup.exe にて下記を入れる
admin/cygrunsvr
&color(white,RED){cygterm を管理者として実行};
cygrunsrv -I cron -p /usr/sbin/cron -a -n 2>&1 |nkf -w
cygrunsrv --start cron
crontab -e
* * * * * date >> /tmp/cron.txt
*** 以下過去情報 [#y1dc931e]
cygrunsrv -I cron -p /usr/sbin/cron.exe -a '-D'
この後、マイコンピュータ(右)-> 管理 -> サービス
cron のプロパティ -> ログオン
アカウントをチェックし、「参照」-> 「詳細設定」-> 「今すぐ検索」
自分のアカウントを選択
パスワードを入力
全般タブに戻り、サービス開始
(ユーザとパスワードを入れないと //192.168.0.10/c といった
ネットワークパスが使えないケースがある)
よく失敗する。
1062 はユーザアカウントエラー
1067 はファイルアクセスエラー
(/var/run/cron.pid と /var/log/cron.log を消すこと)
1069 はユーザパスワードエラー(パスワード未設定)
何回やってもだめなときは cygwin をフル削除する
c:\cygwin 削除
レジストリも cygwin と cron で検索してフル削除して
最初からやり直すとうまくいった
$ ps -eaf
で cron が動いていればOK
(または net start |grep cron)でも可
$ crontab -e
vi で編集。
下手に環境変数の EDITORを emacs などにかえるとはまる
0 * * * * date >> /cygdrive/c/tmp.txt
これで毎時 0時に日付データを tmp.txt に追記する
意味はないけど。
*** ネットワークドライブの使用 [#p332f8e1]
- cron起動の batファイル中では「ネットワークドライブの割り当て」→「ログオン時に再接続する」で登録した ドライブ名は使えない。
たとえば n: を \\192.168.0.1\net に割り当ててるとしたら
perlスクリプト中では chdir("//192.168.0.1/net/");
のように書く
* sshd [#ofe53e8a]
COLOR(RED):cygwin.bat を管理者で実行する
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
ssh-host-config -y
sshd のオーナーのパスワードを設定(使用しない)
cd /etc
emacs sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
cygrunsrv -S cygsshd
(cygrunsrv -E cygsshd とめる場合)
後は通常の ssh のように .ssh 中に適切なファイルを作成する
*** firewall を開ける [#efb35962]
control panel -> ネットワークとインターネット -> windows ファイアーウォール
-> 詳細設定 -> 受信の規則+右ペイン「新しい規則」→ ポート -> TCP
-> 特定のローカルポート 22 → 接続を許可する → すべて選択
* SJIS でターミナルを開きたい [#qb951304]
~
cygterm.cfg に以下を追記
ENV_3 = LANG=ja_JP.SJIS
ENV_4 = CYGWIN=codepage:932
ENV_5 = TERM=cygwin
コマンドラインの場合
export LANG=ja_JP.SJIS
export CYGWIN=codepage:932
export TERM=cygwin
* apt-cyg [#m6dfd480]
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
chmod +x apt-cyg
mv apt-cyg /usr/local/bin/
* pip [#zb5b6700]
apt-cyg install python3-pip
|
|||||||||