作者: reistlin
来源: http://www.reistlin.com/blog/436
更新时间: 2023.05
版权声明: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要

linux.gif

一,升级 CentOS 6 openssl 1.0.2u

查看 CentOS 6 openssl 版本,默认为 1.0.1e
也可以用 yum info openssl 查看 CentOS6 默认版本信息

[reistlin@reistlin ~]$ openssl version  
OpenSSL 1.0.1e-fips 11 Feb 2013

wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz --no-check-certificate
tar zxvf openssl-1.0.2u.tar.gz
cd openssl-1.0.2u
./config
make depend
make
make test
make install

默认安装路径:/usr/local/ssl/bin/openssl

安装完成后再次确认版本,升级成功

[reistlin@reistlin ~]$ openssl version
OpenSSL 1.0.2u  20 Dec 2019

二,安装 libressl 2.7.5

wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.7.5.tar.gz --no-check-certificate
tar zxvf libressl-2.7.5.tar.gz
cd libressl-2.7.5
./configure --prefix=/usr/local
make
make install

vim /etc/ld.so.conf
 
/usr/local/lib
/usr/local/lib64

ldconfig -v

三,安装 CentOS 6 Python 3.8.9

wget https://www.python.org/ftp/python/3.8.9/Python-3.8.9.tgz
tar zxvf Python-3.8.9.tgz
cd Python-3.8.9

vim Modules/Setup

取消下面 4 行注释,启用 libressl

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

./configure --prefix=/usr/local/python3 --enable-optimizations --with-openssl=/usr/local/ssl/
make
make install

四,解决 CentOS 6 编译安装 Python 3.8.9 openSSL 报错问题:

Could not build the ssl module! Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host(). LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381

作者: reistlin
来源: http://www.reistlin.com/blog/434
更新时间: 2023.02
版权声明: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要

linux.gif

一,Ubuntu 16.04.7 配置(VMware x86 64bit)

