- Saved searches
- Use saved searches to filter your results more quickly
- License
- conda-forge/libcrc32c-feedstock
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- Saved searches
- Use saved searches to filter your results more quickly
- ihusainov/Linux-Base-HomeWork
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- libcrc32c-devel on openSuSE Tumbleweed
- 2. Uninstall / Remove libcrc32c-devel package
- 3. Details of libcrc32c-devel package
- 4. References on openSuSE Tumbleweed
- Как использовать libcrc32c ядра (или те же функции) в программах пользовательского пространства?
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
A conda-smithy repository for libcrc32c.
License
conda-forge/libcrc32c-feedstock
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Package license: BSD-3-Clause
Summary: CRC32C implementation with support for CPU-specific acceleration instructions
Installing libcrc32c from the conda-forge channel can be achieved by adding conda-forge to your channels with:
conda config --add channels conda-forge conda config --set channel_priority strict
Once the conda-forge channel has been enabled, libcrc32c can be installed with:
It is possible to list all of the versions of libcrc32c available on your platform with:
conda search libcrc32c --channel conda-forge
conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the conda-forge GitHub organization. The conda-forge organization contains one repository for each of the installable packages. Such a repository is known as a feedstock.
A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by CircleCI, AppVeyor and TravisCI it is possible to build and upload installable packages to the conda-forge Anaconda-Cloud channel for Linux, Windows and OSX respectively.
To manage the continuous integration and simplify feedstock maintenance conda-smithy has been developed. Using the conda-forge.yml within this repository, it is possible to re-render all of this feedstock’s supporting files (e.g. the CI configuration files) with conda smithy rerender .
For more information please check the conda-forge documentation.
feedstock — the conda recipe (raw material), supporting scripts and CI configuration.
conda-smithy — the tool which helps orchestrate the feedstock. Its primary use is in the construction of the CI .yml files and simplify the management of many feedstocks.
conda-forge — the place where the feedstock and smithy live and work to produce the finished article (built conda distributions)
If you would like to improve the libcrc32c recipe or build a new package version, please fork this repository and submit a PR. Upon submission, your changes will be run on the appropriate platforms to give the reviewer an opportunity to confirm that the changes result in a successful build. Once merged, the recipe will be re-built and uploaded automatically to the conda-forge channel, whereupon the built conda packages will be available for everybody to install and use from the conda-forge channel. Note that all branches in the conda-forge/libcrc32c-feedstock are immediately built and any created packages are uploaded, so PRs should be based on branches in forks and branches in the main repository should only be used to build distinct package versions.
In order to produce a uniquely identifiable distribution:
- If the version of a package is not being increased, please add or increase the build/number .
- If the version of a package is being increased, please remember to return the build/number back to 0.
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Домашнее задание по курсу «Linux основы»
ihusainov/Linux-Base-HomeWork
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Домашнее задание по курсу «Linux основы»
Назовите по два DEB и RPM дистрибутива Linux
Объясните, что делает команда:
ps -aux | grep root | wc -l >> root
Ответ напишите в свободной форме
Напишите команду, которая вывод все запущенные процессы пользователя root в файл «user_root_ps»
В лекции была упомянута одна команда для получения информации о нагрузке на компьютер и в частности на ОЗУ.
Ее вывод выглядит вот так:
Как называется эта команда? Что такое si и so в примере на картинке?
Приведите ответ в свободной форме
Приведите 3 команды, которые выведут на экран следующее:
Архитектуру ПК
Модель процессора
Количество памяти, которая уже не используется процессами, но еще остается в памяти(ключевое слово — inactive).
Примечание: при выполнении задания предполагается использование конструкции » | grep » в каталоге /proc
Создайте скрин вывода команды free -h -t
Создайте swap-файл размером 512 Мб в корне диска / с именем swapfile
Добавьте настройку чтобы swap-файл подключался автоматически при перезагрузке виртуальной машины (подсказка: необходимо внести изменения в файл /etc/fstab)
Создайте скрин вывода команды free -h -t
Создайте скрин вывода команды swapon -s
В качестве ответа приложите созданные скриншоты
Найдите информацию про tmpfs.
Расскажите в свободной форме, в каких случаях уместно использовать эту технологию.
Создайте диск tmpfs (размер не более 512Мб), смонтируйте его в директорию /mytmpfs
В качестве ответа приведите скриншот вывода команды df- h до и после монтирования диска tmpfs.
Влияет ли количество операций ввода-вывода HDD диска на параметр load average?
Приведите развернутый ответ в свободной форме
Чем hardlink отличается от softlink?
Приведите ответ в свободной форме
Как посмотреть количество inodes?
Приведите ответ в свободной форме
При каких событиях выполнение процесса переходит в режим ядра в Linux?
Приведите ответ в свободной форме
Найдите имя автора модуля libcrc32c при помощи утилиты modinfo
В качестве ответа приложите скриншот вывода команды
Используя утилиту strace выясните какой системный вызов использует команда cd
Примечание: она не является внешним файлом, но для наших целей использовать: strace -c bash ‘cd /tmp’
В качестве ответа напишите название системного вызова или нескольких вызовов
Существует такой вид виртуализации как контейнеризация: контейнеры создаются на уровне ОС и работают в изолированных пространствах.
Вопрос: что произойдет, если в хостовой ОС установлен upstart или systemV, а в запущенном контейнере — systemd?
Приведите ответ в свободной форме со своим комментарием.
About
Домашнее задание по курсу «Linux основы»
libcrc32c-devel on openSuSE Tumbleweed
This guide covers the steps necessary to install libcrc32c-devel package:
2. Uninstall / Remove libcrc32c-devel package
Please follow the guidance below to uninstall libcrc32c-devel package:
3. Details of libcrc32c-devel package
Information for package libcrc32c-devel:
—————————————-
Repository : openSUSE-Tumbleweed-Oss
Name : libcrc32c-devel
Version : 1.1.1-1.2
Arch : x86_64
Vendor : openSUSE
Installed Size : 15,7 KiB
Installed : No
Status : not installed
Source package : libcrc32c-1.1.1-1.2.src
Summary : C++ header files and library symbolic links for crc32c
Description :
This package contains the C++ header files and symbolic links to the shared
libraries for libcrc32c. If you would like to develop programs using libcrc32c,
you will need to install libcrc32c-devel.
4. References on openSuSE Tumbleweed
netcdf-openmpi1 (4.8.0-2.1)
python36-twython (3.8.2-1.6)
libvpx7-32bit (1.11.0-3.1)
texlive-plweb (2021.186.3.0svn15878-45.2)
pidgin-plugin-guifications-lang (2.16-10.19)
libpolkit-gobject-1-0-32bit (0.120-1.1)
cargo1.56 (1.56.1-3.1)
texlive-metastr-doc (2021.186.1.1.2svn56246-46.2)
lxshortcut (1.3.2-1.14)
libass-devel (0.15.2-1.2)
tdiff-bash-completion (0.8.5-3.8)
python36-identify (2.2.13-1.2)
texlive-latex-tools-dev (2021.186.20210501_pre_release_1svn57982-48.2)
texlive-colortab (2021.186.1.0svn22155-46.2)
texlive-glossaries-dutch (2021.186.1.1svn35685-46.4)
MozillaFirefox-branding-openSUSE (68-3.1)
Как использовать libcrc32c ядра (или те же функции) в программах пользовательского пространства?
Я хочу выполнить некоторую проверку CRC в моей собственной программе пользовательского пространства. И я обнаружил, что ядро crypto lib уже находится в системе, и поставляется с поддержкой SSE4.2.
Я попытался напрямую #include и запустить gcc с -I/usr/src/linux/include/ . Однако это не работает.
Есть ли способ использовать какой-нибудь libcrc32c ?
Вы можете использовать криптографию ядра CRC32c (и другие функции хэша/шифра) из пользовательского пространства через семейство сокетов AF_ALG в Linux:
#include #include #include #include #include #include #include #include #include int main (int argc, char **argv) < int sds[2] = < -1, -1 >; struct sockaddr_alg sa = < .salg_family = AF_ALG, .salg_type = "hash", .salg_name = "crc32c" >; if ((sds[0] = socket(AF_ALG, SOCK_SEQPACKET, 0)) == -1 ) return -1; if( bind(sds[0], (struct sockaddr *) &sa, sizeof(sa)) != 0 ) return -1; if( (sds[1] = accept(sds[0], NULL, 0)) == -1 ) return -1; char *s = "hello"; size_t n = strlen(s); if (send(sds[1], s, n, MSG_MORE) != n) return -1; int crc32c = 0x00000000; if(read(sds[1], &crc32c, 4) != 4) return -1; printf("%08X\n", crc32c); return 0; >
Если вы хэшируете файлы или данные сокета, вы можете ускорить процесс, используя подход zero-copy, чтобы избежать копирования буфера ядра -> из пространства пользователя с помощью sendfile и/или splice .