顯示具有 centos 7 標籤的文章。 顯示所有文章
顯示具有 centos 7 標籤的文章。 顯示所有文章

2024/06/15

之前裝almalinux9時cpu都直接使用host
今天升級 almalinux 8 to 9 時 出現 cpu 的錯誤
原本使用 Default (kvm64)


訊息中指出cpu未使用 x86-64-v2 這個type
v2以上的type都可以




較舊的cpu 未支援 x86-64-v4 這個指令集
會導致 guest無法開几出現以下錯誤
















此時就必須要往下降為 v3 或 v2 或直接改為 host

由於几器本來就是從centos 7 升到 almalinux 8 所以再升到9時有些流程要注意

升級過程中出現

Error: Transaction test error:
  file /usr/include/gnumake.h from install of make-1:4.3-8.el9.x86_64 conflicts with file from package make-devel-1:4.2.1-11.el8.x86_64
移除 make-devel
rpm -e make-devel-4.2.1-11.el8.x86_64

升級後使用vi時出現

vi /tmp/1

Error detected while processing /etc/virc:
line   40:
E319: Sorry, the command is not available in this version: let skip_defaults_vim=1

刪除 /etc/virc 裡的第40行

let skip_defaults_vim=1

有些几器升級後出現以下的log 有些正常

