2014年12月28日日曜日

Windows8.1のフォルダを mount する。

これはまさに
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a004mountcifs.html
そのもので

cat mount-windows81-common.bat

mount -t cifs //192.168.100.102/common /mnt81  -o username=user1

です。

もちろん windows81で ローカルアカウントuser1をつくってます。





dvdstyler

2014年12月23日火曜日

ssh -X 、起動時実行



p1<----------------------------------------------------p2
ssh server



SSHDサーバP1を
 ./comment-out.bat /etc/ssh/sshd_config

PermitRootLogin no
AuthorizedKeysFile    .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
X11UseLocalhost no
  #こうしないとP2ではなくP1側でchromiunがたちあがる
PrintMotd no # pam does that
UsePrivilegeSeparation sandbox        # Default for new installations.
Subsystem    sftp    /usr/lib/ssh/sftp-server



とします。


それから インターネット越しに P2から
ssh -X  user-1@example.mydns.jp
して P1に入り、

export XMODIFIERS=@im=ibus
ibus-daemon &

そして
chromium
をすると 
p2の上でchromiumが立ち上がります。



起動時実行
cronieをいれて

root で crontab -e 
して

 EXTENSIONS
       These special time specification "nicknames" which replace the  5  ini‐
       tial time and date fields, and are prefixed with the '@' character, are
       supported:

       @reboot    :    Run once after reboot.
       @yearly    :    Run once a year,  ie.  "0 0 1 1 *". 1/1 0:0
       @annually  :    Run once a year,  ie.  "0 0 1 1 *".
       @monthly   :    Run once a month, ie.  "0 0 1 * *".   1 0:0
       @weekly    :    Run once a week,  ie.  "0 0 * * 0".   s 0:0
       @daily     :    Run once a day,   ie.  "0 0 * * *".     0:0
       @hourly    :    Run once an hour, ie.  "0 * * * *".       0
                                                m h d m

              minute         0-59
              hour           0-23
              day of month   1-31
              month          1-12 (or names, see below)
              day of week    0-7 (0 or 7 is Sunday, or use names)



@reboot /home/ttt/nginx.bat
するといいらしい。




arch コンソール で 日本語 ; arch backup

http://d.hatena.ne.jp/devm33/20120903/1346688956
に ほぼ準拠してます。


jfbterm-git ははいらないので
yaourt -S jfbterm-freebsd

それから
uim
bdf-unifont (いらないかも)
pcf-unifont
をいれます。


