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

2023/06/28

環境変数

環境変数

bash_profileはログイン時にのみ実行されます。
bashrcは対話モードのbashを起動する時に毎回実行されます。

# パス確認
which コマンド

# 環境変数引き継いでユーザー切り替え
su - ユーザー名

# 環境変数引き継がないでユーザー切り替え
su ユーザー名

2022/04/04

git操作

git操作

# git初期設定
sudo apt-get install -y git
ssh-keygen -t rsa -b 4096
>パスワード
ssh -T git@github.com

git config --global user.email "メールアドレス"
git config --global user.name "名前"


# GoogleSourceRepositories運用
## 初回
gcloud init
gcloud source repos clone レポジトリ名 --project=プロジェクトID
cd レポジトリ名


# GitHub運用
## 初回
git clone git@github.com:レポジトリ名.git
cd レポジトリ名
## 毎回
git switch master
git pull
git switch dev/開発ブランチ名
## 開発ブランチ作成
git switch --create dev/開発ブランチ名
git switch -c dev/開発ブランチ名
## 開発ブランチ参加
git switch --create dev/開発ブランチ名 origin/dev/開発ブランチ名
git switch -c dev/開発ブランチ名 origin/dev/開発ブランチ名
## add,update,fix
git add ファイル名
git commit --message "[コミット種別] バックログ番号 変更内容"
git push origin dev/開発ブランチ名

git add -A
git commit -m "[コミット種別] バックログ番号 変更内容"
git push origin dev/開発ブランチ名
## remove
git rm ファイル名
git commit --message "[remove] バックログ番号 変更内容"
git push origin dev/開発ブランチ名


# TIPS
## 状態確認
git status

## レポジトリ内の全ての変更を一括追加する
git add --all
git add -A
## レポジトリ内の全ての変更を一括追加する(新規追加ファイルは対象外)
git add --update
git add -u
## ディレクトリ内の全ての変更を一括追加する
git add .

## git add前のファイルの変更を戻す
git restore ファイル名
## git add後のファイルの変更を戻す
git restore --staged ファイル名
git restore -S ファイル名

## コミット番号を確認する
git log --oneline
git log --graph

## ファイルをコミット番号の状態にする
git restore --source コミット番号 ファイル名
git restore -s コミット番号 ファイル名
## ディレクトリ内をコミット番号の状態にする
git restore --source コミット番号 .
git restore -s コミット番号 .

## masterブランチにコミットしてしまった
git rebase 1個前のコミット番号
git switch --create dev/開発ブランチ名
git cherry-pick 該当コミット番号
git push origin dev/開発ブランチ名

## ローカルブランチ一覧
git branch
## リモートブランチ一覧
git branch --remotes
git branch -r
## ブランチ一覧
git branch --all
git branch -a

## マージ済みブランチの削除
git branch --delete dev/開発ブランチ名
git branch -d dev/開発ブランチ名
## マージされていないブランチの削除
git branch --delete --force dev/開発ブランチ名
git branch -D dev/開発ブランチ名

find操作

find操作

# ディレクトリ内をワイルドカードを利用したファイル名で検索
find ディレクトリ名 -name ファイル名

# ディレクトリ内の日数にアクセスされたファイルを検索
find ディレクトリ名 -atime 日数

# ディレクトリ内の日数以内にアクセスされたファイルを検索
find ディレクトリ名 -atime -日数

# ディレクトリ内の日数以降にアクセスされたファイルを検索
find ディレクトリ名 -atime +日数

# ディレクトリ内の日数に更新されたファイルを検索
find ディレクトリ名 -mtime 日数

# ディレクトリ内の日数以内に更新されたファイルを検索
find ディレクトリ名 -mtime -日数

# ディレクトリ内の日数以降に更新されたファイルを検索
find ディレクトリ名 -mtime +日数

2022/03/31

オレオレ証明書

オレオレ証明書

# opensslインストール
sudo apt-get install -y openssl

# 秘密鍵作成
openssl genrsa -aes256 -out 証明書名.key 2048
>パスワード

