Categories: コンピュータ

ubuntu linuxを常用環境にするためのメモ

ubuntu linuxを常用環境にするためのメモ
linuxに慣れるため、ubuntuを常用環境にするために環境を整えるためのメモ
●必修項目
日本語環境有効化
ubuntuのシステムメニューで「システム」-「システム管理」-「言語サポート」で日本語環境を整える
ubuntuインストール時にオンライン状態でインストールすれば自動で日本語環境がインストールされる
●動作確認
USTREAM, YouTube, ニコニコ動画, radiko → 動作OK
●ubuntu(10.10)ソフトウェアセンタからインストール
NetBeans IDE 6.9 → 日本語環境でインストールOK。
HexEditor → 日本語環境でインストールOK。
kdesvn+kdiff3 → 日本語環境でインストールOK。→ インストールは問題無いがkdesvnは使いにくい
Bluefish2 → 日本語環境でインストールOK。
GIMP画像エディタ → 日本語環境でインストールOK。
Thunderbirdメール → ubuntuのシステム設定で言語サポートが日本語対応なら日本語化OK
FileZiller → 日本語環境でインストールOK。
Qucs 日本語版に変更可能「File」-「Application Settings」でLanguageをJapanese(jp)に変更
gEDA回路図エディタ → 日本語環境でインストールOK。
gEDA回路図→PCBプロジェクト 英語版
Windowsエミュレータ
wine microsoft winsows compatibility Layer → 日本語環境でインストールOK。インストール中に特にエラーなし
windowsアプリの起動は端末からwine ウィンドウズアプリファイル名(.exe) でOK

●apt-getでのインストール

apt-get install gpointing-device-settings マウスユーティリティ(TrackPoint関係縦スクロール時に使用)
apt-get install rapidsvn GUI SVNクライアント
●その他からインストール
skype → skypeのHPからUbuntu10.04(32)debパッケージをDL→ubuntuソフトウェアセンタ
VirtualBox-3.2 → VirtualBoxのHPから10.04debパッケージをDL →ubuntuソフトウェアセンタ
VMPlayer3 → VMWareのサイトからバンドル版をDL
→ sudo sh DLファイル名 でインストールOK 英語版、「File」-「Player Preferences」で「Download All Components Now」しておく
●wineで動作させるwindowsアプリ
wineでのwindowsアプリケーション動作はフォントがいまいち、Takaoゴシック、Takao明朝,梅ゴシックのサイズを選んで指定したほうが良さそう。
shellファイルを作ってリンクを作成し起動させるのが便利そう
#!/bin/sh
wine ~/jww/jw_win.exe  ←フルパスで書いておかないとリンクを移動すると起動しなくなった
jwcad 7.04, T98-NEXT, DF, 縮専, sakura editor → 動作ok
●taskselからのインストール
tasksel install lamp-server ← lampを対話形式でインストールできる
但しlamppではないようで、/optの下に/lamppとしてまとめて入っている訳ではなく個別のパッケージを順次入れたようなスタイルっぽい。
(ドキュメントルートも/var/wwwになってる) バックアップ等でいい面、悪い面がありそう

●アプリその他

