2014年10月15日水曜日

Ubuntu で sudo の権限を与える

Ubuntu で、adduser で新規追加したユーザには sudo の権限がありません。
その追加方法メモ。
設定後、ログインし直す ( ← これ忘れない )

# gpasswd -a [USER_NAME] sudo

● Ubuntu, adduser, sudo, 権限, 新規, 追加

2014年7月5日土曜日

0xff でパディングされた任意のサイズのデータを作る ( dd )

いつか使う時のためにメモ。

1. まず、全データが 0xff の任意サイズのファイルを作る

tr を使って 0x00 を 0xff に変換。この例ではサイズ 100MB のファイルを作成。

$ dd if=/dev/zero bs=1M count=100 | tr "\000" "\377" > PADDED_FILE.bin

2. できたファイルに元ファイル ( INPUT_FILE.bin ) を流し込む

dd のオプション conv=notrunc を使う。

$ dd if=INPUT_FILE.bin of=PADDED_FILE.bin conv=notrunc

■ 参考
http://superuser.com/questions/274972/how-to-pad-a-file-with-ff-using-dd

● 0xff, 0xFF, pad, padding, パディング, 後ろ, 追加, 追記, dd, notrunc

2014年7月4日金曜日

GNU screen で取得したログを読みやすくする

GNU screen で取得したログには制御文字が含まれていて非常に読みにくい。
col で変換して、先頭文字を 11 文字分 cut。

col -bx < screenlog.n | cut -b 11-

● GNU, screen, cut, col, ログ, log, screenlog, 読めん, 読みにくい, 制御, 文字, コード

2014年5月5日月曜日

dd コマンドでバイナリデータを編集する方法

バイナリエディタの無い環境で、バイナリファイルを編集する方法。
echo と dd の組み合わせでいけます。

サンプルとして、あらかじめ、128 byte の All 0x00 データ (hoge.dat)を作っておきます。
このファイルの作り方については、まさおのブログ (表): 任意サイズのファイルを作る 参照。
hexdump で内容確認。

$ hexdump -Cv hoge.dat
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000060  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000080

16 byte 目 (0x00000010) から 2 byte の 0x5A5A を書き込む例。
0x5A は ASCII の "Z" ですが、任意の 16 進数データを書き込むことができます。

$ echo -en '\x5A\x5A' | dd of=./hoge.dat bs=1 seek=16 conv=notrunc
2+0 records in
2+0 records out

$ hexdump -Cv hoge.dat
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000010  5a 5a 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |ZZ..............|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000060  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000080

参考: http://blog.heartnet.me/2012/07/dd.html

● バイナリ, 編集, binary, edit, bvi, なし, editor, not use, dd, echo, hexdump, 修正, seek

2014年4月19日土曜日

Ubuntu コマンドで PDF ファイルを表示 ( evince )

Ubuntu のシェルからコマンドで PDF ファイルを表示する。
( Ubuntu 12.04 64bit で確認 )

標準では、evince というコマンドで。

$ evince hogehoge.pdf

evince は、マウスホイールで拡大縮小まではできるが、ドラッグで動かせない。
そんなときは、mupdf を使う。
ページの移動は PageUp、PageDown で。

$ mupdf hogehoge.pdf

● Ubuntu, pdf, PDF, ビューア, コマンド, evince

Windows7 で、エクスプローラーは 動作を停止しました の解決方法

会社の Windows7 PC で、エクスプローラーがよく落ちました。
↓これね。これ。

解決策がないものかと調べたところ、下記のページを発見。
http://net-3.blogspot.jp/2010/11/win7.html
http://blog.nakaji.moo.jp/?eid=807928

エクスプローラーの「ツール」→「フォルダー オプション」→「表示」タブ
「フォルダーとデスクトップの項目の説明をポップアップで表示する」のチェックを外す。



私の環境では、これだけではダメだったので、その下 2 つも外しました。
「フォルダーのヒントにファイルサイズ情報を表示する」
「プレビューウィンドウでプレビューのハンドラーを表示する」

今のところ、これで解決。設定後、PC を再起動したほうが良いかも。

