Ubuntu初期設定メモ

いつも忘れるのでメモ

ホームディレクトリのディレクトリ名を英語にする。

LANG=C xdg-user-dirs-gtk-update

CapsLockをCtrlにする。

gsettings set org.gnome.libgnomekbd.keyboard options "['ctrl\tctrl:nocaps']"

カーネルコンパイルセットインストール

sudo apt-get -y install build-essential libncurses-dev fakeroot kernel-package linux-source libssl-dev

初期に必要なパッケージ

必ず入れる

sudo apt-get -y install vim git openssh-server

Wifiと有線LAN併用PC

sudo apt-get -y install wicd wicd-curses

その他

sudo apt-get -y install distcc

初期設定関連URL

Dropbox
Google Chrome

カーネル関連URL

www.kernel.org
http://kernel.ubuntu.com/~kernel-ppa/mainline/

自分リンク

初心者向けKernelの再構築手順
sshdを入れて公開鍵でアクセスするように設定
Vimをビルドする手順
カーネルのビルド時間を短縮する技。
Ubuntuで入れるといいアプリ
GitHub

WordPressのエラー

 Wordpress操作時にエラーが出た時の対処。

Easy Table of Contentsの設定時にエラー

 プラグインの設定を行った後更新しても下記のエラーが出てしまう。
さくらのファイアーウォールのせいらしいので一時的にOFFにする。

Forbidden
The server refuse to browse the page.
The URL or value may not be correct. Please confirm the value.

ポータブックカーネルパッチ準備手順【Ubuntu編】

ポータブック用のカーネルパッチを作るまでの手順

※ubuntu標準のlinux-sourceパッケージからのパッチ作成
※例はUbuntu18.04の4.15.0-42です。バージョンが変更になるとファイル名は変わる可能性あり。

 もくじ

ビルド環境を作成する。

最新カーネルを取得

カーネルソースをコピー

linux-sourceパッケージをインストールしソースをコピーする。

mkdir kernel415
cd kernel415
cp /usr/src/linux-source-4.15.0.tar.bz2 .

解凍する

tar xvf linux-4.15.0.tar.bz2

configファイルのコピー

/boot/config-4.15.0-42-genericをソースのフォルダに.configとしてコピーする。

configファイルのコピー

cp /boot/config-4.15.0-42-generic ./linux-source-4.15.0/.config

configファイルのmake

cd linux-4.19.8
make oldconfig

gitの準備

.gitignoreを作成する。

 kernel.orgからのソースと違い.gitignoreが無いのでどこかからコピーしてくる。

gitの初期化

差分を取るためにgitで初期化を行う。ベースラインのcommitメッセージは適当に。

git init
git add .
git commit -m "master of kernel4.15.0-42

ctags

ctags用のファイルを作る。

ctags -R

ソースの編集

変更点を確認しつつソースを解析して編集する。

カーネルビルド

変更が終わったらカーネルをビルドする。sudo -sが必要。
下記のパラメータは環境に合わせて変更
・CONCURRENCY_LEVEL(CPUコア数+1)
・-j(CPUスレッド数×2)
・–append_to_version (わかりやすい名前を付ける。)
・–revision (リビジョンを管理したい時に使用する。)

sudo -s
time CONCURRENCY_LEVEL=9 LANG=C make-kpkg -j 18 --rootcmd fakeroot --initrd --append_to_version=-xmc10-custom-20181213001 --revision=001 kernel_image kernel_headers

 ※ commitしていないのでこの時点でビルドされるカーネルバージョンには「+」というsuffixが付加される。

ビルド中のエラー

 下記のエラーが出たらLANG=Cが入っているか確認する。

./scripts/ubuntu-retpoline-extract-one: 134 行: printf: 0x十六進数ダンプ:: 無効な十六進数です
symbolmap: 00000000: invalid section

動作確認

ビルドが正常に完了すると親ディレクトリにdebファイルが作成される。実行端末にコピーしてインストールしてから動作確認を行う。

Lightningでカスタマイズした点