cat .uim
(define-key generic-on-key? '("<Shift> " "<Control> " "<Control>\\"))
(define-key generic-off-key? '("<Shift> " "<Control> " "<Control>\\"))


loginしたら
jfbterm -q -e uim-fep -u anthy
をします。

すると 日本語表示となります。
もう 文字化けしません。
ctrl + space で日本語入力ができます。

お手軽です。







https://sudopacman.wordpress.com/2014/12/02/backup-and-restore-arch-linux/
に準拠してます。


バックアップ
cd archのあるところ
tar  -czvpf  /バックアップ先/backup.tar.gz  --exclude=proc --exclude=sys --exclude=dev --exclude=tmp --exclude=XXXXX  --exclude=mnt   .

http://www.aboutdebian.com/tar-backup.htm

tar -zcvpf /backups/fullbackup.tar.gz --directory=/ 
--exclude=proc
--exclude=sys --exclude=dev/pts --exclude=backups .

Likewise, our untar-ing command becomes:


tar -zxvpf /fullbackup.tar.gz


レストア
mkdir /mnt/arch
$
sudo mount /dev/sda2 /mnt/arch  (arcをいれるところ)
$

Then let’s extract the tar file.

$ sudo tar -zxvpf /バックアップ先/data/backup.tar.gz -C /mnt/arch



Mount dev, proc and sys
Mount them into the target restoring point, since you need the machine relevant information from the session.

$ sudo cp /etc/resolve.conf /mnt/arch/etc
$ sudo mount -t proc none /mnt/arch/proc
$ sudo mount -t sysfs none /mnt/arch/sys
$ sudo mount -o bind /dev/ /mnt/arch/dev

Now already to go. Then change the root to the extracted backup.

$ sudo chroot /mnt/arch
$ source ~/.bashrc

Use the last command if you need to reload the environment parameters (such as environment variables).

2014年12月14日日曜日

apache digest 認証 ; nginx の basic 認証 と server block


http://www.atmarkit.co.jp/flinux/rensai/linuxtips/698apachebasic.html
ほぼこの通りです。


但し
# ls -l /srv/http/
合計 8
-rw-r--r-- 1 root root   28 12月 10 12:03 index.html
drwxr-xr-x 2 root root 4096 12月 10 13:09 member



# head /etc/httpd/conf/httpd.conf
<Directory "/srv/http/member">
    AuthType Basic
    AuthName "Secret Zone"
    AuthUserFile /etc/httpd/.htpasswd
    Require user secret
</Directory>


htpasswd  -c /etc/httpd/.htpasswd secret









cat httpd-on.bat 
sudo mount /dev/sda4 /HTTP
sudo ln -s /HTTP/htdocs/ /srv/http

sudo systemctl restart httpd.service
sudo systemctl restart sshd
sudo /home/tuyosi/nat.bat

echo '----------------------'
ps ax | grep sshd
ps ax | grep httpd
sudo iptables -L




なお
http://www.sotechsha.co.jp/sp/640/server_02.html
を参考にしてダイナミックDNSしてます。


ただし wifiなので グローバルアドレスを割り当ててもらう必要があり、
さらに Uroadaeroで ポートフォワーディングを設定しなければなりませんでした。

今まではNAPTされて グローバルアドレスはもらってませんでした。
ただし グローバルアドレスをもらうと 元のNAPTには戻りませんので リスクを負う覚悟がいります。
一番の危険はwifiルーターに入られて設定を勝手に変更されたり、
wwwサーバに入られたりです。 


intenet
|
|wireless
|
uroadaero wifiルーター
|
|wireless
|
arch linux(www server)



digest認証です。
http://shohei.yokoyama.ac/%E6%8A%80%E8%A1%93%E3%83%A1%E3%83%A2/%E7%99%BD%E9%BB%92%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BCmod_ssl%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E8%A8%98%E9%8C%B2#.E3.81.A4.E3.81.84.E3.81.A7.E3.81.AB.E3.83.80.E3.82.A4.E3.82.B8.E3.82.A7.E3.82.B9.E3.83.88.E8.AA.8D.E8.A8.BC.E3.82.82.E3.81.8B.E3.81.91.E3.82.8B

を参考にしました。
AuthUserFileをAuthDigestFileと書いてあるサイトもありますが、古い情報ですとの事

more /etc/httpd/conf/httpd.conf
<Directory "/srv/http/XXX">
  AuthType Digest
   AuthName "YYY"
   AuthDigestDomain /http_ssl/
   AuthUserFile /etc/httpd/.htdigest
   Require user zzz
</Directory>
中略

LoadModule auth_digest_module modules/mod_auth_digest.so #を外します。

htdigest -c /etc/httpd/.htdigest 'YYY' zzz

ですね。













あと 遠くはなれたところからこれにSSHで入ってメインテナンスをするのに
いらないプロセスがあると遅いので止めます。

 cat X-off.bat 


sudo kill `ps ax| grep xinit  | grep -v grep | cut -d ' ' -f 3`

sudo kill `ps ax| grep dhcpcd | grep -v grep | cut -d ' ' -f 3`

sudo kill `ps ax| grep ibus-daemon | grep -v grep | cut -d ' ' -f 3`

sudo kill `ps ax | grep 'chromium' | grep Sl | grep -v type | cut -d ' ' -f 2`




















nginX です デフォルトではchrootかかってない、危ない。

virtualhost(nginxでは server block と言います)  

basic 認証

apacheは ふるくなってます。
virtualhost として使うなら nginxの方がはるかに使いやすい。




# cat /mnt/home/etc/nginx/nginx.conf



############################

worker_processes  1;
events {
    worker_connections  1024;
}

#h>
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;


#---------------



 server {
        listen       80;
        server_name  localhost;
          root     /mnt-nginx/d1;
          index  index.html index.htm;
          auth_basic "Restricted";
          auth_basic_user_file /etc/nginx/1/.htpasswd;
        }
#  /mnt-nginx/1/.htpasswd ではダメです


#----------------------------------mydns
    server {
        listen       80;
        server_name  a.mydns.jp;
        root   /mnt-nginx/d0;
        index  index.html index.htm;
           }


#--------------------------------ddns
    server {
    listen       80;
    server_name  s.sun.ddns.vc;
    root     /mnt-nginx/d1;
    index  index.html index.htm;
    auth_basic "Restricted";                     
    auth_basic_user_file /etc/nginx/1/.htpasswd;   
         }


    server {
    listen       80;
    server_name  k.sun.ddns.vc;
    root     /mnt-nginx/d2;
    index  index.html index.htm;
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/2/.htpasswd;
          }


 server {
    listen       80;
    server_name  m.planex.ddns.vc;
      root     /mnt-nginx/d11;
      index  index.html index.htm;
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/11/.htpasswd;
        }


#nita.luna.ddns.vc
 server {
    listen       80;
    server_name  n.luna.ddns.vc;
      root     /mnt-nginx/d12;
      index  index.html index.htm;
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/12/.htpasswd;
        }

#h<
}









2014年12月9日火曜日

arch linux で PXE サーバーを立てて puupy  をインストール

arch linux で PXE サーバーを立てて puupy  を
ネットワークインストール 方法を以下に書きます。

ファイルのコピーと grub4dos だけでします。
puppyのインストーラーは動かしません。


ls -l /tftpboot/
合計 321832
-rw-r--r-- 1 tuyosi tuyosi 164801980 12月  9 10:11 initrd.gz-big 後ほど説明
-rwxr-xr-x 1 tuyosi tuyosi     26816 12月  9 10:10 pxelinux.0
drwxr-xr-x 2 tuyosi tuyosi      4096 12月  9 10:10 pxelinux.cfg
-rw-r--r-- 1 tuyosi tuyosi   3108768 12月  9 10:11 vmlinuz


# cat  /tftpboot/pxelinux.cfg/default
default puppy
label puppy
kernel             vmlinuz
append load initrd=initrd.gz-big
です。

dnsmasqをインストし

more /etc/dnsmasq.conf
interface=enp0s18
dhcp-range=192.168.11.10,192.168.11.12,12h
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/tftpboot
にします。


それから
cat pxe1-enp0s18-static.bat
ip link set enp0s18  up
ip addr add 192.168.11.8/24 dev enp0s18
で固定アドレスにします。



それから

cat pxe3-pxe.bat
#dnsmasq をいますぐ起動
systemctl stop  dnsmasq
systemctl start dnsmasq

を走らせます。

後はpuppy をインストールするパソコンにいって、
ネットワークブートです。


なおinitrd.gz-bigの 作り方は以下です。
http://sakurapup.browserloadofcoolness.com/viewtopic.php?f=13&t=2732
一言で言うと puppy_slacko_5.7.sfs + initrd.gz = initrd.gz-bigです。


puppy もおそらくインストーラーでインストできるでしょうが、めんどいですので
ファイルのコピーをつかいます。

ネットワークブートした puppy で pure-ftpdをたちあげ
arch の lftpをつかって

puppy_slacko_5.7.sfs
initrd.gz
vmlinuz
をputし、

それから sda1 をマウントし そこにフォルダ /mnt/sda1/puppyをつくっておいてから
そこに mv します。

あとは
grub4dos でブートローダーをいれると出来上がりです。

やっと arch がpuppy に恩返しできました。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
なお archのスクリプトとしては 以上をまとめた
cat pxe-puppy-KOREDAKEYO.bat
cp /etc/dnsmasq.conf-pxe-puppy /etc/dnsmasq.conf
ip link set enp0s18  up
ip addr add 192.168.11.8/24 dev enp0s18
systemctl stop  dnsmasq
systemctl start dnsmasq
これ一発です。







2014年11月25日火曜日

★★★ やさしい arch linux インストール dhcpd aur pxe

archのインストールになれたら archbangを使うのが楽。
 http://hatahata50.blogspot.jp/2015/12/arch-bang.html に書いてます。
これは アインシュタイン方程式だ。
アインシュタインはこの方程式をひらめいた。
数学者はこの式をとくが 数学者には この式そのものは降臨しない。

UEFI + btrfs は以下に書きました。
http://hatahata50.blogspot.jp/2016/12/uefi-btrfs-usb.html
この心は
http://qiita.com/sion_cojp/items/c8e015db39ddbf43012eによると
     最大ファイルサイズ    最大ボリュームサイズ 
ext4         16TiB      1EiB
btrfs         16EiB      16EiB
なので これから超巨大データベース(例えば映像)をつくるには 
btrfs でしょう 1 EiB = 2の60乗B = 1,152,921,504,606,846,976 B。

また uefiでないと 2.2TB以上のバーティションから 起動できないですしね。

archlinuxのパッケージ管理は apt-get ではなく pacmanで
インストール pacman -Sy   ◯◯
探す              pacman -Ss   ◯◯
除ける    pacman -Rsc ◯◯
全アップグレード pacman -Syu    <------ 自分は 週一回してます
で 簡単です




以下は 非UEFIの場合です。
CDに焼いてブートです。


黄色の背景の大文字のところだけで インストールできます。 (小文字は解説にすぎません)



ここで

systemctl  start  sshd 
passwd
ifconfig              アドレス確認
します。

そして 192.168.100.102なら

他のパソコンからssh -l root 192.168.100.102
で入ってインストールします。
つまりこのページの コピー&ペーストだから楽です。
でなかったら結構しんどい。



まず インストールするところを求めます。

root@archiso ~ # fdisk /dev/sda

にて

Device     Boot   Start      End  Sectors Size Id Type
/dev/sda1  *    4196352 41943039 37746688  18G 83 Linux
/dev/sda2          2048  4196351  4194304   2G 82 Linux swap / Solaris



なふうにしました。


mkfs.ext4 /dev/sda1 
mkswap /dev/sda2 
swapon  /dev/sda2

mount /dev/sda1 /mnt/


<---btrfsでしたい方は以下ですが
初学者は混乱するので この薄桃色背景は見ないで下さい

http://www.kossboss.com/linux---arch-installation-with-btrfs-root-and-efi-grub-bootより
# fdisk /dev/sda

/dev/sda1      83                       Linux
/dev/sda2            82 Linux swap / Solaris

# mkfs.btrfs -f -L arch /dev/sda1
# mkswap /dev/sda2
# swapon /dev/sda2
 # mount /dev/sda1 /mnt
 # cd /mnt
 # btrfs subvolume create /mnt/ROOT
# cd /
# umount /mnt
# mount -o defaults,compress=lzo,subvol=ROOT /dev/sda1 /mnt

ここまでが btfs でしたーーー>
 
本題へ戻ります。
とにかく背景黄色です・ 
# nano /etc/pacman.d/mirrorlist
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
をミラーリストの一番上に書き加えます・



# pacstrap /mnt base  base-devel btrfs-progs
 
これが終わってから
  • 以下のコマンドを実行して fstab を生成してください
    (UUID やラベルを使いたい場合、 -U  オプションを加えます):
 
# genfstab -p /mnt >> /mnt/etc/fstab
     
自分の場合  nano /mnt/etc/fstabは

 /dev/sda1        /             ext4          rw,relatime,data=ordered 0 1
/dev/sda2    none          swap         sw                                     0 0
  • 新しくインストールしたシステムに chroot:
# arch-chroot /mnt      
 
  • あなたのホストネームを nano /etc/hostname に書き込んでください。  
    echo 'archPC' >> /etc/hostname

   rm /etc/localtime
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

  • /etc/locale.gen 内の使用するロケールをアンコメントし、
  • # 日本語の UTF-8 を有効にする 
  • LANG="ja_JP.UTF-8" 
  • # デフォルトのソート順を保つ (例えば '.' で始まるファイルは # ディレクトリのリストで最初に並ぶ) 
  • LC_COLLATE="C" 
  • # 短い月日表示を YYYY-MM-DD に設定 ("date +%c" でテスト)               LC_TIME="en_DK.UTF-8"
  •  

  • # nano /etc/locale.gen  の一番上に次を書き加える
    en_US.UTF-8 UTF-8
    ja_JP.UTF-8 UTF-8

そして locale-gen を実行してロケールを生成。



  • ロケール nano /etc/locale.conf で設定します。
    gpartedを動かすため
LANG=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_TIME=en_US.UTF-8




再起動後もキーマップ設定を持続させるために、vconsole.conf を作る
この柿色部分はしなくていいようです。
# nano /etc/vconsole.conf
KEYMAP=jp106
FONT=Lat2-Terminus16


  • 自分はしなかったのは以下
  • 必要があれば /etc/mkinitcpio.conf を設定 (mkinitcpio) し、
    イニシャル RAM ディスクを作ります:  
    # mkinitcpio -p linux
  • passwd で root パスワードを設定します。 
  •  

以下コマンドを実行してユーザー登録しましょう。

# useradd -m -G wheel -s /bin/bash taro
# passwd taro



  • ifconfigのために                            pacman-db-upgrade のいるときもある
    pacman -S net-tools dnsutils openssh dialog wpa_supplicant
  •  
  • systemctl enable dhcpcd.service
  • systemctl enable sshd.service

     
  • 使わないのですが、もし必要なら nano /root/kotei-adress.bat を書きこんでおきましょう. (固定アドレス設定スクリプト)
  •  ip addr show
     ip link set enp9s0 up
     ip addr add 192.168.11.8/24 dev enp9s0
     ip route add default via 192.168.11.1 dev enp9s0
     ip addr show
    echo 'nameserver 192.168.100.254' > /etc/resolv.conf

 pacman -S grub

grub-install /dev/sda

 grub-mkconfig > kg

 cp kg /boot/grub/grub.cfg


chroot 環境から抜けるために

exit
次に /mnt の下にマウントしたパーティションをアンマウントします:
# umount  /mnt


これでやっと halt -p して終了します




2)arch を再起動します 
それから