Jun 15 21:46:29 localhost rsyslogd[593]: imjournal: open() failed for path: '/var/lib/rsyslog/imjournal.state.tmp': Operation not permitted [v8.2310.0-4.el9 try https://www.rsyslog.com/e/2433 ]

比對 /etc/rsyslog.conf發現有不同
複制正常几器的檔案過去就ok了
記得如果原rsyslog.conf有更改 新檔也要改
看起來是之前有改過
所以升級時會保留舊的rsyslog.conf

2023/12/31

之前在把centos 7升級 到 almalinux 8 時一直出現

At least 1645MB more space needed on the / filesystem.

加硬碟再做還是一樣

今天再找了一下

設了一個新的參數

export LEAPP_OVL_SIZE=3500

再執行就成功了

說是xfs的問題

2023/05/03

因應centos 7 的EOS 
最近把 grafana 轉到 debian

grafana 安裝好後移轉資料


Install used plugin on new server

    grafana-cli plugins install grafana-image-renderer
    grafana-cli plugins install grafana-clock-panel
    grafana-cli plugins install grafana-worldmap-panel

Stop Grafana service on source and destination server

Copy /var/lib/grafana/grafana.db from old to new server

Check /etc/grafana/grafana.ini

    以上copy完後要注意檔案擁有者及權限問題

Restart Grafana

Regular connection to the grafana url

Dashboard, datasource, users, psw, team,… are the same


因為之前有在本机開 influxdb
所以移轉

influxd backup /tmp/backup
    
    只備分資料結構不備分資料

influxd restore -metadir /var/lib/influxdb/meta /tmp


本來有開API給遠端撈資料
在9版之後改成 service accounts
所以直接轉換

轉後去後遠端還是撈不到資料 本來以為是key的問題
查了log才發現要補一些package

apt install libglib2.0-0
apt install libnss3
apt install libatk1.0-0
apt install libatk-bridge2.0-0
apt install libcups2
apt install libdrm2
apt install libxkbcommon0
apt install libxcomposite1
apt install libxdamage1
apt install libxfixes3
apt install libxrandr2
apt install libgbm1
apt install libpangocairo-1.0-0
apt install libasound2


目前看來是都正常了




2023/04/14

為了因應centos 7 EOS

今天在轉移程式到 almalinux 9 時 mutt 一直無法寄信

mail server 的log如下

Apr 14 10:09:09 mail postfix/smtpd[523701]: connect from unknown[10.0.0.1]

Apr 14 10:09:09 mail postfix/smtpd[523701]: lost connection after STARTTLS from unknown[10.0.0.1]

看來almalinux 9的mutt 預設會使用 STARTTLS

在 .muttrc 加上以下這行

set ssl_force_tls = no


目前寄信正常了


20240308 後記


轉換到新mail server後 有些mutt又出現不能寄信的狀況

以下是log


Mar  8 06:13:01 mail postfix/smtpd[27212]: warning: TLS library problem: error:0A000126:SSL routines::unexpected eof while reading:ssl/record/rec_layer_s3.c:320:

Mar  8 06:13:01 mail postfix/smtpd[27212]: lost connection after STARTTLS from unknown[10.0.0.1]


必須在.muttrc再加上 set ssl_starttls = no 
包括之前說明的共二行如下

set ssl_force_tls = no
set ssl_starttls = no

目前正常了 再觀察看看

2022/08/17

centos 7 升級至 almalinux 8 流程



yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm

yum install -y leapp-upgrade leapp-data-almalinux

leapp preupgrade

rmmod pata_acpi
rmmod floppy
echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
leapp answer --section remove_pam_pkcs11_module_check.confirm=True

#check any package need to remove if still error


leapp preupgrade


leapp upgrade

2021/08/10

proxmox 升到7後

LXC的 Centos 7 無法開机 出現以下錯誤


WARN: old systemd (< v232) detected, container won't run in a pure cgroupv2 environment! Please see documentation -> container -> cgroup version.

TASK WARNINGS: 1 


解決方法如下



vi /etc/default/grub


I changed this line from,

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

to

GRUB_CMDLINE_LINUX_DEFAULT="systemd.unified_cgroup_hierarchy=0 quiet"


更新grub

update-grub


重開機


https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysboot_edit_kernel_cmdline

https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0#Old_Container_and_CGroupv2

https://pve.proxmox.com/pve-docs/chapter-pct.html#pct_cgroup_compat

https://forum.proxmox.com/threads/unified-cgroup-v2-layout-upgrade-warning-pve-6-4-to-7-0.92459/

2021/08/01

proxmox 升到7後

centos 7 的 LXC 無法開几

出現以下訊息

WARN: old systemd (< v232) detected, container won't run in a pure cgroupv2 environment! Please see documentation -> container -> cgroup version. 

以下連結提供解決方法

不過還是建議升級到centos 8


https://forum.proxmox.com/threads/unified-cgroup-v2-layout-upgrade-warning-pve-6-4-to-7-0.92459/

https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0#Old_Container_and_CGroupv2

https://pve.proxmox.com/pve-docs/chapter-pct.html#pct_cgroup_compat

2019/10/17

今天從proxmox下載新的lxc centos 7 template回來
create後發現root不能登入

pct enter 107

直接進去後再改密碼還是一樣

應該是template有問題了
而且centos 8的template已經上架
直接捉回來用 沒問題

2019/05/20

這几天開始找時間玩 grafana
做個記錄

安裝基本上沒太大問題
這次是裝在centos 7上
從官網下載rpm回來後
rpm -Uhv --test 出現少了几個package
就補一補
很快就裝好了

由於 grafana 支援相當多的datasource 目前先找了二個來試試
首先是graylog裡的elasticsearch 
如果是裝graylog 3的版本
預設elasticsearch只listen在 127.0.0.1 應該是為了安全性的問題
要開放出來

修改 /etc/elasticsearch/elasticsearch.yml
加上
network.host: 0.0.0.0

改好後
systemctl restart elasticsearch.service

接下來在grafana的管理介面上加入 elasticsearch 的datasource
紅色框請特別注意

























接下來就可以新增一個 dashboard 並在dashboard加入panel
選擇剛建立的datasource
預設就會顯示所有的筆數
如果需要挑選資料
可以把條件下在 Query
條件的下法跟 graylog 完全一樣
可以在 Metric 選擇要顯示count 最大 最小 或 加總 等等
Alias 設定圖上的圖線說明












2019/04/20

這几天在proxmox建了一個新的centos 7 LXC來用
在yum update總會出現如下的錯誤

Running transaction
  Updating   : filesystem-3.2-25.el7.x86_64                                1/2
Error unpacking rpm package filesystem-3.2-25.el7.x86_64
error: unpacking of archive failed on file /sys: cpio: chown
  Verifying  : filesystem-3.2-25.el7.x86_64                                1/2
filesystem-3.2-21.el7.x86_64 was supposed to be removed but is not!
  Verifying  : filesystem-3.2-21.el7.x86_64                                2/2

Failed:
  filesystem.x86_64 0:3.2-21.el7         filesystem.x86_64 0:3.2-25.el7     

Complete!

我記得之前也開過centos 7的LXC 並沒有這個問題
於是找了一下 有人說是bug
可是看來像是權限的問題
後來想到container 運行時
可以決定是不是要使用 --privileged
想說會不會是這個問題
於是去看了一下option
發現之前建的LXC是使用--privileged 而這次建的是 nonprivileged
可是在網頁介面上無法去更改這個參數
只能進console去改
路徑在 /etc/pve/nodes/nodename/lxc/guestid.conf裡
先關几

#unprivileged: 1
再開几
再重跑一次yum update就沒問題了
正常使用下是不需要打開 privileged 的 如果需要某些特殊權限才打開
所以記得再 關几 改回去 重開几

不過改完之後發現一堆daemon都起不來了
看來還是在一開始建立的時候就要決定要不要使用privileged
目前proxmox預設的值是不使用 要注意
所以我應該還是會選擇使用 privileged 比較沒有那麼多限制

正確的 privilege 跟 nonprivilege 的轉換方式是使用backup 再restore
restore時可以選擇要不要使用 privilege 模式


LXC跟KVM還是有很多小地方不同 要特別注意

http://dockone.io/question/416

2018/11/17

之前有寫到 security onion
裡面有個好用的 bro ids 可以獨立安裝
已經裝起來跑了一段時間了
效果不錯
做個記錄

首先安裝

我是裝在centos 7上 按照文件把該補的rpm補一下
make 時要花一點時間

裝好後修改
/usr/local/bro/etc/node.cfg
裡的監聽interface (使用port mirror)

然後在/etc/rc.local加上
/usr/local/bro/bin/broctl start 開几啟動

所有的相關記錄會放在
/usr/local/bro/logs/current 
歷史資料會按日期分開
分門別類 相當完整 可以依照個自的需求針對某個檔案進行解析

capture_loss.log  files.log        pe.log      software.log  stderr.log  weird.log
conn.log          http.log         radius.log  ssh.log       stdout.log  x509.log
dns.log           known_hosts.log  smtp.log    ssl.log       syslog.log
dpd.log           notice.log       snmp.log    stats.log     tunnel.log

我是利用rsyslog把需要的資料丟出來到graylog
建立/etc/rsyslog.d/bro.conf

範例如下

$InputFileName /usr/local/bro/logs/current/sip.log
$InputFileTag bro_sip:
$InputFileStateFile stat-bro_sip
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor

# check for new lines every second
$InputFilePollingInterval 1
# To the ELSA test server!:
local7.info @1.2.3.4:514


目前graylog的marketplace只有一個Content Pack 是解析從security onion丟來的log
所以如果要統計一下來源 ip要自己再寫一下extractor
而且因為每個log檔的格式不盡相同
所以要依需求產生不同的extractor

2018/11/02

之前寫過一篇用obs + nginx 來進行串流
最近找到另一個srs 看來也方便的
記錄一下
以下是官方的安裝步驟

Step 1: get SRS
git clone https://github.com/ossrs/srs && cd srs/trunk

Step 2: build SRS, Requires Centos6.x/Ubuntu12 32/64bits, others see Build(CN,EN).

./configure && make

Step 3: start SRS
./objs/srs -c conf/srs.conf

srs.conf 可依需求進行修改

測試的結果在 linux mint 19 x64 上無法編譯成功
在ubuntu 16.04 x64 及 centos 7 x64 是ok的
ubuntu 18.04 沒試

如果要在centos 7上安裝要補一下 rpm

yum install -y gcc gcc-c++ make patch unzip sudo

再來依上述的步驟執行即可
不過要注意的是
執行後會在几器上開三個port 1935 1985 8080
記得用iptables 限制一下
尤其是8080 是web介面

執行完後利用obs把視訊串流上來
步驟參考之前的po文 要改的是串流的url如下圖
改一下server的ip及相關設定




再來使用vlc觀看

vlc rtmp://1.2.3.4/live/livestream

live及livestream對照上面進行修改

目前測試起來 server 上 srs 的 cpu 吃不到 1 %

但obs的串流相當吃cpu 尤其是解析度高的時候

2018/08/17

今天升級ocs 2.5 版的
升級的時候沒有發生什麼問題
但升完後
只要點search 畫面就是一片空白
查一下log 發現

Can't use method return value in write context in /usr/share/ocsinventory-reports/ocsreports/require/search/TranslationSearch.php on line 224, referer: http://1.2.3.4/ocsreports/index.php?first

爬了一下
果然有人問到


有人回答了

The multi-criteria search uses tables that need the minimum php 5.5 version. I advise you to update your php version to 5.5 or higher.

GG

centos 7 官方的php只出到5.4 而且也不想去升
而且有人升完後還要再安裝php-xml 才能用

把昨天的備分倒回去
等官方升到 php 5.5 再說吧

2018/05/09

今天有個新需求
要把apache 的log丟到graylog
找到很多文件
以下的方式算是最簡單的做法

apache跑在centos 上

把以下的內容加到 /etc/rsyslog.conf 或在/etc/rsyslog.d/裡加上一個新的檔案 如 apachelog.conf

$ModLoad imfile

# apache error.log
$InputFileName /var/log/httpd/error_log
$InputFileTag apache-errors:
$InputFileStateFile state_file_error_apache
$InputFileFacility local6
$InputFileSeverity info
$InputRunFileMonitor
$InputFilePollInterval 10

# apache access.log
$InputFileName /var/log/httpd/access_log
$InputFileTag apache-access:
$InputFileStateFile state_file_access_apache
$InputFileFacility local6
$InputFileSeverity info
$InputRunFileMonitor
$InputFilePollInterval 10

if $programname == 'apache-access' then @1.2.3.4:514
& stop
if $programname == 'apache-errors' then @1.2.3.4:514
& stop

依需求修改 log檔的路徑
外部 log server 的ip及port

改完後rsyslogd要重啟



2017/09/14

今天一早上班就有人跟我說網路無法認証
查了一下發現radius 沒起來
再看log發現今天早上centos 7 有很大的更新
其中包含了freeradius的套件
試了几次 daemon就是起不來
後來用 radiusd -X 看訊息如下

rlm_ldap (ldap): Opening additional connection (0), 1 of 32 pending slots used
rlm_ldap (ldap): Connecting to ldap://10.10.10.10:389
rlm_ldap (ldap): Waiting for bind result...
rlm_ldap (ldap): Bind credentials incorrect: Invalid credentials
rlm_ldap (ldap): Server said: NDS error: failed authentication (-669).
rlm_ldap (ldap): Opening connection failed (0)
rlm_ldap (ldap): Removing connection pool
/etc/raddb/mods-enabled/ldap[8]: Instantiation failed for module "ldap"

奇怪為什麼升版前沒問題
升版後就不行了
並沒有去動ldap的config
google了一下發現有類似的情況
問題出在config跟ldap認証的密碼有特殊字元
XD
什麼怪事都有
改掉之後就可以了

再觀察看看

2017/08/31

最近在玩librenms
介面看起來真的滿潮的
而且只要她可以辨認的mib
會把所有相關的資料都顯示出來
連USHA的資料都完全出現
包括電壓 負載 溫度....等
這方面比cacti好用很多
不過目前碰到的問題是還無法餵值來畫圖
另外就是一定要使用snmp來偵測裝置

在測的過程中出現一個狀況
就是alert有出現
email通知的設定也沒錯
但device如果down
在畫面上有看到alert
但就是沒收到mail
之後經過了8小時
才開始發mail








試了半天
還是一樣
後來想說去forum 問問
就在要發問時
系統說要先執行validate.php把結果一起po上去
那就先執行看看

./validate.php
====================================
Component | Version
--------- | -------
LibreNMS  | 1.31.02-3-g4683736
DB Schema | 205
PHP       | 7.0.22
MySQL     | 5.5.52-MariaDB
RRDTool   | 1.4.8
SNMP      | NET-SNMP 5.7.2
====================================

[FAIL]  We have found some files that are owned by a different user than librenms, this will stop you updating automatically and / or rrd files being updated causing graphs to fail.
        [FIX] chown -R librenms:librenms /opt/librenms
/opt/librenms/html/plugins/Weathermap/configs
/opt/librenms/html/plugins/Weathermap/configs/testing.conf
[OK]    Database connection successful
[OK]    Database schema correct
[WARN]  Your install is over 24 hours out of date, last update: Tue, 29 Aug 2017 18:53:05 +0000
[FAIL]  You have a different system timezone (CST) specified to the php configured timezone (UTC), please correct this.

果然有几個問題
一個是權限問題
我在想我是用官方提供的ova
為什麼會有這個問題
再來是時區
因為我有去改os的timezone
但php.ini沒改
難怪會晚了8小時才收到信
這個也改了
再來就是說我版本太舊
不是說每天會固定更新??
算了
手動跑一下daily.sh
目前alert發信看來正常了
再觀察看看

後記
權限改完後
刪除裝置時還是會出現














要嗎就再把rrd改成777
不然就用root去刪
算了
反正刪設備的機會也不多
碰到再用root刪吧

2017/07/09

ocs inventory 2.3.1 release 有段時間了
之前試著升過一次
但升完後有問題
因此就一直先放著
這几天上官網去看了一下
官方在 2017/6/6 已經釋出 RPM repository for RHel/Centos/Fedora
今天想說再來裝一次看看 不過找不到官方的文件 只好自己來try一下
先按照網頁上的指示

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget https://rpm.ocsinventory-ng.org/enterprise/7/x86_64/ocsinventory-release-7-4.el7.ocs.noarch.rpm
yum install ocsinventory-release-7-4.el7.ocs.noarch.rpm epel-release-latest-7.noarch.rpm

安裝完以上二個rpm後 再跑一次yum -y update

再來就要正式開始來裝ocs了

執行的指令如下

yum -y install ocsinventory-server ocsinventory-reports mariadb mariadb-server httpd

其他需要的會自行補上

啟動 httpd mariadb

systemctl start httpd
systemctl start mariadb

mariadb裝完後先設定root passwd

mysqladmin -u root password '你的密碼'

再來登入 mariadb 建立ocsweb 這個db

create database ocsweb

開啟browser 登入 http://ip/ocsreports

按步驟操作

預設登入帳號密碼為 admin admin

登入後第一步當然就是改密碼
這時問題就來了
改完後竟然沒作用
看了一下log才發現問題

[Sun Jul 09 09:21:02.989877 2017] [:error] [pid 11198] [client 10.0.0.6:33592] PHP Warning:  scandir(/usr/share/ocsinventory-reports/ocsreports/config/profiles): failed to open dir: No such file or directory in /usr/share/ocsinventory-reports/ocsreports/require/function_users.php on line 30, referer: http://10.0.0.245/ocsreports/index.php?function=admin_add_profile

路徑不存在
之前手動安裝從來沒碰過這個問題
找了一下發現上述的路徑在安裝後是放在
/var/lib/ocsinventory-reports/config
而不是config上的路徑
所以做個link

cd /usr/share/ocsinventory-reports/ocsreports
ln -s /var/lib/ocsinventory-reports/config

目前大致上看來是ok了
明天再來移過來新的几器
看看有沒有什麼其他的問題

2017/05/10

之前在centos上執行python的cgi都沒問題
但移植到ubuntu 16.04上後一直出現如下的error

File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 210, in execute
    query = query % args
TypeError: not all arguments converted during string formatting

程式完全一樣都沒改啊

google了半天 才解決問題
差異如下

ubuntu 16.04

sql = "delete from abc where ip=%s"
cursor.execute(sql, [ip])

變數一定要用 [ ] 包住

centos 7

sql = "delete from abc where ip=%s"
cursor.execute(sql, ip)


http://stackoverflow.com/questions/21740359/python-mysqldb-typeerror-not-all-arguments-converted-during-string-formatting

2016/03/22

為了預先解決centos 5到明天支援到期的問題
今天來把原先提供下載服務的机器升成centos 7
比較難處理的是原本提供kms認証的部分
几個跟原centos 5不同的地方記錄一下

原本apache用來ldap認証的模組換成 mod_ldap

寫法也有一些改變 範例如下 (novell 適用)

<Directory /var/www/html/test>
    AuthName ldap
    AuthType Basic
    AuthBasicProvider ldap
    AuthLDAPURL ldap://test.com.tw:389/o=users?cn?sub?(objectClass=*)
    AuthLDAPBindDN "cn=user01, ou=user, ou=people, o=users"
    AuthLDAPBindPassword password
    Require valid-user
</Directory>

ip forword的寫法也改了

在/etc/sysctl.conf 加上
net.ipv4.ip_forward = 1

重新載入
sysctl -p /etc/sysctl.conf


因為需要使用apche這個身分下iptables的指令
所以要編輯 /etc/sudoers
Defaults    requiretty 改為 Defaults:apache !requiretty apache不需要tty

再加上
User_Alias      APACHE = apache
Cmnd_Alias      FIREWALL = /sbin/iptables

APACHE  ALL = (ALL) NOPASSWD: FIREWALL

原來的firewalld要停掉 改用iptables

systemctl disable firewalld
yum install -y iptables-services
systemctl enable iptables

http://my.oschina.net/fsxchen/blog/134601
http://superuser.com/questions/803741/how-to-enable-ip-masquerading-forwarding-on-centos-7

2016/02/17

今天在config centos 7的vsftpd

主要几個地方

不允許anonymous
anonymous_enable=NO

限制user只能在自己的home目錄
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在 /etc/vsftpd 產生一個 chroot_list 檔案
touch chroot_list

改完後 systemctl restart vsftpd

但要登入時發生

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

找了半天資料 罵聲一片

最後才找到新版要再多加一行
allow_writeable_chroot=YES

加完重啟就ok了

無言