Lightningのテーマから変更した点

子テーマのインストール

カスタマイズが上書きされないように下記のサイトから子テーマをダウンロードし、インストールする。

https://lightning.nagoya/ja/setting/customize/child_theme

子テーマのカスタマイズ

prism用

prismのプラグインもあるが、あまりしっくりこなかったので、prismjs.comから自分でダウンロードしたものを利用するためのカスタマイズ。

prism.jsとprism.cssをサーバに上げる。

以下の2フォルダにそれぞれコピーする。

~/<wordpress_folder>/wp-content/themes/lightning_child_sample/css
~/<wordpress_folder>/wp-content/themes/lightning_child_sample/js

テーマのカスタマイズ

cssとjsを読み込むためにfunctions.phpに下記のコードを書き込む。

/* *** js/cssの読込み *** */
function load_extra_files() {
  // Prism.jsのcssとjsの呼び出し
  wp_enqueue_style('prism-style', get_stylesheet_directory_uri() . '/css/prism.css');
  wp_enqueue_script('prism-script', get_stylesheet_directory_uri() . '/js/prism.js', array(), false, false);
}
add_action('wp_enqueue_scripts', 'load_extra_files');

CSSのカスタマイズ

 見出しと表のデザインを変えたかったのでCSSにカスタマイズを加える。

LightningのCSSカスタマイズ

 下記のいずれかに設定すれば反映される。

  1. ExUnitのCSSカスタマイズ
  2. 「外観」→「カスタマイズ」→「追加CSS」
  3. 「外観」→「テーマの編集」→「style.css」を編集

ウィジットの変更

サイドバー共通上部

  1. 検索
  2. カテゴリー
  3. VK最新記事
  4. VK固定ページ本文:プロフィールなど固定したいページ

サイドバー投稿

 投稿記事を開くと共通上部の下に表示されるようになる。

  1. 検索

インストールしたプラグイン

AmazonJS

 Amazonのリンクを作成できるので使用しています。Gutenbergには対応していませんが、asinを調べてショートコードを埋め込むだけで済みます。

Easy Table Of Contents

 目次を埋め込むためのプラグイン。自動で最初の見出しの前に目次を埋め込んでくれます。設定も細かく可能。

Shortcodes Ultimate

 色々なショートコードを利用できるプラグイン。内部リンクするのに便利なので使用しています。

Table Press

 投稿記事とは別にテーブルを管理でき、また柔軟にテーブルを作成できるので使用しています。

Pz-LinkCard

 ブログ記事等をきれいにカード形式で貼れるようになるプラグイン。

Insert Headers and Footers

 ヘッダーとフッターにスクリプトを埋め込むためのプラグイン

ポータブック用カーネルパッチの準備

ポータブック用のカーネルパッチを作るまでの手順
※例は4.19.8です。バージョンが変更になるとファイル構成が変わる可能性あり。

最新カーネルを取得

カーネルソースをダウンロード

https://www.kernel.orgからカーネルソースをダウンロード

mkdir kernel419
cd kernel419
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.8.tar.xz

解凍する

tar xvf linux-4.19.8.tar.xz

configファイルの取得

カーネルのメジャーリリースの場合は、configが大幅に変更されているため、対話形式で設定するのは面倒である。従って、開発PCにgeneric版のdebパッケージをインストールしてからgeneric版のconfigファイルを利用すると楽。

debパッケージの取得

 http://kernel.ubuntu.com/~kernel-ppa/mainline/からダウンロード。
・linux-headers…deb
・linux-headers…-generic…deb
・linux-image-unsigned…generic…deb
・linux-modules-…generic…deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.8/linux-headers-4.19.8-041908_4.19.8-041908.201812080831_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.8/linux-headers-4.19.8-041908-generic_4.19.8-041908.201812080831_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.8/linux-image-unsigned-4.19.8-041908-generic_4.19.8-041908.201812080831_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.8/linux-modules-4.19.8-041908-generic_4.19.8-041908.201812080831_amd64.deb

debパッケージのインストール