ifconfig -a
で アドレスをみて


別のPCから またもやsshではいります
しかし、もはや rootでははいれないので さっき作ったユーザー archで入ります
ssh -l taro 192.168.100.103
su

そして

pacman -S btrfs-progs
pacman -S openntpd
systemctl enable openntpd
systemctl start openntpd
でまず 時間合わせをします。




3)  pacman -yS ...... でアプリをいれる。

アプリを探すには
pacman  -Ss

除けるには
pacman  -Rsc


updte
packman  -Syy
packman  -Syu


 

4) その他のアプリ
genisoimage     <- pacman -S cdrkit
growisofs       <- pacman -S dvd+rw-tools


7)updte
packman  -Syy

packman  -Syu





5) X
http://hanjuku-am2.blogspot.jp/2013/05/vaio-type-parch-linux-2.html
をみて

pacman -S xorg xorg-xinit xfce4


nano /home/taro/.xinitrc
startxfce4


nano /home/taro/.xinitrc
startxfce4



pacman -S sddm
  1. sddm --example-config > /etc/sddm.conf
  2. systemctl enable sddm




日本語キーボードは でできます

# nano  /etc/X11/xorg.conf.d/01-keyboard-layout.conf
Section "InputClass"
Identifier "keyboard-layout"
      #       Driver "evdev" <ーこれは archbangでみたかな?