Firefoxの日本語化
Firefoxのサイトで日本語化のアドオンをインストール→ https://addons.mozilla.org/ja/firefox/ から Japanese Language Pack
設定メニューの「Preferencec」で設定メニューを開き「Content」を選択し「Languages」の「Choose…」ボタンを押す
Languagesフォームで「Select a lungage toa…」プルダウンから「Japanese[ja]」を選択し「Add」ボタンをクリック
上部のリストボックスで「Japanese[ja]」が一番上になるように設定して「OK」
●WindowsからLinux(ubuntu)に変更して不便なこと
追々、解決策も探していきます。
・アメブロでのコピペができない
http://ameblo.jp/ghs4gj/entry-10969795590.html
・ThinkPadでTrackPoint縦スクロールができない。
http://ameblo.jp/ghs4gj/entry-10973132007.html
・ISOファイルのマウント
1) isoイメージのあるディレクトリに移動
2) mkdir /mnt/iso でマウントされるディレクトリを作成
3) mount -t iso9660 -o loop ISOイメージ名.iso /mnt/iso でマウント
・ショートカットの作成
ubuntuではリンクの作成(K)になっている。機能はだいたい同じ
・Zipファイルの解凍と圧縮
解凍: unzip zipファイル名.zip (End-ofcentral-directory sign….. とエラーが出る場合解凍後のパスが長すぎる可能性あり)
圧縮:
zip 圧縮するファイル名.zip 圧縮するファイル名.拡張子
zip -r 圧縮するファイル名.zip 圧縮するディレクトリ名
・プリントアウトとスキャナ
●その他環境整備メモ
ubuntu10.01の日本語環境整備メモ http://ameblo.jp/ghs4gj/entry-10974220964.html
ubuntu10.10にNetbeans6.9 PHP開発環境整備メモ http://ameblo.jp/ghs4gj/entry-10972476135.html

Linux基本

ターミナル(端末)の使い方 (ショートカット:CTRL+ALT+T)
●プロンプトの種類
$ = 一般ユーザのとき
# = スーパーユーザのとき

ルートユーザーのパスワードを作成する場合
(ubuntuでは最初ユーザOSを立上げその後rootのパスワードを設定する手順っぽい)
sudo passwd root
プロンプトの形式 ユーザー名@ホスト名: ~プロンプト ( ~はホームディレクトリ)
unixの一般的な慣例として利用者の権限で操作できる範囲はできるだけスーパーユーザにはならないらしい。
configureやmakeも極力スーパーユーザで行わないのが慣例らしい
ubuntu12.04ではrootのパスワードを設定してもデスクトップにrootを選ぶ余地がなくrootでログインできないのでログイン画面LightDMの設定変更が必要
nano /etc/lightdm/lightdm.conf でlightDMの設定を開き
[SeatDefaults] セクションに
greeter-show-manual-login=true  ←を追加するとユーザ名入力欄が表示される
allow-guest=false  ← を追加するとゲストセッションを表示しない
(再起動が必要)

●sshでのターミナル利用
sudo apt-get install ssh ← apt-getでSSHをインストール
ssh対応の端末で接続する
login as: ログインユーザー名
ログインユーザー名@IPアドレス(ホスト名)
password: ログインパスワード でログイン可能
apt-getでインストール後自動起動設定は完了している。
PuTTY端末の文字コード変換はUTF-8 Auto Detect/Japaneseで2バイト文字OK

普段使いそうなコマンドリファレンス
[ ]内はMS-DOS/Windowsに相当するコマンド、{ }内は使用例

adduser = ユーザーを作成する
{adduser ユーザー名}
{既設のユーザにsudo等のadmin実行権限を追加する場合 adduser 既設のユーザー名 admin }
登録ユーザの一覧は /etc/passwd を参照

su = スーパーユーザーに変更する
{su ユーザー名 ユーザー名を指定しない場合はrootユーザ rootユーザのパスワードを入力後切替}

sudo
= スーパーユーザーでコマンドを実行
{sudo /opt/lampp/lampp start}

nautilus = GUIでスーパーユーザ権限で操作
[sudo nautilus]