sudo dpkg -i *.deb

configファイルのコピー

cp /boot/config-4.19.8-019108-generic ./linux-4.19.8/.config

configファイルのmake

cd linux-4.19.8
make oldconfig

gitの準備

差分を取るためにgitで初期化を行う。ベースラインのcommitメッセージは適当に。

git init
git add .
git commit -m "master of kernel.org"

ctags

ctags用のファイルを作る。

ctags -R

ソースの編集

変更点を確認しつつソースを解析して編集する。

カーネルビルド

変更が終わったらカーネルをビルドする。sudo -sが必要。
下記のパラメータは環境に合わせて変更
・CONCURRENCY_LEVEL(CPUコア数+1)
・-j(CPUスレッド数×2)
・–append_to_version (わかりやすい名前を付ける。)
・–revision (リビジョンを管理したい時に使用する。)

sudo -s
time CONCURRENCY_LEVEL=9 make-kpkg -j 18 --rootcmd fakeroot --initrd --append_to_version=-xmc10-custom-20181213001 --revision=001 kernel_image kernel_headers

 ※ commitしていないのでこの時点でビルドされるカーネルバージョンには「+」というsuffixが付加される。

動作確認

ビルドが正常に完了すると親ディレクトリにdebファイルが作成される。実行端末にコピーしてインストールしてから動作確認を行う。

WordPressで目次を付ける。

 Wordpressで目次をつけて、さらに「目次へ戻る」リンクを作成する手順の備忘録
 エディタはGutenbergを使用しています。

プラグインを導入

プラグインはEasy Table of Contentsを利用しました。

プラグインの設定

 「目次へ戻る」を追加するために下記の設定を変更しておきます。その他の設定はお好みで。

位置: 最初の見出しの前(デフォルト)
見出しラベルを表示: チェックを外す

再利用ブロックの作成

 GutenbergのカスタムHTMLで再利用ブロックを2つ作ります。topindexというidは任意です。

①目次アンカー

 aタグを使って目次のタイトルを作成します。

<a id="topindex">目次</a><br>
目次

②目次へ戻る

 右寄せにする場合はdivタグで囲みalign=”right”を指定します。

<div align="right"><a href="#topindex">目次へ戻る</a></div>

使い方

 使い方は、最初の見出しの前に、「目次アンカー」を挿入し、あとは自分の好きな場所に「目次へ戻る」ブロックを挿入していくだけです。

実際に使用しているページ

 組み込むと下記のように目次と目次へ戻るを配置できます。

https://raspberrypi.mongonta.com/googleaiyvoicekit/googleaiyvoicekitv2feature/

カスタマイズ

 CSSでデザインをカスタマイズする場合は下記を参考にしてCSSをカスタマイズしてください。
 アンカーを使うと下線が表示されてしまうのですがtext-decoration: none;で下線を表示しないようにしています。

a#topindex {
     display:block;
     width: 100%;
     height:50px;
     line-height: 50px;
     color: #FFF;
     text-decoration: none;
     text-align: left;
     background-color: #7f0028; /*ボタン色*/
     border-radius: 5px; /*角丸*/
     font-size: xx-large;
     font-weight: bold;
}
a#topindex:hover {
  text-decoration: none;
}

Linuxでよく忘れるコマンド

よく使うけど忘れてしまうコマンドのメモ

圧縮解凍

圧縮

tar cvf hogehoge.tar.gz directory/

解凍

tar xvf hogehoge.tar.gz

全文検索

カレントディレクトリ配下のcソースからhogehogeを全文検索

find . -name \*.c | xargs grep hogehoge

ufw関連

ポートを開けるとき

sudo uft allow in proto tcp from 192.168.0.0/24 to any port 12345

ルールを削除する

①番号付きでリストを表示する。

sudo uft status numbered

②消したいルールの番号を指定して削除

sudo uft delete <number>

パッチ

パッチを適用する。

patch -u -p1 < patchfilename

適用したパッチを外す。

patch -u -p1 -R < patchfilename