MatchIsKeyboard "yes"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
EndSection





日本語fontは

pacman -S otf-ipafont



pacman -S fcitx-im fcitx-configtool fcitx-mozc ghostscript

nano /home/taro/.xprofile
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx

なんかし始めますが、 この後は
http://hatahata50.blogspot.jp/2016/08/uefi-arch.html
の fcitx をみてください.





ここで一旦 PCをhalt -p します。








11) 音です


http://opamp.hatenablog.jp/entry/20110829/1314619739 より

# pacman -S alsa-utils
$  alsamixer





12)puppy linux で HDDへのバックアップ
これがとても大事です。 
壊れたときarch 再インストールはしんどいですから。

 cat /mb2/Arch-backup-sda2-2-sdb2.bat

これは sda2にある arch linuxを  sdb2/Arch64-Backup-103119な形にバックアップ
してます・

y='/mnt/sda2'
z='/mnt/sdb2/Arch64-Backup-'`date +%m%d%H`

mkdir -p $z

cd $y

for x in bin boot cdrom dev etc grldr home initrd.img lib lib64 media opt proc root run sbin srv sys tmp usr var vmlinuz
do
 (cd $y  ; tar cvpf - $x )|( cd $z ; tar xpf - )
done


復活は
(cd /mnt/sdb2/Arch64-Backup-103119; tar cvpf - .)|(cd /mnt/sdb6 ; tar xpf -)
な感じです。




