BlackIceCoffeePhenomenon

溶け出す氷によって味が薄くなると併せ、味覚が苦味に慣れていくことで、加速度的に味覚への刺激が減衰する現象に関するブログです。

LPIC lv1 102試験メモ書き

まるごと覚えると合格点くらいは取れるはず。

 

 

--------------- シェル、スクリプト、およびデータ管理 ---------------
 ShellScript-Format-
  #!:シェルはインタープリタである
  for INT in `seq n`
   n=1: 1から開始し終了する値
   n=2: 開始値と終了値
   n=3: 開始値と増加値と終了値

  case $1 in
   1) echo "one" ;;
   2) echo "two" ;;
  esac

  shell variable
   $?: latest command result
   $n: args 10以降は{}で囲む${10}
   $$: PID
   $#: args.count

 # set
  -o enable
  +o disable
   allexport 変数を自動で環境変数(export)に
   emacs   emacsっぽい
   ignoreeof Ctrl+Dでログアウトできない
   noclobber リダイレクトで上書き禁止
   noglob  ワイルドカード禁止
   noexec  スクリプトを実行せず検査だけ
   vi    viっぽい

 # env
  -i 何も環境変数が設定されていない状態
  -u 変数名を入れ一時的に削除

 # alias rmf='rm -f'
 # unalias rmf
  -a  all
 
 bash
  全環境→個別環境→個別処理→全体処理の順でロード
  全ユーザー共通
   + /etc/profile 環境変数・利用環境
   + /etc/bashrc 起動時に実行させたい処理
  個別設定
   + ~/.bash_profile 環境変数・ユーザー環境
   + ~/.bash_login  bash_profileと同じ
   + ~/.profile   bash_profileと同じ
   + ~/.bashrc    起動時に実行させたい
   + ~/.bash_logout ログアウト時に実行させたい
   

 

--------------- ユーザインターフェイスとデスクトップ ---------------
 X Window System
  DisplayManager:RunLevel 5で発動するGUI環境のログイン提供
  + WindowsManager 概観やアイコンカーソル、メニューの提供
  + XServer    画面表示や入力装置のハードウェアを管理
   - XClient   処理した結果をXサーバを通じ表示させる

  StartX->xinit->~/.xinitrc->WindowManagerへ

 DisplayManager(X Window Systemのプログラム)
  役割:initやsystemdによって起動し、GUIのログインを提供し、デスクトップ環境を準備する


  LightDM:Ubuntu /etc/lightdm/lightdm.conf, users.conf
  GDM: GNOME /etc/X11/gdm
  KDM: KDE  /etc/X11/kdm
  XDM: X.Org /etc/X11/xdm
    xdm-config :
    Xaccess  :アクセス許可
    Xsetup_0  :ログイン表示前のスクリプト
    Xresources :ログイン画面のデザイン
    Xsession  :ログイン後に実行するスクリプト

 /etc/X11/xorg.conf
  Section "Device"で始まりEndSectionで終わる
  ServerLayout:IODevice
  Files    :RGBDBやXFS[フォント]FontPath "unix/:7100 -1")
  Module   :モジュール
  InputDevice :マウス/キーボード
  Monitor   :画面
  Device   :ビデオカード
  Screen   :表示色数や画面サイズ

 X Window System
  xvidtune: ディスプレー表示位置調整
  xwininfo: Xウィンドウ情報表示
  xdpyinfo: ディスプレー各種情報表示

 # xhost
  + 許可リストに追加
  - 許可リストから削除

 Accessibility
  Orca   : スクリーンリーダー、点字ディスプレイ、拡大鏡
  GOK    : オンスクリーンキーボード
  emacspeak : Emacsにスクリーンリーダー追加
  AccessX  : キーボードアクセシビリティ
   スティッキーキー:同時押しとみなす。
   スローキー   :所定時間押さないと無視
   バウンスキー  :同じ入力を一定時間無視(チャタリング)
   トグルキー   :Num,Caps,ScrollLockでビープ音
   マウスキー   :テンキーで操作
   リピートキー  :連射入力されない
 # Tips
  オンスクリーンキーボード:ソフトウェアキーボード
  スクリーンリーダー:読み上げ
  点字ディプレイ:専用ディスプレイに点字で描写

 

