ページ

ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2025年3月21日金曜日

UEFI環境でUSBメモリにLinuxをインストールしてポータブルな開発環境を作成する

今から10年以上前のまだ学生だった頃,当時はBIOSが主流だったのでUbuntuをインストールしたUSBメモリを常にカバンに入れておき,何かあればそれをブートしてPCのメンテをやったりしていた.(起動しなくなったPCからデータをサルベージしてほしい.という友人からのヘルプ要請に応じるのが主な用途だった.笑)

それがUEFIが主流になって以降,作り方がわからず半ば諦めていたが,最近はノートPCに挿しっぱなしできるようなドングルタイプで128GBを超えるようなUSBメモリが安価で手に入ることを知り,ポータブルLinuxを手に入れたい衝動が再燃し,本腰を入れて取り組んでみた.

2024年5月3日金曜日

ファイルがどのパッケージに含まれているか調べる方法

コマンドをいざ実行しようとしてみるとインストールされておらず,apt install しようにもパッケージ名がわからない.
ということがよくある.

また,インストール済みのコマンドが元々,何というパッケージに含まれていたのか忘れてしまった.
ということもよくある.

今回は,そんなときに役立つコマンドを紹介する.具体的として,ar コマンドのパッケージ名を調べる.

2021年11月23日火曜日

オフライン環境でDockerを使う.コンテナイメージをエクスポート・インポートする方法

今更だが最近,Dockerを使い始めた.
便利という話は聞いていたが,予想以上の代物でもっと早く使えば良かったと思う今日この頃.

しかし,世の中にはネットに繋がっていない(繋げられない)残念な開発環境も少なくない.
そんな環境でもDockerを使うため,コンテナのイメージをエクスポート/インポートする方法を調べた.

我が家のDebianでイメージを作成し,それをRedHat に取り込んで問題なく動いたので,
大抵のディストリビューションで可能な方法だと思う.

2021年10月24日日曜日

Linux サーバーでOpenVPN を構築する

Debianで作成した自作ルーターにOpenVPN を立てたので手順を残す.

今回参考にさせて頂いたのは以下のページ.非常にわかり易い.投稿者様に感謝.
OpenVPNのインストールとセットアップからインターネット接続までのガイドブック - Qiita

手順としては大きく分けて3段階あり,はじめにEasy-RSAで証明書を生成し,次にサーバー用の設定ファイルを作成してOpenVPN を起動する.最後にクライアント用の設定ファイルを作成して,クライアントからVPN 接続できれば完了だ.

まずは,実行環境の確認.Debian 系なら大差ないと思うが,適宜環境に合わせて欲しい.
 $ cat /etc/debian_version 
 11.1
 $ uname -srvmo
 Linux 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux


以降,具体的な手順に移る.

2021年6月16日水曜日

Celeron J3455 1.5GHz メモリ8GB SSD 128GB のミニPC ACEPC AK1を購入

タイムセールで安くなっていたのでACEPC という中華系メーカーのミニパソコン(AK1 シリーズ)を購入しました.

128 x 128 x 52 mm の小型PC.

CPU は Intel の Celeron(R) CPU J3455 1.5GHz
メモリは 8.0GB
補助記憶は 128GB の SSD

台座のようになっている下部に2.5インチのHDD/SSD を装着でき,最大2TB までストレージを拡張可能です.

2021年6月11日金曜日

Debian のブータブル USBメモリを作成する

いままでOSのインストールにはDVDを使ってきましたが,最近購入したミニPCにドライブが搭載されておらず,外付けのドライブを使うと読み込み速度が低下するので,USBメモリでブータブルディスクを作成した.

あまりにも簡単に作れて,読み込み速度もDVDの比にならないくらい早いので,もっと早く実践しておけば良かったと後悔.

ということで,ブータブルUSBメモリの作り方.Debianでしか試していないため,他のディストリビューションでも同様の手順で作成できるかは未確認.

まずはISOイメージを取得.もちろんブラウザからアクセスしても問題ない.
 $ get https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.9.0-amd64-netinst.iso

ダウンロードが完了したら念の為,ハッシュ値を確認.
 $ sha256sum debian-10.9.0-amd64-netinst.iso 
8660593d10de0ce7577c9de4dab886ff540bc9843659c8879d8eea0ab224c109  debian-10.9.0-amd64-netinst.iso

rootユーザになって,catコマンドでUSBメモリのデバイスファイルに吐き出し.最後にsyncコマンドを実行
 # su
 # cat debian-10.9.0-amd64-netinst.iso > /dev/sdb
 # sync


これだけ.あとはパソコンにUSBメモリ挿して,ブートすればOSのインストール画面が開く.ビックリするほど簡単だった.

2021年2月27日土曜日

Bash でプロセスの死活チェックをスマートにやる方法

プロセス名を hogehoge としたとき,

よく見かけるのはこんな感じ.
#!/bin/bash

ProcessName=hogehoge

IsActive=`ps aux | grep ${ProcessName} | grep -v grep | wc -l`

if [ ${IsActive} -gt 0 ]; then
  echo "${ProcessName} is Active."