13) AUR を使う。ソースからインストール
openbsdのports systemの公開版かな

https://wiki.archlinux.org/index.php/Arch_User_Repository_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29
のとおりです。

例として flashpluginをとります。
まず 一般ユーザーで
$ mkdir  ~/builds
そしてhttps://aur.archlinux.org/ へいって flashplugin でさがしてこれをダウンロードします。
すると ~/Downloads/に flashplugin-10.1.tar.gzがおちてきます。
そこで 
$ cd ~/builds
$ mv ../Downloads/flashplugin-10.1.tar.gz   ./
$ tar -xvf flashplugin-10.1.tar.gz
$ cd flashplugin-10.1
$ makepkg -s
すると
==> ソースを取得...
  -> ダウンロード fp_10.1.102.64_and_9.0.289.0_archive.zip...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 74  126M   74 93.6M    0     0   177k      0  0:12:08  0:08:59  0:03:09  259k

になって
 flashplugin-10.1-10.1.102.64-3-i686.pkg.tar.xz がつくられてます。
そこで
su して
# pacman -U   flashplugin-10.1-10.1.102.64-3-i686.pkg.tar.xz  
で あっけなく あっさりと するするっと入ります。

たしかに
$ pacman -Qm で flashplugin-10.1

なり aurを使ったことがわかります。



