Home > Tags > colinux

colinux

colinuxからmountしたwindowsのファイルをemacsで保存するには

以前解決しなかった問題をなにげに調べると簡単に解決できそう。明日会社で試してみよう。

cofsでmountしたWindowsのファイルをemacsで保存する – 寄り道ばかりの お勉強日記★

write-region-inhibit-fsync

という変数をtにしておけば、emacsくんがfsyncを呼ばないということが判明。

この設定をしたら無事にemacsから保存できたーっ!

続きを読む

mysql5.0にcseで接続する方法

Colinux上で動作しているMySQLにWindows側のCSEから接続しようとして調べてみる。
MYSQLで接続しようとしてみたけど駄目で結局ODBC経由で接続しました。

ここからダウンロード(Firefoxだとうまくダウンロードできなかったので、IEで)

ODBCの設定はここを参照。

ここまでの設定では、Windowsからは接続できなかった。
対応方法はここ

実際に流したSQLは以下。

mysql -u root -p

mysql> Use mysql
mysql> SELECT Host, User, Select_priv, Insert_priv,Update_priv, Delete_priv FROM user;
mysql> GRANT ALL PRIVILEGES ON *.* to dbname@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> flush privileges;
mysql> SELECT Host, User, Select_priv, Insert_priv,Update_priv, Delete_priv FROM user;

参考URL
MySQL 5.0にCSEで接続する方法 - Lazy Technology
SQLGate for Oracle / MSSQL / MySQL Development Tool

最新のcoLinux-.emacs

;;;; -*- mode: lisp-interaction; syntax: elisp; coding: utf-8-unix -*-
;; ~/elisp をライブラリパスに追加
(setq load-path
      (append
       (list
    (expand-file-name "~/elisp/")
    )
       load-path))

;; 日本語設定 (UTF-8)
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system '
utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system '
utf-8)

;; ChangeLog の設定
(setq user-full-name "xxx")
(setq user-mail-address "xxx")
(defun memo ()
  (interactive)
    (add-change-log-entry
     nil
     (expand-file-name "~/memo/diary.txt")))