ls
[DIR] = ファイルやディレクトリの情報表示
{ls -al /opt lsの後 -オプション -aは全て表示 -lは詳細表示 その後ディレクトリ名(相対可)

cd
[CD] = ディレクトリの移動
{cd ディレクトリ名、cd /opt  ..親dirや.現dirも可 ディレクトリを省略するとホームに移動}

mkdir [MKDIR] = ディレクトリ作成
{mkdir (オプション) ディレクトリパス mkdir -mode +w /image/tube 書込権限を付加する場合}

rmdir
[RMDIR] = ディレクトリ削除
{rmdir (オプション) ディレクトリパス rmdir -p /image/tube 親ディレクトも空なら削除 }

rm
[DEL] = ファイルやディレクトリの削除
空でないディレクトリの削除はrm -rf ディレクトリ名

mv
[MOVE] = ファイルやディレクトリの移動・名前変更(リネーム)
{mv オプション 移動元ディレクトリ名 i移動先ディレクトリ名 mv -i }
{mv オプション 変更前ファイル名 変更後ファイル名 mv tube1 tube2 }
リネーム: mv 変更前ファイル名 変更後ファイル名
-f = 無条件上書き  -v = 経過表示

cp
[COPY] = ファイルやディレクトリのコピー
主なオプション
-a 属性やディレクトリ構造保持  -b 上書きや削除でbak作成  -f 確認せず上書
-i 上書確認あり  -p 属性を保持  -r 再帰的にコピーする
{cp -apr コピー元ファイル コピー先ファイル}
コピー元にディレクトリを指定したい場合カレントディレクトリにあるサブディレクトリはディレクトリ名だけで指定可能

tar
= ファイルの圧縮、展開

date
[DATE] = 日付、時間設定・表示

pwd
= 現在のディレクトリを表示

chgrp
= ファイルやディレクトリのグループを変更
{chgrp グループ名 ファイル/ディレクトリ名}

chmod
= ファイルやディレクトリのアクセス権を変更
{chmod -オプション ファイル/ディレクトリ名}
-R = 下位の全てに適用

chown
= ファイルやディレクトリの所有者を変更
{chown ftpuser /var/www/で/var/www/はftpuserの所有}

grep
= ファイル内から正規表現でパターンマッチした部分を出力する。(複数のファイルを対象にすることも可能)
grep (オプション) ’検索文字列’ ファイル名
・オプション
-n = 行番号表示 -i = 大文字小文字を区別しない  -r = 再帰オン  -s = エラー非表示
・検索文字列は’’でくくって正規表現で記述。正規表現していない文字列の場合は文字列を含むで検索される
{ grep -n ‘6BM8’ tubelist.txt | grep ‘cv9167’ などパイプして使ってもOK 後ろのgrepに-nを入れると抽出結果の中の行番号になるのでファイル内行番号とずれる}

find
= ファイルやディレクトリの検索
find ディレクトリ (オプション)
・ディレクトリ
. 以下全て /usr 以下全てなど絶対パスで記述
・オプション
-name = ファイル名又はDir名  -type = 種類(f=file/d=dir/l=シンボリックリンク) -user = 所有者  -grouo = 所有グループ  -ls = 詳細を出力
{find . -name “*.txt “-type f -ls  ← ルートディレクトリ以下の*.txtを詳細形式で一覧表示}
{find . -name “bin” -type d -n -ls ← ディレクトリ名にbinが付くディレクトリを詳細表示で一覧表示し連番を入れる }

dd
= ファイルのイメージダンプ、コピー
dd if=入力デバイス of=出力デバイス
{dd if=/dev/sda | gzip -c > buimg.dump.gz  ← 圧縮する場合はgzip -cオプションを追加}
確認中cmd: dd if=/dev/sda1 | gzip > /media/dump_vol/bu1205/sda1.dump.gz

vmstat
= CPU負荷やメモリ使用量を表示
vmstat 更新時間 でCPUやメモリ情報を表示
vmstat -d 更新時間でディスクI/Iの情報を表示
top = システムの情報表示
uptime = システム運転時間とロードアベレージ表示

df
= ディスク情報の表示

stat
= ファイルの詳細表示
cat /etc/issue = システム名表示
scp = sshを使ってコンピュータ間でファイルコピー
-r は再帰オプション
scp ローカルのファイル名 コピー先ディレクトリ ex) scp lampp.tar.gz 192.168.0.200:/home/hoge
scp -r ローカルのディレクトリ名 コピー先ディレクトリ ex) scp -r /opt/lampp 192.168.0.200:/home/hoge