# 秘密鍵からパスフレーズを削除
openssl rsa -in 証明書名.key -out 証明書名.key
>パスワード

# csr
openssl req -new -key 証明書名.key -out 証明書名.csr
>Country Name:JP
>State or Province Name:都道府県
>Locality Name:市区町村
>Organization Name:会社名
>Organizational Unit Name:組織名
>Common Name:ホスト名
>Email Address:メールアドレス

# crt
openssl x509 -in 証明書名.csr -out 証明書名.crt -req -signkey 証明書名.key -days 有効日数

# pfx
openssl pkcs12 -export -in 証明書名.crt -out 証明書名.pfx -inkey 証明書名.key
>パスワード
openssl pkcs12 -export -in 証明書名.crt -out 証明書名.pfx -inkey 証明書名.key -certfile 証明書名.cer
>パスワード

# 中間証明書とサーバー証明書の結合
cat サーバー証明書(crt) 中間CA証明書(cer) クロスルート証明書(cer) >> 結合証明書(pem)

2021/10/11

ディスクのメンテナンス

ディスクのメンテナンス

# コマンドについて
fdisk  古い
parted  推奨

# ディスク拡張
## ファイルシステムを確認
df -h
## 拡張したディスクを確認
sudo parted -l
## 拡張したディスクの状態を確認
sudo parted /dev/sda
(parted) p free
## パーティションを拡張
(parted) resizepart 2
(parted) p free
(parted) q
## ファイルシステムを拡張
sudo resize2fs /dev/sda2
df -h

# ディスク追加
## ファイルシステムを確認
df -h
## 追加したディスクを確認
sudo parted -l
## 追加したディスクの状態を確認
sudo parted /dev/sdb
(parted) p free
## パーティションを作成
(parted) mklabel gpt
(parted) unit TB
(parted) mkpart primary 0.00TB 4.00TB
(parted) p free
(parted) q
## ファイルシステムを作成
sudo mkfs.ext4 /dev/sdb1
## マウントポイントを作成
sudo mkdir /mnt/data
## UUIDを確認する
ls -l /dev/disk/by-uuid/
## 起動時自動マウントを設定
sudo vi /etc/fstab
  UUID=hogehoge  /mnt/data  ext4  defaults  0  0
sudo mount -a

# デフラグ
## 検査
sudo e4defrag -c ディレクトリ名
## 実行
sudo e4defrag ディレクトリ名

2021/02/06

Linux操作

Linux操作

# OS情報確認
cat /etc/os-release
do-release-upgrade -V

# 再起動(shutdownを使うのが安牌)
reboot
sudo shutdown -r now

# シャットダウン(shutdownを使うのが安牌)
poweroff
sudo shutdown -h now

# システム負荷
top -d 更新間隔(秒) -n 繰り返す回数(回)
## 特定プロセスのシステム負荷
top -d 更新間隔(秒) -n 繰り返す回数(回) -p プロセスID

# ディスク使用率
df -h

# ユーザー
## ユーザー一覧
cat /etc/passwd
## ユーザー追加
sudo useradd ユーザー名
## ユーザー削除
sudo userdel ユーザー名
## パスワード変更
sudo passwd ユーザー名
## ユーザー切り替え
su ユーザー名
## 現在のユーザー確認
whoami

# グループ
## グループ一覧
cat /etc/group
## ユーザーにグループを追加
sudo gpasswd -a ユーザー名 グループ名
## ユーザーからグループを削除
sudo gpasswd -d ユーザー名 グループ名
## ユーザーのグループを変更
sudo usermod G グループ名 ユーザー名

# パッケージ検索
## パッケージ検索
sudo apt-cache search パッケージ名
## パッケージ検索(インストール可能)
sudo apt-cache policy パッケージ名
## アップグレード可能なパッケージ一覧
sudo apt-get --simulate upgrade
sudo apt list --upgradable

# パッケージインストール
## パッケージインストール
sudo apt-get install パッケージ名
## パッケージアンインストール
sudo apt-get remove パッケージ名

