FrontPage
Linux Common
目次
- コマンド メモ
- 圧縮・解凍
- Network
- Linux ディストリビューション distribution
- その他
- タイムスタンプ
- ubuntu版chkconfig
- ユーザー、グループ管理、アクセス権
- Ubuntu LTS upgrade
- ファイルがあり実行権限があるのに「そのようなファイルやディレクトリはありません」「No such file or directory」と表示される
- ubuntu, /boot 容量削減, kernel削除
- プロセス名でgrepした結果をkillする
- find の結果でpermissionを表示する。
- yum,Error: Multilib version problems found.
- dpkg-divert: エラー: パッケージの不整合です
- 省電力,充電制御,電源設定
- LVM,領域,拡張,volume,partition,
- Ubuntu, OSが起動せず「initramfs」と表示される,HDD エラー修復
- OS が起動せず Control-D とか、root といった文字だけ見える(他は文字化け)
- apt update, apt-key が非推奨となりエラーが表示される
- systemd-resolve が無い
- apt,doesn't support architecture 'i386',error,エラー
- DVD起動して、Ubuntu(Linux)のディスクの中身を編集する
- vim insert visual, 右クリックで貼り付けできない, 対応
- cronのメール送信関連
- 起動時、自動実行
- proxy経由でアクセスする設定(Linux)
コマンド メモ †
圧縮・解凍 †
tar.gz †
tar.bz2、tbz †
- bzip2 -dc filename | tar xvf -
.gz †
Network †
ubuntu、network_設定 †
- 設定方法1
- dns-nameservers を利用可にする。
- sudo apt-get install resolvconf
- Network 情報の記述
- リゾルバ(resolv.con)の設定
- network-manager の無効化
#インストール
sudo aptitude -y install sysv-rc-conf
#切り替え
sudo sysv-rc-conf network-manager off
sudo sysv-rc-conf networking on
- network-manager のアンインストール
sudo apt-get remove network-manager
- network の再起動
sudo /etc/init.d/networking restart
- network の再起動2
sudo ifdown eth0
sudo ifup eth0
sudo ifdown eth1
sudo ifup eth1
- 設定方法2
CentOS,RedHat Network 設定 †
- sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
NM_CONTROLLED=no
IPADDR=192.168.1.29
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
- リゾルバ設定
- network の再起動
sudo /etc/init.d/networking restart
- network の再起動2
sudo ifdown eth0
sudo ifup eth0
/etc/resolv.conf が元に戻ってしまう †
- 以下を編集
sudo vi /etc/resolvconf/resolv.conf.d/base
- 追加
nameserver 192.168.1.1
nameserver 192.168.1.2
search tar3.net
※自分の環境ではこれをやっても resolv.conf が
勝手に書き換わってしまうので、結局上記の
network-manager をやめて /etc/network/interfaces からの
/etc/init.d/networking へ。
さらに、/etc/init.d/networking restart で設定が反映されず
sudo ifdown eth0 && sudo ifup eth0
で設定を反映させました。。。
nextdns †
DNS設定確認 †
Ubuntu(NetworkManager) †
cat /run/systemd/resolve/resolv.conf
CentOS7 †
nmcli device show
Linux ディストリビューション distribution †
Debian 系 †
- Debian
- Linux ディストリビューションの中でもかなり老舗
- Ubuntu よりシンプルな構造で軽量。
- パッケージ管理システムは apt
- Ubuntu
- デスクトップ用途に向いているDebianベースのディストリビューション。
- デバイスドライバが豊富で、ハードウェアは大体認識する。
- 2年に一度、LTS(Long time support)、半年に一度のバージョンアップが行われる。
- パッケージ管理システムは apt
- WattOS
- Debian ベースのディストリビューション。
- 省電力に特化。TLPなどを用いながら省電力化。
- Kali Linux
- Debian ベースのディストリビューション。
- サーバーに潜む脆弱性の発見に特化。
- パッケージ管理システムは apt
Redhat 系 †
- CentOS
- 有名な有償 Linux ディストリビューション RedHat のコピーOS
- 無料
- ほぼ RedHat のフル機能が使用可能
- パッケージ管理システムは yum
- Fedora
- RedHat の実験的機能が実装された無償ディストリビューション。
- 無料
- かなり頻繁に更新される模様。
- パッケージ管理システムは yum
その他 †
Puppy Linux †
- 軽量Linux の代表格
- 独自のシステムでパッケージ管理も独自。
Rescuezilla †
- OSのイメージバックアップを取るディストリビューションらしい。
- 未検証。
Back box †
- 軽量Linux
- 家の Sony VAIO Type P 用として使用。(PCG-11113N)
- バージョン7からは寄付必須??
その他 †
タイムスタンプ †
- 参考サイト
- UNIXファイルのタイムスタンプは以下の3つ。
タイムスタンプ名 | 説明 | 参照コマンド |
atime | 最終アクセス時刻 (access time) | ls -lu |
mtime | 最終変更時刻 (modify time) | ls -l |
ctime | 最終ステータス変更時刻 (change time) | ls -lc |
ubuntu版chkconfig †
sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf networking on
ユーザー、グループ管理、アクセス権 †
Ubuntu LTS upgrade †
sudo do-release-upgrade
ファイルがあり実行権限があるのに「そのようなファイルやディレクトリはありません」「No such file or directory」と表示される †
- 32bitアプリ、64bitアプリが合ってない可能性がある
ubuntu, /boot 容量削減, kernel削除 †
- 参考(外部):古いカーネルの削除方法メモ
- 現在のカーネルバージョンを確認
uname -r
- インストールされているカーネルを確認
dpkg --get-selections | grep linux-
- 削除(複数選択可能)
sudo apt-get autoremove --purge linux-headers-3.13.0-{65,67,71}
- きちんと消えなければimageを削除
sudo apt-get autoremove --purge linux-image-3.13.0-{65,67,71}
プロセス名でgrepした結果をkillする †
find の結果でpermissionを表示する。 †
yum,Error: Multilib version problems found. †
dpkg-divert: エラー: パッケージの不整合です †
- 結構はまったのですが、退避ファイルに関するパッケージの不整合。
- エラーは以下な感じ。
dpkg-divert: エラー: パッケージの不整合です
`libnvidia-gl-460 による /usr/lib/i386-linux-gnu/libEGL.so の退避 (divert)' の削除中に
`nvidia-340 による /usr/lib/i386-linux-gnu/libEGL.so から /usr/lib/i386-linux-gnu/libEGL.so.distrib への退避 (divert)' を発見しました
dpkg: アーカイブ /var/cache/apt/archives/libnvidia-gl-460_460.73.01-0ubuntu0.18.04.1_i386.deb の処理中にエラーが発生しました (--unpack):
new libnvidia-gl-460:i386 package pre-installation script subprocess returned
error exit status 2
処理中にエラーが発生しました:
/var/cache/apt/archives/libnvidia-gl-460_460.73.01-0ubuntu0.18.04.1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
- 注目するのは以下の部分。
/usr/lib/i386-linux-gnu/libEGL.so
- distribファイルを以下のコマンドで根気良く削除していきます。
同じようなPathやファイルが有るので出来ればコピペした方が良いかも。。。
sudo dpkg-divert --rename --remove /usr/lib/i386-linux-gnu/libEGL.so
- 少しずつ削除していきますが、以下のエラーも出ます。
'nvidia-340 による /usr/lib/i386-linux-gnu/libGL.so.1 から /usr/lib/i386-linux-gnu/libGL.so.1.distrib への退避 (divert)' を削除しています
dpkg-divert: エラー: 名前変更は `/usr/lib/i386-linux-gnu/libGL.so.1' を異なるファイル `/usr/lib/i386-linux-gnu/libGL.so.1.distrib' で上書きすることを伴います。
これは許可されていません。
- この場合は、distribファイルを手動で削除して再度コマンドをsudo dpkg-divert コマンドを実行しました。
- ちなみに以下のコマンドとセットで少しずつ進めました。
sudo apt --fix-broken install
省電力,充電制御,電源設定 †
- 関連ソフトのインストール
- powertopの簡単な使い方
- tlp
- 起動
sudo systemctl start tlp
- 自動起動の設定
sudo systemctl enable tlp
- 充電制御
- Ubuntu 20.04 では以下のファイルを変更
sudo vim /etc/tlp.conf
- 以下の行のコメントアウトを外す
START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=80
- tlp を再起動
sudo systemctl restart tlp
- tlp 設定の確認
sudo tlp-stat -b
- バッテリーの状態を確認
upower -i /org/freedesktop/UPower/devices/battery_BAT0
LVM,領域,拡張,volume,partition, †
参考サイト †
- 【LVM入門】LinuxのLVMでディスク容量を拡張する
- LVMでディスク拡張(CentOS6 + lvm2 + ext4)
df コマンドで現状を確認 †
[root@localhost ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/rhel-root 14G 1.4G 13G 11% /
devtmpfs 908M 0 908M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 8.9M 911M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 1014M 146M 869M 15% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg_sdb1-lv_sdb1 2.0G 33M 2.0G 2% /mnt
拡張前のディスク容量を確認 †
fdisk -l /dev/sda
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 41M 1.9G 3% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 36G 3.5G 30G 11% /
/dev/sda1 477M 186M 262M 42% /boot
/dev/mapper/centos-var 30G 7.4G 21G 27% /var
centos6:/var/log 9.5G 692M 8.4G 8% /mnt/centos6-log
VMなどでHDDのストレージを拡張 †
- 方法は省略
- 拡張後は変わらず
fdisk -l /dev/sda
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 41M 1.9G 3% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 36G 3.5G 30G 11% /
/dev/sda1 477M 186M 262M 42% /boot
/dev/mapper/centos-var 30G 7.4G 21G 27% /var
centos6:/var/log 9.5G 692M 8.4G 8% /mnt/centos6-log
拡張後OSでリスキャンし、容量を認識させる †
パーティションの拡張 †
- 以下のコマンドを実行(例 /dev/sda)
sudo parted /dev/sda
- (parted) のプロンプトで以下のコマンドを実行
p free
- resizepart を実行
resizepart
- 再度確認
p free
PV容量拡張 †
- 現状確認
pvdisplay /dev/sda2
- PVのリサイズ
pvresize /dev/sda2
- 再度確認
pvdisplay /dev/sda2
- 一応VGも確認しておく
vgdisplay vg_sda2
LV容量拡張 †
- 現状の確認(vg_sdb1/lv_sda2 は適宜変更)
lvdisplay /dev/vg_sdb1/lv_sda2
- 対象を100%に増やす
lvextend -l +100%FREE /dev/vg_sda2/lv_sda2
- 再度確認
lvdisplay /dev/vg_sdb1/lv_sda2
ファイルシステム拡張(ext4) †
最後に確認 †
df -h
Ubuntu, OSが起動せず「initramfs」と表示される,HDD エラー修復 †
- とりあえず起動するための施策
- とりあえず以下のコマンドでファイルチェック & 修復
赤い箇所は適宜書き換え
- 途中で何回か「y」キーを押す
- 終わったら「reboot」コマンドで再起動
- 起動後、不良セクタを調べる
- sudo badblocks -v -s /dev/sda6 | tee /tmp/badblocks.txt
- 不良セクタのマーキング
- e2fsck -l /tmp/badblocks.txt /dev/sda6
- 1回のコマンドですべて実行
- sudo fsck -t -y -f -c /dev/sda6
OS が起動せず Control-D とか、root といった文字だけ見える(他は文字化け) †
- とりあえず root のパスワードを入力すれば、bash が表示される
apt update, apt-key が非推奨となりエラーが表示される †
- エラーメッセージ
- W: (URL): Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
- 対策
- まずは普通にダウンロード(例はmoose file system)
wget https://ppa.moosefs.com/moosefs.key
- 変換(import)
gpg --no-default-keyring --keyring temp-keyring.gpg --import moosefs.key
- 変換後の出力
gpg --no-default-keyring --keyring temp-keyring.gpg --export --output moosefs-gpg.gpg
- apt へコピー
sudo cp moosefs-gpg.gpg /etc/apt/trusted.gpg.d/
- soucelist の編集
vim /etc/apt/sources.list
- 例(signed-by= 以下を追加)
deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/moosefs-gpg.gpg] http://ppa.moosefs.com/moosefs-3/apt/ubuntu/focal focal main
systemd-resolve が無い †
apt,doesn't support architecture 'i386',error,エラー †
DVD起動して、Ubuntu(Linux)のディスクの中身を編集する †
- 設定を間違えて起動しなかった時など
- GUIで起動するので、「Disk」アプリを開きマウントする
- sudo を使用して、ファイルを編集
(自分は/etc/fstabを編集)
vim insert visual, 右クリックで貼り付けできない, 対応 †
cronのメール送信関連 †
- cronの結果は基本的に実行ユーザーへ送信される。
- 意図的に他のユーザーへメールを送信する場合
- sudo vim /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
LANG=ja_JP.UTF-8
CONTENT_TYPE=text/plain; charset="utf-8" MAILTO=root
- もしかするとメール本文が空白の場合、メールが送信されないのかもしれない
その場合や個別cronに対するメール送信方法
*/5 * * * * www-data /usr/bin/php -f /var/www/nextcloud/cron.php --define apc.enable_cli=1 2>&1 | mail -s "Mail Title" mailAddress@hoge.com
起動時、自動実行 †
- 以下の順番で実行される
- /etc/init.d/rcファイル。
- /etc/rc.d/ディレクトリにあるファイル。
- /etc/config/rc.localファイル。
- sudo vi /etc/config/rc.local
- 実行権限の付与
sudo chmod +x /etc/rc.local
- 注意点
- 実行権限の付与を忘れずに
- 「#!/bin/bash」も忘れずに。。。
- もしかしたらシンボリックリンクになってるかも。。。
そしたらシンボリックリンクの先にも実行権限を。
- sudo chmod +x /etc/rc.d/rc.local
proxy経由でアクセスする設定(Linux) †