apt-ge
t = パッケージのインストール・更新
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ○○○
sudo apt-get -f install ←不要パッケージ検索
sudo apt-get autoremove ←不要パッケージ削除
情報は /var/cache/apt/archives にある。

ping
[PING] = ピング

ifconfig
[IPCONFIG] = ネットワーク情報表示、設定、起動停止

iwconfig
= 無線ネットワーク情報表示、設定、起動停止

who
= ログインユーザを表示

id
= 所属idを表示
tail = ファイルの内容表示
-n = 最後から何行表示

—– グループ関係 ——————————————————————-
groupadd = グループを作成する
ggroupadd グループ名
{ groupadd webcreater }
追加されたグループIDは/etc/groupに書かれているので確認可能

groupmod
= グループ情報を変更する。
-g = GIDの変更
{ groupmod -g 変更したいGID 変更したいグループ名 groupmod -g 1002 webcreater }
-n = グループ名の変更
{ groupmod -n 変更前のグループ名 変更後のグループ名 groupmod -n weboprater webcreater }
ユーザのグループ設定はgroupmodの-Gでできるようだが、元々属していたグループもその度指定しないといけないようなので、直接/etc/groupに書くのがよさそう。書き換えたら要再起動
{ webcreater:x:1001:fe }
groupdel = グループ削除
{ groupdel グループ名 groupdel webcreater }

groups
= 登録グループ一覧又は所属グループ表示
{ groups hoge }
groupのリストはgetent group または /usr/group ファイルを直接参照する。
groupmod で グループを変更した際に、これまで登録されていたグループを再指定するのを忘れるとそのユーザでsudoができなくなったりする。
その場合/etc/sudoersを開き #User privilege specification項にユーザ名を追加する
{hoge ALL=(ALL) ALL}
ps = 実行中プロセスを表示
pstree = 実行中プロセスのツリー表示
passwd = パスワード設定
passwd ユーザー名 でパスワードの設定、変更が可能
rootで入れば各ユーザーのパスワードも古いパスワード不要で強制的に変更可能(パスワード忘れ時に便利)

free
[MEM] = メモリ情報表示

usermod
= ユーザ設定

fdisk
= パティション管理 起動時にオプションを付けるのではなく、fdisk /dev/デバイス で起動しコマンドで作業。起動のコマンドは-lで一覧を見る程度!?
shutdown -h 0 = シャットダウン suでなければ操作できない
-r 0 で再起動
reboot = 再起動
●便利そうなコマンド
lsmod = ロードされているモジュール一覧
lsusb = USBに認識されている機器一覧
insmod = モジュールを登録するblkid = 記憶メディアのUUID表示
scsi機器の接続状況表示 = # cat /proc/scsi/scsi
dpkg -l = インストール済みパッケージ表示
ネットワーク再起動 = # /etc/init.d/networking restart
フロッピーのフォーマット = fdformat /dev/fd0
空ファイルの作成 echo -n > ファイル名.拡張子
●トラブルシューティング
・固定IPにしたらインターネットに接続できなくなった場合
/etc/resolv.conf のnameserver 192.168.1.1 を nameserver ルータのIPアドレス に変更でOKだった

●GUI

gedit = GUI用テキストエディタ
sudo gedit ファイル名
正規表現検索を使用可能にする方法 参考 → http://eunheui.cocolog-nifty.com/ubuntu/2008/08/gedit_db78.html
ダウンロードしたファイルを解凍し、gedit用の設定ファイルディレクトリに入れる
/home/ユーザー名/.gnome2/gedit/plugins/ 以下に解凍されたファイルとディレクトリを入れる。
gedit起動後「編集」-「設定」-「プラグイン」で「Regex Search and Replace」にチェックしgeditを再起動
使うときは「検索」-「Regular expression…」から
●パイプとリダイレクト
| = パイプ(MS-DOS等と同様 次のコマンドの入力として渡せる)
> = 上書き
>> = 追記
< = 入力
<< = 入力の終端文字列を定義
more(SPACE=次) や less(SPACE=ページ送り/q=終了) が使える

