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

星期六, 10月 01, 2022

RHEL8/CentOS8 grubby

上週幫客戶處理問題時,對 RHEL8/CentOS8 的 grub 又多了解了一些,記錄一下。

Ubuntu 的選單是放在 /boot/grub/grub.cfg ,所以看這個檔案,就大略知道選單有哪些選項,修改可以直接改這個檔案。RHEL8 跟 CentOS8 使用 grubby 來管理開機時的 grub 選單,所以可以用 grubby 指令來做管理。

常用的指令可以參考 12 practical grubby command examples (cheat sheet)

我這次主要使用到的指令有

  • 列出開機選單項目的資訊
  • 修改該選單項目的 kernel options
  • 取得目前預設開機項目
  • 設定預設開機項目

列出開機選單項目的資訊

列出選單項目,可以用下面指令

grubby --info=ALL | grep -E "^kernel|^index"

取得 index 跟 kernel ,就可以修改指定項目的 kernel options 了。

修改指定選單項目的 kernel options

修改的指令如下

# 修改指定的 kernel 的 kernel options,路徑可參考上面指令
grubby --update-kernel=<kernel路徑> --args="ipv6.disable=1"
# 修改目前的
grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="ipv6.disable=1"

若要移除 kernel options,要用 –remove-args

# 移除指定的 kernel 的 kernel options
grubby --update-kernel=<kernel路徑> --remove-args="ipv6.disable=1"
# 移除目前 kernel 的 kernel options
grubby --update-kernel=/boot/vmlinuz-$(uname -r) --remove-args="ipv6.disable=1"

這裡的修改,會影響到 /boot/loader/entries 目錄下的檔案。

取得目前預設開機項目

grubby --default-index
grubby --default-title

設定預設開機項目

用以下指令設定

grubby --set-default="/boot/vmlinuz-4.18.0-193.1.2.el8_2.x86_64"
grubby --set-default-index=2

這裡設置以後,會影響到 /boot/grub/grubenv 的檔案內容。

可惜 ubuntu 沒有 grubby,感覺這在管理開機選單上還蠻方便的。

星期六, 5月 14, 2022

CentOS 用 yum 出現 Failed to download metadata for repo ‘AppStream’

在使用 vagrant 架設 CentOS 環境時,yum 安裝套件出現 Failed to download metadata for repo 'AppStream' 的錯誤。

本來以為是有打錯字什麼的,後來發現沒啥問題,就請 Google 幫忙找找看,就找到這篇:Failed to download metadata for repo ‘AppStream’ [CentOS]

看完以後,簡單整理如下:

  1. 因為 CentOS 從 2021/12/31 開始就進入不維護狀態, repo 也跟著調整,mirror.centos.org 不再提供 repo metadata 。用白話講,就是 yum 無法取得套件資料庫。
  2. 要處理此問題,就需要把 mirrorlist.centos.org 替換掉,這時候可以用文章裡提供的指令來做。
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

這邊是使用 sed 指令來做替換,不確定指令做什麼的話,可以直接用 vim 或熟悉的文字編輯器打開 /etc/yum.repos.d 目錄下所有以 CentOS-* 開頭的所有檔案,做兩項變更:

  1. 把裡面的 mirror.centos.org 換為 vault.centos.org。
  2. 註解 mirrorlist 開頭的那一行。

這樣修改以後,就可以執行 yum 了。

星期二, 1月 28, 2014

CentOS OpenSSL

今天看到這篇 Secure Web API ,提到可以用 SSL Server Test 這個網站服務來檢查 SSL 憑證的安全性,所以就來試試看。
我的機器用的是 CentOS 5,因為是從很早以前的版本升級來的,設定幾乎都是照舊,今天重新整理,對照設定檔跟新設定檔以後,才發現 certification 位置已經更換了。
CentOS 5 的 SSL certification 改放在  /etc/pki/tls/certs ,所以要到該目錄下輸入 make your.crt ,依照步驟回答問題後,就可以製作出 your.crt 跟 your.key ,接著把 your.key 複製到 /etc/pki/tls/private 。然後去調整 /etc/httpd/conf.d/ssl.conf ,並且參考 Configuring Apache, Nginx, and OpenSSL for Forward Secrecy 去修改設定檔案,但不要加入這行 SSLCipherSuite 。不加入的原因是因為 CentOS 的 OpenSSL 並沒有加入 EC support ,如果要加入的話,目前看來是要重新編譯 OpenSSL 套件 (Bounty : OpenSSL with EC for Fedora/RH/CentOS : 3.6 BTC), 裡面提到的步驟是下載 source RPM,修改 .spec 裡的 configure 該行,改為 enable-cms enable-md2 no-idea no-mdc2 no-rc5 enable-ec enable-ecdh enable-ecdsa 。
最後再重新啟動 Apache 。