# パッケージの自動更新のオンオフ
## 自動更新オンのパッケージ一覧
sudo apt-mark showmanual
## 自動更新オフのパッケージ一覧
sudo apt-mark showhold
## パッケージの自動更新オン
sudo apt-mark unhold パッケージ名
## パッケージの自動更新オフ
sudo apt-mark hold パッケージ名

# システムマネージャー
## システム起動
sudo systemctl start システム名
## システム停止
sudo systemctl stop システム名
## システム再起動
sudo systemctl restart システム名
## システムの状態確認
sudo systemctl status システム名
## OS起動時にシステム起動する
sudo systemctl enable システム名
## OS起動時にシステム起動しない
sudo systemctl disable システム名

# ディレクトリ
## 現在のディレクトリ確認
pwd
## ディレクトリを移動
cd ディレクトリ名

# ファイル
## 現在のディレクトリのファイル一覧
ls -al
## ファイル権限変更
### コマンド
chmod 三桁数字 ファイル名
### 三桁数字
所有者  所有者グループ  その他
421  421  421
rwx  rwx  rwx
## 所有者変更
### ファイルの所有者を変更
chown ユーザー名 ファイル名
### ファイルの所有者、所有グループを変更
chown ユーザー名:グループ名 ファイル名
### ディレクトリ配下のファイルの所有者を変更
chown -hR ユーザー名 ディレクトリ名

# ファイルの圧縮解凍
## tar
### 圧縮
tar -cvf xxxx.tar directory
### 解凍
tar -xvf xxxx.tar
## tar.gz
### 圧縮
tar -zcvf xxxx.tar.gz directory
### 解凍
tar -zxvf xxxx.tar.gz
## zip
sudo apt-get install -y zip
### 圧縮
zip -r xxxx.zip directory
### 解凍
unzip xxxx.zip

# 削除
rm -rf 削除したいファイル名
rm -Rf 削除したいディレクトリ名

# IP確認
ip -4 a

# MACアドレス確認
ip addr show

# 経路確認
tracepath ホスト名(or IP)

# DNSに問い合わせ
nslookup ホスト名(or IP)

# SSH
## SSH接続
ssh -i 鍵 ユーザー名@リモートホスト名
## 鍵作成
ssh-keygen -t rsa -b 4096 -f 鍵
## 登録されている鍵
### SSHする側(公開鍵)
sudo vi ~/.ssh/known_hosts
### SSHされる側(秘密鍵)
sudo vi ~/.ssh/authorized_keys

# ファイル転送
## ローカルからリモートホストにファイルをコピーする
scp -i 鍵 /作業端末のディレクトリ/ファイル名 ユーザー名@リモートホスト名:/配置先ディレクトリ
## リモートホストからローカルにファイルをコピーする
scp -i 鍵 ユーザー名@リモートホスト名:/配置先ディレクトリ/ファイル名 /作業端末のディレクトリ

cron操作

cron操作

# 編集
基本的に追記していく。ユーザーにrootは使わないほうが良い。
## コマンド
crontab -e
## 書き方
m h dom mon dow command
分 時 日 月 曜日 コマンド
### 分
0~59の数字で指定するか、*で毎分実行にする
*/5で5分毎
### 時
0~23の数字で指定するか、*で毎時実行にする
*/6で6時間毎
### 日
1~31の数字で指定するか、*で毎日実行にする
*/5で5日毎
### 月
1~12の数字で指定するか、*で毎月実行にする
*/3で3ヶ月毎
### 曜日
0~6の数字を指定するか、*で全ての曜日で実行する
0で毎週日曜日
1で毎週月曜日
2で毎週火曜日
3で毎週水曜日
4で毎週木曜日
5で毎週金曜日
6で毎週土曜日
*で全ての曜日
### コマンド
フルパスで指定
### 例
3分毎に実行(正常系と異常系のログを分ける)
*/3 * * * * /usr/bin/python3 /home/python/cron.py 1>> /home/python/success.log 2>> /home/python/error.log
3分毎に実行(正常系と異常系のログを分けない)
*/3 * * * * /usr/bin/python3 /home/python/cron.py >> /home/python/cron.log 2>&1