ディレクトリやファイルのパーミッション(許可属性)

パーミッションの変更 chmod [option] モード ディレクトリ・ファイル名
option: -R =サブディレクトリを含む 所有 パーミッション
所有
u = ユーザ
g = グループ
o = その他ユーザ
a = 全てのユーザ
演算子
+ = 追加
= 取外し
パーミッション
r = 読込権限
w = 書込権限
x = 実行権限
例 chmod -R g+rwx userdir ← userdir以下の全てのファイル・Dirのグループ権限をrwxにする
optionは数値3桁で直接指定もできる
r = 4  w = 2  x = 1 ディレクトリのsgidによるグループ設定
グループを設定してそのディレクトリにアクセスできるようにする場合 グループを作成 # groupadd ftpuser
ユーザにグループを追加 # usermod -G ftpuser taro
ディレクトリの所有グループを変更する chown :ftpuser /var/www
ディレクトリの所有グループに許可を与える chmod g+rwx /var/www
ID/GROUPの確認法 $ id ユーザ名

ファイル・ディレクトリの許可属性詳細の見方

[権限]-[dir数]-[所有者]-[グループ]-[サイズ]-[タイムスタンプ]-[名前]
drwxrwxrwx 1 root root 1000 2010-01-01 image1 ←ディレクトリ
-r–r–r– 1 user1 user1 2000 2010-01-01 6bm8  ←ファイル 権限の内容
drwxrwxrwx ( r = 読込 / w = 書込 / x = 実行 )
A987654321
A : d=ディレクトリ -=ファイル
9~7 : ファイルの所有者
6~4 : 所有者と同じグループ
3~1 : その他のユーザ

主なディレクトリ構成(FHS)

home = ユーザ用のホームディレクトリ
etc = 設定ファイル群
bin = 一般権限で実行できるコマンド群(基本コマンド)
sbin = システム管理用コマンド群
var = ログやtmpファイル群
opt = パッケージ管理システムが管理しているアプリ郡
lib = binやsbin用のライブラリ群
dev = デバイスファイル群(ディスクやプリンタ等も)
/dev/sr0 = CD/DVD /dev/lp0 = プリンタ /dev/eth0 = LAN /dev/hda = HDD 等
usr = 各種プログラム(ユーザソフトは/usr/local下に入れるのが一般的)
var = 変更されるデータ類
tmp = 作業用ディレクトリ(勝手に整理されることがある)

圧縮と解凍 ( tar.gz / tar.bz2 等 gz = gzipで圧縮 / bz2 = bzip2で圧縮)

tar = 複数のファイルを書庫にまとめる。書庫は圧縮されていないのでgzip等で圧縮する
gzip = gz形式で圧縮・-d解凍(普段はtarと組み合わせで使う)
bzip2 = bz2形式で圧縮・-d解凍(これも普段はtarと組み合わせで使う)
gzipやbzipで圧縮・解凍(ファイル単位の扱い。ワイルドカード等で複数のファイルも扱える)
圧縮 gzip ファイル名 / bzip 2 ファイル名 解凍 gzip(gunzip) -d ファイル名.gz / bzip2(bunzip2) -d ファイル名.bz2 tarで圧縮・解凍(ディレクトリ単位などファイルをまとめて扱える) 書式 書庫作成: tar -オプション アーカイブ名.tar destディレクトリ名
・使用例
書庫作成: tar cvf image.tar image ← imageディレクトリをtarで書庫にする(圧縮されていない)
書庫表示: tar tvf image.tar
書庫展開: tar xvf image.tar -C ../picture ← -C ディレクトリを指定し展開先を指定できる 圧縮・解凍をする場合は上記に z or j オプションを付け拡張子をtar.gz or tar bz2を付けるのみ
・よく使うオプション
c = アーカイブを新規作成 = Create
x = アーカイブからファイルを展開 = eXpand
t = アーカイブの中身を表示
z = gzipで処理(gz)
j = bzip2で処理(bz2)
v = 詳細を表示 = View
f = ファイル名指定 = File -C = ディレクトリ指定 (指定しない場合はカレントディレクトリ扱い)
tarボールとは tarでファイルやディレクトリを1ファイルにまとめてgzip等でさらに圧縮した状態のファイルのこと。
一般的にはtar.gzやtar.bz2のファイルをターボールというらしい。