● Windows7, エクスプローラー, エクスプローラ, explorer, 落ちる, 動作を停止しました, 頻発, 解決

2014年4月12日土曜日

Ubuntu 複数 NIC で DHCP 運用時にデフォルトゲートウェイを固定する

Ubuntu がインストールされている PC に複数枚の NIC を刺して、それぞれ DHCP で IP アドレスの設定をしていると、
デフォルトゲートウェイが複数設定されてしまう。
この設定順は、IP アドレス取得順 (?) のようで、デフォルトゲートウェイが固定されない。
固定したいときの /etc/network/interfaces 記述例。
(Ubuntu 12.04 LTS 64bit で確認)

eth0 と eth1 が DHCP 設定で、eth0 のデフォルトゲートウェイを有効にしたい場合の例。
post-up で不要なデフォルトゲートウェイ設定を削除。

# vi /etc/network/interfaces
(下記のように設定)

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp
    post-up /sbin/ip route del default dev eth1

● 複数, NIC, 2 枚, 差し, 刺し, 挿し, eth0, eth1, default, gw, route, interfaces, デフォルト, ゲートウェイ, gateway, 固定, DHCP, resolv.conf

2014年4月5日土曜日

Ubuntu で、Wireshark を一般ユーザで使えるようにする

Ubuntu で、Wireshark を一般ユーザで使えるようにする手順。
(Ubuntu 12.04 (64bit) で確認)

# dpkg-reconfigure wireshark-common
  yes を選択。

# chmod +x /usr/bin/dumpcap

● wireshark, sudo, 不要, 一般, ユーザ,

Windows7、Samba で共有したファイルをコピーしたり実行するとエラーが出る

Samba で共有しているフォルダのファイルをコピーしたり、実行しようとすると、下記のエラーメッセージが出る。
「これらのファイルは、コンピューターに害を及ぼす可能性があります」
ムカッ。
↓これね。これ。

以下の手順で解決。

1. IE を起動
2. 「ツール」 → 「インターネットオプション」 → 「セキュリティ」
        → 「ローカル イントラネット」 → 「サイト」 → 「詳細設定」
3. Samba サーバの URL を追加
       例 1: file://192.168.0.1/
       例 2: file://192.*.*.*/

● これらのファイルは、コンピューターに害を及ぼす可能性があります, Samba, Windows7, ファイアウォール, エクスプローラ, セキュリティ

2014年2月19日水曜日

Windows7 で、フォルダをドライブに割り当てる (psubst)

Windows7 で、フォルダをドライブに割り当てたい。
標準で、subst コマンドってのがあるけど、これは毎回設定しないといけないので、使い勝手が悪い。

subst のかわりに、psubst を使うと、毎回設定しなくてよくなります。
Persistent SUBST command

1. 管理者権限でコマンドプロンプトを起動

2. C:\R-Drive フォルダを R ドライブとして割り当てる

psubst に /P オプションを指定。

# psubst R: C:\R-Drive  /P

3. 解除方法 (一度設定すると、あまりすることはないけど)

psubst に /D オプションを指定。

# psubst R: /D

これと ごみ箱自動削除ツール を併用すれば、擬似 RAM ディスクっぽい運用ができて幸せ。

● subst, psubst, フォルダ, ディレクトリ, ドライブ, 割り当て, ごみ箱, ゴミ箱, ごみ箱自動削除ツール

2014年2月15日土曜日

リンクされているダイナミックライブラリを調べる (objdump -p)

リンクされているダイナミックリンクライブラリを調べる場合、通常は ldd を使います。
ldd 以外の方法で調べるには、objdump コマンドを使います。
オプションは "-p"。

bash を試しに確認した場合の例。
NEEDED に libtinfo.so.5, libdl.so.2, libc.so.6 とあります。
組み込みの時は、クロス環境の objdump コマンドを使えば OK ( こっちの方で使うことがある )。

$ objdump -p /bin/bash

/bin/bash:     file format elf64-x86-64