else
  echo "${ProcessName} is Disactive."
fi

exit 0


ps aux で全てのプロセスを表示して,それをプロセス名でgrep し,ただし grep 自身もヒットしてしまうので,それを grep -v で除き,最後に wc でライン数を数える.そのライン数が0よりも大きければプロセスが存在する.と判定する.

やっていることはよく判ります.でもパイプで色々繋いだりすると,想定外の例外で引っかかることが多い...

(例えばプロセス名自体が,どこかに「grep」を含んでいる場合,この方法では検出できない)

これをもうちょっとスマートにやる方法を紹介します

2021年2月22日月曜日

Linux でGUI を自動操作するツール【自作】

GUI の自動ツールとしては,xdotool などが有名だが,そういったツールを使用できない場合は自作するのもひとつの手段.

マウスポインターを指定した座標に動かして,クリックするだけのプログラムならば,数行のコードで実現できる.

click.c
--------------------------------------------------------------------------------
#include <stdlib.h>
#include <X11/extensions/XTest.h>

int main ( int argc, char ** argv )
{
  // Arguments 1 is Point of X, Argument 2 is Point of Y
  int position[2] = {atoi ( argv[1] ), atoi ( argv[2] ) };

  // Open Default Display
  Display * display = XOpenDisplay ( NULL );

  if ( display != NULL )
  {
    // Open 'Virtual core XTEST pointer'
    XDevice * device = XOpenDevice ( display, 4 );

    if ( device != NULL )
    {
      // Move Poitner
      XTestFakeDeviceMotionEvent ( display, device, False, 0, position, 2, 0 );

      // Press & Release Left Button
      XTestFakeDeviceButtonEvent ( display, device, Button1, True, NULL, 0, 0 );
      XTestFakeDeviceButtonEvent ( display, device, Button1, False, NULL, 0, 0 );

      XCloseDevice ( display, device );
    }

    XCloseDisplay ( display );
  }

  return 0;
}


 $ gcc -lX11 -lXi -lXtst click.c -o click
 $ ./click 100 500

2021年2月7日日曜日

【MySQL,MariaDB】 レプリケーションを設定する

データベースでマスタースレーブ型のレプリケーションを設定する方法を示す.
手元のラズパイ2台を使用するため,MariaDBで設定するが,基本的にはMySQLも同様の方法でできるはずだ.

データベースの初期設定手順は以下のエントリーを参照されたし.
WM×LI: Raspberry Pi にデータベースを構築する【MySQL,MariaDB】

2021年2月6日土曜日

Raspberry Pi で初回起動時からsshでアクセスする方法

何番煎じかわからないけれど,Raspberry Pi用のmicro SDカードにRaspberry Pi OSをインストールした直後の初回起動時からsshでアクセスできるようにする方法.

結論から言うと,/boot/ 直下に ssh という名前のファイルを置くだけ.

それでは細かい手順を解説します.

2021年1月13日水曜日

svnsync で定期的にSubversion のバックアップを取得する

これまでSubversion については,何度か取り上げてきたが,

WM×LI: Raspberyy Pi を Subversion のリポジトリサーバにして,systemd で自動起動するように設定する.
WM×LI: 【svnadmin dump】Subversionのリポジトリを別のサーバーに移行する.
WM×LI: Subversionで直前のコミットを取り消す.

今回はsvnsync コマンドを使用して,リモートで定期的にSubversion をバックアップを取るお話.

先日,WebArena IndigoでレンタルしているVPSをアップデート(apt upgrade)していたら,途中で突然停止し,その後アクセス不可,再起動不能になり,Subversionのリポジトリデータが全部吹っ飛んだので,やり方を調べた.

2020年12月12日土曜日

【Youtube動画ダウンロード】 youtube-dlでエラーが発生したら最新のツールに置き換えよう

動画をダウンロードしようとして久しぶりにコマンド叩いたら,以下のようなエラーが発生してダウンロードに失敗した.
 $ youtube-dl https://www.youtube.com/watch?v=HogeHoge
 [youtube] HogeHoge: Downloading webpage
 [youtube] HogeHoge: Downloading video info webpage
 ERROR: HogeHoge: YouTube said: Invalid parameters.
(動画のIDはHogeHogeに変更しています)

ツールが最新ではない場合,上記のようなエラーが発生することがあるようだ.

2020年6月13日土曜日

【Debian】 bluetoothctl でスピーカーに接続できないとき

Debianでコマンドラインを使用してBluetooth機器に接続する方法は以下のエントリーに記したとおり.
【Debian】 コマンドラインからBluetooth機器に接続する

しかし同様の方法でBluetoothスピーカーに接続を試みたところ接続に失敗.
ペアリングまでは成功するものの,接続しようとすると下記のようなエラーが表示される.
# connect AA:BB:CC:DD:EE:FF
Attempting to connect to AA:BB:CC:DD:EE:FF
Failed to connect: org.bluez.Error.Failed

エラー内容でググったらすぐに解決策が見つかった.どうやらパッケージ不足していたようだ.
$ sudo apt install pulseaudio-module-bluetooth