14)cups は ppdがむつかしい
 pacman -S cups
# systemctl start cups-browsed.service

# systemctl enable cups-browsed.service




ppdのためにここで初めてYaourtを使います
ubuntuのppdの流用はできないからです。
http://note.kurodigi.com/archlinux-yaourt/にかかれてます。

AURを使って 
 package-query
yaourt
の順にいれて
yaourt -Ss brother
でプリンターをさがし、 
yaourt -Sy brother-dcpj925dw
で導入でした。
では もはやできなくなってます。


そのため

the step is the following .
--------------------------------
1) pacman -S ghostscript cups

systemctl enable org.cups.cupsd.service わすれてはいけません!


あと
DCP-J925Nという cupsでサポートされてないものは
https://github.com/nozaki87/brother-dcpj925n/blob/master/PKGBUILD
の成果を利用させていただいて

   namcap PKGBUILDでチェックしたあと  ls ~/builds/j925n/
PKGBUILD                                  brother-dcpj925n.install           

として
makepkgでいけます

印刷できるようになったので archがメインマシンになりました。




なお epson EP-706A でも印刷OK!
15)archのネットワークインストール 途中まで
https://wiki.archlinux.org/index.php/PXE_%28日本語%29#.E3.82.B5.E3.83.BC.E3.83.90.E3.83.BC.E3.81.AE.E3.82.BB.E3.83.83.E3.83.88.E3.8
をみました。

internet
|wimax
|
usb wifi子機
arch PXE サーバー
enp1s4
|
archをインストールするマシン


自分の場合は 
wifi.batでインターネットをつなげ
nat.bat を動かし PXEサーバーをNATマシン化しました。

普通の有線環境つまり
internet
|
router---archPXEserver
|
archをインストールするマシン
では必要ないでしょう


pacman -S dnsmasq
pacman -S darkhttpd

まず
cat /etc/dnsmasq.conf

interface=enp1s4
bind-interfaces
dhcp-range=192.168.11.50,192.168.11.59,12h
########################
port=0
 #interface=eth0
 #bind-interfaces
 #dhcp-range=192.168.0.50,192.168.0.150,12h
dhcp-boot=/arch/boot/syslinux/lpxelinux.0
dhcp-option-force=209,boot/syslinux/archiso.cfg
dhcp-option-force=210,/arch/
enable-tftp
tftp-root=/mnt/archiso

次に固定アドレスをふります

cat static.bat 

ip link set enp1s4 up
ip addr add 192.168.11.8/24 dev enp1s4
#ip route add default via 192.168.11.1 dev enp1s4
ip addr show | grep 192
#echo 'nameserver 192.168.100.254' > /etc/resolv.conf



最後にdnsmasqを動かします。

cat pxe.bat 
rm -rf /mnt/archiso
mkdir -p /mnt/archiso
mount -o loop /home/tuyosi/archlinux-2014.12.01-dual.iso /mnt/archiso/
#dnsmasq をいますぐ起動
systemctl start dnsmasq

darkhttpd /mnt/archiso


そしたら ネットワーク起動ができて
CDでブートしたと同じような画面がでます。
ここでhttpのを選ぶとインストールが進行します。

ここで
/etc/resolv.confに nameserver 8.8.8.8
を書き込みをし
更に
ip route add default via 192.168.11.8 dev eth0
をしたら ping www.google.comが通るようになります。
(最初に述べた普通の有線環境では必要ないと考えます)

此処から先はきっといつものインストールになります。
今までのHDDがsdaにはなくsdcになってるなどの困難にであるでしょうが、
pacstrap は動き始めるので 多分大丈夫でしょう。
困難にであったらその時はその時で対処!
でもarchはi586は正式サポート外なので
ネットワークインストールも無理です。
 



16) # cat /root/.Xdefaults (slacko)

!##################################################
URxvt*background: Black
URxvt*foreground: White
URxvt*geometry: 80x30
URxvt*scrollBar: false

