Ubuntu 24.04で時刻を合わせ、タイムゾーンを東京に設定するには

Ubuntu 24.04で時刻を合わせ、タイムゾーンを東京に設定するには、timedatectlコマンドを使用します。以下の手順に従ってください。

1. 現在の時刻とタイムゾーンを確認する

まず、現在の時刻とタイムゾーンを確認します。

timedatectl


これで、現在のタイムゾーンが表示されます。

2. タイムゾーンを東京に設定する

タイムゾーンを東京(Asia/Tokyo)に変更するには、次のコマンドを実行します。

sudo timedatectl set-timezone Asia/Tokyo

3. 時刻同期の確認と設定

NTP(Network Time Protocol)を使用して時刻が正確に同期されているか確認します。

timedatectl status

もしNTPが有効でない場合は、次のコマンドで有効にします。

sudo timedatectl set-ntp true

これで、時刻が正確に同期され、タイムゾーンが東京に設定されます。

4. 設定の確認

再度、現在の時刻とタイムゾーンを確認して、設定が反映されているか確認します。

timedatectl

これで完了です。システムの時刻が正確に設定され、タイムゾーンが東京に設定されました。

sudoでパスワード無し

user1アカウントをパスワードなしでsudoコマンドを実行できるようにするには、/etc/sudoersファイルを編集する必要があります。以下の手順に従って設定してください。

visudoコマンドでsudoersファイルを安全に編集します。

sudo visudo

visudoで開いたファイルの末尾に以下の行を追加します。

user1 ALL=(ALL) NOPASSWD:ALL

これは、user1ユーザーがすべてのホスト、すべてのコマンドに対してパスワードなしでsudoを実行できるようにする設定です。

ファイルを保存して終了します(Ctrl+Oで保存、Ctrl+Xで終了)。

安全性の観点から、この設定は慎重に行い、必要がない場合は使用しないようにしてください。

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# This fixes CVE-2005-4890 and possibly breaks some versions of kdesu
# (#1011624, https://bugs.kde.org/show_bug.cgi?id=452532)
Defaults        use_pty

# This preserves proxy settings from user environments of root
# equivalent users (group sudo)
#Defaults:%sudo env_keep += "http_proxy https_proxy ftp_proxy all_proxy no_proxy"

# This allows running arbitrary commands, but so does ALL, and it means
# different sudoers have their choice of editor respected.
#Defaults:%sudo env_keep += "EDITOR"

# Completely harmless preservation of a user preference.
#Defaults:%sudo env_keep += "GREP_COLOR"

# While you shouldn't normally run git as root, you need to with etckeeper
#Defaults:%sudo env_keep += "GIT_AUTHOR_* GIT_COMMITTER_*"

# Per-user preferences; root won't have sensible values for them.
#Defaults:%sudo env_keep += "EMAIL DEBEMAIL DEBFULLNAME"

# "sudo scp" or "sudo rsync" should be able to use your SSH agent.
#Defaults:%sudo env_keep += "SSH_AGENT_PID SSH_AUTH_SOCK"

# Ditto for GPG agent
#Defaults:%sudo env_keep += "GPG_AGENT_INFO"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "@include" directives:

@includedir /etc/sudoers.d

user1 ALL=(ALL:ALL) NOPASSWD: ALL
user2 ALL=(ALL:ALL) NOPASSWD: ALL

一番下に書かないと駄目です。

Nginx location ~ .php$ 解説

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;
    #error_page  404              /404.html;

    location / {
        root   /var/www/html;
        index  index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass phpfpm;  # 上で定義したアップストリームを指定
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

location ~ \.php$~は、正規表現を使用したパターンマッチングを行うことを意味しています。この場合、次のような内容を表しています。

  • location ~ \.php$:
    • locationディレクティブは、指定されたパスに一致するリクエストに対して、特定の処理を行うために使用されます。
    • ~は、正規表現を使用することを意味します。これにより、locationブロックの条件として、指定したパターンに一致するすべてのリクエストをキャッチします。
    • \.php$は、.phpで終わるファイルパスに一致する正規表現です。
      • \.は、.をリテラルとして扱うためにエスケープされています(通常、.は正規表現で任意の1文字を表します)。
      • phpはそのまま「php」という文字列に一致します。
      • $は、文字列の終わりを示します。つまり、phpで文字列が終わることを意味します。

この設定は、リクエストされたURLが.phpで終わる場合に、locationブロック内の設定(例えば、FastCGIの設定など)を適用することを意味しています。これにより、PHPファイルに対するリクエストが適切に処理され、PHP-FPMなどのバックエンドに渡されます。

Nginxのrootとindexディレクティブ:location内外での違いと適用範囲

1. locationブロック内にrootindexを指定する場合

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    location / {
        root   /var/www/html;
        index  index.php index.html index.htm;
    }
}




  • 適用範囲: この場合、rootindexの設定は、/で始まるリクエスト、つまりすべてのリクエストに適用されます。この設定により、Nginxは/var/www/htmlディレクトリをルートディレクトリとして使用し、そこからindex.phpindex.htmlを探します。
  • 特定のパスに限定: locationブロック内に設定されているため、この設定は他のlocationブロックには影響しません。たとえば、別のlocation /images/ブロックがあった場合、そのブロックには影響を与えません。