星期三, 12月 04, 2013

InSync in CentOS5

InSync 本身可以使用 insync-headless 來啟動(http://goo.gl/bsKS2N), 輸入 insync-headless --help 就可以看到可使用的指令。第一次要先 start ,然後 add_account ,add_account 時,會告訴你一個網址,你需要用 browser 去訪問這個網址,最後會取得 authcode。把 authcode 複製起來,輸入 insync-headless add_account authcode $HOME/insync 就可以把帳號加進去了。之後就只要 insync-headless start 就行。
在 CentOS 5 會比較麻煩的是,InSync 網站上取得的 portable 版本使用的是 GLIBC 2.7 ,但 CentOS 5 用的卻是 GLIBC 2.5。幸好,在 InSync 支援網站上有人詢問,而 InSync 也釋出了給 CentOS 5 使用的版本:Test CentOS 5.9 build 。這個版本裡只有 insync-portable 這指令,因此要把前面的 insync-headless 改為 insync-portable,這樣就行了。

星期五, 12月 21, 2012

Upgrade Subversion to 1.7 in CentOS5

也忘了是從什麼時候開始,在更新時,就一直遇到 subversion-perl 無法升級的問題,說需要 subversion 1.7,可是 CentOS 裡包的是 subversion 1.6,而這個 subversion-perl 是 rpmforge 提供的。
拖了好久,在更新時都以 --skip-broken 避開,可是日子久了,總是會覺得這樣很麻煩,決定還是設法把 subversion 升級到 1.7。當然自己編譯當然是可以,但上上策當然還是有人打包最好,所以上網搜索了一下,就發現有人問,而答案是利用 WANdisco 提供的 yum repository。WANdisco 比較麻煩的是,如果你要下載,網站會要求你輸入資料,然後才寄給你 .repo 檔案。收到 .repo 檔案,就放在 /etc/yum.repos.d ,接著執行 sudo yum update 就可以了。

星期一, 11月 14, 2011

Canon BJC-240+cups+SAMBA+CentOS

Canon BJC-240 以Parallel 轉 USB 接到電腦上,接上以後是在/dev/usb/lp0。

先設置一下跟cups相關的部份,你要先確定自己在sys群組裡,因為cups會需要權限來寫入設定檔。

cups,我是以web介面去安裝印表機,打開瀏覽器,在網址列輸入localhost:631,然後選新增印表機,首先會要求你輸入名稱以及描述,名稱裡不可以有空白。下一步之後,會要你選介面,這時候就選有偵測到的USB介面。接著會要選驅動程式,我試過raw了,不行,我改用了generic postscript。接著會要你選queue的部份,只有一個可以讓你選,就選吧。至此,cups會要你輸入帳號跟密碼,請輸入你的帳號跟密碼即可。

接著是SAMBA。SAMBA的部份比較簡單,打開 /etc/samba/smb.conf,確定 printcap name = /etc/printcap 、 printing = cups,然後將 [printers] 下的 guest ok、writable、public、use client driver 都設為 yes 即可,如果沒看到就自己補上。接著重新啟動SAMBA。

至此,Windows就可以連上,並且去新增印表機了。

p.s. 這邊不多贅述SAMBA的權限控管,就看是用user或share或其他什麼的,總之要有權限可以存取server就是了。

星期四, 10月 13, 2011

CentOS 5裝Python 2.6

先確定有EPEL,然後:
$sudo yum install python26
再裝 python26-virtualenv python-pip:
$yum install python26-virtualenv python-pip

製作環境:
$mkdir -p python-envs
$cd python-envs
$virtualenv-2.6 --no-site-packages --distribute myenv
$pip-python install -E myenv yolk

啟用:
$source myenv/bin/activate
$yolk -l