Program Header:
    PHDR off    0x0000000000000040 vaddr 0x0000000000400040 paddr 0x0000000000400040 align 2**3
         filesz 0x00000000000001f8 memsz 0x00000000000001f8 flags r-x
  INTERP off    0x0000000000000238 vaddr 0x0000000000400238 paddr 0x0000000000400238 align 2**0
         filesz 0x000000000000001c memsz 0x000000000000001c flags r--
    LOAD off    0x0000000000000000 vaddr 0x0000000000400000 paddr 0x0000000000400000 align 2**21
         filesz 0x00000000000dfea4 memsz 0x00000000000dfea4 flags r-x
    LOAD off    0x00000000000e0e08 vaddr 0x00000000006e0e08 paddr 0x00000000006e0e08 align 2**21
         filesz 0x0000000000008c88 memsz 0x000000000000e840 flags rw-
 DYNAMIC off    0x00000000000e0e30 vaddr 0x00000000006e0e30 paddr 0x00000000006e0e30 align 2**3
         filesz 0x00000000000001b0 memsz 0x00000000000001b0 flags rw-
    NOTE off    0x0000000000000254 vaddr 0x0000000000400254 paddr 0x0000000000400254 align 2**2
         filesz 0x0000000000000044 memsz 0x0000000000000044 flags r--
EH_FRAME off    0x00000000000c8770 vaddr 0x00000000004c8770 paddr 0x00000000004c8770 align 2**2
         filesz 0x0000000000003cec memsz 0x0000000000003cec flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
   RELRO off    0x00000000000e0e08 vaddr 0x00000000006e0e08 paddr 0x00000000006e0e08 align 2**0
         filesz 0x00000000000001f8 memsz 0x00000000000001f8 flags r--

Dynamic Section:
  NEEDED               libtinfo.so.5
  NEEDED               libdl.so.2
  NEEDED               libc.so.6
  INIT                 0x000000000041af30
  FINI                 0x00000000004aafa8
  GNU_HASH             0x0000000000400298
  STRTAB               0x00000000004105b8
  SYMTAB               0x00000000004039a0
  STRSZ                0x0000000000008410
  SYMENT               0x0000000000000018
  DEBUG                0x0000000000000000
  PLTGOT               0x00000000006e0fe8
  PLTRELSZ             0x00000000000012f0
  PLTREL               0x0000000000000007
  JMPREL               0x0000000000419c40
  RELA                 0x0000000000419b80
  RELASZ               0x00000000000000c0
  RELAENT              0x0000000000000018
  VERNEED              0x0000000000419ad0
  VERNEEDNUM           0x0000000000000002
  VERSYM               0x00000000004189c8

Version References:
  required from libdl.so.2:
    0x09691a75 0x00 09 GLIBC_2.2.5
  required from libc.so.6:
    0x06969191 0x00 10 GLIBC_2.11
    0x06969194 0x00 08 GLIBC_2.14
    0x0d696918 0x00 07 GLIBC_2.8
    0x06969195 0x00 06 GLIBC_2.15
    0x0d696914 0x00 05 GLIBC_2.4
    0x09691974 0x00 04 GLIBC_2.3.4
    0x0d696913 0x00 03 GLIBC_2.3
    0x09691a75 0x00 02 GLIBC_2.2.5

● ダイナミックリンク, ldd 以外, objdump, dynamic link

2014年1月25日土曜日

お気に入りフリーフォントメモ ( BIONDI, Constantia )

このフォントがお気に入り。
名前を忘れてしまうので、私的メモ。
(html で font 設定してみたけど、フォントが無い環境では表示できません)

■ BIONDI

http://freefontview.com/font/B/140/120
名前を表示するときに使う。

 Masao 

■ Constantia

http://www.fontpalace.com/font-details/Constantia/
住所とか本文、年号に使う。

 Fukuoka, Japan 2014 

● フォント, font, お気に入り, free, フリー

2014年1月5日日曜日

SSD に Ubuntu をインストールするときの設定

SSD に Ubuntu 12.04 LTS (64bit) をインストールした時の設定メモ。

1. mount オプション変更

SSD にあるマウントポイント全てに下記を設定。
noatime を設定するか迷ったけどやめておいた。
■ 2014/01/26 追記
この設定をすると、動作が重くなったのでやめました。