1,下载安装 Ubuntu 16.04,内核版本 4.4(非常重要!需要与群晖 Synology DSM 6.2.4 版本一致

uname -a
Linux ubuntu 4.4.0-186-generic #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/os-release
 
NAME="Ubuntu"
VERSION="16.04.7 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.7 LTS"
VERSION_ID="16.04"

2,安装 ubuntu 编译环境

apt-get install --no-install-recommends gettext build-essential autoconf libtool libpcre3-dev asciidoc xmlto libev-dev libc-ares-dev automake libmbedtls-dev libsodium-dev pkg-config

3,交叉编译安装 libsodium-1.0.16,安装路径: /usr

下载 Synology DSM 6.2.4 Tool Chains 环境
选择 DS220+ 对应的 Intel x86 Linux 4.4.59 (GeminiLake) 目录
选择 geminilake-gcc493_glibc220_linaro_x86_64-GPL.txz 下载

wget https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%206.2.4%20Tool%20Chains/Intel%20x86%20Linux%204.4.59%20%28GeminiLake%29/geminilake-gcc493_glibc220_linaro_x86_64-GPL.txz/download
tar Jxvf geminilake-gcc493_glibc220_linaro_x86_64-GPL.txz
cd x86_64-pc-linux-gnu

配置环境变量,启用 DSM 6.2.4 Tool Chains 交叉编译 libsodium-1.0.16

export PATH="/root/x86_64-pc-linux-gnu/bin:$PATH"
export CC=/root/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc
export LD=/root/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld
export RANLIB=/root/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ranlib
export CFLAGS="-I/root/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/include"
export LDFLAGS="-L/root/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/lib"

交叉编译安装 libsodium-1.0.16,安装路径: /usr

wget https://download.libsodium.org/libsodium/releases/old/libsodium-1.0.16.tar.gz
tar zxvf libsodium-1.0.16.tar.gz
cd libsodium-1.0.16
./configure --prefix=/usr
make
make install
ldconfig

4,编译安装 mbedtls-2.6.1,安装路径: /usr

wget https://codeload.github.com/Mbed-TLS/mbedtls/tar.gz/refs/tags/mbedtls-2.6.1
tar zxvf mbedtls-mbedtls-2.6.1.tar.gz
cd mbedtls-mbedtls-2.6.1
make SHARED=1 CFLAGS="-O2 -fPIC"
make DESTDIR=/usr install
ldconfig

5,编译安装 shadowsocks-libev,安装路径: /root/shadowsocks

wget https://github.com/shadowsocks/shadowsocks-libev/releases/download/v3.3.5/shadowsocks-libev-3.3.5.tar.gz
tar zxvf shadowsocks-libev-3.3.5.tar.gz 
cd shadowsocks-libev-3.3.5
autoreconf --install --force
./configure --prefix=/root/shadowsocks --with-sodium-include=/usr/include --with-sodium-lib=/usr/lib --with-mbedtls-include=/usr/include --with-mbedtls-lib=/usr/lib
make
make install

注意!./configure 需要指定 libsodium-1.0.16 和 mbedtls-2.6.1 的 include 和 lib 路径,否则 make 时会报错

ss_local-aead.o: In function `aead_cipher_decrypt'''':
/root/pkgs/shadowsocks-libev-3.3.5/src/aead.c:239: undefined reference to `crypto_aead_xchacha20poly1305_ietf_decrypt''''
ss_local-aead.o: In function `aead_cipher_encrypt'''':
/root/pkgs/shadowsocks-libev-3.3.5/src/aead.c:192: undefined reference to `crypto_aead_xchacha20poly1305_ietf_encrypt''''
collect2: error: ld returned 1 exit status

6,复制 ubuntu 系统 so 文件到 /root/shadowsocks/lib/ 目录,用于后续群晖 DSM 6.2.4 系统正常运行依赖。总计 4 个文件:

libev.so.4.0.0
libpcre.so.3.13.2
libsodium.so.23.1.0
libmbedcrypto.so.0

cd /root/shadowsocks/lib/
cp -a /usr/lib/x86_64-linux-gnu/libev.so.4.0.0 .
cp -a /lib/x86_64-linux-gnu/libpcre.so.3.13.2 .
cp -a /usr/lib/libsodium.so.23.1.0 .
cp -a /usr/lib/libmbedcrypto.so.0 .

7,新建 shell 脚本,用于后续 so 文件 symbolic link 到群晖 DSM 6.2.4 系统 /usr/lib/ 目录

vim /root/shadowsocks/lib/libshadowsocks-libev.sh
 
#!/bin/sh
 
ln -s /root/shadowsocks/lib/libev.so.4.0.0 /usr/lib/libev.so.4
ln -s /root/shadowsocks/lib/libpcre.so.3.13.2 /usr/lib/libpcre.so.3
ln -s /root/shadowsocks/lib/libsodium.so.23.1.0 /usr/lib/libsodium.so.23
ln -s /root/shadowsocks/lib/libmbedcrypto.so.0 /usr/lib/libmbedcrypto.so.0

chmod 755 /root/shadowsocks/lib/libshadowsocks-libev.sh

8,完成所有配置,压缩打包 /root/shadowsocks 目录为 shadowsocks.tar.gz,下载。

cd /root
tar zcvf shadowsocks.tar.gz shadowsocks

二,群晖 DS220+ 配置(Synology DS220+ Intel Celeron J4025 Geminilake)

1,将 shadowsocks.tar.gz 上传至群晖 DS220+

2,切换群晖 root 用户

sudo -i

3,进入 root 目录,解压缩 shadowsocks.tar.gz
运行 shadowsocks/lib 目录下的 libshadowsocks-libev.sh
将 so 文件 symbolic link 到 /usr/lib/

cd /root
tar zxvf shadowsocks.tar.gz
cd shadowsocks/lib
./libshadowsocks-libev.sh

4,正式启动,运行 ss-local,-c 参数指定 jsoin 配置文件,-f 参数指定 pid 文件
默认加密方法:chacha20-ietf-poly1305

cd /root/shadowsocks/bin/
./ss-local -c /root/shadowsocks/etc/ss.json -f /root/shadowsocks/etc/ss.pid

作者: reistlin
来源: http://www.reistlin.com/blog/432
更新时间: 2023.01
版权声明: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要

linux.gif

Lets Encrypt 是一家免费、开放、自动化的证书颁发机构(CA),为公众的利益而运行。它是一项由 Internet Security Research Group (ISRG) 提供的服务。

免费:任何拥有域名的人都可以使用 Lets Encrypt 免费获取受信的证书。

自动化:运行于服务器上的软件可以与 Lets Encrypt 直接交互,以便轻松获取证书,安全地配置它,并自动进行续期。

安全:Lets Encrypt 将成为一个推动 TLS 安全最佳实践发展的平台,无论是作为一个证书颁发机构(CA)还是通过帮助网站运营商正确地保护其服务器。

透明:所有颁发或吊销的证书将被公开记录,供任何人查阅。

开放:自动签发和续订协议已经发布作为其他人可以采用的开放标准。

乐于合作:就像互联网底层协议本身一样,Lets Encrypt 是为了让整个互联网社区受益而做出的共同努力,它不受任何单一组织的控制。Lets Encrypt 是为了让整个互联网社区受益而做出的共同努力,它不受任何单一组织的控制。

通过 acme.sh 实现 ACME (Automatic Certificate Management Environment) 协议,生成免费 SSL 证书并自动 Renew 续期。

自动化证书管理环境(ACME)是用于自动验证 X.509 证书的域验证,安装和管理的标准协议。 ACME 协议由 Internet 安全研究小组设计,并在 IETF RFC 8555。作为具有许多可用的客户端实现的文档齐全的开放标准,ACME 被广泛用作企业证书自动化解决方案。

一,下载安装 acme.sh

curl https://get.acme.sh | sh -s email=test@reistlin.com

默认安装路径:~/.acme.sh/
举例:/home/reistlin/.acme.sh/

二,设置证书颁发机构 Lets Encrypt

acme.sh --set-default-ca --server letsencrypt

三,生成证书

acme.sh --issue -d reistlin.com -d www.reistlin.com --webroot /home/wwwroot/

-d 参数指定默认域名和 www 域名
--webroot 参数指定网站根目录

举例:申请成功,证书保存在 /home/reistlin/.acme.sh/reistlin.com_ecc 目录

2023年 01月 30日 星期一 17:24:39 CST] Your cert is in: /home/reistlin/.acme.sh/reistlin.com_ecc/reistlin.com.cer
[2023年 01月 30日 星期一 17:24:39 CST] Your cert key is in: /home/reistlin/.acme.sh/reistlin.com_ecc/reistlin.com.key
[2023年 01月 30日 星期一 17:24:39 CST] _on_issue_success

四,配置证书

举例:Nginx SSL 配置

server {
    listen       443 ssl http2;
    server_name  reistlin.com  *.reistlin.com;
 
    ssl_certificate            /etc/nginx/conf.d/reistlin.com.cer;
    ssl_certificate_key        /etc/nginx/conf.d/reistlin.com.key;
    ssl_session_cache          shared:SSL:1m;
    ssl_session_timeout        5m;
}

五,自动续期

Lets Encrypt 免费 SSL 证书有效期 90 天,通过 acme.sh 配置系统 crontab 任务自动 Renew 续期:

系统 crontab 任务:

crontab -l
15 0 * * * "/home/reistlin/.acme.sh"/acme.sh --cron --home "/home/reistlin/.acme.sh" > /dev/null

crontab 每天 0 点 15 分自动检测证书有效性,到期自动 Renew 续期:

[2023年 01月 30日 星期一 21:26:51 CST] ===Starting cron===
[2023年 01月 30日 星期一 21:26:51 CST] Renew: "reistlin.com"
[2023年 01月 30日 星期一 21:26:51 CST] Renew to Le_API=https://acme-v02.api.letsencrypt.org/directory
[2023年 01月 30日 星期一 21:26:51 CST] Skip, Next renewal time is: 2023-03-30T09:24:39Z
[2023年 01月 30日 星期一 21:26:51 CST] Add "--force" to force to renew.
[2023年 01月 30日 星期一 21:26:51 CST] Skipped reistlin.com_ecc
[2023年 01月 30日 星期一 21:26:51 CST] ===End cron===

作者: reistlin
来源: http://www.reistlin.com/blog/431
更新时间: 2018.01
版权声明: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要

redhat.gifcentos.gif

# install RPM

yum install autoconf automake apr-util bind-utils curl gcc httpd-tools jwhois libtool libgssapi-devel lrzsz make mtr ntsysv openldap-devel openssl-devel pam-devel perl rpm-build screen sysstat tcpdump tcp_wrappers-devel tcp_wrappers-libs vim wget zlib-devel

# add user

useradd -u 500 reistlin; echo "密码" | passwd reistlin --stdin

# disable ipv6

echo "install ipv6 /bin/true" >> /etc/modprobe.d/disable-ipv6.conf
echo "IPV6INIT=no" >> /etc/sysconfig/network

# disable iptables

sed -i "/SELINUX/s/enforcing/disabled/" /etc/selinux/config
/etc/init.d/iptables stop
iptables -P INPUT ACCEPT
iptables -F
chkconfig iptables off
chkconfig ip6tables off

# libraries

echo "/usr/local/lib" >> /etc/ld.so.conf
echo "/usr/local/lib64" >> /etc/ld.so.conf

# DNS

cat >>/etc/resolv.conf <<EOF
 
# Google DNS
nameserver 8.8.8.8
nameserver 8.8.4.4
EOF

# timezone

cp -a /etc/localtime /etc/localtime.default
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# profile

cat >>/etc/profile <<EOF
 
# HisttimeFormat
HISTFILESIZE=2048
HISTSIZE=2048
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export HISTTIMEFORMAT
 
# Editor
export EDITOR=vim
 
# LANG
export LANG=zh_CN.UTF-8
EOF

# crontab

cat >>/var/spool/cron/root <<EOF
 
# m h  dom mon dow   command
#* * * * * /root/crontab/nginx.sh > /dev/null 2>&1
#* * * * * /root/crontab/php-fpm.sh > /dev/null 2>&1
#* * * * * /root/crontab/mysqld.sh > /dev/null 2>&1
#* * * * * /root/crontab/stunnel.sh > /dev/null 2>&1
#* * * * * /root/crontab/squid.sh > /dev/null 2>&1
#* * * * * /root/crontab/ss5.sh > /dev/null 2>&1
#* * * * * /root/crontab/kcp.ss.sh > /dev/null 2>&1
#* * * * * /root/crontab/kcp.squid.sh > /dev/null 2>&1
 
# NTP
59 1 * * * /usr/sbin/ntpdate 0.centos.pool.ntp.org > /dev/null 2>&1
59 2 * * * /usr/sbin/ntpdate 1.centos.pool.ntp.org > /dev/null 2>&1
59 3 * * * /usr/sbin/ntpdate 2.centos.pool.ntp.org > /dev/null 2>&1
EOF

# sshd

sed -i "s/#Port 22/Port 端口/" /etc/ssh/sshd_config
sed -i "s/#ListenAddress 0.0.0.0/ListenAddress 0.0.0.0/" /etc/ssh/sshd_config
sed -i "s/#PermitRootLogin yes/PermitRootLogin no/" /etc/ssh/sshd_config
sed -i "s/#StrictModes yes/StrictModes yes/" /etc/ssh/sshd_config

# logrotate

sed -i "s/rotate 1/rotate 6/" /etc/logrotate.conf
sed -i "s/rotate 4/rotate 12/" /etc/logrotate.conf

作者:

王勃(649或650~676或675年),唐代诗人。汉族,字子安。绛州龙门(今山西河津)人。王勃与杨炯、卢照邻、骆宾王齐名,世称“初唐四杰”,其中王勃是“初唐四杰”之首。

  豫章故郡,洪都新府。星分翼轸,地接衡庐。襟三江而带五湖,控蛮荆而引瓯越。物华天宝,龙光射牛斗之墟;人杰地灵,徐孺下陈蕃之榻。雄州雾列,俊采星驰。台隍枕夷夏之交,宾主尽东南之美。都督阎公之雅望,棨戟遥临;宇文新州之懿范,襜帷暂驻。十旬休假,胜友如云;千里逢迎,高朋满座。腾蛟起凤,孟学士之词宗;紫电青霜,王将军之武库。家君作宰,路出名区;童子何知,躬逢胜饯。

  时维九月,序属三秋。潦水尽而寒潭清,烟光凝而暮山紫。俨骖騑于上路,访风景于崇阿。临帝子之长洲,得仙人之旧馆。层峦耸翠,上出重霄;飞阁流丹,下临无地。鹤汀凫渚,穷岛屿之萦回;桂殿兰宫,即冈峦之体势。

  披绣闼,俯雕甍,山原旷其盈视,川泽纡其骇瞩。闾阎扑地,钟鸣鼎食之家;舸舰迷津,青雀黄龙之舳。云销雨霁,彩彻区明。落霞与孤鹜齐飞,秋水共长天一色。渔舟唱晚,响穷彭蠡之滨,雁阵惊寒,声断衡阳之浦。

  遥襟甫畅,逸兴遄飞。爽籁发而清风生,纤歌凝而白云遏。睢园绿竹,气凌彭泽之樽;邺水朱华,光照临川之笔。四美具,二难并。穷睇眄于中天,极娱游于暇日。天高地迥,觉宇宙之无穷;兴尽悲来,识盈虚之有数。望长安于日下,目吴会于云间。地势极而南溟深,天柱高而北辰远。关山难越,谁悲失路之人;萍水相逢,尽是他乡之客。怀帝阍而不见,奉宣室以何年?

  嗟乎!时运不齐,命途多舛。冯唐易老,李广难封。屈贾谊于长沙,非无圣主;窜梁鸿于海曲,岂乏明时?所赖君子见机,达人知命。老当益壮,宁移白首之心?穷且益坚,不坠青云之志。酌贪泉而觉爽,处涸辙以犹欢。北海虽赊,扶摇可接;东隅已逝,桑榆非晚。孟尝高洁,空余报国之情;阮籍猖狂,岂效穷途之哭!

  勃,三尺微命,一介书生。无路请缨,等终军之弱冠;有怀投笔,慕宗悫之长风。舍簪笏于百龄,奉晨昏于万里。非谢家之宝树,接孟氏之芳邻。他日趋庭,叨陪鲤对;今兹捧袂,喜托龙门。杨意不逢,抚凌云而自惜;钟期既遇,奏流水以何惭?

  呜乎!胜地不常,盛筵难再;兰亭已矣,梓泽丘墟。临别赠言,幸承恩于伟饯;登高作赋,是所望于群公。敢竭鄙怀,恭疏短引;一言均赋,四韵俱成。请洒潘江,各倾陆海云尔:

  滕王高阁临江渚,佩玉鸣鸾罢歌舞。
  画栋朝飞南浦云,珠帘暮卷西山雨。
  闲云潭影日悠悠,物换星移几度秋。
  阁中帝子今何在?槛外长江空自流。

作者:

李煜(937年8月15日-978年8月13日),或称李后主,为南唐的末代君主,祖籍徐州。李煜原名从嘉,字重光,号锺山隐士、锺峰隐者、白莲居士、莲峰居士等。政治上毫无建树的李煜在南唐灭亡后被北宋俘虏,但是却成为了中国历史上首屈一指的词人,被誉为词圣,作品千古流传。

春花秋月何时了?往事知多少?
小楼昨夜又东风,故国不堪回首月明中。
雕栏玉砌应犹在,只是朱颜改。
问君能有几多愁?恰似一江春水向东流。

作者:林彪
日期:1936-12

一、要勤快。不勤快的人办不好事情,不能当好军事指挥员。应该自己干的事情一定要亲自过目,亲自动手。比如,应该上去看的山头就要爬上去,应该了解的情况就要及时了解,应该检查的问题就要严格检查。不能懒,军事指挥员切忌懒,因为懒会带来危险,带来失败。比方说,一个军事指挥员,到了宿营地就进房子,搞水洗脸洗脚,搞鸡蛋煮面吃,吃饱了就睡大觉。他对住的村子有多大,在什么位置,附近有几个山头周围有几条道路,敌情怎么样,群众条件怎么样,可能发生什么情况,部队到齐了没有,哨位在什么地方,发生紧急情况时的处置预案如何,都不过问,都不知道。这样,如果半夜三更发生了情况,敌人来个突然袭击,就没有办法了。到那种时候,即使平时很勇敢的指挥员,也会束手无策,只好三十六计,跑为上计,结果,变成一个机会主义者。机会主义和打败仗,常常是因为没有思想准备,没有组织准备,工作没有做到家,懒的结果。因此,不论大小指挥员都要勤快,要不惜走路,不怕劳累,要多用脑子,要做到心到、眼到、口到、脚到、手到。事情没有做好以前,不能贪闲。贪闲就隐伏着犯错误的根子。什么事都要心中有底,“凡事预则立,不预则废”。雷打不动的干部,牛皮糖式的干部,不管有多大本事,都不是好干部。

二、要摸清上级的意图。对上级的意图要真正理解,真正融会贯通,真正认识自己所受领的任务在战役、战斗全局中的地位和作用。这样,才能充分发挥自己的主观能动性;才能打破框框,有敢于和善于在新情况中找到新办法的创造性;才能有大勇,才能决心强、决心狠,敢于彻底胜利,有强烈的吞掉敌人的企图和雄心。指挥员的勇敢集中表现在歼敌决心的坚定顽强上面。指挥员的大勇建立在革命的最高自觉性和正确理解上级意图的基础上面。

三、要调查研究。对于敌情、地形、部队的情况和社会情况,要经常做到心中有数。要天天摸,天天琢磨,不能间断。这样做,不能看作是重复,实际上这不是重复,而是不断深化不断提高的过程,是取得正确认识的必不可少的手段。平时积累掌握的情况越多,越系统,在战时,特别是在紧张复杂的情况下,就越沉着,越有办法。急中生智的“智”,才有基础。因此,调查研究工作要贯串在各项工作中,要贯串在每一次战役、战斗的整个过程,反对打莽撞仗、糊涂仗,反对急性病,反对不亲自动手做调查研究的懒汉作风。特别是敌情,必须切实摸透。因为敌情是活的,敌人必然会极力隐蔽、伪装他们的真实企图和行动。要尽一切可能不间断地侦察,查清敌人的部署和动向,看他扮演什么角色?是主角还是配角?是主力还是非主力?是骄兵还是败兵?能集中多大兵力向我们进攻和阻挡我们的进攻。查明敌主官的特性,看他惯用和擅长用什么战法,根据他当前的企图判断他可能采用什么打法,等等。只要摸清了敌情、我情、地形的底,决心就快,就硬,就坚定。就不会被任何假象所迷惑,就不会被任何困难所吓住。如果情况不清,就会犹豫不决,举棋不定,坐失良机,或者勉强下了决心,一遇风吹草动,听到畏难叫苦和不正确的建议,就容易动摇,可能一念之差,前功尽弃。

四、要有个活地图。指挥员和参谋必须熟悉地图,要经常读地图。熟读地图可以产生见解,产生智慧,产生办法,产生信心。读的方法是把图挂起来,搬个凳子坐下来,对着地图看,从大的方向到活动地区,从地区全貌到每一地段的地形特点,从粗读到细读,逐块逐块地读,用红蓝铅笔把主要的山脉、河流、城镇、村庄、道路标划出来,边读,边划,等到地图差不多快划烂了,也就差不多把地图背熟了,背出来了。在熟读地图的基础上,要亲自组织有关指挥员和参谋对作战地区和战场进行实地勘察,核正地图,把战场的地形情况和敌我双方的兵力部署都装至脑子里去,做到闭上眼睛面前就有一幅鲜明的战场图影,离开地图也能指挥作战。这样,在你死我活、瞬息万变的战斗情况下,可以比敌人来得快,争取先机,先敌一着,掌握主动,稳操胜券。

五、要把各方面的问题想够想透。每一次战役、战斗的组织,要让大家提出各种可能出现的问题,要让大家来找答案,而且要从最坏的最严重的情况来找答案。把所有提出来的问题都回答了,再没有问题没有回答的了,这样,打起仗来才不会犯大错误,万一犯了错误,也比较容易纠正。没有得到答案的问题,不能因为想了很久想不出来就把它丢开,留下一个疙瘩。如果这样,是很危险的,在紧要关头,这个疙瘩很可能冒出来,就会使你们心中无数,措手不及。当然,在战争环境中,要考虑的问题很多,不可能一次都提完,也不可能一次都回答完,整个战役、战斗的过程,就是不断提出问题和不断回答问题的过程。有时脑子很疲劳,有的问题可能立即回答不了。这时,除了好好地和别人商量以外,就好好地睡一觉,睡好了,睡醒了,头脑清醒了,再躺在床上好好想一想,就可能开窍,可能想通了,回答了,解决了。总之,对每一个问题不能含糊了事。问题回答完了,战役、战斗的组织才算完成。

六、要及时下决心。在什么样的情况下可以下决心打呢?指挥员必须以最大努力组织战役、战斗的准备工作,力求确有把握才动手,不打无把握之仗。但是任何一次战斗都不可能完全具备各种条件,不可能有百分之百的把握。一般说有百分之七十左右的把握,就很不错了,就要坚决地打,放手地打。不足的条件,要通过充分发挥人的因素的作用,依靠人民群众的力量,充分发挥人民军队特有的政治上的优势,充分发挥指战员的智慧和英勇顽强的战斗作风来弥补,以主观努力来创造条件,化冒险性为创造性,取得胜利。

七、要有一个很好的很团结的班子。领导班子思想认识要一致,行动要协调、合拍,要雷厉风行,要有革命英雄主义的气概。都要勤快,都千方百计地办好事情,完成任务。不互相扯皮,不互相干扰,不抱旁观者的态度。如果领导班子不好,人多不但无用,反而有害。

八、要有一个很好的战斗作风。有好的战斗作风的部队才能打好仗,打胜仗。好的战斗作风首先是不叫苦,抢着去担负最艰巨的任务,英勇顽强,不怕牺牲,猛打猛冲猛追。特别是要勇于穷追。因为把敌人打垮以后,追击是解决战斗、扩大战果、彻底歼灭敌人最关键的一招。在追击时,要跑步追,快步追,走不动的扶着拐棍追,就是爬、滚,也要往前追,只有抓住敌人,才能吃掉敌人。好的战斗作风要靠平时养成,要靠实际锻炼,要在紧张、残酷的战斗中才能锻炼出来。不敢打硬仗、恶仗的部队,让他打几次就打出来了,因为已经见识过硬仗、恶仗的场面,有了体会,有了经验,知道怎么打了,百炼成钢就是这个道理。做工作也要有好的作风,说了就要做,说到那里做到那里,要做得干脆利索,要一竿子插到底,一点不含糊,不做好不撒手。好的作风的养成,关键在于干部。强将手下无弱兵,干部的作风怎么样,部队的作风就会怎么样。因此,首先要抓好干部,要干部做出样子,影响带动部队。只要干部作风好,指挥好战斗,多打胜仗,即使是新建的部队或者原来基础较弱的部队,也会很快打出好作风来,像铁锤一样,砸到那里,那里就碎。

九、要重视政治,亲自做政治工作。部队战斗力的提高要靠平时坚强的党的领导、坚强的政治工作。连队的支部一定要建设好,支部的工作要做活,就是要把所有党团员的革命劲头鼓得足足的,充分发挥他们的模范作用、带头作用,通过他们把全连带动起来,通过他们去做政治工作,提高全体指战员的阶级觉悟。有了坚强的党支部的领导,有了坚强的政治工作,就可以做到一呼百应,争先恐后,不怕牺牲,前赴后继。战术、技术也要练好,特别是技术,如果枪打不准,战场上就不能消灭敌人,就不能解决战斗。因此,军事训练不能马虎,党政工作要领导好训练。艺高人胆大,胆大艺更高,部队有了高度的无产阶级觉悟,有了好的战斗作风,再加上过硬的作战本领,就如虎添翼,就可以无敌于天下。

采编: reistlin
来源: Internet 互联网
更新时间: 2015.07
版权声明: <<了解这个世界>>系列文章.转载请保留作者信息和原文完整.

knowledge.gif

Conseils Solvay.jpg

第三排:奥古斯特·皮卡尔德、亨里奥特、保罗·埃伦费斯特、爱德华·赫尔岑、顿德尔(en:Théophile de Donder)、埃尔温·薛定谔、维夏菲尔特(en:E. Verschaffelt)、沃尔夫冈·泡利、维尔纳·海森堡、拉尔夫·福勒、里昂·布里渊

第二排:彼得·德拜、马丁·努森、威廉·劳伦斯·布拉格、亨德里克·安东尼·克雷默、保罗·狄拉克、阿瑟·康普顿、路易·德布罗意、马克斯·玻恩、尼尔斯·玻尔

第一排:欧文·朗缪尔、马克斯·普朗克、玛丽·居里、亨德里克·洛伦兹、阿尔伯特·爱因斯坦、保罗·朗之万、查尔斯·欧仁·古耶、查尔斯·威耳逊、欧文·理查森

采编: reistlin
来源: Internet 互联网
更新时间: 2015.07
版权声明: <<了解这个世界>>系列文章.转载请保留作者信息和原文完整.

knowledge.gif

各类存储介质的寿命. 包括计算机介质(5寸, 3.5寸软盘, 机械硬盘, SSD硬盘, SD卡, USB闪存), 视频介质(电影胶片, DV磁带, DVD), 音频介质(黑胶唱片, MUSIC磁带, CD)等等. (Updated for 2015)

- 阅读剩余部分 -