ファイルの種類(拡張子) ELF形式

.ko = カーネルのモジュール
.so = 共有ライブラリー (WindowsのDLLに相当)
.a = 静的なライブラリ

システムの設定

自動起動の設定 /etc/rc.localの設定[AUTOEXEC.BAT相当] ←但しこちらはユーザのログインが必要
ログイン不要の自動起動はsysv-rc-confをインストールしこちらで行う
マウントの設定 /etc/fstabの設定。
ブート時にマウントする設定。 10.04ではネットワークドライブのマウントはfstabで設定できない模様「/etc/network/if-up.d」以下にシェルスクリプトを作成しマウントする。
Windowsのネットワークドライブの場合はsmbfsが必要
Windowsとのネットワーク共有 ubuntu 10.04LTSの場合「windowsネットワーク共有サービス」をインストールでWindowsとの共有が可能
geditエディタのカスタマイズエディタのフォント:Liberation Monoの11pt がかっこいい
ubuntuではdeb形式のインストーラを入手すればパッケージインストーラでインストール可能

shell(シェルスクリプト)

MS-DOSのバッチファイルのようなもの 使用上のルール ファイルの先頭に#!/binshを付ける以下の行から処理を書く
拡張子はshで、ファイル名.sh のように付ける
実行はsh ファイル名.sh シェルスクリプトのファイルに実行権限がある場合はカレントディレクトリで ./ファイル名.shで実行できる
簡易エディタ nano の使い方
CTRL + O = 保存
CTRL + X = 終了
CTRL + W = 文字列検索
CTRL + C = カーソル位置情報buffers
 
エディタ vimの使い方
起動 vim ファイル名
タブで開く場合 = :tabe ファイル名
水平/垂直分割で開く場合 = :sp ファイル名 / :vs ファイル名
コマンドモードに戻る = [ESC] →: →[CR]
編集モードに移行
i = カーソルの左から入力
a = カーソルの右から入力
I = 行頭から入力
A = 行末から入力
保存と終了
:wq = ファイルに保存して終了
:n,nn w = n行目からnn行目までを保存
:q = 終了
:q! = 保存せずに終了
編集中
DEL = [x]キー
BS = [X]キー
1行DEL = [d][d]キー
COPY = [y][y]キー
PASTE = [p]キー
UNDO = [u]キー
範囲選択(行)コピー = SHIFT + v  で範囲選択 →[y]でヤンク → 貼り付けは[p]
範囲選択(ブロック)コピー = CTRL + v  で範囲選択 →[y]でヤンク→ 貼り付けは[p]
GVIMはクリップボード経由が可能 上記の方法で範囲を指定して コピー= CTR+INS / 貼付け = SHIFT+INS
検索 = :/キーワード/[CR] 次を検索[n]キー 前を検索[N]キー
置換 = :%s/置換前文字列/置換後文字列/gc
指定行に移動 = 行番号[G]
バッファ一覧 = :buffers
次のバッファに移動 = :bn
バッファの削除 = :bd
コマンドのヒストリ = ↑↓キー
ハイライト参考 → http://krakenbeal.blogspot.jp/2011/02/vi.html
画面を水平分割してファイルを読込 = :sp ファイルパス
水平に画面 = CTRL+W→s, CTRL+W→v
次の画面に移動 = CTRL+W→w
カーソルのない画面を閉じる = CTRL+W→o
新規タブ作成  = :tabnew
タブ移動 = gt
バイナリ編集の参考 → http://d.hatena.ne.jp/rdera/20081022/1224682665

kabekin