(define-key ctl-x-map "M" 'memo)

;; タブの基本設定
(setq tab-width 4)
(setq c-basic-offset 4)

;; フォントロックモード (強調表示等) を有効にする
(global-font-lock-mode t)

;; 一時マークモードの自動有効化
(setq-default transient-mark-mode t)

;; C-x C-u が何もしないように変更する (undo の typo 時誤動作防止)
(global-unset-key "\C-x\C-u")

;; 括弧の対応をハイライト.
(show-paren-mode 1)

;; バッファ末尾に余計な改行コードを防ぐための設定
(setq next-line-add-newlines nil)

;; C-x l で goto-line を実行
(define-key ctl-x-map "l" 'goto-line)

;; 時間を表示
(display-time)

;; 列数表示
(column-number-mode 1)

;; メニューバーを消す
(menu-bar-mode -1)

;; バックアップファイルを作成しない
(setq make-backup-files nil)

;; grep-find の結果に .svn ディレクトリを含まないようにする
(setq grep-find-command "find . -type f -path '*.svn*' -prune -o -print0 | xargs -0 -e grep -nH -e ")

;; C-h でカーソルの左にある文字を消す
(define-key global-map "\C-h" 'delete-backward-char)

;; C-h に割り当てられている関数 help-command を C-x C-h に割り当てる
(define-key global-map "\C-x\C-h" 'help-command)

;; C-z のキーバインドを開放
(global-unset-key "\C-z")

;; toggle-truncate-lines を "C-z l" に定義する
(define-key global-map "\C-zl" 'toggle-truncate-lines)

;; 画面の左端に行番号を表示できるように
(require 'wb-line-number)
;; "C-z n" に定義する
(define-key global-map "\C-zn" 'wb-line-number-toggle)

;; C-o に動的略語展開機能を割り当てる
;;(define-key global-map "\C-o" 'dabbrev-expand)
;;(setq dabbrev-case-fold-search nil) ; 大文字小文字を区別

;; 日本語・英語混じり文での区切判定
;; http://www.alles.or.jp/~torutk/oojava/meadow/Meadow210Install.html
(defadvice dabbrev-expand
  (around modify-regexp-for-japanese activate compile)
  "Modify `dabbrev-abbrev-char-regexp' dynamically for Japanese words."
  (if (bobp)
      ad-do-it
    (let ((dabbrev-abbrev-char-regexp
           (let ((c (char-category-set (char-before))))
             (cond
              ((aref c ?a) "[-_A-Za-z0-9]") ; ASCII
              ((aref c ?j) ; Japanese
               (cond
                ((aref c ?K) "\\cK") ; katakana
                ((aref c ?A) "\\cA") ; 2byte alphanumeric
                ((aref c ?H) "\\cH") ; hiragana
                ((aref c ?C) "\\cC") ; kanji
                (t "\\cj")))
              ((aref c ?k) "\\ck") ; hankaku-kana
              ((aref c ?r) "\\cr") ; Japanese roman ?
              (t dabbrev-abbrev-char-regexp)))))
      ad-do-it)))

;; BS で選択範囲を消す
(delete-selection-mode 1)

;; The local variables list in .emacs と言われるのを抑止
(add-to-list 'ignored-local-variables 'syntax)

;; ミニバッファ中での補完機構を補強
(iswitchb-mode t)

;; kill リングバッファの内容を表示しながらヤンクできるようにする
(autoload 'kill-summary "kill-summary" nil t)
(define-key global-map "\ey" '
kill-summary)

;; php-mode
(autoload 'php-mode "php-mode")
(setq auto-mode-alist
      (append '
(("\\.[php|inc]$" . php-mode)) auto-mode-alist))
(setq php-mode-force-pear t)
(add-hook 'php-mode-user-hook
  '
(lambda ()
     (setq tab-width 4)
     (setq c-basic-offset 4)
     (setq indent-tabs-mode nil)
     (setq php-manual-path "/usr/local/share/php/doc/html")
     (setq php-manual-url "http://www.phppro.jp/phpmanual/")))

;;;; ruby-mode (要 ruby-mode.el)
(autoload 'ruby-mode "ruby-mode"
  "Mode for editing ruby source files" t)
(setq auto-mode-alist
      (append '
(("\\.rb$" . ruby-mode)) auto-mode-alist))
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
                                     interpreter-mode-alist))
(autoload '
run-ruby "inf-ruby"
  "Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby"
  "Set local key defs for inf-ruby in ruby-mode")
(add-hook '
ruby-mode-hook
          '(lambda ()
            (inf-ruby-keys)))

;; cperl-mode の設定。インデントをいい感じに、他。
(autoload 'perl-mode "cperl-mode" "alternate mode for editing Perl programs" t)
(setq cperl-auto-newline t)
(setq cperl-indent-parens-as-block t)
(setq cperl-close-paren-offset -4)
(setq cperl-indent-level 4)
(setq cperl-label-offset -4)
(setq cperl-continued-statement-offset 4)
(setq cperl-highlight-variables-indiscriminately t)
(add-hook 'cperl-mode-hook
          (lambda ()
            (set-face-italic-p '
cperl-hash-face nil)))
(add-hook 'cperl-mode-hook
      '
(lambda ()
         (define-key cperl-mode-map "\C-cc" 'cperl-check-syntax)
         (setq indent-tabs-mode nil)))

;; cf-mode
(autoload 'cf-mode "cf-mode"
  "Mode for editing cf source files" t)
(setq auto-mode-alist
      (append '(("\\.[cfm|cfc]$" . cf-mode)) auto-mode-alist))
(add-hook '
cf-mode-user-hook
  '(lambda ()
     (setq tab-width 4)
     (setq c-basic-offset 4)
     (setq indent-tabs-mode nil)))

;; mmm-mode
(require 'mmm-mode)
(setq mmm-global-mode 'maybe)
(set-face-background '
mmm-default-submode-face nil) ;;背景色不要
(setq mmm-submode-decoration-level 2) ;;カラー表示
(setq mmm-font-lock-available-p t) ;;カラー表示
(mmm-add-mode-ext-class nil "\\.ctp?\\'" 'html-php)
(mmm-add-classes
 '
((html-php
    :submode php-mode
    :front "<\\?\\(php\\)?"
    :back "\\?>")))
(add-to-list 'auto-mode-alist '("\\.ctp?\\'" . html-mode))

;; css-mode
(autoload 'css-mode "css-mode")
(setq auto-mode-alist
      (cons '
("\\.css\\'" . css-mode) auto-mode-alist))
(setq cssm-indent-function #'cssm-c-style-indenter)

;; リセットされた場合に UTF-8 に戻す
;; http://0xcc.net/blog/archives/000041.html
(set-default-coding-systems 'utf-8)

;; 矢印などの文字がうまく使用できない問題に対応
;; http://www.pqrs.org/~tekezo/emacs/doc/wide-character/index.html
(utf-translate-cjk-set-unicode-range
 '((#x00a2 . #x00a3)                    ; ¢, £
   (#x00a7 . #x00a8)                    ; §, ¨
   (#x00ac . #x00ac)                    ; ¬
   (#x00b0 . #x00b1)                    ; °, ±
   (#x00b4 . #x00b4)                    ; ´
   (#x00b6 . #x00b6)                    ; ¶
   (#x00d7 . #x00d7)                    ; ×
   (#X00f7 . #x00f7)                    ; ÷
   (#x0370 . #x03ff)                    ; Greek and Coptic
   (#x0400 . #x04FF)                    ; Cyrillic
   (#x2000 . #x206F)                    ; General Punctuation
   (#x2100 . #x214F)                    ; Letterlike Symbols
   (#x2190 . #x21FF)                    ; Arrows
   (#x2200 . #x22FF)                    ; Mathematical Operators
   (#x2300 . #x23FF)                    ; Miscellaneous Technical
   (#x2500 . #x257F)                    ; Box Drawing
   (#x25A0 . #x25FF)                    ; Geometric Shapes
   (#x2600 . #x26FF)                    ; Miscellaneous Symbols
   (#x2e80 . #xd7a3) (#xff00 . #xffef)))

colinuxでetags

colinuxでetagsを使うとき、

etags -e -R –langmap=PHP:+.inc

だとうまくいかなかったので

#!/bin/sh
etags --append --language=php `find . -name "*.php"`
etags --append --language=php `find . -name "*.inc"`

みたいなシェルファイル etags.php を作って /usr/local/bin/ に置いてみた。

colinuxからwindowsをマウント

cofsを使う。

以下はcolinuxのcolinux.xml
cofs_deviceという設定を追加する。



<colinux>

<block_device index="0" path="DosDevicesD:appscoLinuxFedora-7.img" enabled="true"></block_device>

<block_device index="1" path="DosDevicesD:appscoLinuxswap.img" enabled="true"></block_device>

<block_device index="2" path="DosDevicesD:appscoLinuxmount01.img" enabled="true"></block_device>

<cofs_device index="0" type="flat" path="DosDevicesD:svn\" enabled="true">

<bootparams>root=/dev/cobd0 ro</bootparams>

<initrd path="initrd.gz"></initrd>

<img path="vmlinux" />

<memory size="128">

<network index="0" type="tap">

</network>

</memory></cofs_device></colinux>

あと、/etc/fstabに以下を追加
1行目は5Gのファイルをマウント用、2行目がcofsのマウント用



/dev/cobd2              /mnt                    ext3    defaults        0 1

cofs0                   /win                    cofs    defaults        0 0

これでWindowsのファイルは見れるようになったけど、変更や書き込みができない。

以下コマンドでllコマンドでファイル一覧などを見るとパーミッションとユーザー/グループはうまくいっている。。
けど、書き込むとエラーが発生する。

sudo mount -t cofs -o uid=xxx,gid=xxx,dmask=0700,fmask=0600 cofs0 /win/

vimだと解決方法が
口から出まかせ - coLinuxからcofsでマウントしたWindowsのファイルをvimで編集しようとしたときにエラーが出る

川o・-・)<2nd life - Developer Enviroments Conference の発表資料にある。



" cofs's fsync

autocmd BufNewFile,BufRead /mnt/c/* set nofsync

emacsの場合は未解決のまま。。

以下は、coLinuxのHDD増強の参考リンク
第03回 「ハードディスクの容量拡大」
coLinux導入メモ

以下は、cofsの参考リンク
coLinuxのメモ - coLinux-0.6.2へのアップグレード

colinux に php をインストール

いろいろ足りなくてなかなかおわらない。

一番はまったのが、./configure --with-mysql が失敗する現象。これは yum install mysql-devel を実行すると解消された。エラーがでる時は *-devel もインストールすると解消することが多そう。

最終的なコンパイルオプションは
sudo ./configure --prefix=/usr/local/php/php-5.2.4 --with-apxs2=/usr/local/apache/current/bin/apxs --with-mysql --enable-mbstring --with-gd --with-mcrypt

mysql もインストールした、/etc/rc.d/init.d/mysqld に起動スクリプトあり

ホーム > タグ > colinux

ぴくちゃー
ブログパーツ

ページの上部に戻る