miyapiのひとりごと

blogこと始め。コンピュータと映画、そしてお酒の好きなmiyapiが気ままに書きつづる日記。。。

Linux : systemd メモ ( systemctl編 )

2018-08-10 09:11:56 | Weblog

RHEL 7 や CentOS 7 で使う systemd 。
普段あまり使わないからコマンドを忘れがち・・・、かといって man を見るのも面倒。。ということで以下メモ。

Update:2018/8/11    systemd については、下記URLのスライドがとっても分かりやすい。
< Linux 女子部 systemd 徹底入門>
 https://www.slideshare.net/enakai/linux-27872553

 

ユニットの場所:
   /usr/lib/systemd/system/

<ランレベル関連>

デフォルトランレベル(デフォルトターゲット)の確認:
   systemctl get-default

デフォルトランレベル(デフォルトターゲット)の設定:
   systemctl set-default  multi-user.target      # 起動時のランレベルを 3 に設定
   systemctl set-default  graphical.target       # 起動時のランレベルを 5 に設定

<自動起動関連>
ユニットの設定を変更し、自動起動されるターゲットを変更した場合は、一旦、自動起動設定を無効にし、再度有効にする作業が必要。
( 例:systemctl reenable  hoge.service  )

自動起動の確認
   systemctl list-unit-files  |  grep enabled

自動起動の設定
  systemctl enable  postfix.service   #  postfix を自動起動に設定(systemctl enable postfix  でも可)

自動起動の解除
  systemctl disable postfix.service   #  postfix を自動起動から外す

自動起動設定のリセット(インストール時のデフォルトに戻す):
  systemctl preset  sshd.service

<サービス起動・停止>
サービスの起動:
  systemctl start sshd

サービスの停止:
  systemctl stop sshd

サービスの再起動:
  systemctl restart sshd
  systemctl reload sshd   # 設定の再読み込み

サービスの状態確認:
  systemctl status  sshd    # サービス名称、直近のログなどいろんな表示・・・
  systemctl is-active sshd # 単に起動しているかどうかの確認のみ。

<起動の許可・禁止>
いわずもがなだけど、あくまでも systemd からの起動を禁止するだけ。
直接実行ファイルを起動すれば動く。(当たり前だ。。)

ユニットの起動禁止:
   systemctl mask sshd   # 自動起動でも、これをやると起動しなくなる

ユニットの起動禁止解除:
  systemctl unmask sshd


備忘録:64bit Linux で 32bit コンパイル

2018-04-30 08:07:44 | Weblog

<備忘録>

gcc は -m32 で 32bit コンパイルができます。ただしそれには、32bit 版のパッケージが必要、と言うお話。
32bit版パッケージは下記2つのコマンドでインストールできます。

yum install glibc-devel.i686 
yum install libgcc.i686

これをやらずに、フツーに64bit Linux で 32bitコンパイルをやろうとすると、、

# 32bit コンパイル
gcc -m32  -o foo  foo.c

>  /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: そのようなファイルやディレクトリはありません

とか
> -lgcc_s が見つかりません

みたいなエラーがでる。

その都度、  yum whatprovide  */stubs-32.h みたいなことをやって「必要なパッケージはどれじゃ?」と探すのも悪くないけど、さっさと32bit版のパッケージを入れてしまった方が時間の節約になる。

以上、ちょっとだけハマったので未来の自分のための備忘録・・・・でした。


【VB Script】CSVファイルの読み込み

2016-07-03 11:43:16 | Weblog

CSVを VBScript でちょっと加工したい時に、split(",", hoge ) とついやりたくなるが、

項目中に 「,」があると意外にやっかいである。たとえばこんなケース。。

<やっかいなCSVの例>
A, B, "C,D,E" , F  

これをフツーに Split すると「A」、「B」、「"C」、「D」、「E"」

などと分割されてしまう。


てなわけで、「A」、「B」、「C,D,E」となるようにスクリプトを書いてみた。
実際にやってみると、文字コードやら、途中に2バイト文字があった場合やら、
これまた意外に面倒なことが分かったので、下記のようなベタなコードにした。

ということで、メモ代わりに貼っておきます。
好きに使ってね。。

なんのことはない、最初に文字列を調べて、" と "の間だけ区切り文字を別のもの( {} など)に
置き換えているだけです。。文字コードが UTF-8 やら unicode やらがきても対応できるよう、
テキストの読み込みにはストリームオブジェクトを使いました。これってとっても便利!

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