--------------- 管理業務 ---------------
 Account
  Command [Option] [Target]
  - groupmod :-g GID, -n name
  - passwd  :文字列変更  -l: Lock -u: Unlock
  - usermod :-L ロック -U: Unlock -d:DIR -g:GID -G:PGID -s:Shell
  change  :有効期限変更
  useradd :-c comment -d directory -g group -G subgroup
       -s shell -D Default -m HomeDirectory


  groupadd :
  - groupdel :プライマリのユーザがいると消せない
  - userdel : -r: HomeDirectory -f: force


  id: UID,GID
  groups: グループ表示
  対話ログインの禁止: /sbin/nologin, /bin/false
  ドメインログイン: /etc/nsswitch.confの名前解決を利用
  getent

 cron
  # crontab
   -e edit
   -l list
   -r remove
  cron.allow -> cron.denyの順(両方ないならrootのみ)

 anacron
  cronによるジョブスケジューリングを補完
  + 日単位でジョブ実行
  + 実行履歴を管理し、未実行ジョブ検出
  + crondによって実行(デーモンでない)
  Configuration
   RANDOM_DELAY=45分
   START_HOURS_RANGE=3-22時
  Parameter
   period in days  :実行する間隔 (@weekly, @monthlyもできる)
   dalay in minutes :実行までの待機時間
   job-identifier  :識別子
   command      :実行コマンド


 # at 23:00
  -l(atq) list
  -d(atrm) delete

 Timezone
  タイムゾーン情報:/usr/share/zoneinfo/
  システムで使用 :/etc/localtime
  使用例:# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
  export TX=Asia/Tokyo
  tzselect

 Locale
  LC_ALL:以下のデフォルトを上書きし変更させない
  LANG:以下のデフォルトを上書きするが、個別で変更できる
   LC_から始まる多数

 文字コード
  ASCII   : 7ビット文字コード128文字
  ISO-8859 : ASCIIの8ビット拡張。256文字対応
  Unicord  : 多言語用文字コード
  UTF-8   : Unicode文字を表示する符号化方式
  EUC-JP  : UNIX標準の日本語
  Shift-JIS : Windows標準の日本語


--------------- 重要なシステムサービス ---------------
 journalctl(systemd-journaldによるログ一元管理)
  + systemdから起動したプロセス+syslogのエラー等をバイナリ形式で一元管理
   →cat コマンドは使えない。
  + /etc/systemd/journald.conf
  journalctl
   --no-pager: cat的表示(デフォはpagerあり[less的])
   --since  : いつから
   --until  : いつまで
   -n: --lines 10

 time
  hwclock system clock -> hardware clock
   -r 表示だけ
   -s hw -> sw
   -w sw -> hw
  ntpdate ntpserver -> systemclock
  ntpq
   -p 同期状況の確認(print)
   -i 対話モード

   kernel->klogd->syslogd
 rsyslog
  /etc/rsyslog.conf
 syslog
  /etc/syslog.conf
  [ファシリティ.プライオリティ アクション]で記述。サビ名.エラーレベル アクション。
  mail.err /var/log/maillog
  *.info;mail.none;syslog.none /var/log/messages

 CUPS(Common UNIX Printing System)
  仕様プロトコルはIPP(Internet Printing Protocol)
  デーモン:/etc/cups/cupsd.conf (受付ポート番号等)
  共有設定:/etc/cups/printers.conf
  LPDと互換性あり
  lpr : 印刷ジョブ生成しキューに登録(registry)
  lprm : 印刷ジョブを削除(remove)
  lpq : 印刷ジョブを表示(query, queue)


 Mail
  /etc/aliases 任意のアドレス宛を転送できる Newaliasesコマンド必須
  ~/.forward  自分宛アドレスのみ転送できる