"URxvt.font: 9x15

!-- Xft settings -- !
Xft.dpi:        96
Xft.antialias:  true
Xft.rgba:       rgb
Xft.hinting:    true
Xft.hintstyle:  hintfull

! -- Fonts -- !
URxvt.font:xft:Monospace:pixelsize=15
URxvt.boldfont:xft:Monospace-Bold:pixelsize=15





17) 待望のwifiです。
もっと簡単にできて

pacman -S networkmanager **network-manager-applet**
systemctl enable NetworkManager.service

systemctl disable dhcpcd


http://www.garunimo.com/program/linux/corumn-linux31.xhtml
をみて、
pacman -S iw wpa_supplicant wpa_actiond dialog
ls /sys/class/net/
enp9s0    lo  wlp0s29f7u2
wlp0s29f7u2 がwifiだ

だから

systemctl start dhcpcd@wlp0s29f7u2
systemctl enable dhcpcd@wlp0s29f7u2
systemctl enable netctl-auto@wlp0s29f7u2



なお 念のため 手動で wifiを立ち上げるには
./comment-out.bat wifi.bat

x=wlp0s29f7u1
echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
wpa_passphrase URoad-662EA0 04271 >> /etc/wpa_supplicant.conf
   ip link set $x  up
   wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i $x
 dhcpcd -A $x
sleep 10
echo '----------------------------'
ping -c 3 www.google.com
ifconfig | grep 192






あと wifi を起動時自動接続させるには ウィンドウマネージャが slimとして
/etc/slim.conf を
default_path        /bin:/usr/bin:/usr/local/bin
default_xserver     /usr/bin/X
xserver_arguments -nolisten tcp vt07
halt_cmd            /sbin/shutdown -h now
reboot_cmd          /sbin/shutdown -r now
console_cmd         /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login"
xauth_path         /usr/bin/xauth
authfile           /var/run/slim.auth
 numlock             on
login_cmd           exec /bin/bash -login ~/.xinitrc %session
sessionstart_cmd    /home/X-user/wifi.bat
sessiondir            /usr/share/xsessions/
screenshot_cmd      import -window root /slim.png
welcome_msg         Welcome to %host
shutdown_msg       The system is halting...
reboot_msg         The system is rebooting...
default_user        X-user
focus_password      yes
auto_login         
yes

current_theme       default
lockfile            /var/lock/slim.lock
logfile             /var/log/slim.log





ユーザー権限のを自動実行するには

 https://wiki.archlinuxjp.org/index.php/Xfce#.E3.82.B9.E3.82.BF.E3.83.BC.E3.83.88.E3.82.A2.E3.83.83.E3.83.97.E3.82.A2.E3.83.97.E3.83.AA.E3.82.B1.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3

をみて

スタートアップアプリケーション

Xfce の起動時にカスタムアプリケーションを実行するには、Applications Menu -> Settings -> Settings Manager から Session and Startup オプションを選択して Application Autostart タブをクリックしてください。











18)dhcpdサーバーをつくろう
pacman -S dnsmasq

./comment-out.bat /etc/dnsmasq.conf 
interface=enp9s0
bind-interfaces

dhcp-range=192.168.8.50,192.168.8.51,12h


以下のスクリプトは
まず固定アドレスをふり、
次に
dnsmasqをうごかし
最後に
natをしてます。

./comment-out.bat dhcpd-server+NAT.bat 
 ip addr show
 ip link set enp9s0 up
 ip addr add 192.168.8.1/24 dev enp9s0
 ip addr show

systemctl start dnsmasq

mac='wlp0s29f7u1'
echo '--------- wlan? ------------'
echo $mac
echo '----------------------------'
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t filter -F FORWARD
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o $mac -j MASQUERADE
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
iptables-save 

iptables -L


最後に変わったインストールを書きます
これは Arch20.qcow2 というqemuイメージを 現実のHDDにいれます。


詳しくは
 http://qemuandopenbsd.blogspot.jp/2015/11/bohdi-arch20qcow2.html

 
menuentry 'Windows 7 (loader) (on /dev/sdb2)'  {
    insmod part_msdos 
    insmod ntfs
    set root='hd1,msdos2'
    chainloader +1

}






旅行用の設定

1)wifi 接続 : どのUSB wifiでもいけますし、また安全のためすべてのポートを閉じます。