Const strInFile = "test.txt"

Dim intLc, intFlg, intDummy, chrC, strOutBuf, strWriteBuf

Dim ArrWriteBuf

Dim objInFile

Set objInFile = CreateObject("ADODB.Stream")

With objInFile

   .Type    = 2

   .Charset = "unicode"

   .Open

   .LoadFromFile = strInFile

End With

Dim strLine

Do until objInFile.EOS

strLine = objInFile.ReadText(-2)

  intFlg = 0

  strOutBuf = ""

  For intLc = 1 to Len(strLine)

    chrC = Mid(strLine, intLc, 1)

    If intFlg = 1 Then

       Select Case chrC

         Case """"

           intFlg = 0

           strOutBuf = strOutBuf & chrC

         Case ","

           strOutBuf = strOutBuf & "{}"

         Case Else

           strOutBuf = strOutBuf & chrC

       End Select

    Else

       Select Case ChrC

         Case """"

           intFlg = 1

           strOutBuf = strOutBuf & chrC

         Case Else

           strOutBuf = strOutBuf & chrC

       End Select

    End If

  Next  

  WScript.Echo strOutBuf

  ArrWriteBuf = Split(strOutBuf,",")

  strWriteBuf = Replace( ArrWriteBuf(0), "{}", "," )

  For intLc = 1 to Ubound(ArrWriteBuf)

      strWriteBuf = strWriteBuf & "," & Replace( ArrWriteBuf(intLc), "{}", "," )

  Next

  WScript.Echo strWriteBuf

Loop

objInFile.Close

Set objInFile = Nothing

 


Windows 10: 「ネットワークの種類」の変更方法

2016-05-07 08:32:57 | Weblog


【ネットワークの種類って?】

Windows 8.1 や 10 でネットワークに接続すると、「識別されないネットワーク」、「パブリックネットワーク」、「プライベートネットワーク」など「ネットワークの種類」が自動で判別されるようになっている。

ちなみに、「デフォルトゲートウェイ」が設定されていない場合は無条件に「識別されないネットワーク」となる。
「識別されないネットワーク」は「デフォルトゲートウェイ」を設定すれば、「パブリックネットワーク」になるので、以下の手順で「プライベートネットワーク」に変更可能です。





これが厄介ものである。

何かちょっとしたテスト環境にPCをつないだ時に、これが原因で Ping に応答しなくなったり、共有が作れなくなったりと、何かと面倒くさくなる。( 共有が有効、無効になったり、Windows Firewall の設定もこの「ネットワークの種類」に応じて変わるので面倒なんだよね・・・)

・・・ということで、「ネットワークの種類」の変更方法です。

【「ネットワークの種類」の変更方法】

ここでは「パブリックネットワーク」から「プライベートネットワーク」に変更する手順を示しています。


<手順>
1. スタートメニューから「設定」をクリックする。

2.「ネットワークとインターネット」をクリックする。

3.設定したいネットワークのアイコンをクリックする。
 (下図の例では、「イーサネット(有線LAN)」の「ネットワーク」の設定になる)
 環境によってはアイコンの名前が「ネットワーク2」などと連番で付いていたり、他の名前になっていることもある)

4.「このPCを検出可能にする」を 「オン」にする

注意:「識別されないネットワーク」である場合は下記の「このPCを検出可能にする」というメニューは表示されません。
   該当のネットワークの「デフォルトゲートウェイ」を設定すれば、下記のメニューが表示されるようになります。

上記のように、一見関係なさそうな名前のところにメニューがあるので要注意である。
「ネットワークの種類」の自動判別機能は便利なんだか、不便なんだかよく分からない機能だなぁ。

- miyapi


Linux: Windows サーバーへのリモートデスクトップ

2016-04-09 13:20:27 | Weblog

Linux マシンから Windows Serverへのリモートデスクトップ接続のお話。

freerdp というツールで接続できます。
このツールはたいていのディストリビューションに含まれていて、インストールも簡単(^_^)v

# yum install freerdp

インストールが終わったら接続です。
コマンドは 「xfreerdp -u ユーザ名 -p パスワード  接続先:ポート番号」 です。

$ xfreerdp -u administrator -p foobar 10.1.2.3:3389