--------------- ネットワークの基礎 ---------------
 用語
  サービス名:通信プロトコルのこと。telnet,sshなど

 Files
  /etc/hostname      自身のホスト名(debian)
  /etc/sysconfig/network ホスト名、ネットワーク、IPなど
  /etc/hosts       IPとホストの紐付け
  /etc/nsswitch.conf   名前やサービス名解決順序を定義(GNU C)
    # getent [passwd] [root]
    # getent [hosts] [test.local]
  /etc/host.conf     名前解決順序(レガシー)
  /etc/resolv.conf    ドメインDNSサーバーの設定
    nameserver      名前解決に使うDNSサーバ
    domain        自身の所属ドメイン
    search        名前解決時に省略するドメインリスト(最大6個)
               ホスト名のみの際に自動で付与してくれる
  /etc/services      サービス名とポート番号の紐づけ

 PortNo,(0~65535[必ず奇数終わり])
  20 FTP(Data)
  21 FTP(Control)
  22 SSH
  23 TELNET
  25 SMTP
  53 DNS
  80 HTTP
  110 POP3
  143 IMAP
  443 HTTPS

 # lsof
  -i: ポート番号指定

 # ip (ip [object] [command])
  addr   IPv4,v6テーブル
  link   ネットワークデバイス
  neighbour ARPキャッシュ
  route   ルーティング
   add    追加
   del    削除
   show   表示

  routeの違い (gw -> via)
   # ip route add 192.168.1.0/24 via 192.168.1.1 dev eth0
   # route add 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

 # host(名前解決)
  オプションなし時が一番データ量少ない
  -t type(a,mx,ns,anyなど)
  -v verbose

 # Ping
  -c 回数(指定なしで無限)
  -i 時間間隔
  -n IPアドレスで表示

 # netstat
  -r ルーティングテーブル表示(routeと同じ)
  -i IFの統計情報表示
  -n アドレス/ポートを解決しない(IPアドレス表示)

 # ifconfig(old) IF設定と有効無効設定
  ifconfig eth0 192.168.1.1 netmask 255.255.255.0
  ifconfig eth0 up/down  # ifup eth0と同じ
  

 # route
  -C キャッシュ表示
  -F ルーティングテーブル表示(オプションなし)
  -n 名前解決しない
  add
  del
   + -host[ホストとみなす]
   + -net[セグメントとみなす]
   + netmask
   + gw
   + default gw
  example: # route add -host 192.168.5.1 gw 192.168.1.254

 # nc [オプション] [接続先アドレス] [宛先ポート番号]
  -l listen 受け
  -p port
  -u UDP

 IPv6
  前半64ビット:サブネットプレフィックス
  後半64ビット:インターフェース識別子

--------------- セキュリティ ---------------

 # fuser
  -k kill(SIGKILL送信)
  -m mount(マウント先を対象)
  -n namespace
  -u user view
  -v verbose

 sudo
  # visudo (編集コマンド。crontab -eとかと同じ)
  /etc/sudoers(編集先ファイル)


 # gpg(暗号化コマンド)
  ~/.gnupg/ 配下に生成
  --gen-key      秘密鍵公開鍵のペア生成
  --export       公開鍵をエクスポート
  --import       公開鍵をインポート
  --list-keys     公開鍵の一覧表示
  -e [file]      相手の公開鍵で暗号化
  -r [MailAddress]   公開鍵の持ち主のアドレス
  -o [OutputFilename] 出力ファイル名
  オプションなしで複合化


 xinetd
  スーパーサーバー。利用頻度の低いサービスを監視しリクエスト時のみ
  サービス実行する事で常駐デーモン数を減らし、リソースを抑える
  /etc/xinetd.conf 全体設定
  /etc/xinetd.d/  サービス毎
  bind     サービス提供時のIPアドレス
  interface  
  disable    yesでサービス無効
  instances   最大起動プロセス数
  log_type   ログの記録先(絶対パス)
  no_access   アクセス拒否
  only_from   アクセス許可
  server    サーバプログラムの絶対パス
  server_args  起動時の引数
  user     起動ユーザー
  wait     接続待ちするならyes

 inetd(古い)
  /etc/inetd.conf
  service  stream  tcp  nowait root /usr/libexec/ftpd ftpd -l
  /etc/hosts.allow
  /etc/hosts.deny

 アカウント管理
  # change (change password age)
   /etc/shadowに保存される
   -l ls
   -m minimum day(変更できるようになるまで)
   -M maximum day(最大有効期限)
   -I Inactive  (有効期限後にロックされるまで)
   -W Warning  (期限切れ前の警告)
   -E Expire   (有効期限)


 # ulimit
  -a all
  -c core
  -f file
  -u user process
  -v cirtual memory

 SSH
  /etc/ssh/ssh_config  クライアント側(接続側)
  /etc/ssh/sshd_config サーバー側(受付側)
  -l LoginUser
  -p portNo
  -o ssh_configのコンフィグ形式
  -X (X11フォワーディング)
  -L ポートフォワーディング
    example: ssh -L 8000:localhost:80 user@ssh-server

 

------------------------------------------------------------