# vi /etc/fstab
(マウントポイント全てに下記の設定を追加)
data=writeback,nobh を追加

tune2fs を実行。
(/dev/sda1: /, /dev/sda4: /home にしている)

# tune2fs -o journal_data_writeback /dev/sda1
# tune2fs -o journal_data_writeback /dev/sda4

2. swap への書き込みを軽減

# vi /etc/sysctl.conf
(下記を追加)
vm.swappiness = 20

3. mlocate の設定を毎日から毎週に変更

# mv /etc/cron.daily/mlocate /etc/cron.weekly/

■参考
http://laniusbucephalus.blog49.fc2.com/blog-entry-456.html
http://takashi-tomokuni.blogspot.jp/2012/10/ubuntu-1204-ssd.html

● SSD, Ubuntu

2014年1月4日土曜日

Dell Vostro 1510 に Ubuntu 12.04 LTS (64bit) をインストール (/init: line 7: can't open /dev/sr0: No medium found)

Dell Vostro 1510 に Ubuntu 12.04 LTS (64bit) をインストールした時のメモ。
Ubuntu をインストールするのに、ちょっと手こずりましたよ。
このノート PC のスペックは、以下のとおり。
CPU: Intel Core2 Duo T9300 2.5 GHz
RAM: 2 GB DDR2 SDRAM
LCD: 15.4 inch

0. HDD を SSD に変更

少しでも快適にしたいので、128GB SSD に交換。
ADATA の ASP900S3-128GM-C-7MM に付け替えました。
裏ネジ外して交換♪

1. Ubuntu 12.04 LTS (64bit) インストーラーの準備

Ubuntu 本家 のサイトから、Ubuntu 12.04 LTS のインストーラ (ISO イメージ) をダウンロード。
UNetbootin を使って MicroSD(USB アダプタ) にインストールします。

2. Ubuntu 12.04 LTS (64bit) のインストール

ここがはまりポイント。
BIOS 起動時に、F12 キーで ブートデバイスとして USB storage を選択。
USB からインストーラを起動。
ひとまず、「Try Ubuntu without installing」を選んで、Ubuntu 起動後にインストールすればいいやと思ってたら、
起動せず...。
[F1] キーで、裏のコンソールを見てみると、下記のエラーメッセージが。

/init: line 7: can't open /dev/sr0: No medium found

このエラーメッセージでググると結構引っかかる。
/dev/sr0 は CD-ROM ドライブらしいんだが、CD-ROM ドライブから起動してないし...。
解決方法は下記のサイトにありました。
https://bugs.launchpad.net/ubuntu/+bug/500822

・インストーラで、"Try Ubuntu without installing" を選択。
・[Tab] キーを押下して、オプション編集画面で "quiet splash" を削除。
・代わりに "break debug" を入力。
・[Enter] で起動。

・起動が途中で失敗して、"(initramfs)" プロンプトが出ます。

このあと、インストーラが /dev/sdb1 を認識するまでひたすら待ちます (4 分ぐらい)
待っている間、下記の USB のリセットログが何度か表示されます。

usb 2-1: reset high-speed USB device number 2 using ehci-pci
usb 2-1: reset high-speed USB device number 2 using ehci-pci
...

下記の表示が出たら、OK。
最初、sdb だけ、認識しますが、更に sdb1 を認識するまで待ってやる必要があります。

 sdb: sdb1
sd 2:0:0:0: [sdb] No Caching mode page present
sd 2:0:0:0: [sdb] Assuming drive cache: write through

念のため、ls コマンドでも確認。
(インストーラのデフォルトキーボードは US になっているので、"*" は日本語キーボードだと "(" の位置になります)

(initramfs) ls -l /dev/sd*
brw-------    1    8,  17 /dev/sdb1
brw-------    1    8,  16 /dev/sdb
brw-------    1    8,   0 /dev/sda

このあと、"exit" で Ubuntu が起動します。

(initramfs) exit

あとは、デスクトップ上にあるインストールアイコンでインストールすればよいです。

● /init: line 7: can't open /dev/sr0: No medium found