wiki:notes/linux

Version 19 (modified by root, at 2017-10-20T09:26:58Z) (diff)

--

заметки о linux

reposync --arch

несмотря на своё название данная опция не устанавливает $basearch для конфигов репозиториев. сделана она только для выставления ограничений того, что скачивать, что является сомнительной функциональностью. поэтому её лучше не использовать или не удивляться странным глюкам во время использования.

как правильно устанавливать $basearch найти так и не удалось. если хочется скачать репозиторий для другой архитектуры, то в .repo-файле нужно указывать явную ссылку на пакеты для нужной архитектуры.


в reposync не работает --delete репки внутри симлинка

сделано, очевидно, для избежания зацикливания.

патч

  • /usr/bin/reposync

    old new  
    7373    for name in names:
    7474        fn = os.path.join(directory, name)
    7575        try:
    76             st = os.lstat(fn)
     76            st = os.stat(fn)
    7777        except os.error:
    7878            continue
    7979        if stat.S_ISDIR(st.st_mode):


переделанный change_rules.sh под centos

ссылка


размер консоли 80x25 centos7 внутри виртуальной машины vmware

vmwgfx.enable_fbdev=0 в /etc/default/grub и grub2-mkconfig -o /boot/grub2/grub.cfg. так же не лишним будет убрать rhgb quiet.


создание rescue initramfs в centos7 для загрузки на любом железе

вариант 1

dracut \
 --no-hostonly \
 -vf \
 -a "rescue" \
 /boot/initramfs-0-rescue-$(cat /etc/machine-id).img $(uname -r)

и не забыть положить свежий vmlinuz-0-rescue-$(cat /etc/machine-id).

вариант 2

mv /boot/vmlinuz-0-rescue-$(cat /etc/machine-id){,.backup}
mv /boot/initramfs-0-rescue-$(cat /etc/machine-id).img{,.backup}
/etc/kernel/postinst.d/51-dracut-rescue-postinst.sh $(uname -r) /boot/vmlinuz-$(uname -r)


чтобы загрузка не запиналась на fsck в centos6

/etc/sysconfig/autofsck:

# autofsck config
AUTOFSCK_OPT="-y"

/etc/e2fsck.conf:

#
# disable mount and write time check on system boot
#
[options]
 broken_system_clock=1

[problems]
 # Superblock last mount time is in the future (PR_0_FUTURE_SB_LAST_MOUNT).
 0x000031 = {
  preen_ok = true
  preen_nomessage = true
 }
 # Superblock last write time is in the future (PR_0_FUTURE_SB_LAST_WRITE).
 0x000032 = {
  preen_ok = true
  preen_nomessage = true
 }


выбор ядра centos7 по-умолчанию в grub2

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
grub2-set-default 1


работа с дисками без перегрузки в лилуксе

  • рескан новых дисков:
    echo "- - -" > /sys/class/scsi_host/host0/scan
    echo "- - -" > /sys/class/scsi_host/host1/scan
    echo "- - -" > /sys/class/scsi_host/host2/scan
    
  • раскан диска с изменившимися параметрами:
    echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
    
  • удаление детачнутого диска:
    echo 1 > /sys/class/scsi_device/2\:0\:1\:0/device/delete
    


распределение прерываний сетевушек по ядрам с помощью irq affinity

#!/usr/bin/env bash
cpu=`/bin/grep processor /proc/cpuinfo | wc -l`
c=0
for dir in rx tx; do
 for eth in 0 1; do
  for i in `seq 0 22`; do
   irq=`/bin/grep "eth${eth}-${dir}-${i}$" /proc/interrupts |
    awk -F : '{print $1}' |
    sed -e 's/ //g'`
   if [[ "x${irq}" == "x" ]]; then
    continue
   fi
   mask="$((1<<($c+0)))"
   echo mask: $mask, cpu: $c, irq: $irq
   printf "%x\n" $mask >/proc/irq/$irq/smp_affinity
   c=$((c+1))
   if [[ $c -gt $cpu ]]; then
    c=0
   fi
  done
 done
done


Attachments (1)

Download all attachments as: .zip