スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Cでのzlibの伸張

zlibを用いた圧縮データの伸張の仕方のメモ。特に引っかかった部分。

httpのContent-Encodingがdeflateまたはgzipとなった場合のボディの伸張には
zlibのinflateInit2()を使う。inflateInit()は使わない。[1]

また、inflateInit2()の第2引数windowBitsを、MAX_WBITSとすると
incorrect header checkと怒られるのでMAX_WBITS+32とする。[2][3]
+32する意味について、最新版のzlib.hには次のように書かれている。

zlib.h version 1.2.7
   windowBits can also be greater than 15 for optional gzip decoding.Add
32 to windowBits to enable zlib and gzip decoding with automatic header
detection, or add 16 to decode only the gzip format (the zlib format will
return a Z_DATA_ERROR).


参考
* http://ghanyan.monazilla.org/gzip.html
gzip ストリーム展開
* http://d.hatena.ne.jp/ksef-3go/20070924/1190563143
3号の日記
* http://znz.s1.xrea.com/t/?date=20050225
%!zt! <diary>
スポンサーサイト

jfbtermのもろもろ

jfbtermのインストールに何回か詰まったのでメモ。
jfbtermはSourceForgeのものではなくjfbterm for FreeBSDのものを使用しているので注意。
for FreeBSDとはなっているが他のOSでも使える。

基本的には上記ページの通りにする。

続きを読む

Debian Wheezyをインストールしてみる

自分用のメモ。
「Debian『wheezy』リリース情報」から「Debian-Installer のページ」に飛んで
netinst CD イメージのamd64をダウンロードする。
ダウンロードし終わったら仮想で起動してインストールする。
その際、インストールするソフトウェアの選択ではチェックをすべて外す。
インストールが完了したら再起動。

・aptで入れるもの(依存関係で勝手にインストールされるものは省略)
カンマ区切りで羅列したのはパッケージ名。
その下はよく使うものや設定。

テキスト/コンソール関係
vim, less, screen, w3m, (jfbterm,) uim, anthy
コンソールでもかな変換できるようにuim-pref-gtkを起動して
Anthy キー設定を選んでオンオフそれぞれにspaceを追加。
jfbterm: jfbterm for FreeBSDのページのものを自分でコンパイルする。

レポート関係のもろもろ
texlive-lang-cjkを含めtex関係, xdvik-ja, ghostscript-x, xcircuit, OpenOffice.orgのもろもろ
platex(texlive): texで日本語も使えるようにするのに必要だった気がする。
pxdvi-xaw(xdvik): dviファイルで日本語を見られるようにするのに必要。
ghost(ry はdviファイルに埋め込まれたepsファイルを見られるようにするのに必要。pdf出力時にも必要。
xcircuit: xcircuitは回路図の作成用。
localc(OOo): 表の作成用。csvで出力してsedで置換してtexファイルにコピペ。

画像関係
imagemagick, gimp, feh
convert(image): 画像変換用。
import(image): スクショ用。
gimp: 画像編集用。
feh: 背景表示用。

音声/動画関係
alsa-utils, pulseaudio, timidity, mplayer
alsamixer(alsa): 音量設定用。
timidity: MIDI再生用。
mplayer: 音楽、動画再生用。

X関係
xorg関係, xbacklight, lxtermianl, openbox, (firefox,) flashplugin-nonfree
xbacklight: バックライトの設定用。
lxterminal: xtermの代わり。gnome-terminalがいいなんて話も聞く。
openbox: LXDEでもいいけどメニューバーとかは特にいらないのでこっち。KDE,GNOMEはパス。
firefox: Debianは諸事情でIceweaselになってるけど火狐に愛着があるのでこっち。公式ミラーからダウンロード。
flash(ry は/etc/apt/source.listのwheezy mainのあとに non-freeを入れてapt-get updateをしないといけない。
また、これを入れないとフラッシュが動かない。Adobeからダウンロードしたものだと何故かダメ。

プログラミング関係
gcc, g++, make, gdb, mingw-w64
gdb: デバッガ。
mingwはWindowsのプログラムのコンパイル用。

その他いろいろ
ufw, conky, wine, rsync
ufw: ファイアーウォール。デフォルトで起動するか知らないのでsuしてからufw enableをしておく。
conky: 巷で人気(?)の便利なツール。
wine: Windowsのプログラムを動かすのに必要。動くのはまだ32bitのプログラムだけ。


他にやっておくこと

/tmp,/var/log,ホームディレクトリなどをtmpfs化するので/etc/fstabを編集する。
rsyncを入れて起動時にホームディレクトリへファイルをコピー、終了時にホームディレクトリ以下を保存するようにする。
もろもろの操作は/etc/init.d/rc.localに記述する。
このままだと終了時、再起動時に保存してくれないので
/etc/rc0.d/と/etc/rc6.d/でln -s ../init.d/rc.local K01rc.localを行いシンボリックリンクを作る。
#これを忘れて実験レポのデータが飛んだよ!

openboxの右クリックメニューのWeb browserは内部でx-www-browserを呼び出しているので
/usr/local/bin内にfirefoxへのシンボリックリンクを作る。
また、ObConfのWindowsの設定で
Place new windows under the mouse pointerにチェックを入れる。
こうすると新しく作られるウィンドウはマウスポインターの座標を中心として呼び出されるようになる。

wineはホームディレクトリに.wineフォルダを作成してその中にWindowsもろもろの環境を作る。
バカみたいに容量を食うので.wineを別の場所に移動してホームディレクトリに.wineという名の
シンボリックリンクを作る。そうしないとrc.local内の動作がものすごく時間がかかる。(起動時)

ここまでやって7GB程度になった。

USBブート出来ないPCでUSB内のOSを起動する

起動用のイメージを作ったりして起動するので、FDドライブかCD(DVD,BD)ドライブがついてないとこの方法は使えません。
また、以下の方法によって問題が発生しても当方は責任をとれませんのでご注意ください。

続きを読む

USBにLinuxを入れてみる

先日、ウィンドウズのアップデートにて、シャットダウン時のインストールがいつまでたっても終わらない
といった事態に見舞われたので仕方がないので電源をぶつ切り。
ぶつ切りはWindowsが起動できなくなるかもしれないから本当はやってはいけないらしい。
運良く起動できたのでシステムの復元やらなんやらして現在無事に動いております。

そんなことがありまして、Windowsが起動できなくなった時に
データを移せるように別の媒体にLinuxを入れておこう、ということで
USBにLinuxを入れてみました。

続きを読む

プロフィール

pilol

Author:pilol
ブラッディマンデイを見てLinuxを使い始めた人。
OS:Win7(内臓HDD),Debian(外付けHDD)

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
リンク
ブロとも申請フォーム

この人とブロともになる

バナーとか
key
Key Official HomePage

angel beats!
イヅミヤ


電撃文庫もくろっく
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。