Я бы не стал использовать для этого tcpdump
(или tshark
). Вместо этого я бы использовал iptables
для подсчета пакетов за определенный период времени
# Prepare two sets of counters and set up the rules
#
iptables -N udp_in
iptables -N udp_out
iptables -A udp_in
iptables -A udp_out
iptables -A OUTPUT --protocol udp -j udp_out
iptables -A INPUT --protocol udp -j udp_in
Вы можете сбросить счетчики в начале вашего периода следующим образом
# Reset the counters
#
iptables -Z udp_in
iptables -Z udp_out
Вы можете прочитать счетчики в конце вашего период вроде этого
# Look at the counters
#
packets_in=$(iptables -nvL udp_in | awk '/all/{print $1}')
packets_out=$(iptables -nvL udp_out | awk '/all/{print $1}')
echo "in=$packets_in, out=$packets_out"
Вы можете прочитать счетчик и немедленно сбросить его, установив одновременно флаг Z
. Например,
packets_in=$(iptables -nvLZ udp_in | awk '/all/{print $1}')
Объединение битов и предположение, что вы уже создали необходимые дополнительные цепочки iptables (см. Выше), вы можете использовать что-то вроде этого
# Reset the counters
#
iptables -Z udp_in
iptables -Z udp_out
# Wait 10 seconds
#
period=10
sleep "$period"
# Look at the counters
#
packets_in=$(iptables -nvL udp_in | awk '/all/{print $1}')
packets_out=$(iptables -nvL udp_out | awk '/all/{print $1}')
# Report the results
#
echo "During the last $period seconds we saw $packets_in UDP packet(s) in and $packets_out UDP packet(s) out."
Хорошо, после того, как Джо указал мне правильное направление в комментариях, я сделал это вот как:
просто установите pacman -S linux-lts
(необязательно) проверьте, есть ли ядро, ramdisk и откат доступны в ls -lsha / boot
удалить стандартное ядро pacman -R linux
обновить конфигурацию grub grub-mkconfig -o /boot/grub/grub.cfg
reboot
Обратите внимание: для syslinux
вам нужно будет отредактировать файл конфигурации syslinux в /boot/syslinux/syslinux.cfg
соответственно, просто укажите все на -lts
ядро.
La respuesta de Afri funciona bien para GRUB, pero estoy usando UEFI directamente , que es más liviano y aprovecha al máximo la placa base UEFI.
linux-lts
/boot
. Genere la entrada EFI, de la misma manera que generó la entrada normal de Linux, pero reemplazando ramdisk y loader con los LTS. Por ejemplo:
efibootmgr --disk /dev/sdX --part Y --create --label "Arch Linux LTS" --loader /vmlinuz-linux-lts --unicode 'root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw initrd=\initramfs-linux-lts.img' --verbose
Tenga en cuenta el valor --loader
y el valor initrd
. Estos archivos deben estar en la carpeta /boot
.
Reiniciar. Es posible que desee ajustar el orden de inicio en la placa base antes de iniciar el sistema operativo.por ejemplo, presionando F12 (dependiendo de su placa base ). De hecho, uso Hyper -V, que permite la configuración del orden de arranque en "Hyper -V Manager".
(opcional )Después de iniciar correctamente el kernel LTS (verifíquelo con uname -r
), elimine el kernel estándar con pacman -R linux
.
Установитеlinux-lts
(или любое другое ядро ):
pacman -S linux-lts
Обновите запись загрузчика:
$ sudo vim /boot/loader/entries/arch.conf
и изменить:
linux /vmlinuz-linux
initrd /initramfs-linux.img
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
linux /vmlinuz-linux-lts
initrd /initramfs-linux-lts.img
uname -r
Как и Франклин Ю, я тоже работаю в системе без GRUB. Мне нужно было переключиться на другое ядро, и я раньше не использовал efibootmgr. Я спросил об этом более знающего друга, и он предложил инструмент rEFInd , который автоматизирует шаги, предложенные Франклином, и предоставляет вам во время загрузки красивое меню доступных ядер. Установка была совершенно простой, и я смог легко переключать версии ядра.