Windows Server 2012 R2 にも接続可能です。



Active Directory など、幾つかサーバーを立ててちょっとテストしてみたい、ということがあります。
一昔前なら、評価用のWindows Server なんかをダウンロードして、仮想マシンにインストールするところからスタートだったのですが、この頃は、そんなものならクラウド環境(例えば MS Azureなど)でホイホイ作れてしまう。

 ほんと、便利な世の中になったものだなぁ・・・。




【Windows 】8.0 → 8.1 への強制アップデートが始まった。。

2014-11-03 09:27:59 | Weblog
Windows 8.0 で時折表示される 8.1 へのアップデートの画面、「え~い、今は忙しいっちゅーの!」と、「後で通知する」を選んでいた方も多いと思います。



ところがところが、少し前から強制アップデートが始まったようです。
突然、更新するための「再起動タイミング」を選ぶのみの画面が表示され、強制的に 8.1 への更新が始まります。



業務中だろうが会議中だろうが「問答無用で8.1に更新」することになります。一度更新が始まると「設定しています」とか「アプリのインストールをしています」などという画面が出て、延々待たされます。マシンの性能にもよるでしょうが、待ち時間は平均約30~40分くらい。その間はPCは一切使えません。おまけに最後は設定画面が表示されて、プライバシーの設定などをポチポチとマウスでクリックしなければなりません。

Windows Update での配布とはいえ、Microsoft もえげつないことをやるものです(^^;)
ActiveDirectory やWSUSなどを導入して Windows Updateの設定を一括制御していればこんなことはありませんが、「ADって何?」みたいな事務所や、WSUSなんて使ってられない個人事業者の方は大変ですよね。

そこで、そんな憂き目に合わないための方法を二つ、ご紹介しておこうと思います。

【Windows 8.1 強制アップデートで泣かないために・・・】

方法その1:「え~い、手動でアップデートしてしまえ!」

先ほどの強制アップデート画面が出る前に、手動で先にやってしまう方法です。
「殺られる前にやれ!」というハードボイルド(もはや死語か?(^^;))なやり方ですね。

ダウンロードから設定完了までインターネット接続環境にもよりますが約50分といったところです。。
一日のお仕事の終わりやお昼休みなどにやっておくと安心。

手順は簡単、「スタート」画面から「ストア」をクリックして・・・


「Windows 8.1に更新」というボタンをクリックすれば完了です。後はず~っと待って、最後の設定画面をポチポチとマウスでクリックすればおしまい!



方法その2:「え~い、Windows 8.1 へのアップデートなんてやめてしまえ!」

ということで、諸悪の根源(?)である、「Windows 8.1 へ更新」という画面が突如表示されること、そのものを停止してしまうやり方です。

この画面は「KB2885699」というパッチが表示しているものなので、これをアンインストールすればOKです。



ただし、これでず~っとOKかというとそうではありません。
そこは Microsoft ちゃっかりとしています。

Windows 8.0 のサポート期限は、なんと「再来年まで」なんですね。。
驚くなかれ、2016年1月12日サポート終了です。

当初は「2023年までサポート」でしたが、8.1 Update が出てから「8.0のサポート期間が短縮」されたのですね。ということでこの方法で 8.1 にアップデートしないでいると、再来年の1月でサポート終了になるのです。なので、2年間の猶予期間の間に 8.1 にアップデートしなきゃぁなりませぬ。。



ということで、なるだけ早めに8.1 にアップデートしておいた方が良さそうです。

あ、ちなみに 8.1 にアップデートすると Internet Explorer も 10 から 11 にバージョンアップします。これがまた曲者で、互換表示の設定などなど、「いろんな設定が吹っ飛んでしまう」というサプライズ付きです。 さすが Microsoft 、PCを使う人を色々と楽しませてくれる配慮だけは忘れてはいないようです。なんだかなぁ。。

ということで、皆さまも楽しく 8.1 へアップデートしてくださいね。
ばいちゃ!

【Windows】月例パッチに Stop エラーが発生する不具合

2014-08-17 23:18:58 | Weblog
先日のWindows Update をインストールすると、OSが起動しなくなる不具合があることが、報告されています。
お盆明けに会社のPCが一斉にこんなことになると大変。。

