厌倦了登录服务器经常提示有N个补丁需要更新,需要重新启动之类的,可以通过服务器自动更新解决。

1.安装自动更新支持包

安装unattended-upgrades包。

sudo apt install unattended-upgrades

2.配置自动更新

编辑配置文件

sudo vi /etc/apt/apt.conf.d/50unattended-upgrades

该文件前半段长这样子:

最重要的是把“updates”这一行注释去掉。

“${distro_id}:${distro_codename}-updates”;

建议把自动清理不用内核文件的行也同时打开。

Unattended-Upgrade::Remove-Unused-Kernel-Packages “true”;
Unattended-Upgrade::Remove-Unused-Dependencies “true”;

自动重启及时间看个人喜好打开。

3.启用自动更新

sudo vi /etc/apt/apt.conf.d/20auto-upgrades

按需要修改内容

APT::Periodic::Update-Package-Lists “1”;
APT::Periodic::Download-Upgradeable-Packages “1”;
APT::Periodic::AutocleanInterval “3”;
APT::Periodic::Unattended-Upgrade “1”;

4.确认是配置是否起作用

用dry run方式看自动更新配置是否起作用

sudo unattended-upgrades –dry-run –debug

习惯于从Oracle的github站点下载dockerfile,修改后生成自己所需的镜像。但是最近有个项目,自己生成镜像文件后发现磁盘居然满了,连容器都没法跑起来。查了一下镜像占用的磁盘空间,一下子被数字吓到了。


$ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE


1c98d8816e19 About an hour ago 3.57GB


localhost/oracle/soasuite 12.2.1.3 078faf1a877d 7 days ago 13.5GB


oracle/fmw-infrastructure 12.2.1.3 d37d67bf7981 8 days ago 5.56GB


oracle/database 18.3.0-ee d9b807a62d9b 2 weeks ago 18GB

被动辄10几个G镜像,这容器怎么跑。但是为了项目可以快速测试,也只能想办法减少镜像的尺寸。看到github上有人吐槽这个问题,O记的工程师建议是去Oracle Container Registry上pull镜像。

去https://container-registry.oracle.com看了一眼,发现同样的image确实要小很多。于是从善如流,决定pull镜像下来用。

先login到站点


docker login container-registry.oracle.com

输入用户名密码后,运行pull镜像命令,连续试了几次都是报了镜像not found: does not exist or no pull access的错。

查了老半天原因,最后发现原来坑爹的O记是需要在Oracle Container Registry的页面上接受协议,才能有下载到镜像。

登录网站,在你需要下载的镜像页面点击协议,在弹出窗口接受协议,然后页面会显示当前用户协议的有效时间。再到系统里用命令pull镜像,正常下载。

一无聊又搞事情,把一台CentOS机器直接从6升级到7,结果升级后要安装东西时,用yum update出现了错误,显示python(abi) = 2.6 is needed by (installed) python-argparse-1.2.1-2.el6.centos.noarch。

放狗搜了半天,试了几种方法还是搞不好。仔细分析具体信息,应该是系统残留的CentOS6包导致的,删除所有的el6包解决问题。

rpm --erase --nodeps $(for pkg in $(rpm -qa | grep '\.el[56]\.' | grep -v kmod | grep -v kernel); do rpm -q $pkg --qf '%{NAME} ' ; done)

最近开始把VS Code做为主力代码编辑器,结果在MAC上每次打开总提示

Git installation not found.

没有就装呗,打开Console,Git显示

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

重装Xcode command line tool解决

xcode-select  --install

Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。

在安装或者维护数据库的过程中,可以通过DBCA对CDB进行静默删除(别问我为什么知道:))。步骤如下:

#dbca -silent -deleteDatabase -sourceDB CDB数据库名

耐心等待至命令完成,正常情况下会出现以下提示:

 
Connecting to database
4% complete
9% complete
14% complete
19% complete
23% complete
28% complete
47% complete
Updating network configuration files
52% complete
Deleting instance and datafiles
76% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/condb0.log" for further details.

一客户升级系统,准备把数据库升级到12C,操作系统切换到Redhat 7,而他们家系统管理员不但不熟Oracle数据库,还不熟Linux。只好请客户开了个Teamview连接,远程帮他们安装系统。因为连Linux都是供应商帮忙装了,没有装X window,只能选择静默安装了。开搞。

[heading]安装依赖包[/heading]

要说安装包最方便的方式,莫过于利用Oracle官方的源了。

# cd /etc/yum.repos.d

# wget http://yum.oracle.com/public-yum-ol7.repo

#vim public-yum-ol7.repo

把文件按如下修改:

[highlight dark=”no”][ol7_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL7/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=0
enabled=1[/highlight]

然后运行oracle-database-server-12cR2-preinstall安装依赖包。

#yum install oracle-database-server-12cR2-preinstall

如果有问题可以采用以下方式。

#vim req-rpm.txt

在文件输入以下包名。

[highlight]binutils
compat-libcap1
compat-libstdc++-33
gcc
gcc-c++
glibc
glibc-devel
ksh
libgcc
libstdc++
libstdc++-devel
libaio
libaio-devel
libXext
libXtst
libX11
libXau
libxcb
libXi
make
sysstat
libXmu
libXt
libXv
libXxf86dga
libdmx
libXxf86misc
libXxf86vm
xorg-x11-utils
xorg-x11-xauth[/highlight]

保存退出后,运行以下命令安装。

#yum install `awk ‘{print $1}’  req-rpm.txt`

[heading]配置系统参数[/heading]

#vim /etc/sysctl.conf

增加以下内容:

[highlight]–kernel parameters for 12C installation
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500[/highlight]

使用内核参数生效

#/sbin/sysctl -p

#vim /etc/security/limits.conf

–shell limits for users oracle 12C

[highlight]oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768[/highlight]

#cat /etc/selinux/config

确认SELINUX设置如下:

[highlight dark=”no”]SELINUX=permissive
setenforce Permissive
[/highlight]

#service iptables stop

#chkconfig iptables off

[heading]创建oracle用户和组[/heading]

#groupadd -g 54321 oinstall

#groupadd -g 54322 dba

#groupadd -g 54323 oper

#useradd –u 54321 –g oinstall –G dba,oracle,oper

#passwd oracle

#mkdir –p /u01
#chown oracle:dba /u01
#chmod 775 /u01

[heading]安装数据库[/heading]

#su oracle

#unzip linuxx64_12201_database.zip

在解压文件夹的/database/response目录下,复制db_install.rsp文件到/home/oracle/oinstall/oracle/database目录下。

#vim db_install.rsp

[highlight]oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true[/highlight]

#./runInstaller -silent -responseFile
/home/oracle/oinstall/database/db_install.rsp

完成数据库软件安装,切到root用户,运行以下脚本。

# /u01/app/oraInventory/orainstRoot.sh

#/u01/app/oracle/product/12.2.0.1/dbhome_1/root.sh

完成数据库软件安装。

[heading]静默创建数据库[/heading]

类似上面步骤,复制dbca.rsp到当前目录。

#vim dbca.rsp

[highlight]gdbName=orcl
sid=orcl
databaseConfigType=SI
createAsContainerDatabase=false
templateName=General_Purpose.dbc
sysPassword=oracle12C
systemPassword=oracle12C
emConfiguration=NONE
datafileDestination=/u01/oradata
recoveryAreaDestination=/u01/recovery_area
storageType=FS
characterSet=AL32UTF8
sampleSchema=TRUE[/highlight]

#export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/dbhome_1

#export PATH=$ORACLE_HOME/bin:$PATH.

#dbca -silent -createDatabase -responseFile dbca.rsp

完成数据库创建。

[heading]创建监听器[/heading]

类似上面步骤,复制netca.rsp到当前目录。

#netca -silent  -responseFile netca.rsp

完成安装后,验证监听器状态正常。

#lsnrctl status

对于度娘百度云的鸡贼限速实在无话可说,对于合作伙伴把ISO文件放在度盘让俺去下载的丧心病狂行径更加是深恶痛绝。哥忍着病疼周末加班处理问题居然要花大量时间去等工具下载完成。叔可忍婶不可忍,只能想办法把东西下载回来。

开搞。

 

[heading]1.先安装Chrome百度网盘助手插件[/heading]

在https://github.com/acgotaku/BaiduExporter下载BaiduExporter.crx,手动安装到Chrome。

 

 

[heading]2.安装Aria2[/heading]

[highlight dark=”no”]sudo apt-get install aria2[/highlight]

 

 

[heading]3.下载文件[/heading]

打开度盘,选中你要下载的文件,选择导出下载菜单的文本导出。把显示的文件内容复制下来,然后在粘贴到命令框即可下载。

 

如果被度娘断开连接,可以重新输入命令实现断点续传。

好久没写东西,强迫自己水一个。最近有报道说黑客利用Weblogic Server的漏洞去挖矿,获得了至少611个门罗币(XMR),总价值达到了22.6万美元。第一反应是把自家的服务器打上补丁,打了patch后想看看有没有生效,才发现以前”java -weblogic.version”的方法不好使了。

放狗搜了一把,才知道从weblogic版本12.1.2.0.0后,因为使用opatch的方式统一管理补丁,所以查看PSU的方式也改变了。

依据Doc ID 1676652.1的方法如下:

[highlight dark=”no”]cd $MW_HOME/OPatch
./opatch lsinventory[/highlight]

从Weblogic控制台可以看到当前的Weblogic版本:

[highlight dark=”no”]Go to the Servers link
Customize this table
Check the WebLogic Version box and add it to the right side
Click Apply[/highlight]