2. locationブロックの外にrootindexを指定する場合





server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    root   /usr/share/nginx/html;
    index  index.php index.html index.htm;
}
  • 適用範囲: rootindexlocationブロックの外にある場合、これらの設定はそのserverブロック全体に適用されます。つまり、そのserverブロック内のすべてのlocationブロックにデフォルトのrootindexの設定が適用されます。
  • 全体のデフォルト設定: 他のlocationブロック内でrootindexが明示的に設定されていない限り、これらのグローバル設定が適用されます。

違いのまとめ

  • location内で設定:
    • rootindexが特定のlocationブロックにのみ適用されます。
    • 他のlocationブロックには影響を与えません。
  • location外で設定:
    • serverブロック全体にデフォルトのrootindexが適用されます。
    • serverブロック内のすべてのlocationブロックでこの設定がデフォルトとして使用されます。ただし、locationブロック内で上書きすることが可能です。

実際の使用例

  • location内で設定する場合: 特定のパス(例えば、/images//api/など)で異なるルートディレクトリやインデックスファイルを使用したい場合に有効です。
  • location外で設定する場合: 全体のデフォルトとしてrootindexを設定し、特別な場合にのみlocationブロック内で上書きするという使い方が一般的です。これにより、設定が簡潔になり、メンテナンスがしやすくなります。

iPod バッテリー交換について

iPod バッテリー交換について

この記事は相当古い記事です。

自分の所有しているiPodは初代発売された奴である。
容量は10GB
裏には「斉藤ノブ」さんにサインしてもらった。^^
渋谷の「JZ Bart」でライブを見に行った時にサインしてもらったのだ。

   

サインの日付が2002年 もうサインが剥げ掛けて、良く分からなくなってしまった。
最近はめっきり使用してない。
音楽をゆっくり聴く時間が無いと言ってよい。
ウーム・・・・

旅行に行くときは持っていく事にしてる。
タイ旅行へ行ったときは活躍してくれた。
小さいスピーカーを繋いで、浜辺で音楽聴きながら、酒でも・・

大したことじゃないですが、「SoundApp」って音声ファイル再生アプリを覚えているでしょうか?
とりあえずファイルを再生させるには便利なツールです。
起動も速いし。
「メニュー」の「ファイル」から「新規プレイリスト」を開いて、
そこにMacに接続されているiPodのアイコンをドラッグします。
なんとリストにはiPodの中の曲の一覧が!
そこから、書き出しなんてことも出来ちゃいます。
今ではそういったツールがMacOS X用にあるので必要ないのですが。
一様参考までに^^

質問は受け付けません。面倒くさいので(笑)

さて本題です。
長らく使ってきた所為か、バッテリーがもう駄目になってしまっていて、実用に耐えない。
そこでバッテリーを交換することにした。
丁度「Newer Technology」から交換バッテリーが発売されていたからだ。
以下はiPodのバッテリー交換時の様子を記そうと思う。


購入したバッテリーの箱


まずiPodの裏蓋を外す。
Newer Technologyのバッテリーには裏蓋を外す工具が着いてくるので、それを利用したほうがいいです。


自分の場合は、バッテリーが届く前に、先走って蓋だけ開けてしまったのです。^^;
ネット上でiPodのバラシ方を検索するとテレホンカードみたいな薄いカードを隙間に差し込んで、グイっと外すと書いてあったので同じようにやりました。
これはとても大変です。簡単には開きません。
差し込んだカードがボロボロになってしまいました。^^;


カードで蓋を開ける人は、根気よく頑張ってください。壊してもイイぐらいの感じで ^^;
工具を使うと簡単に開きます。Newer Technologyのバッテリーを買うなら工具を使ってください。


蓋を取り、iPodの中身はこんな感じです。

バッテリーとハードディスクの間にグレーの色のゴムが2つ挟まっています。
自分のは本当に初期の初期だったらしく、バッテリーとゴムが接着されていました。
初期以降はただ単にゴムが挟んであるだけらしいので、簡単に取れるそうです。
バッテリーを取り外すとSONYと書いてありました。


写真はありませんが、ハードディスクは東芝製の1.8インチです。
最近では100GBのものが発売されているので、換装することも可能でしょう。
バッテリーの交換は簡単です。
単純に差し替えてください。
後は蓋を戻して、iPodのバッテリー交換完了です。

E-MU Proteus2000 FreeMIDI Patchlists 日本語版のご紹介

この記事は何年も前の記事です。

E-MU Proteus2000(以下 P2K)用のFreeMIDIパッチリストを作りました。

P2K Patch List 日本語版 Size:62kb
P2K Patch List Pack 日本語版 Ver1.0b1 Size:50k

FreeMIDIをインストールすれば、 MOTU社純正のパッチリストが入っているのですが、
ちょっと使い勝手が悪いと思ったので・・・
カテゴリーで音色を分別して、 さらにp2k付属のマニュアル通りにカテゴリーを日本語化し、 ユーザーバンクも加えてみました。
折角カテゴリー分けしていても、英語だとパッと見ても何の音色なのか把握しづらかったので
日本語なら分かりやすいと思って、それに挑戦してみました。
一様、ソースはパクってませんよ(笑) 全部手入力しました...(チョウ タイヘン...)
関係者各位に感謝!!


インストール方法

1. まずシステムフォルダの第一階層に「FreeMIDI Folder」というフォルダがあります。

2. その中に「Default Names」というフォルダがあります。

3. その中の「E-mu Systems」というフォルダがあります。

4. その中の「Proteus 2000」というファイルと入れ替えてください。

5. これでOKです。


P2K Patch List Pack Ver1.0b1はマニュアル4番以降を下記と差し替えて読んでください。


6その中にこれらのパッチリストを入れてください。必要なファイルだけでもOKです。
(始めから入っているProteus 2000のパッチリストは念のためにバックアップを取っておきましょう。)

7FreeMIDIはこんな感じにセットアップしてください。

8. これでOKです。

docker php-fpmコンテナ設定の読込順番

www.confzz-docker.confの両方が読み込まれる場合、後で読み込まれる設定ファイルが前の設定ファイルの設定を上書きします。

読み込み順と上書きの動作

  1. www.conf: 通常、www.confはPHP-FPMのプール設定ファイルとして最初に読み込まれます。このファイルには、PHP-FPMの動作に関する基本的な設定が含まれています。
  2. zz-docker.conf: 名前にzzが付いているため、一般的には後から読み込まれます。設定ファイルは通常アルファベット順に読み込まれるため、zz-docker.confが最後に読み込まれることになります。

上書きの例

  • www.conflisten = 127.0.0.1:9000が設定されていても、zz-docker.conflisten = 9000が設定されている場合、zz-docker.confの設定が最終的に適用されます。

設定が上書きされる際の注意点

  • 後から読み込まれる設定ファイル(この場合はzz-docker.conf)に記載されている設定項目は、それ以前に読み込まれた設定ファイル(www.confなど)の対応する項目を上書きします。
  • これにより、特定の環境(例えば、Dockerコンテナ内)で必要な設定を、グローバル設定とは別に調整することができます。

結論

www.confが先に読み込まれ、その後にzz-docker.confが読み込まれる場合、zz-docker.confに記載されている設定は、同じ設定項目がwww.confに存在していたとしても上書きされます。この仕組みを利用して、環境に応じた設定の調整を行うことができます。

GoogleウォレットにクレジットカードをVisaタッチ決済として登録したいがiDとして登録されてしまう

Android携帯でGoogleウォレットにクレジットカードをVisaタッチ決済として登録する際に、iDとして登録されてしまう場合、以下の手順を試してみてください。
Vpassアプリを使用する: Visaのタッチ決済を設定するには、Googleウォレットアプリではなく、Vpassアプリを使用してください。Googleウォレットアプリから設定すると、iDが設定されることがあります。
デバイスの要件を確認する: 使用しているAndroidデバイスがNFC Type A/Bに対応しているか確認してください。Visaのタッチ決済は、Android 5.0以降でNFC Type A/Bが搭載されているデバイスでのみ設定可能です。
カードの選択を確認する: Vpassアプリで設定する際に、Visaのタッチ決済に対応しているカードを選択してください。対象外のカードを選択していると、設定がうまくいかないことがあります。
アプリとデバイスを最新に保つ: GoogleウォレットアプリとVpassアプリを最新のバージョンにアップデートし、デバイスのOSも最新の状態に保ってください。
これらの手順を試しても問題が解決しない場合は、カード発行会社に問い合わせて、詳細なサポートを受けることをお勧めします。