# 登録内容確認
crontab -l

# cron再起動
sudo systemctl restart cron

# cron実行ログ確認方法
cat /var/log/syslog | grep CRON

# 動作確認
sudo systemctl status cron

Python3インストール

Python3 # インストール sudo apt-get install -y python3 sudo apt-get install -y python3-dev sudo apt-get install -y python3-pip sudo apt-get install -y python3-venv sudo apt-get install -y python3-tk # バージョン確認 python3 -V # インストール先確認 which python3 # 仮想環境 ## 仮想環境作成 python3 -m venv 仮想環境名 ## 仮想環境削除 rm -Rf 仮想環境名 ## 仮想環境に入る source 仮想環境名/bin/activate ## 仮想環境から出る deactivate ## ユーザーログイン時に仮想環境に強制的に入る echo 'source 仮想環境名/bin/activate' >> ~/.bash_profile # pip最新化 python3 -m pip install -U pip # パッケージの追加 python3 -m pip install パッケージ名 # 脳死 python3 -m pip install パッケージ名==バージョン # バージョン指定 python3 -m pip install パッケージ名>=バージョン # バージョン以上 # パッケージの削除 python3 -m pip uninstall パッケージ名 # パッケージの更新 python3 -m pip install -U パッケージ名 # パッケージの一覧 python3 -m pip list # パッケージの固定 python3 -m pip freeze > requirements.txt python3 -m pip install -r requirements.txt # 複数バージョンを維持 # 複数バージョンをインストール sudo apt-get install -y python3.8 sudo apt-get install -y python3.9 # 複数バージョンを登録 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2 # 複数バージョンの切替 sudo update-alternatives --config python3 # 複数バージョンの一覧 sudo update-alternatives --list python3 # webサーバー python3 -m http.server 8080

Ubuntuキッティング

Ubuntuキッティング

# 最新化
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get autoremove -y

# パッケージ依存関係整理
sudo apt-get dist-upgrade

# vim
## インストール
sudo apt-get install -y vim
## デフォルト変更
select-editor

# Chrome
## 公式リンク
https://www.google.com/chrome/?hl=ja
## パッケージソース追加
sudo curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/chrome-archive-keyring.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/chrome-archive-keyring.gpg] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/chrome.list'
sudo apt-get update
## インストール
sudo apt-get install -y google-chrome-stable
## 邪魔になったパッケージソース削除
sudo rm -rf /usr/share/keyrings/chrome-archive-keyring.gpg
sudo rm -rf /etc/apt/sources.list.d/chrome.list
sudo apt-get update

# Atom
## 公式リンク
https://flight-manual.atom.io/getting-started/sections/installing-atom/
## パッケージソース追加
sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" >> /etc/apt/sources.list.d/atom.list'
sudo wget -q -O - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
sudo apt-get update
## インストール
sudo apt-get install -y atom
## 日本語化
package「japanese-menu」をインストール

# 趣味
## simplescreenrecorder
sudo apt-get install -y simplescreenrecorder
## smplayer
sudo apt-get install -y smplayer
## gnome
sudo apt-get install -y gnome

# NVIDIADriver
## 公式リンク
https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html
## パッケージソース追加
sudo apt-get install linux-headers-$(uname -r)
distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
## インストール
sudo apt-get install -y cuda-drivers

# Ubuntuアップグレード
sudo do-release-upgrade
## LTS以外にバージョンアップする場合、以下のファイルを編集
sudo vi /etc/update-manager/release-upgrades

# 依存関係のトラブルシューティング
## 大体はコレで直る
sudo apt-get --fix-broken install
## 被疑箇所特定
sudo dpkg --audit
## 被疑箇所を再設定
sudo dpkg --configure パッケージ名
## 被疑箇所がどうにもならなくなって消す
sudo dpkg --remove --force-remove-reinstreq パッケージ名