osc2015-spring に参加した

内容とその後テストした結果を記載する

シェルのプロが語る、『makeを使ったデータ処理』

USP研究所(どんなシステムでもシェルスクリプトだけでつくる狂信集団)の人が発表

makefile

root@hostname:/home/shimizu/maketest# cat hello.c
#include <stdio.h>
int main(void){
    printf("Hello, World!\r\n");
    return 0;
}
root@hostname:/home/shimizu/maketest# gcc -o hello hello.c
root@hostname:/home/shimizu/maketest# ./hello
Hello!
root@hostname:/home/shimizu/maketest# cat world.c
#include <stdio.h>
int main(void){
    printf("World!\r\n");
    return 0;
}
root@hostname:/home/shimizu/maketest# gcc -o world world.c
root@hostname:/home/shimizu/maketest# ./world
World!
root@hostname:/home/shimizu/maketest# cat makefile
# Makefile for hello.c world.c

# target: source
#       program
# targetよりsourceが新しければprogramを実行する
hello: hello.c
        gcc -o hello hello.c

world: world.c
        gcc -o world world.c

all: hello world

clean:
        rm hello
        rm world

install:
        ./hello
        ./world

makeコマンド

root@hostname:/home/shimizu/maketest# make all
gcc -o hello hello.c
gcc -o world world.c
root@hostname:/home/shimizu/maketest# make install
./hello
Hello!
./world
World!
root@hostname:/home/shimizu/maketest# make clean
rm -f hello
rm -f world

### 2CPUで並列処理する ###
root@hostname:/home/shimizu/maketest# make -j2 all
gcc -o hello hello.c
gcc -o world world.c

### ロードアベレージによって並列処理かどうかを決める ###
root@hostname:/home/shimizu/maketest# make -l1 all
gcc -o hello hello.c
gcc -o world world.c

### ログを残しておく ###
root@hostname:/home/shimizu/maketest# make all 2>&1 | tee make.log
gcc -o hello hello.c
gcc -o world world.c

### 実際にはmakeを実行せずに、実行されるコマンドが表示だけされる ###
root@hostname:/home/shimizu/maketest# make -n all
gcc -o hello hello.c
gcc -o world world.c

メリット

・複雑な手順をまとめられる
・エラーで止まる
・止まったところから再開できる
・復元できる(make cleanでビルド前に戻せる)
 そのため、システムリカバリに利用しやすい

デメリット

・標準入力はできない
・途中での変数代入できない(そのため最初にconfigureですべての変数を用意する必要がある)
・ヒアドキュメントはバッドノウハウを利用しないと使えない

Debian updates

news

security.debian.org のアジアパシフィック地域向けミラーサーバーを日本国内に設置した
アジア初であり、アジアの更新速度が改善される予定とのこと

root@hostname:/etc/apt# apt-spy -s jp -d stable

SERVER: ftp.jp.debian.org
Benchmarking FTP...
                Downloaded 10550517 bytes in 1.00 seconds
                Download speed: 10323.24 kB/sec

...
SERVER: ftp.nara.wide.ad.jp
Benchmarking FTP...
                Downloaded 10550517 bytes in 0.99 seconds
                Download speed: 10378.66 kB/sec

SERVER: ftp.nara.wide.ad.jp
Benchmarking FTP...
                Downloaded 10550517 bytes in 0.97 seconds
                Download speed: 10623.28 kB/sec

...
SERVER: ftp.tsukuba.wide.ad.jp
Benchmarking HTTP...
                Downloaded 10550517 bytes in 1.06 seconds
                Download speed: 9715.85 kB/sec
Writing new sources.list file: /etc/apt/sources.list.d/apt-spy.list

systemd

devuanプロジェクト:systemd大っ嫌いな人が作ったプロジェクト
systemdによって、選択の自由がなくなることを嫌う
活発に活動しているらしい

systemdにするかどうかを選挙で決めようとした
General Resolution:init system coupling
結論として「一般決議は必要ない」となった
これにあたり多くの開発者がdebianを去ったらしい

ただしsystemdになってもinitがラッパーする造りになっている
またminimalでインストールしてもsystemdになる

jessieと今後

PHP 5.6.5
mysql 5.5.42 (5.6.23)
mariadb 10.0.16
apache 2.4.10

debian 9 Strech
debian 10 Buster

おまけ

2015-03-09_223741
2015-03-09_224256