1 システムのインストール手順
OS Version:1804
ミラーのダウンロード:http://cdimage.ubuntu.com/releases/
1.1 インストール言語を選択してください:
1.2 インストールインターフェイスの最初の項目を選択して、システムをインストールします
1.3 インストールプロセス中に使用される言語を選択します。これは、システムのインストール後に使用されるデフォルトの言語でもあります。
1.4 地域を選択します。ここで最初に他の最後の項目を選択し、次にEnterキーを押してからアジアを選択し、最後に中国を選択します
1.5 ロケールを選択
1.6 キーボードレイアウトチェック、[いいえ]を選択
1.7 アメリカンキーボードを選択してください
1.8 USキーボードの使用を確認する
1.9 ホスト名を構成する
1.10 通常のユーザーを作成し、そのパスワードを設定します
1.11 タイムゾーンを確認する
1.12 ディスクのパーティション分割の方法を選択します。ここでは手動パーティションを選択します
1.13 ディスクを選択
1.14 ディスクをパーティション分割することを確認します
1.15 ディスクを分割する
1.16 新しいパーティションを作成する
1.17 ディスクのサイズ全体がパーティションに分割されるパーティションサイズを指定します
1.18 パーティションタイプを選択します。ここでプライマリパーティションを選択します
1.19 パーティションが完了しました
1.20 パーティションを完成させ、データを書き込む
1.21 ディスクへの書き込みを確認
1.22 プロキシを使用するかどうか、そのままにしておきます
1.23 自動的に更新するかどうか、ここでデフォルトを選択し、自動的に更新しない
1.24 インストールコンポーネントを選択し、インストールする必要のある対応するコンポーネントを選択してから、スペースバーを押します。ここで、OpenSSHサーバーを選択します。
1.25 GRUBブートローダーをマスターブートレコードにインストールします
1.26 インストールを完了し、サーバーを再起動することを確認します
1.27 ログインシステム
2 基本的なシステム構成
公式文書:https://help.ubuntu.com/
2.1 ホスト名を変更する
# cat /etc/hostname
hechunping
2.2 ネットワークカード名をeth *に変更します
# sed -i '/GRUB_CMDLINE_LINUX=/s/"$/net.ifnames=0 biosdevname=0"/'/etc/default/grub
# update-grub
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image:/boot/vmlinuz-4.15.0-55-generic
Found initrd image:/boot/initrd.img-4.15.0-55-generic
done
# reboot
# sed -i 's/ens33/eth0/'/etc/netplan/01-netcfg.yaml
2.3 ルートリモートログインを構成する
# デフォルトでは、ubuntuはrootがリモートsshを使用することを許可していません。rootがリモートsshを使用することを許可する必要がある実際のシナリオがある場合は、rootパスワードを設定して編集する必要があります。/etc/ssh/sshd_構成ファイルは次のように変更されます。
~ $ sudo vim /etc/ssh/sshd_config
32 # PermitRootLogin prohibit-password #ログインはデフォルトで無効になっています
33 PermitRootLogin yes #代わりにログインを許可する
57 # PasswordAuthentication yes
58 PasswordAuthentication yes #パスワード認証をオンにします。実際、デフォルトでは、パスワード認証によるログインが許可されています。
~ $ sudo su - root #ルート環境に切り替えます
~# passwd #パスワードを設定してください
Enter newUNIX password:
Retype newUNIX password:
passwd: password updated successfully
~# systemctl restart sshd #sshサービスを再起動し、リモートsshとのルート接続をテストします
2.4 ネットワーク設定
公式文書:https://netplan.io/
17からのUbuntu.10が始まり、あきらめました/etc/network/インターフェイスの構成は固定IPですが、ネットプランモードに変更され、構成ファイルは次のとおりです。/etc/netplan/01-netcfg.yaml
# ubuntu 17.04以前の静的IP構成方法:
~# cat /etc/network/interfaces
root@hechunping:~# cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0 #カードが自動的に起動します。IPを設定するカードの実際の名前を入力してください
iface eth0 inet static #静的IPを構成し、実際のカード名を書き込んでIPを構成します
address 172.18.3.12 #IPアドレス
netmask 255.255.0.0 #マスク
gateway 172.18.0.1 #閉じる
dns-nameservers 223.6.6.6 #DNS
dns-nameservers 223.5.5.5
# ネットワークサービスを再起動します
~# /etc/init.d/networking restart
~# systemctl restart networking.service
2.4.1 単一のネットワークカードの静的IPアドレス
root@hechunping:~# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version:2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:[192.168.7.132/24]
gateway4:192.168.7.2
nameservers:
addresses:[223.6.6.6]
root@hechunping:~# netplan apply
2.4.2 複数のネットワークカードの静的IPを構成する
# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version:2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:[172.20.7.34/16]
gateway4:172.20.0.1
nameservers:
addresses:[223.6.6.6]
eth1:
dhcp4: no
addresses:[192.168.7.34/24]
routes:- to:172.20.0.0/16
via:192.168.7.2
# netplan apply
2.4.3 シングルネットワークカードブリッジ
# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version:2
renderer: networkd
ethernets:
eth0:
dhcp4: no
bridges:
br0:
dhcp4: no
addresses:[172.20.7.34/16]
gateway4:172.20.0.1
nameservers:
addresses:[223.6.6.6]
interfaces:- eth0
# netplan apply
2.4.4 マルチNICブリッジ
br0とbr1をそれぞれeth0とeth1にブリッジします。
# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version:2
renderer: networkd
ethernets:
eth0:
dhcp4: no
eth1:
dhcp4: no
bridges:
br0:
dhcp4: no
addresses:[172.20.7.34/16]
gateway4:172.20.0.1
nameservers:
addresses:[223.6.6.6]
interfaces:- eth0
br1:
dhcp4: no
addresses:[192.168.7.34/24]
routes:- to:172.20.0.0/16
via:192.168.7.2
interfaces:- eth1
root@hechunping:~# netplan apply
2.4.5 デュアルネットワークカードボンディング
ブリッジコマンドは事前にインストールする必要があり、2つのネットワークカードは同じネットワークモードを使用します
# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version:2
renderer: networkd
ethernets:
eth0:
dhcp4: no
eth1:
dhcp4: no
bonds:
bond0:
interfaces:- eth0
- eth1
addresses:[172.20.7.34/16]
gateway4:172.20.0.1
nameservers:
addresses:[223.6.6.6,223.5.5.5]
parameters:
mode: active-backup
mii-monitor-interval:100
# poweroff
# netplan apply
2.4.6 デュアルネットワークカードバインディング+ブリッジ
カードバインディングは、カードインターフェイスの冗長性、高可用性、およびポート集約機能を提供し、カードをブリッジしてから、デバイスをブリッジする必要があるサービスに使用するために使用されます。
# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version:2
renderer: networkd
ethernets:
eth0:
dhcp4: no
eth1:
dhcp4: no
bonds:
bond0:
interfaces:- eth0
- eth1
parameters:
mode: active-backup
mii-monitor-interval:100
bridges:
br0:
dhcp4: no
addresses:[172.20.7.34/16]
gateway4:172.20.0.1
nameservers:
addresses:[223.6.6.6,223.5.5.5]
interfaces:- bond0
# netplan apply
2.4.7 内部および外部のマルチネットワークカードバインディング
複数のネットワーク条件下でカードバインディングを実現します。ブリッジング(eth0,eth1)そしてNAT(eth2,eth3)2つのネットワークモード
# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version:2
renderer: networkd
ethernets:
eth0:
dhcp4: no
eth1:
dhcp4: no
eth2:
dhcp4: no
eth3:
dhcp4: no
bonds:
bond0:
interfaces:- eth0
- eth1
addresses:[172.20.7.34/16]
gateway4:172.20.0.1
nameservers:
addresses:[223.6.6.6,223.5.5.5]
parameters:
mode: active-backup
mii-monitor-interval:100
bond1:
interfaces:- eth2
- eth3
addresses:[192.168.7.34/24]
parameters:
mode: active-backup
mii-monitor-interval:100
routes:- to:172.20.0.0/16
via:192.168.7.2
# netplan apply
2.4.8 内部および外部のマルチNICバインディング+ブリッジング
# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version:2
renderer: networkd
ethernets:
eth0:
dhcp4: no
eth1:
dhcp4: no
eth2:
dhcp4: no
eth3:
dhcp4: no
bonds:
bond0:
interfaces:- eth0
- eth1
parameters:
mode: active-backup
mii-monitor-interval:100
bond1:
interfaces:- eth2
- eth3
parameters:
mode: active-backup
mii-monitor-interval:100
bridges:
br0:
dhcp4: no
addresses:[172.20.7.34/16]
gateway4:172.20.0.1
nameservers:
addresses:[223.6.6.6,223.5.5.5]
interfaces:- bond0
br1:
dhcp4: no
addresses:[192.168.7.34/24]
routes:- to:172.20.0.0/16
via:192.168.7.2
interfaces:- bond1
# netplan apply
3 パッケージ管理
3.1 ソフトウェアウェアハウスのアドレスを変更する
アラブクラウドウェアハウスの住所:https://developer.aliyun.com/mirror
Zhongke⤤:http://mirrors.ustc.edu.cn/help/ubuntu.html
清華大学:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
Huawei:https://mirrors.huaweicloud.com/
###### Tsinghuaソース構成######
Ubuntuのソフトウェアソース構成ファイルは/etc/apt/sources.リスト。 TUNAソフトウェアのソースミラーリングを使用するには、システムに付属のファイルのバックアップを作成し、ファイルを次のコンテンツに置き換えます。
# cd /etc/apt/
# cp -p sources.list sources.list.bak
# vim sources.list
# ソースイメージには、apt更新の速度を向上させるためにデフォルトで注釈が付けられています。必要に応じて、コメントを解除できます。
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# プレリリースソフトウェアソース。有効にすることはお勧めしません
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# apt update #ローカルパッケージリストインデックスを更新します。aptリポジトリを変更した後に実行する必要があります
###### Aliソース構成######
# sed -i 's/cn.archive.ubuntu/mirrors.aliyun/'/etc/apt/sources.list
# apt update #ローカルパッケージリストインデックスを更新します。aptリポジトリを変更した後に実行する必要があります
3.2 適切なツールの使用
apt list #aptは、yumリストと同じウェアハウスソフトウェアパッケージをリストします
apt search NAME #インストールパッケージを検索
apt show apache2 #インストールパッケージの詳細を表示する
apt install apache2 #ソフトウェアパッケージをオンラインでインストールする
apt remove apache2 #単一のパッケージをアンインストールしますが、構成ファイルは保持します
apt autoremove apache2 #インストールパッケージを削除し、依存関係を解決します
apt update #ローカルパッケージリストインデックスを更新します。aptリポジトリを変更した後に実行する必要があります
apt purge apache2 #単一のソフトウェアパッケージをアンインストールし、構成ファイルを削除します
apt upgrade #新しいバージョンにアップグレードできるインストール済みのすべてのパッケージをアップグレードします
apt full-upgrade #システム全体をアップグレードし、必要に応じて古いパッケージを削除します。
apt edit-sources #ソースファイルを編集する
apt-cache madison nginx #ウェアハウス内のパッケージのどのバージョンをインストールできるかを確認します
apt install nginx=1.14.0-0ubuntu1.6 #パッケージのインストール時にインストールする特定のバージョンを指定します
3.3 dpkgインストールパッケージ管理
rpm:RPM(Red Hat Package Manager)、Red HatのLinuxディストリビューションに基づくパッケージ管理システムです。これは、rpmパッケージ自体も指します。RPMは、rpmパッケージの管理(インストール、アンインストール、アップグレードなど)に使用されます。
" dpkg "はい"Debian Packager "の省略形,にとって"Debian"特別に開発されたパッケージ管理システムは、ソフトウェアのインストール、更新、および削除を容易にします。 「Debian」からのすべての「Linux」リリースは、「Ubuntu」、「Knoppix」などの「dpkg」を使用します。
dpkg -i gitlab-ce_11.9.8-ce.0_amd64.deb #パッケージをインストールする
dpkg -r gitlab-ce #ソフトウェアパッケージを削除して、構成ファイルを保持します
dpkg -r -P gitlab-ce #ソフトウェアパッケージを削除しても、構成ファイルは保持されません
dpkg -I gitlab-ce_11.9.8-ce.0_amd64.deb #パッケージ情報を表示する
dpkg -c gitlab-ce_11.9.8-ce.0_amd64.deb #パッケージ内のファイルと内容を表示する
dpkg -l #このマシンにインストールされているすべてのソフトウェアを一覧表示します
3.4 oracleJDK環境をセットアップします
# pwd
/usr/local/src
バイナリファイルを解凍し、ソフト接続を設定します。
# tar xf jdk-8u212-linux-x64.tar.gz
# ln -sv /usr/local/src/jdk1.8.0_212 /usr/local/jdk
環境変数を構成します。
# vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
環境変数を再インポートして、以下を確認します。
# source /etc/profile
# java -version
java version "1.8.0_212"Java(TM) SE Runtime Environment(build 1.8.0_212-b10)
Java HotSpot(TM)64-Bit Server VM(build 25.212-b10, mixed mode)
3.5 OpenJDKをインストールします
# apt install openjdk-8-jdk
3.6 一般的なシステムコマンドをインストールする
# apt purge ufw lxd lxd-client lxcfs lxc-common
# apt install iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute gcc openssh-server lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute iotop unzip zip
3.7 システムリソース制限の最適化
# cat /etc/security/limits.conf
# ルートアカウントのリソースのソフト制限とハード制限
root soft core unlimited
root hard core unlimited
root soft nproc 1000000
root hard nproc 1000000
root soft nofile 1000000
root hard nofile 1000000
root soft memlock 32000
root hard memlock 32000
root soft msgqueue 8192000
root hard msgqueue 8192000
# 他のアカウントのソフトおよびハードリソース制限
* soft core unlimited
* hard core unlimited
* soft nproc 1000000* hard nproc 1000000* soft nofile 1000000* hard nofile 1000000* soft memlock 32000* hard memlock 32000* soft msgqueue 8192000* hard msgqueue 8192000
3.8 eカーネルパラメータの最適化
# Controls source route verification
net.ipv4.conf.default.rp_filter =1
net.ipv4.ip_nonlocal_bind =1
net.ipv4.ip_forward =1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route =0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq =0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid =1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies =1
# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables =0
net.bridge.bridge-nf-call-iptables =0
net.bridge.bridge-nf-call-arptables =0
# Controls the default maxmimum size of a mesage queue
kernel.msgmnb =65536
# # Controls the maximum size of a message,in bytes
kernel.msgmax =65536
# Controls the maximum shared segment size,in bytes
kernel.shmmax =68719476736
# # Controls the maximum number of shared memory segments,in pages
kernel.shmall =4294967296
# TCP kernel paramater
net.ipv4.tcp_mem =78643210485761572864
net.ipv4.tcp_rmem =4096873804194304
net.ipv4.tcp_wmem =4096163844194304
net.ipv4.tcp_window_scaling =1
net.ipv4.tcp_sack =1
# socket buffer
net.core.wmem_default =8388608
net.core.rmem_default =8388608
net.core.rmem_max =16777216
net.core.wmem_max =16777216
net.core.netdev_max_backlog =262144
net.core.somaxconn =20480
net.core.optmem_max =81920
# TCP conn
net.ipv4.tcp_max_syn_backlog =262144
net.ipv4.tcp_syn_retries =3
net.ipv4.tcp_retries1 =3
net.ipv4.tcp_retries2 =15
# tcp conn reuse
net.ipv4.tcp_timestamps =0
net.ipv4.tcp_tw_reuse =0
net.ipv4.tcp_tw_recycle =0
net.ipv4.tcp_fin_timeout =1
net.ipv4.tcp_max_tw_buckets =20000
net.ipv4.tcp_max_orphans =3276800
net.ipv4.tcp_synack_retries =1
net.ipv4.tcp_syncookies =1
# keepalive conn
net.ipv4.tcp_keepalive_time =300
net.ipv4.tcp_keepalive_intvl =30
net.ipv4.tcp_keepalive_probes =3
net.ipv4.ip_local_port_range =1000165000
# swap
vm.overcommit_memory =0
vm.swappiness =10
# net.ipv4.conf.eth1.rp_filter =0
# net.ipv4.conf.lo.arp_ignore =1
# net.ipv4.conf.lo.arp_announce =2
# net.ipv4.conf.all.arp_ignore =1
# net.ipv4.conf.all.arp_announce =2
以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。
Recommended Posts