wifi-menu.bat
x=` ifconfig | grep wlp | cut -d ' ' -f 1 | sed "s/://g" -`
echo $x
echo $x
echo $x
wifi-menu $x
sleep 3
ifconfig $x

SYSCTL="/sbin/sysctl -w" 
IPT="/sbin/iptables"
IPTS="/sbin/iptables-save"
IPTR="/sbin/iptables-restore"
INET_IFACE=$x
echo $INET_IFACE
LO_IFACE="lo"
LO_IP="127.0.0.1"
if [ "$1" = "save" ]
then
echo -n "Saving firewall to /etc/sysconfig/iptables ... "
$IPTS > /etc/sysconfig/iptables
echo "done"
exit 0
elif [ "$1" = "restore" ]
then
echo -n "Restoring firewall from /etc/sysconfig/iptables ... "
$IPTR < /etc/sysconfig/iptables
echo "done"
exit 0
fi
echo "Loading kernel modules ..."
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/tcp_syncookies
else
    $SYSCTL net.ipv4.tcp_syncookies="1"
fi
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
else
    $SYSCTL net.ipv4.conf.all.rp_filter="1"
fi
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
else
    $SYSCTL net.ipv4.icmp_echo_ignore_broadcasts="1"
fi
if [ "$SYSCTL" = "" ]
then
    echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
else
    $SYSCTL net.ipv4.conf.all.accept_source_route="0"
fi
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects
else
    $SYSCTL net.ipv4.conf.all.secure_redirects="1"
fi
if [ "$SYSCTL" = "" ]
then
    echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
else
    $SYSCTL net.ipv4.conf.all.log_martians="1"
fi
echo "Flushing Tables ..."
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
$IPT -t mangle -P PREROUTING ACCEPT
$IPT -t mangle -P OUTPUT ACCEPT
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X
if [ "$1" = "stop" ]
then
echo "Firewall completely flushed!  Now running with no firewall."
exit 0
fi
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
echo "Create and populate custom rule chains ..."
$IPT -N bad_packets
$IPT -N bad_tcp_packets
$IPT -N icmp_packets
$IPT -N udp_inbound
$IPT -N udp_outbound
$IPT -N tcp_inbound
$IPT -N tcp_outbound
$IPT -A bad_packets -p ALL -m state --state INVALID -j LOG \
    --log-prefix "Invalid packet: "
$IPT -A bad_packets -p ALL -m state --state INVALID -j DROP
$IPT -A bad_packets -p tcp -j bad_tcp_packets
$IPT -A bad_packets -p ALL -j RETURN
$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
    --log-prefix "New not syn: "
$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG \
    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPT -A bad_tcp_packets -p tcp -j RETURN
$IPT -A icmp_packets --fragment -p ICMP -j LOG \
    --log-prefix "ICMP Fragment: "
$IPT -A icmp_packets --fragment -p ICMP -j DROP
$IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j DROP
$IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
$IPT -A icmp_packets -p ICMP -j RETURN
$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 137 -j DROP
$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 138 -j DROP
$IPT -A udp_inbound -p UDP -s 0/0 --source-port 67 --destination-port 68 \
     -j ACCEPT
$IPT -A udp_inbound -p UDP -j RETURN
$IPT -A udp_outbound -p UDP -s 0/0 -j ACCEPT
$IPT -A tcp_inbound -p TCP -j RETURN
$IPT -A tcp_outbound -p TCP -s 0/0 -j ACCEPT
echo "Process INPUT chain ..."
$IPT -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
$IPT -A INPUT -p ALL -j bad_packets
$IPT -A INPUT -p ALL -d 224.0.0.1 -j DROP
$IPT -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED \
     -j ACCEPT
$IPT -A INPUT -p TCP -i $INET_IFACE -j tcp_inbound
$IPT -A INPUT -p UDP -i $INET_IFACE -j udp_inbound
$IPT -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
$IPT -A INPUT -m pkttype --pkt-type broadcast -j DROP
$IPT -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
    --log-prefix "INPUT packet died: "
echo "Process FORWARD chain ..."
echo "Process OUTPUT chain ..."
$IPT -A OUTPUT -m state -p icmp --state INVALID -j DROP
$IPT -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPT -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT
$IPT -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
$IPT -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
    --log-prefix "OUTPUT packet died: "
echo "Load rules for nat table ..."
echo "Load rules for mangle table ..."
rm /etc/resolv.conf
echo 'nameserver 8.8.8.8' > /etc/resolv.conf

ping -c 3 www.google.com