厌倦了登录服务器经常提示有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,只能选择静默安装了。开搞。
要说安装包最方便的方式,莫过于利用Oracle官方的源了。
# cd /etc/yum.repos.d
# wget http://yum.oracle.com/public-yum-ol7.repo
#vim public-yum-ol7.repo
把文件按如下修改:
[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
然后运行oracle-database-server-12cR2-preinstall安装依赖包。
#yum install oracle-database-server-12cR2-preinstall
如果有问题可以采用以下方式。
#vim req-rpm.txt
在文件输入以下包名。
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
保存退出后,运行以下命令安装。
#yum install `awk ‘{print $1}’ req-rpm.txt`
#vim /etc/sysctl.conf
增加以下内容:
–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
使用内核参数生效
#/sbin/sysctl -p
#vim /etc/security/limits.conf
–shell limits for users oracle 12C
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
#cat /etc/selinux/config
确认SELINUX设置如下:
SELINUX=permissive
setenforce Permissive
#service iptables stop
#chkconfig iptables off
#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
#su oracle
#unzip linuxx64_12201_database.zip
在解压文件夹的/database/response目录下,复制db_install.rsp文件到/home/oracle/oinstall/oracle/database目录下。
#vim db_install.rsp
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
#./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
完成数据库软件安装。
类似上面步骤,复制dbca.rsp到当前目录。
#vim dbca.rsp
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
#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
完成数据库创建。
类似上面步骤,复制netca.rsp到当前目录。
#netca -silent -responseFile netca.rsp
完成安装后,验证监听器状态正常。
#lsnrctl status
对于度娘百度云的鸡贼限速实在无话可说,对于合作伙伴把ISO文件放在度盘让俺去下载的丧心病狂行径更加是深恶痛绝。哥忍着病疼周末加班处理问题居然要花大量时间去等工具下载完成。叔可忍婶不可忍,只能想办法把东西下载回来。
开搞。
在https://github.com/acgotaku/BaiduExporter下载BaiduExporter.crx,手动安装到Chrome。
sudo apt-get install aria2
打开度盘,选中你要下载的文件,选择导出下载菜单的文本导出。把显示的文件内容复制下来,然后在粘贴到命令框即可下载。
如果被度娘断开连接,可以重新输入命令实现断点续传。
好久没写东西,强迫自己水一个。最近有报道说黑客利用Weblogic Server的漏洞去挖矿,获得了至少611个门罗币(XMR),总价值达到了22.6万美元。第一反应是把自家的服务器打上补丁,打了patch后想看看有没有生效,才发现以前”java -weblogic.version”的方法不好使了。
放狗搜了一把,才知道从weblogic版本12.1.2.0.0后,因为使用opatch的方式统一管理补丁,所以查看PSU的方式也改变了。
依据Doc ID 1676652.1的方法如下:
cd $MW_HOME/OPatch
./opatch lsinventory
从Weblogic控制台可以看到当前的Weblogic版本:
Go to the Servers link
Customize this table
Check the WebLogic Version box and add it to the right side
Click Apply
一直习惯用Sublime里写代码,最近为了调试几个JET程序,想装个Netbeans 8.2,结果运行安装程序时,却出现一个奇怪的错误。
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (0x000000001921b800): JavaThread "Swing-Shell" daemon [_thread_in_native, id=6636, stack(0x000000001a1e0000,0x000000001a2e0000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000000
Registers:
RAX=0x0000000000000000, RBX=0x000000001a2df130, RCX=0x0000000000000000, RDX=0x0000000000cc8700
RSP=0x000000001a2df0d8, RBP=0x000000001a2df2c0, RSI=0x00000000000000e0, RDI=0x000000001921b9f8
R8 =0x0000000000cc8700, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x000000001a2dc2f0
R12=0x0000000000000000, R13=0x000000001a2df2e0, R14=0x000000001a2df2a8, R15=0x000000001921b800
RIP=0x0000000056926adf, EFLAGS=0x0000000000010246
......
然后安装程序自动退出。
把公司的内容管理系统全面迁移到Docker上重新部署,把备份的归档文件导入时发现报错没法导入,最后把自定义的元数据去掉后导入成功。但是原来利用文件类型的层级关系定义了很多子类型,都去掉的话很多查询的条件不能使用,积累的内容基本废了一半。
近期评论