以下、Microsoft のブログ(日本のセキュリティチーム)から引用。
----------------------------------------------------------------------
>以下のいずれかの更新プログラムをインストールした後、Stop 0x50 エラーが発生し
>コンピューターが異常終了する場合があります。
>また、このエラーは、再起動後にも発生し起動に失敗する場合があります。

> 2982791 [MS14-045] カーネル モード ドライバーのセキュリティ更新プログラムについて (2014 年 8 月 12 日)
> 2970228 Update to support the new currency symbol for the Russian ruble in Windows
> 2975719 August 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
> 2975331 August 2014 update rollup for Windows RT, Windows 8, and Windows Server 2012
----------------------------------------------------------------------

復旧方法は「セーフモードで起動してフォントキャッシュを削除しパッチをアンインストール」というもの。
詳細は上記のブログに記載されています。

小生の手元のPCでは発生しませんでしたが、職場のPCや他の人のPCで起きないことを祈ります。
合掌。。

【Windows】SQL Server のマニュアル・解説書

2014-08-16 23:01:26 | Weblog
しばらくログインしていなかったが、まだアカウントは無くなっていなかったようだ。
久々にログインして編集画面を見ると、なんだかホっとする(^^;)。

最近、ひょんなことからSQL Server関連の仕事をすることになり、
現在おべんきょー中である。

なにから手をつけようかなぁ・・・と思っていたのだが、MSのサイトにちょうど良い資料がみつかった。
「自習書シリーズ」はなかなか秀逸だと思う。
Google 先生に感謝!

ということでメモ用にリンクを置いておこうっと。

< SQL Server 2014 自習書 >
http://www.microsoft.com/ja-jp/sqlserver/2014/technology/self-learning.aspx


もしも SQL Serverに触るのが初めて、という人だったらこちらがおすすめ。
製品の概要に始まって、設定やバックアップ、SQLの基礎も含めて網羅されている。

< SQL Server 2008 自習書 >
http://www.microsoft.com/ja-jp/sqlserver/2012/technology/self-learning.aspx


ということで今日はこれでおしまい。

Linux:Audacityのインストール

2014-03-22 23:20:13 | Weblog
Audacity は wave などの音声ファイルを編集するためのソフトウェアです。
フリーですがとても良くできています。
適当な長さに切り詰めたり、エフェクトをかけたりといろんなことをして遊べます。

このインストールがなかなか厄介でした。
ということでメモを残しておこう。未来の自分のために(^^;)。

Audacity のインストールに必要だったものは下記のとおり。
アプリ本体以外にライブラリが3つ必要。コンパイル時にヘッダファイルを参照するため、できるだけソースからインストールしておいた方が無難。

- Audacity ( アプリケーション本体 )
http://audacity.sourceforge.net/?lang=ja

- wxWidgets ( GUI ライブラリ )
https://www.wxwidgets.org/

- libsndfile ( オーディオライブラリ )
http://www.linuxfromscratch.org/blfs/view/svn/multimedia/libsndfile.html

- expat ( xml パーサ )
yum install expat

また、wxWidgets は コンパイル時に ./configure --enable-unicode が必要。
これを忘れると、アプリ本体の ./configure 時に「wxWidgets がない」というエラーになるので、「あれ?確かに wxWidgets を入れたはずなのに・・・」と悩むことになる。

すったもんだしたあげく、なんとか Audacity がインストールできた。
ふぅ・・・。

下記のとおり、無事起動を確認。これにてインストール完了(^_^)v

<Audacity>

閑話休題: Open Resolver の確認

2013-11-25 22:49:20 | Weblog
オープンリゾルバとは、組織外(外部)から検索可能なまま放置されているDNSサーバのことで、これはしばしば、DNS AMP などの 分散DoS攻撃の踏台になったりする。

DNSサーバは何もサーバーマシンだけではなく、おうちのブロードバンドルータなどにも搭載されている。

「最近、よくおうちのネットがつながらなくなるんだよね~」という場合はもしかしたら攻撃の踏み台になっているかもしれない。

といことで、JPCERTから確認用サイトがリリースされている。
使い方は簡単。アクセスするだけで、自分が使っているDNSがオープンリゾルバになっていないか確認できる。

URLは下記。一度お試しあれ。

<OpenResolver 確認サイト>
http://www.openresolver.jp/

ちなみに、筆者の環境はオープンリゾルバではなかった。
まぁ、当たり前か・・・(^^;)

-miyapi