インストールが完了したら,以下のおまじないを実行
$ pulseaudio -k
$ pulseaudio --start

再度,bluetoothctlでconnectすると今度は問題なく接続された.

2020年5月27日水曜日

Debian 10.4 (buster) に NVIDIA製のグラフィックボードのドライバーをインストールする

ゲームとかやらないから,グラボなんて要らないでしょ.と思っていた時代が私にもありました.

しかし在宅勤務が推奨されるこのコロナ時代.快適な作業環境を求め,マルチディスプレイ環境を整備すべく,3画面出力可能なグラフィックボードを購入しました.(Amazonで3,500円で買える格安グラボ)



お急ぎ便で注文し,翌日には届いたので,さっそくPCを開け,5年間一度も使われることのなかったPCI Expressスロットに満を持してグラフィックボードを挿入.

PCを起動して,NVIDIAのホームページから製品を選択して,ドライバをダウンロード.

2020年5月17日日曜日

【PDFtk】よく使うコマンドまとめ

以前,以下のような記事を残したが,他にもよく使うコマンドがたくさんあるためまとめる.

WM×LI: 【pdftk】PDFにパスワードを設定する.

■ 基本形(ほとんどのコマンドは以下の文法に則っている)
 $ pdftk 入力するPDFファイル名 cat [出力形式] output 出力するPDFファイル名

2020年5月2日土曜日

【ラズパイ × Dropbox】Dropbox-Uploader の使い方

Linux のコマンドラインから Dropbox を利用する方法として,とても有名なツールに Dropbox-Uploader がある.

そして,Raspberry Pi には専用のデスクトップアプリがないことから,Dropboxにアクセスする方法としては,Dropbox-Uploader がほとんど唯一の手段となっている.

先日,Raspberry Pi で Dropbox-Uplodaer のセットアップをやり直したので備忘録として手順を残す.

Gitをインストールする.
 # apt install git

Gitのインストールが完了したらリポジトリから clone する.
 $ git clone https://github.com/andreafabrizi/Dropbox-Uploader.git

Dropbox-Uploaderというフォルダが作成されるため移動し,dropbox_uploader.shを実行する.
 $ cd Dropbox-Uploader
 $ ./dropbox_uploader.sh

 This is the first time you run this script, please follow the instructions:

 1) Open the following URL in your Browser, and log in using your account: https://www.dropbox.com/developers/apps
 2) Click on "Create App", then select "Dropbox API app"
 3) Now go on with the configuration, choosing the app permissions and access restrictions to your DropBox folder
 4) Enter the "App Name" that you prefer (e.g. MyUploaderXXXXXXXXXXXXXXX)

 Now, click on the "Create App" button.

 When your new App is successfully created, please click on the Generate button
 under the 'Generated access token' section, then copy and paste the new access token here:

 # Access token: XXXXX

 (XXXXXは,以下1〜6の手順を実施しアクセスキーを生成後入力する)

 > The access token is XXXXX. Looks ok? [y/N]: y
   The configuration has been saved.

2020年3月7日土曜日

【Debian】 コマンドラインからBluetooth機器に接続する

Debian でコマンドラインからBluetooth機器に接続する手順を紹介する.(恐らくDebian 以外のディストリビューションでもほぼ同じ手順)

はじめに必要なパッケージをインストールする.
$ sudo apt install bluetooth

インストールが完了したら,bluetoothctl ツールを起動する.
$ bluetoothctl

2020年3月5日木曜日

【xkb】tipsまとめ

最近,仕事でキーボードを制御するようなプログラムを書いていて,xkb(X KeyBoard extension)について少し調べたので,少しずつtipsを書き溜めていこうと思う.

  • キーボードのレイアウトをpdfファイルに出力する
  • $ xkbcomp $DISPLAY test.xkb
    $ xkbcomp test.xkb
    $ xkbprint test.xkm
    $ ps2pdf test.xkm
    $ evince test.pdf
    

2020年2月15日土曜日

【ALSA】 Linuxで音が出ないときの設定

Linuxで音設定と言えば,ALSA.(Advanced Linux Sound Architectureの略らしい.)

大抵の場合は,音量がミュートになっているだけなので,ALSAをインストールし,alsamixerで音量のミュートを解除する.
$ sudo apt install alsa-utils
$ alsamixer

それでも音が出ない場合は,デバイスの指定が間違っている可能性が高い.

2020年2月2日日曜日

【Debian】Minimal インストールからデスクトップ環境構築まで

Linuxを触り始めた頃からUbuntu一筋だったが,2015年に購入した第四世代Core-i5搭載のデスクトップPCでは,最新版(19.10)のUbuntuを動かすにはスペック不足感が否めなかったため,不要なパッケージはすべて排除すべく,Debian最小構成(Minimalインストール)からの環境を構築した.

Debian(10.2.0)のMinimalインストールの方法は特に難しくはないので,詳細は省くが,言語設定は日本語,rootのパスワードは設定せずにsudoを使用,マルチブート環境なのでパーティションは手動で設定し,最後のソフトウェアの選択は全てチェックを外し(←最小構成)インストールした.以下にインストール直後からの設定を記述する.